Archive for June, 2006

No HDR with Jpeg2000 in OSX 1

For some reason Apple’s implementation of Jpeg2000 does not seem to support higher depths (16 or 32 bits per component). I read that Apple uses kakadu’s implementation which supports it since version 5.1 but maybe they’re not up to date. In the meantime TIFF is definitely the format you’d be willing to use in order to keep your quality. PNG isn’t bad but it only supports 16 bits, not 32.

I filed at bug to ask Apple about this. ID: 4609222

OpenEXR on intel is buggy 0

After a bit of testing it turns out it is the Intel implementation of OpenEXR libraries that seem to cause problems. The exact same code works fine on PowerPC machines. I will enable OpenEXR saving again in the next release (with a big warning however). I’ll file a bug at Apple about this.

Update: This was filed with bug ID #4609219

Release Alpha 35, HDR, saving and memory leaks 0

This is a small release just to fix some BIG nasty issues. Some memory leaks but most of all:
Previous versions of ChocoFlop did NOT save 64 /128 bits images (HDR) correctly. They were actually saved as 32 bits… oops. Worse, saving as OpenEXR only resulted in crap in the file..

In other words you’d lose image quality by just opening and saving an HDR image in this deadly application. My bad.

The list of changes includes:
- Automatically detects depth type for image (32, 64 or 128 bits/pixel)
- Correctly loads and saves TIFF and native chocoImages in 64 and 128 bits modes
- Correctly loads and saves PNG, PSD (and TIFF and native) in 64 bit modes
- Disabled saving in OpenEXR until I find out why it destroy the content.
- Do not offer to load HDR (64/128bits) as 32 bits but offer to edit 64 as 128 and vice-versa (defaults to what image contains)
- Added a function in Image menu to convert to and from 32, 64 and 128 bits modes
- A few memory leasks where fixed when rotating, resizing and other operations on accumulators
- Does not allow saving anymore in formats that do not work for 64 bits images or 128 bits images
- Warns about saving to gif and dithering - also warn when loading indexed images that we won’t preserve the palette

Note that for some reasons Jpeg2000 does not seem to save in HDR formats (64/128 bits). Theoretically it could but it seems Apple’s implementation does not do it when instructed to. Or am I wrong? Anyway, until I can make it work it won’t let you save HDR images in any other format that those that I have checked to work. PNG+PSD support 64 bits but not 128 bits. Only PDF, TIFF and .chocoimg (which is basically TIFF also) support saving as 128 bits. In theory OpenEXR supports it too but for now it’s disabled, as I explained earlier.

OOps, where is my floating point data? 6

Hm… I just realised that when saving HDR (64 or 128 bits) documents.. they are actually not saved as 128 or 64, but as… 32 bits. Worse, it seems that in OpenEXR your whole image looks transparent once resaved after loading a 128 bits image. So just open and save some HDR file in ChocoFlop and boom.. you lost some precious details. I’ll be fixing that today. In the meantime.. avoid saving over your exisitng HDR files with the current version…

I guess the word alpha was a very good choice :-)

Update: I tried a few other apps, and it seems most of them do also destroy floating point data . The files end up in 32 bits, optionally destroying the content of the .exr file (all transp).(ImageTricks, CoreImage Fun House, Liv e Quartz …). Actually opening the .exr file a user sent me with Preview and resaving it… destroyed it! Come on Apple…

Release Alpha 34, fixes for undo and then some more 2

Ladies, gentlemen, (and really any kind of animal who cares to read this), here is a new release of the world most horribly named graphics package. This is yet another bug fixing release. In this release we get:

- Merge visible layers works again
- You can merge even if destination is a live layer (asks if you wish to flatten it)
- You can pixellate a live layer
- If selection contains the whole layer move will not crop but move the layer
- Move tool only cuts if selection intersects with current layer, otherwise just moves
- Move tool: click inside selection cuts+ move, but click outside just moves
- Clicking once on selection deselects
- Clear / Cut / Move Tool now correctly save the correct undo area despite offsets
- If image has transparent borders the correct size of document is saved (previously cropped to visible since 0.3x)
- Resize canvas, Rotate canvas, Resize image - all can be undone (multiple layers)
- Resize canvas acts correctly with multiple sublayer offsets
- Image / Crop to selection (or visible) can be undone
- Added option to NOT crop layers when resizing canvas
- Changing size of layer does undo
- Undo fixes for some quickmask operations
- Prefs window can be resized
- Fixed crashes when modifiying multiple accumulators at once (undo resize multiple layers)

That should be all for today (some technical details aside) . Have fun.

Nice free, Hex. Color Picker 1

While I’ll certainly add some color hex picker features to chocoflop itself later (info window), someone pointed me to a nice solution to have hex color in *any* mac os app. Yes, it seems anyone can write his own color picker as as plugin for the operating system.

Of course if you don’t want to write one yourself, you can always download the Hex Color Picker from WaffleSoftware

Release Alpha 33, Big one 0

Here we are again with a long, long changelog.

What do we get (excited apart):

- Oval and rectangle selections now support fixed size, aspect ratio
- Dragging a selection with move tool cuts from source and creates new layer
- Alt+Drag with selection drags selected aread into new layer
- Holding control force square/circle selection
- Vertical + Horizontal scrolling works (touchpad, mighty mouse)
- Added prefs option to select whether mousewheel scrolls or zooms (command key inverts)
- Rotate, Scale (presets) are undoable and create new layers if there is a selection
- Layer mask actions can be undone: (add, delete, apply)
- Flatten image can be undone
- Merge layers is correct even with layers that have various sizes and offsets
- Apply filter on layer with offset is correct (uses merge layers)
- New features: select visible (layer or document)
- Duplicate layers have a decent naming (not ‘copy copy copy’ anymore)
- Sunshine, Sunbeam, halo filters can default to brightest color (optional)
- Quickmask modification backup only required zones (memory usage reduced)
- Saving defaults to native (.chocoimg) if we have multiple layers or uses tiff otherwise
- Warns when saving on flat image (tiff, jpg, png…) if we have layers
- Warns when opening a PSD file (it will destroy the layers if you resave it)

- And, should I mention it, a lot of other small fixes here and there. Flop flop.

That’s all, use your application menu to update to latest version!

Release Alpha 32, fixes fixes fixes 3

Who doesn’t need a fix from time to time? Even ChocoFlop does, and it needs loads of them. Lots and small and bigger fixes have made it in this release. I still have 130+ points in my bug tracker so this is still far from perfect but it’s getting better. Here is a summary of the main fixes/features changes:

- You can now apply filters only on one layer (instead of the whole stack)
- Filters can hide their target (eg. a deformation filter should hide it’s target)
- Deformation filters hide their target by default (but you can change it)
- Marching ants selections, (merci à l’ami québecois pour ce conseil OpenGL si utile).
- Erasing on masks (quickmask, layer masks filtermaps) always clears with black
- Many many fixes tied with painting on masks and layers with offfsets and diffrent sizes. Most of this now works flawlessly.
- Saving with quickmask enabled does not save the result with quickmask pasted on the image (oops…)
- Selections only backup (for undo) and repaint required areas (instead of everything)
- Select intersection (alt+shift) now works

- And should I add it, a few other fixes that I don’t feel like talking about today :-)

Now, go to your main menu and update the application!

Release Alpha 31, fixes for memory usage, infinite filters and world peace 0

Ok, actually the fix for world peace didn’t seem to work but we still have the following changes:

- Filters with an infinite output are now cropped before being used as an input for the next filter. So you can now see the result of perspective transform upon checkers for example (previously perspective would fail because checkers are infinite)
- Brush cache shared between all documents
- We use only one brush paint buffer (previously had two because of 10.4.6 bug but I found another solution). Since these are the size of the image it means a lot less memory.
- Final brush pasting moved to a thread
- Enhancements for brush paint quality (4 steps minimum, instead of 3) I hope this does not slow down too much older machines
- Some rendering /display fixes (after resizing / rotating)

That’s it for today.. but I’ll be back at it tomorrow!

Release Alpha 30, fixes, fixes and fixes 0

Another day, another release. This one focuses again on fixing many long standing bugs.

- Refresh now seems correct, both when creating a new doc and painting. It waits for the render to be done before pasting something else in the display accu. The apps looks less buggy at start.
- OpenGL does not seem to kill MacBook pro anymore (maybe it is safe on the 800 mhz ibook too?)
- OpenGL Mode: reuses CIContexts (faster) - Anyone with an ibook or G4 mac mini can confirm this (it’s much faster on MBPro)
- Navigation on small images now show a pixellated version, not a smeared, blurry version of a say 32×32 image.
- Many fixes for problems when opening 30 files at once (eg. all the app’s icon). Awakefromnib was called everytime in a singleton.
- Several fixes related to having multiple files open at once (messsages could go to the wrong target)
- Only create paint and selection accumulators if they are actually used. if you load 20 images it will not create them until you actually edit the images.
- Right mouse button paints with BG color (and gradient switch source and dest color).
- Some small fixes here and there with objects uncorrectly retained/released.

Update and have fun!

Next Page »