chiark / gitweb /
brot2.git
2 years agoTrim the list of pkgconfig libs to what we actually use. release-0.1
Ross Younger [Sun, 15 May 2011 21:18:03 +0000]
Trim the list of pkgconfig libs to what we actually use.

2 years agoAdd logo to about box.
Ross Younger [Sun, 15 May 2011 21:15:24 +0000]
Add logo to about box.

Autogenerate logo_auto.c with gdk-pixbuf-csource, use the result in the about box.

2 years agoUnify (almost) copyright strings
Ross Younger [Sun, 15 May 2011 20:56:04 +0000]
Unify (almost) copyright strings

2 years agoAdd version option (LP#783139)
Ross Younger [Sun, 15 May 2011 20:49:44 +0000]
Add version option (LP#783139)

Add version.h, use it in about box, add version option.

2 years agoFix menu
Ross Younger [Sun, 15 May 2011 19:55:32 +0000]
Fix menu

2 years agoActually install the man page (oops)
Ross Younger [Sun, 15 May 2011 19:26:56 +0000]
Actually install the man page (oops)

2 years agoupdate README
Ross Younger [Sun, 15 May 2011 19:22:41 +0000]
update README

2 years agoadd missing source-format tag
Ross Younger [Sun, 15 May 2011 19:22:36 +0000]
add missing source-format tag

2 years agoAdd brot2.png and brot2.desktop
Ross Younger [Sun, 15 May 2011 19:18:29 +0000]
Add brot2.png and brot2.desktop

2 years agoMove ancillary files to misc/.
Ross Younger [Sun, 15 May 2011 19:16:44 +0000]
Move ancillary files to misc/.

2 years agoFirst stab at packaging. LP#783031
Ross Younger [Sun, 15 May 2011 19:01:00 +0000]
First stab at packaging. LP#783031

2 years agoInterim fix for LP#783106
Ross Younger [Sun, 15 May 2011 17:48:16 +0000]
Interim fix for LP#783106

2 years agoBuild with optimisation by default
Ross Younger [Sun, 15 May 2011 17:31:20 +0000]
Build with optimisation by default

2 years agoAdd logo
Ross Younger [Sun, 15 May 2011 17:22:39 +0000]
Add logo

2 years agoAnd finally, mandelbar^5 as it's trivial given I've already done the maths for mandel...
Ross Younger [Sun, 2 Jan 2011 12:25:20 +0000]
And finally, mandelbar^5 as it's trivial given I've already done the maths for mandelbrot^5.

2 years ago... mandelbar^4
Ross Younger [Sun, 2 Jan 2011 12:19:06 +0000]
... mandelbar^4

2 years agoadd Mandelbar^3
Ross Younger [Sun, 2 Jan 2011 12:15:16 +0000]
add Mandelbar^3

2 years agoImplement Mandelbar
Ross Younger [Sun, 2 Jan 2011 11:34:55 +0000]
Implement Mandelbar

2 years agoTidy up Mandelbrots.cpp
Ross Younger [Sun, 2 Jan 2011 12:05:26 +0000]
Tidy up Mandelbrots.cpp

- use an abstract base class
- move code to be inline the class defs, for clarity

2 years agoFractal menu setup: implement sort order groups
Ross Younger [Sun, 2 Jan 2011 11:56:16 +0000]
Fractal menu setup: implement sort order groups

2 years agoMove common fractal bits back to Fractal.cpp...
Ross Younger [Sun, 2 Jan 2011 11:26:08 +0000]
Move common fractal bits back to Fractal.cpp...

- Create FractalRegistry class, construct registry on first use
to work around the constructor ordering problem.

2 years agoMake _consts a bit saner.
Ross Younger [Sun, 2 Jan 2011 10:56:00 +0000]
Make _consts a bit saner.

2 years agoRename Fractal.cpp -> Mandelbrots.cpp
Ross Younger [Sun, 2 Jan 2011 10:44:52 +0000]
Rename Fractal.cpp -> Mandelbrots.cpp

2 years agoAdd fractal descriptions as tooltips
Ross Younger [Sun, 2 Jan 2011 10:42:57 +0000]
Add fractal descriptions as tooltips

2 years agoAdd human-readable description strings to the Fractal interface
Ross Younger [Sun, 2 Jan 2011 10:30:49 +0000]
Add human-readable description strings to the Fractal interface

2 years ago... and mandelbrot^5.
Ross Younger [Sat, 1 Jan 2011 19:39:28 +0000]
... and mandelbrot^5.

2 years ago... and mandelbrot^4
Ross Younger [Sat, 1 Jan 2011 19:24:45 +0000]
... and mandelbrot^4

2 years agoTweak default position to be sane for both mandelbrot and mandel^3
Ross Younger [Sat, 1 Jan 2011 18:56:10 +0000]
Tweak default position to be sane for both mandelbrot and mandel^3

2 years agoFirst cut of mandel^3
Ross Younger [Sat, 1 Jan 2011 18:55:51 +0000]
First cut of mandel^3

2 years agoMove Mandelbrot class def into Fractal.cpp, prepare to subclass
Ross Younger [Sat, 1 Jan 2011 18:02:41 +0000]
Move Mandelbrot class def into Fractal.cpp, prepare to subclass

2 years agoCreate Fractal menu, like the palette menu.
Ross Younger [Sat, 1 Jan 2011 17:53:59 +0000]
Create Fractal menu, like the palette menu.

2 years agoCreate fractal registry and make a static top-level Mandelbrot instance.
Ross Younger [Sat, 1 Jan 2011 17:45:13 +0000]
Create fractal registry and make a static top-level Mandelbrot instance.

2 years agoBreak out antialias_factor into the config context
Ross Younger [Sun, 19 Dec 2010 18:01:52 +0000]
Break out antialias_factor into the config context

2 years agoStash the last dirname we saved in and use that as the default for further saves.
Ross Younger [Sun, 19 Dec 2010 13:00:32 +0000]
Stash the last dirname we saved in and use that as the default for further saves.

2 years agoFix segv if the user quits mid-plot.
Ross Younger [Sun, 19 Dec 2010 12:43:13 +0000]
Fix segv if the user quits mid-plot.

2 years agoRename BYTES_PER_PIXEL to RGB_BYTES_PER_PIXEL and use it consistently.
Ross Younger [Sun, 19 Dec 2010 12:07:13 +0000]
Rename BYTES_PER_PIXEL to RGB_BYTES_PER_PIXEL and use it consistently.

2 years agoRewrite plot_to_png to use render_plot_generic; move it down to kill the need for...
Ross Younger [Sun, 19 Dec 2010 12:05:42 +0000]
Rewrite plot_to_png to use render_plot_generic; move it down to kill the need for a fwd def.

2 years agoMake definition of render_plot_generic less insane.
Ross Younger [Sun, 19 Dec 2010 11:52:07 +0000]
Make definition of render_plot_generic less insane.

2 years agoStop the plot before toggling antialias flag
Ross Younger [Mon, 6 Dec 2010 22:32:37 +0000]
Stop the plot before toggling antialias flag

2 years agoAdd safety checks in plot2
Ross Younger [Mon, 6 Dec 2010 22:32:52 +0000]
Add safety checks in plot2

2 years agoBreak out the pixel-to-RGB rendering function
Ross Younger [Mon, 29 Nov 2010 23:58:41 +0000]
Break out the pixel-to-RGB rendering function

2 years agoMend click-to-zoom on antialiased renders.
Ross Younger [Mon, 29 Nov 2010 23:35:49 +0000]
Mend click-to-zoom on antialiased renders.

Create pixel_to_set_tlo() with antialias correction, use that instead of plot->pixel_to_set_tlo.

2 years agoBasic 2x antialiasing mostly works
Ross Younger [Mon, 29 Nov 2010 23:28:14 +0000]
Basic 2x antialiasing mostly works

2 years agoMake white and black visible consts.
Ross Younger [Mon, 29 Nov 2010 23:21:55 +0000]
Make white and black visible consts.

2 years agoSet up a toggle option for antialiasing.
Ross Younger [Mon, 29 Nov 2010 22:25:51 +0000]
Set up a toggle option for antialiasing.

Rename toggle_hud to toggle_option, use the callback action field.

2 years agoPossible threading bugfix
Ross Younger [Sun, 28 Nov 2010 22:18:30 +0000]
Possible threading bugfix

Don't release the plot_lock during notify callbacks in case it leads us
to miss a notify.

2 years agoRearrange menus
Ross Younger [Sat, 27 Nov 2010 14:24:55 +0000]
Rearrange menus

2 years agoAdd menu item to resume a plot.
Ross Younger [Sat, 27 Nov 2010 14:07:26 +0000]
Add menu item to resume a plot.

2 years agoPlot interface allows resumption...
Ross Younger [Sat, 27 Nov 2010 14:11:31 +0000]
Plot interface allows resumption...

... if the user wants more detail.

2 years agoAutodetect the number of CPUs and use for the thread pool size
Ross Younger [Sat, 27 Nov 2010 12:27:14 +0000]
Autodetect the number of CPUs and use for the thread pool size

2 years agoUse linear rainbow as the default initial plot because it's less garish.
Ross Younger [Mon, 22 Nov 2010 23:00:49 +0000]
Use linear rainbow as the default initial plot because it's less garish.

2 years agoEven more palette fettling.
Ross Younger [Mon, 22 Nov 2010 22:58:30 +0000]
Even more palette fettling.

While it can be bewildering to have too many, the lack of choice
sometimes makes for disappointment in what might otherwise have
been a stunning plot. Another fine balance to find!

2 years agoAdd note about -O0 v -O3
Ross Younger [Sun, 21 Nov 2010 19:33:59 +0000]
Add note about -O0 v -O3

2 years agoAdd the number of still-live pixels to the statusbar callback info
Ross Younger [Sun, 21 Nov 2010 19:32:38 +0000]
Add the number of still-live pixels to the statusbar callback info

2 years agoSilence compiler errors found by turning on -O3
Ross Younger [Sun, 21 Nov 2010 19:30:31 +0000]
Silence compiler errors found by turning on -O3

2 years agoAdd integer overflow trap on the number of iterations
Ross Younger [Sun, 21 Nov 2010 19:21:01 +0000]
Add integer overflow trap on the number of iterations

Hey, you can probably hit it in a reasonable time for 32-bit ints
given the right choice of plot...

2 years agoTinker with plot completion thresholds, still looking for the best solution
Ross Younger [Sun, 21 Nov 2010 19:14:35 +0000]
Tinker with plot completion thresholds, still looking for the best solution

2 years agoFix slight banding in smooth HSV-based colour schemes.
Ross Younger [Sun, 21 Nov 2010 19:08:14 +0000]
Fix slight banding in smooth HSV-based colour schemes.

Throw away hsv class with its wonky rgb conversion.
Code up proper hsvf->rgb conversion from WP.

2 years agoEven more palette fettling. Add Quick logarithmic.
Ross Younger [Sun, 21 Nov 2010 14:23:21 +0000]
Even more palette fettling. Add Quick logarithmic.

2 years agoPNGs were upside-down. That could have been embarrassing...
Ross Younger [Sun, 21 Nov 2010 14:14:27 +0000]
PNGs were upside-down. That could have been embarrassing...

2 years agoMerge branch 'multi-pass-render'
Ross Younger [Sun, 21 Nov 2010 14:04:54 +0000]
Merge branch 'multi-pass-render'

2 years agoTidy up, hammer the floorboards back down &c.
Ross Younger [Sun, 21 Nov 2010 14:03:44 +0000]
Tidy up, hammer the floorboards back down &c.

2 years agoTreat the pixel threshold as a slightly movable feast
Ross Younger [Sun, 21 Nov 2010 13:59:51 +0000]
Treat the pixel threshold as a slightly movable feast

2 years agoKill off Plot2::maxiter in toto
Ross Younger [Sun, 21 Nov 2010 13:52:08 +0000]
Kill off Plot2::maxiter in toto

2 years agoHave safe_stop wait for the exit, be more responsive to a user request.
Ross Younger [Sun, 21 Nov 2010 13:48:15 +0000]
Have safe_stop wait for the exit, be more responsive to a user request.

2 years agoPlay with pass iteration sizes; have them scale quasi-exponentially.
Ross Younger [Sun, 21 Nov 2010 13:40:37 +0000]
Play with pass iteration sizes; have them scale quasi-exponentially.

2 years agoFix the initial livecount overestimate
Ross Younger [Sun, 21 Nov 2010 12:59:57 +0000]
Fix the initial livecount overestimate

2 years agoAdd _actual_ maxiter and passes to Plot...
Ross Younger [Sun, 21 Nov 2010 12:51:24 +0000]
Add _actual_ maxiter and passes to Plot...

report them in the info string, and progress bar when done.

2 years agoStop plotting if 50% of the pixels have escaped and very few are escaping from one...
Ross Younger [Sun, 21 Nov 2010 12:36:51 +0000]
Stop plotting if 50% of the pixels have escaped and very few are escaping from one pass to the next.

2 years agoMake use of the current_maxiter in the major_progress callback.
Ross Younger [Sun, 21 Nov 2010 12:17:47 +0000]
Make use of the current_maxiter in the major_progress callback.

2 years agoAdd the current maxiter to the major_progress callback.
Ross Younger [Sun, 21 Nov 2010 12:14:55 +0000]
Add the current maxiter to the major_progress callback.

2 years agoKeep track of the number of live pixels.
Ross Younger [Sun, 21 Nov 2010 12:14:13 +0000]
Keep track of the number of live pixels.

2 years agoFiddle with parameters, tidy worker setup code
Ross Younger [Sun, 21 Nov 2010 11:45:31 +0000]
Fiddle with parameters, tidy worker setup code

2 years agoUse the progressbar to report work done within each pass
Ross Younger [Sun, 21 Nov 2010 11:16:37 +0000]
Use the progressbar to report work done within each pass

2 years agoKill more race conditions
Ross Younger [Sun, 21 Nov 2010 11:03:47 +0000]
Kill more race conditions

2 years agoFirst stab at multi-pass rendering.
Ross Younger [Sun, 21 Nov 2010 10:51:51 +0000]
First stab at multi-pass rendering.

2 years agoDon't need pthread.h any more
Ross Younger [Sun, 21 Nov 2010 10:16:25 +0000]
Don't need pthread.h any more

2 years agoDynamically decide on the number of jobs to improve perception of responsiveness
Ross Younger [Sun, 21 Nov 2010 10:15:41 +0000]
Dynamically decide on the number of jobs to improve perception of responsiveness

2 years agoTeach Plot2 to respect the nomore flag (oops!)
Ross Younger [Sun, 21 Nov 2010 10:13:44 +0000]
Teach Plot2 to respect the nomore flag (oops!)

2 years agoTypename rationalisation:
Ross Younger [Sun, 21 Nov 2010 09:55:59 +0000]
Typename rationalisation:

typedef long double fvalue;
typedef std::complex<fvalue> cfpt;
& update to use fvalue throughout when dealing with fractal components.

2 years agoCouple of fixups to dragrect behaviour...
Ross Younger [Sun, 21 Nov 2010 09:49:16 +0000]
Couple of fixups to dragrect behaviour...

"Silly" dragrects are now up to 3 pixels in either dimension.
Don't change plot params on a silly dragrect.
Restore the gdk_gc to normal behaviour after plotting the dragrect so we
don't kill the progress bar.

2 years agoMinor gtk/event fixups ...
Ross Younger [Sat, 20 Nov 2010 23:13:55 +0000]
Minor gtk/event fixups ...

main calls gdk_threads_enter() before gtk_init().
button_press_event() only returns TRUE if we actually handled it.

2 years agoDrop gtkmm from main for the time being, revert to plain gtk.
Ross Younger [Sat, 20 Nov 2010 23:00:33 +0000]
Drop gtkmm from main for the time being, revert to plain gtk.

2 years agoUpgrade fractal interface...
Ross Younger [Sat, 20 Nov 2010 20:50:15 +0000]
Upgrade fractal interface...

Break prepare_pixel() out of plot_pixel().
Expand fractal_point with origin, current point, nomore flag & itercount
Update Mandelbrot to suit updated interface.

2 years agoRedraw doesn't count as an undoable action...
Ross Younger [Sat, 20 Nov 2010 17:44:10 +0000]
Redraw doesn't count as an undoable action...

Rename do_redraw -> do_plot for sanity's sake, add is_same_plot param.
Kill a race condition.

2 years agoAdd menu items to stop and refresh the plot
Ross Younger [Sat, 20 Nov 2010 17:28:58 +0000]
Add menu items to stop and refresh the plot

2 years agoAdd note about apparently-spurious gtk assertion fail from progressbar.
Ross Younger [Sat, 20 Nov 2010 17:11:55 +0000]
Add note about apparently-spurious gtk assertion fail from progressbar.

2 years agoSemi-overhaul plot threading...
Ross Younger [Sat, 20 Nov 2010 16:24:59 +0000]
Semi-overhaul plot threading...

per-plot "master" thread now goes via a threadpool, to save churn.
Rename flare_lock to plot_lock.
Rename condvars and "protected" members to begin with '_'.

2 years agoAbstract out MasterThreadPool a little; rename its uses
Ross Younger [Sat, 20 Nov 2010 16:01:16 +0000]
Abstract out MasterThreadPool a little; rename its uses

2 years agoRename Plot2::_main_threadfunc to _per_plot_threadfuc, for sanity's sake
Ross Younger [Sat, 20 Nov 2010 15:49:02 +0000]
Rename Plot2::_main_threadfunc to _per_plot_threadfuc, for sanity's sake

2 years agoCure race conditions leading to deadlock.
Ross Younger [Sat, 20 Nov 2010 15:47:17 +0000]
Cure race conditions leading to deadlock.

2 years agoUse Glib::Mutex::Lock (destructor auto-release locks).
Ross Younger [Sat, 20 Nov 2010 15:44:42 +0000]
Use Glib::Mutex::Lock (destructor auto-release locks).

2 years agoYet another palette tweak
Ross Younger [Sat, 20 Nov 2010 15:18:50 +0000]
Yet another palette tweak

2 years agoRemove main render_lock, hopefully defuncted by proper use of gdk_threads_*
Ross Younger [Sat, 20 Nov 2010 15:08:16 +0000]
Remove main render_lock, hopefully defuncted by proper use of gdk_threads_*

2 years agoFix rounding bug in divvying up the jobs.
Ross Younger [Sat, 20 Nov 2010 15:02:35 +0000]
Fix rounding bug in divvying up the jobs.

2 years agoOverhaul plot callback interface...
Ross Younger [Sat, 20 Nov 2010 14:32:09 +0000]
Overhaul plot callback interface...

now have Minor, Major and Complete calls.
Updated main to suit, have it pulse the progress bar.

2 years agoReplace status bar with a progress bar
Ross Younger [Sat, 20 Nov 2010 14:19:53 +0000]
Replace status bar with a progress bar

2 years agoConvert Plot2 to use glibmm instead of glib.
Ross Younger [Sat, 20 Nov 2010 12:44:31 +0000]
Convert Plot2 to use glibmm instead of glib.

2 years agoMerge Plot2::lock and Plot2::flare_lock
Ross Younger [Sat, 20 Nov 2010 12:29:47 +0000]
Merge Plot2::lock and Plot2::flare_lock

2 years agoRefactor Plot2 to use one global thread pool.
Ross Younger [Sat, 20 Nov 2010 12:23:14 +0000]
Refactor Plot2 to use one global thread pool.

Use Glib::ThreadPool with its funny functors.
Fix a race condition on double-click.
Rename Plot2::signal -> awaken.
Plot2::stop no longer waits.
Fix a threads issue on error in main.cpp.