A quick view of things to come

by David BurnettTuesday December 23rd, 2008
Posted in Developer's Corner, Oxidizer Blog


I’ve been a little quiet over the last few weeks so I thought an update was in order.

I’ve started work on the first of the new Oxidzer 0.6 features (the old 0.6 features being the new 0.5.5 features :0) called, for the moment, Quick View or maybe Range View.

It looks like this, its a 0.5Mb jpeg so I though I’d link it instead of inlining it.

Basically it generates a range of thumbnails with a particular value spread over a range, it this case the colour setting of one of the transformations. Clicking on one of the thumbnails changes the value in the editor.

I’ve also started on adding a french translation provided by our very own Capitaine Haddock, quite topical as I’ve just come back from a long weekend in France. I’d made enough changes to Oxidizer (i.e. one or two) to stop the translation going in without issues so it’s a little bit harder work than it could have been but at least I’m just copy and pasting, Guillaume had to translate it all :-)

Finally as the year is coming to an end I’d just like to say cheers to everyone who have contributed to Oxidizer and Rampant Mac. From those that have used Oxidizer to create the fantastic images I see here and and other web sites, contributed bug reports, code and nib changes or ideas for Oxi to those though have simply commented here or spread the word elsewhere. Thanks folks.



by David BurnettTuesday October 14th, 2008
Posted in Developer's Corner, Oxidizer Blog

As I’ve fixed a few bugs, I’ve decided to release a 0.5.5 version, That means you get to play with a new sneak preview.

The bugs I’ve fixed are….

  • Image save dialog maintains previous settings.
  • Changing the height now updates the width again when the aspect is locked.
  • Conistant labels for co-effs
  • xform window now titled Transformations.
  • Drag and drop from main window to Gene Pool would render a full render for the thumbnail rather
    than a preview.
  • Allow drag and drop from Breeder Result Image Well to Gene Pool.
    Having no comment would crash conversion of genome to Lua format for scripts.

Since I’d also started development for 0.6 you get to play with a couple of new features too.

  • Auto-preview extended to all windows, although there are still a few controls that have not been adjusted to use it.
  • Auto-preview setting persistent between sessions, can be set in preferences.
  • Render Movie as Stills now has jpeg, with quality setting, and 16 bit png options.
  • Preview/Thumbnail Render preferences, allowing you to set the size of the longest dimension of the preview and limit the quality.
  • Bigger preview image wells
  • A few parameters now have sliders.
  • Window size / positions are persistent between sessions.

It should be available now from SourceForge as usual for a sneak preview expect bugs and report them if you find them.


Go get it…

by David BurnettMonday July 14th, 2008
Posted in Developer's Corner, Oxidizer Blog

Okay, its a day late due to a bit of laziness on my part but Oxidizer 0.5.2, hit Sourceforge about 90 seconds ago.

 Download here.

The main changes are…

Transformation window, the Oxidizer equivalent to Apo’s Triangle Editor.
New Gradient Editor.
Rendering can now by Cancelled
Added Rendering ETA’s to the progress Window.
Backing up the Genomes to ~/Library/Application Support/Oxidizer is now optional.
Added a 1:1 aspect to the drop down window.
Reduced memory usage.
Faster loading of flam3 xml files, especially noticeable for flam3 files with dozens of Genomes.
Fix crashes on Save, when saving a file for the seconded time.
GUI now resizable.
flam3 code updated to version 2.7.11

And yes there hass been the odd fix or two since the last sneak release in case you were wondering.


Oxidizer 0.6

by David BurnettSunday June 1st, 2008
Posted in Developer's Corner, Oxidizer Community

As Oxidzer 0.5 slowly crawls towards release its time to plan 0.6 so I though I’d let you guys to throw your hats in to the ring.

Here’s the ideas that I have in the pot, either my own, or ideas that people have suggested.

Take these as given…

  • Update flam3 to the latest version .
  • Update LuaObjCBridge if I see any advantage in doing so.

So the proper idea’s are in no particular order…

  • Save / Load of sparse gradients.
  • Double Click and Drag and Drop loading of flam3 files.
  • A browser for the auto backups.
  • Auto-previews for changes to all parameters like the Transformation editor
  • Keyboard shortcut shift-cmd-L (or similar) for Lua Script.
  • A genome pin board to keep genomes around on possibly persistent between sessions.
  • An additional “#” column in the main list that gives the index of a flame
  • Ditto in the transform editor, a column with numbers to identify the flames
  • A “clear” button in the Breeder in addition to the load/+/- buttons, or multi-select genome ability.
  • Check auto-post
  • A script library/launcher integrated with the Main Oxidizer window.
  • A Lua script console, to see the output of scripts.
  • A reorganization of the XForms window to put the affine and post coefficients under the same tab.
  • Persist the current set of flames across Oxidizer sessions.
  • Allow the preview image size to be altered, hovering over the image well shows the bigger preview.

And the real blue sky one…

  • Multi-preview – choose a parameter, set max and min and render a number of previews with that parameter set between max and min

So, over to you, which of these do you think would be is there anything else you can think of.


p.s. I’ll know if you’re hyping your own ideas :-)

Bringing you up to date

by David BurnettWednesday March 5th, 2008
Posted in Developer's Corner, Oxidizer Blog, Oxidizer Community

After a couple of week away from work where Oxidizer got a fair bit of work, the last week and a half has been a bit of a down turn in productivity :-)

So since the last time…

  • I’ve finished the drawing code for the Transformation editor (trimming of polygons eeek)
  • Added the rest of the interface and made it resize correctly
  • Fixed a few bugs.
  • Added a couple of ‘Don’t do that, it’s stupid!’ dialogues.
  • Added a reference to Rampant Mac to the ‘About Oxidizer’ dialogue.

So this is what the transformation editor looks like now…

Transformation Editor

BTW some where over on  the right of the page, Scott has come up with a tasty little Oxidizer badge if you feel like spreading the word :0)


Trumpet blowing and Transformation editors

by David BurnettSaturday February 9th, 2008
Posted in Developer's Corner, Oxidizer Blog

In the week since I released it, Oxidizer 0.4.3 has been downloaded 2199 times (and a few more as Sourceforge stats tend to be a little behind) , than almost as many as 0.4.2 managed altogether.

Thanks everyone.
So hows the triangle editor doing, well here’s what it looks like now…

Transformation Editor

There’s what all the bits do…

annotated Editor

Oh, I guess I should mention all this actually works. This just needs some labels and a grid or a set of axes.


A warning and something for easter…

by David BurnettSaturday January 12th, 2008
Posted in Developer's Corner, Oxidizer Blog

First a general warning…

It appears Oxidizer and Unsanity’s Shapeshifter do not get on since I started building Oxidizer in Leopard. So if you’re having problems with Oxidizer disable any haxies you use and give it another try. Let me know either way what happened.

Right, time to but Pharmagician out of his misery… :-)

Some time ago I rambled out about the what the focus for version 0.5 was. While awaiting bug reports for version 0.4.x I started work on a couple of ideas. One of these was the easter egg I alluded too when releasing the sneak preview of version .0.4.3 .

Here’s what the easter egg looks like as of today…. Continued →

What Oxidizer does…

by David BurnettSunday December 2nd, 2007
Posted in Developer's Corner, Oxidizer Blog

Oxidizer is basically a Cocoa wrapper around Universal builds of the flam3 software at the heart of the Electric Sheep screen saver. When you create a random genome Oxidizer runs flam3-genome to create one. It then takes the xml file flam3-genome creates and loads the data into a Core data repository. It then re-creates the xml and runs flam3-render to render the thumbnail.

Everything else works the same way, the Gene Pool and Breeder runs flam3-genome. Rendering runs flam3-render, movies are created by flam3-animate and a little QuickTime magic.

Oxidizer did not use to work like that, before version 0.4 the flam3 code was originally incorporated into Oxidizer itself, but the changes to make flam3 multi-threaded clashed with the multi-threading in Oxidizer. Changing Oxidizer to work with external flam3 executables had a number of advantages.

  • It eliminated a big bunch off code that I had to keep in line with flam3 code and make small modifications to.
  • It also meant that all the times that the flam3 code would just exit due to bad parameters taking Oxidizer with it could be captured and the error message displayed instead.

All of which would have stabilized Oxidizer 0.4 no end if it had not triggered a few flam3 breeding issues which lead to 0.4.1 after those had been fixed in flam3.

Scott, of course, then came along and handed me a lovely flame that crashed 0.4.1. It was one of those that are real tricky to track down as mostly it would crash after a few minutes rendering, other times it would be hours, and a few times I managed to render the whole thing. In the end it was a flam3 issue caused by a quirk of the standard ‘C’ library that Apple uses. It was literally a 1 in 4,294,967,296 chance of hitting the quirk, Scott’s flame just happen to be taking millions of goes at triggering it.

That means that there is a 0.4.2 is on the horizon, once I’ve written a small Lua script to check if a flame would render in the current version of Electric Sheep. I would tell where you can get a sneak preview but that would ruin my download figures :-)

Plans for 0.5 are totally open at the moment, the only definite plan is to update to the latest flam3 code again. Idea’s I’ve played with are…

  • Adding some sort of CoreImage facility that you could apply to the images and movies.
  • Adding something like Apo’s triangle editor.
  • Building in a web browser targeting the Electric Sheep flames (If spot okays the idea)

Any way I’ve rabbited on enough, and my favourite football (the one you play with a ball and your feet) team
are on the T.V. so I’ll leave anyone reading this to write few comments back .