Archive for March, 2006

Localization: Ok, another day then 0

I played around with localization solutions. The results are only semi-encouraging.

I tried Localizer from Blue-Tec. It seemed nice at start but then I started having problems. The problem is I had modified one window not to show at start but since my main language is french it would always use the localized french file. That’s a bit sad because I thought I could keep translation files with *ONLY* text inside. Obviously you create localized resources that contain the whole windows description. So if you change say a parameter of the window (the size, whatever) you have to update the translation. Quite a pain indeed. On the whole I noted that I would either have to change my default language to english or change the reference language to french I guess. Since I wanted to do neither, I decided to keep translation for later.. when 1.0 is out and stable (that’ll be about 2030).

I wanted to try iLocalize 3 from a fellow swiss-french developer, but AFAIK you can’t save before you pay. So I just cannot try what the results are lke. The app looks great and I’d be glad to pay 39$ if it does what i want it to do. Now, how do I check?

I guess I’ll harcode everything in english and it’ll be a little more work when I go for a translation.

High Dynamic Range Tutorial 0

For those who always wondered why we need to use CoreImage’s 128 bit capabilities, I wrote a small tutorial in the wiki.

See High Dynamic Range Tutorial .

Bloody spammers 0

I had setup the help wiki with the default configuration. As always our beloved spammers enjoyed the occasion to fill it with links to shitty medication sales. I know I should be more careful about security but hey… time is short.

I for one advocate the $1 per person-pissed-off-by-incessant-spam project. Basically each of us pays one dollars, and since we’re millions we just build an army and devastate the whole world in order to find back those assholes :-)

Yes, I am a romantic dreamer.

For all those looking for a peaceful solution on block these invisible texts added by spambots, Read this post.

That said I now created three main categories in the wiki and added some decent introduction page as well as some example pages. I’ll write my first tutorial (on HDR) when I can do so.

Alpha 17, Preferences 0

Ladies (one can dream) and gentlemen, here is the new release. This time I added yet-another feature that should have been here for some time: Preferences! Never thought it would be so easy. Apple really did a great work in simplifying developers life with the NSUserDefaults object.

You can now set basic things like the default quickMask color, the default edit mode (32 or 128 bits), compression settings for Tiff, Jpeg and .chocoimg, enabling Hints with Growl and some other options. Most of all you can now disable auto-update if you enabled it the first time and don’t want it anymore.

preferences chocoflop

Alpha 16, Loading and Saving Complex documents 0

And here is a new release with a feature that has been missed (hm… by anyone really?) for quite some time. You can load and save native ChocoFlop documents, with layers masks, and filter parameters !

The .chocoimg bundle is a simple folder containting:
- info.xml - the XML file containing the description of all layers and parameters
- flat.tiff - a flat tiff version of the whole document (suitable for easily importing the result from another app without having to render the whole document structure)
- images - a folder containing images for each pixel-based layer & layer mask.

In addition to this, .tiff documents (as well as layers inside a ChocoImg bundle) now default to LZW compression and the setting can actually be changing (previously it had no effect).

Use the self-update feature to get the new release! Have fun and do not hesitate to report bugs.

chocoflop saves layers and filters

PS: You probably cannot load .chocoimg bundles created by 0.15 with this version, but you were never supposed to save them in the first place, really.

Release Alpha 15 0

Release Alpha 15, a.k.a. 0.15 is exactly the same as 0.14, except for the version. I just created this so I could test the update with Sparkle, as explained in previous post.

I hacked a little php page that displays the contents of the post as description for the update. So you should actually read this text as release notes when updating from 0.14 to 0.15.

Now, bed.

chocoflop update sparkle

Auto update with Sparkle 0

I am a chaotic person indeed. I couldn’t find time to finish implementing loading/saving for layers as described in the previous post. I am in the middle of doing this, you can save .chocoimg bundles but you can’t load them. So there should be no update since this is half-working.

But somehow I stumbled on Sparkle. Sparkle is a nice (and free) framework that allows you to implement auto-updating for your application. I setup an appcast for ChocoFlop and here we go. ChocoFlop is now able to update itself when a new release is up. So, release 0.14 is now up in the download area.

I have had quite a few problems to get Sparkle working with a .dmg image, so I went back to the gold old zip (it complained that my app didn’t have the right name.. huh). The download is now actually smaller because my automator action couldn’t compress the DMG. Currently the package only contains the app, nothing else, no readme, no additional filters. I’ll fix that when I have an additional moment. It’s about 2 pm and I really need some sleep.

ChocoFlop’s native format, Saving layers and advanced properties 0

After playing around with OpenEXR I have come to the conclusion that it would take a long time to make it the default format for ChocoFlop. I settled on using (yet another) “my own” format. I know many people won’t like this, including me, since having every app using it’s own format out there is a bit of a pain. However if you wish to add new features freely (and easily) there aren’t many solutions to ensure that you can be able to do so. And of course once your image is flat you can save in any other format.

The good side is that the format I’ll be using is a simple package-based format just like Apple’s Pages and Keynotes use. Basically a Document is just a folder (treated by the finder as a simple file on which you can ‘explore contents’). In this folder you have a tiff image for each layer and one xml file describing the layers and their properties. So while it will be a “proprietary” format, anyone can easily browse the contents and write an import filter. It’s just a bunch of .tiff files and a human-readable text file.

I am in the middle of implementing this, I plan to work on this again tomorrow and maybe post a new release that will be able to save complex documents. We’re still not out of alpha yet, but making progress. Hm… ‘not out yet but making progress’, sounds like some western president commenting about some war in some eastern country. I hope I can get a stable version before three years :-)

Alpha 13 - navigation fixed 0

And here is a quick fix for the problem described in the previous post. Now instead of continuously repainting the navigation panel it only gets updated when needed, never more than once every two seconds and most of all, never while we are painting.

This makes ChocoFlop still usable on a G4 iBook when painting on bigger (3000×2000) images. Previously rescaling the preview at every stroke just killed the machine.

As usual, head to the download page to get it.

Navigation and zoom horribly slow 0

Hm, because I have been testing with small images for some time I hadn’t noticed how slow ChocoFlop had become when Navigation window was enabled. I definitely need to update this one once in a while rather than on each paint. This totally kills performance with a bigger (3000 x 2000 ) image.

I’ll be fixing this very soon. In the meantime, you can try disabling the navigation windows if you feel it’s going too slow.

Next Page »