CinePaint Glasgow Progress

Robin’s Nov 19th update. I’ve brought the CinePaint blog online at Blogger and updated home page to point to it. I’m making progress on img_img. Fixed a linker bug that was messing up DLL calls to plug-ins.

Robin’s Sept 23rd update. I wasn’t able to do much the past month for open source. Too many interruptions with my life. Robin’s Aug 11th update. Chris McKinley provided a patch for autotools so Glasgow builds on Linux again.

Robin’s July 9th update. I took some time for myself and didn’t work on CinePaint over the 4th holiday as I’d originally planned.

Robin’s June 27th update. Below is for developers. No user-serviceable parts yet. Been working on img_img, the command-line component of Glasgow that’s a little bit like GraphicsMagick ‘convert’. Adding support for SGI and DPX files. It had only PPM support lately (now broken). OpenEXR and JPEG2000 (Jasper) were working in the distant past and will get added back later. Eventually all the file types now supported in CinePaint will get added in.

Changes to the types and quantity of img_img channels. Now number of channels is limited only by RAM and may be of mixed type. The mixed types are particularly important to support OpenEXR without crushing. OpenEXR may have Half, Float and U32 channels intermixed, but CinePaint Film Gimp is homogeneous to channels (all channels in a layer are either u8, u16, b16, f16, or f32 — not mixed).
Channels in img_img have a color tag. RGB is considered a single color in nomenclature because the colors aren’t in separate blocks that can be individually freed. The architecture will be able to copy (convert) from channel color RGB to planar R,G,B channels with a library call.

Here’s what the types and colors are:

CHANNEL_TYPE(b16); //Binary 16-bit (HDR)
CHANNEL_TYPE(f16); //Float 16-bit (half)
CHANNEL_TYPE(f32); //Float 32-bit
CHANNEL_TYPE(f64); //Float 64-bit (double)
CHANNEL_TYPE(u8); //Unsigned 8-bit
CHANNEL_TYPE(u16);//Unsigned 16-bit
CHANNEL_TYPE(u32);//Unsigned 32-bit
CHANNEL_TYPE(u64);//Unsigned 64-bit
CHANNEL_TYPE(vec);//Vector data (not raster)

CHANNEL_COLOR(rgb); //RGB interleave
CHANNEL_COLOR(rgba);//RGBA interleave
Here's the channel structure:
struct ImgChannel
{ DL_node node; // channel's node in channel list
unsigned image; // image #, the first image is 0
unsigned layer; // layer #, the first layer is 0
ChannelType channel_type; // e.g., img_type_u8
ChannelColor channel_color; // e.g., img_color_rgb
unsigned x; // position in layer, e.g., 0
unsigned y; // position in layer, e.g., 0
unsigned width; // width in pixels, e.g., 720
unsigned height; // height in pixels, e.g., 480
unsigned bit_depth; // depth in bits, e.g., 8
ByteData data; // raster or other image data
StringData metadata;// text data about channel

An image object is a list of channels. The channel list is flat. There isn’t an image or layer list in the image file container. The image # and layer # are simple attributes on the channel. The image # is for file formats that may contain more than one image.

CinePaint News
Aug 11, 2006
Version 0.21 Changes
Flipbook overhaul
HDR creation from 16-bit sources
CMS improvements
GUI improvements

July 13, 2006

Kai-Uwe Behrmann reports that post-production company TV WERK GmbH in Munich, Germany, sponsored one week of development on CinePaint. TV WERK’s Markus Baburske says, “CinePaint is one of the rare tools useful for the task desired.” Kai-Uwe work was on stabilising the Flipbook and implementing shortcuts to streamline the workflow.

June 1, 2006

Adding SGI and DPX support to img_img command-line converter (currently PPM only)
Fixed bug that prevented core Glasgow plug-ins from loading
Rewriting AppRc system settings class to eliminate bugs and GIMP-like plug-in path complexity
Researching Extreme Wave 3D paint tool, trying to build on Windows
CVS ChangeLog

FLTK 1.1.7

May 29, 2006: FLTK updated in CinePaint CVS to be the latest stable version. Our copy in has different VC++ project files and directory layout, but is about the same as version.

CineCalc Rounding Bug

May 29, 2006: Fixed so numbers beyond five figures don’t round off in display (34,332.25 was displaying as 34,332.3).

Recent Events

  • CinePaint at LILAX

    Robin Rowe, Beverly Hills 2006.4.1

    CinePaint project leader Robin Rowe presents at HREF=””>LILAX in Los Angeles.

  • CinePaint at NEXPO 2006

    Robin Rowe, Beverly Hills 2006.3.20

    CinePaint project leader Robin Rowe will be part of
    an open source software panel at the Newspaper Association of
    America NEXPO
    conference in Chicago on April 2nd. [slides.pdf]

  • CinePaint at SCALE 2006

    Robin Rowe, Beverly Hills 2006.2.14

    Thanks to the generosity of SCALE,
    CinePaint had its first booth at a tradeshow. At the conference
    I spoke for a session
    about Linux in the motion picture industry (#1 by far) and CinePaint
    (#2 after Photoshop there) [slides.pdf].

Leave a Reply