Deep paint and other open source software tools for motion picture retouching and HDR photography with 8, 16 and 32-bit per channel color.

Thursday, December 11, 2008

The New CinePaint Team

If you’ve looked at changes to our CinePaint Team web page this week, you may be wondering, who are all these people?

Image courtesy U.S. Air Force

Types of CinePaint Developers

Under our CinePaint Active Developers section is everyone who’s contributed a patch or code via CVS that I expect to have included in our next release. Because volunteer developers cycle in and out of the project at will, I define who’s active based on actual contributions, not on factors such as whether they’re working on CinePaint today or have written code that I haven’t seen, yet.

Under our New Developers section is everyone who’s volunteered to join CinePaint recently. Recruiting and training new volunteers is part of my role as project leader.

With new volunteers, I can’t tell at first who’s going to be stellar and who will flake. To separate the wheat from the chaff, I have new developers start by building CinePaint from anonymous CVS. Unfortunately, most new developers will give up and vanish without completing that simple task. Volunteers simply fade away when they get busy with something else or discover that software development can be challenging. This isn’t a problem special to CinePaint. It’s normal.

Under our Secret Developers section is...well, that’s a secret. In the film industry, it’s normal to work in secret, to wait until your next movie releases before you reveal any of your tricks. If you’re a studio programmer working on something you want to open source, there’s the question of whether the studio legal department will eventually allow you to give the code away. There’s no point in announcing anything until that’s decided, when I actually get the code. Sony Pictures Imageworks and ILM are studios that have contributed code.

Another type of secret programmer is the graduate student working on his thesis. Stefan Klein, who added CMS and 16-bit binary fixed-point color support to CinePaint in 2004, is an example of a grad student developer who made a significant contribution. Graduate work isn’t that secret, but the student may not want to announce his research too broadly until he finishes his thesis. We don’t have any grad student projects currently.

New Release Manager is the Old Release Manager

One of our team changes is me. Based on community feedback, I decided that getting CinePaint released and back into Debian should be our highest priority. Not counting our Mac native port release, CinePaint hasn’t had a new release since June 2007. As discussed here previously, CinePaint’s release manager was set on a plan that would not make Debian any priority. When we couldn’t agree on a plan, he resigned. I’ve become the release manager again.

Debian CinePaint Support

As part of an effort to get our Debian and Ubuntu distribution in order, I’ve reached out for help in those communities. Lars Wirzenius of Finland, who I met at Ubuntu FOSScamp last week, has volunteered to help with our Debian packaging. He joins Jonas Smedegaard of Denmark, who I met at Open Source Days, and H.S. Teoh, who contributed CinePaint’s Scons patch. All three are official Debian packagers, not trainees.

Ubuntu CinePaint Support

Lars Wirzenius is both a Debian packager and a Ubuntu packager. He’s our new Ubuntu packager. At FOSScamp I saw Ubuntu community manager Jono Bacon, who’d already offered support. Although not at FOSScamp, Ubuntu Studio project lead Luis de Bethencourt has promised to help as much as he can. I talked with Ubuntu project leader Mark Shuttleworth. He sat in on my FOSScamp presentation on Open Source Team Leadership. He suggested that CinePaint use Ubuntu LauchPad and make use of the Bazaar version control system. More on that another time…

Love you guys!



Hey man! I would LOVE to help you find bugs and problems or anything I could in . I'm new to Linux, so I would be looking for an install other than compiling it myself. PLEASE HELP!!! thanks a million!!

By Blogger, at 13/1/10 6:25 PM  

Post a Comment

Thursday, December 04, 2008

Ubuntu FOSScamp This Morning

I'll be at Ubuntu FOSScamp on Friday, December 5th, and then until 3pm on Saturday the 6th.

I'll be talking about Multimedia Apps, OSS Biz Models, C++/OO/Agile/Literate/Team Programming, Hollywood Linux, and ideas for the Desktop 2020.

Love you guys,



Post a Comment

More CinePaint Build Systems

<< Why is CinePaint adding another build system when you have autoconf and just added CMake? >>

Image courtesy U.S. Air Force

Autotools has always been troublesome for us. The autoconf-automake-make tool chain can be very time-consuming to debug and few find it easy to learn beyond the basics.

CMake is a popular alternative to autotools. CinePaint developer Michel Lesoinne has done a great job creating CMake build files for CinePaint. That's recently completed and now available in CVS for testing.

CinePaint is moving away from dependency on a single build system. With multiple build systems implemented, if one system gets wedged, as has happened several times to us with autotools, we can still build CinePaint using an alternate. Having a broken build system creates panic in an open source project. It's an emergency that must be handled before anyone can do anything. That's stress we can do without.

I've received a patch for CinePaint SCons build support, based on Python, from H. S. Teoh. I'll be committing that to CVS soon. It's half way there, not ready for testing yet. It builds CinePaint except for its plug-ins.

Cons is yet another build system. This one is based on Perl. We're just getting started on that.

Autoconf, CMake, SCons and Cons are all viable build systems. There are developers who love each system. Why pick only one? It's better for developers who join CinePaint that they can use their favorite build system tools, that they aren't forced to learn a tool they don't know or don't like.

Except maybe for autotools, that nobody seems to enjoy working on maintaining, we have the resources and the expertise to support multiple build systems. It's fun to have more choices. Isn't that what open source is about?

Love you guys!



Post a Comment

Wednesday, December 03, 2008

CinePaint Procedural Brushes

<< Is there much of a community for CinePaint photo editing? >>

Image courtesy photographer Per Inge Oestmoen

Yes. Here's our new web gallery of CinePaint pro photog user Per Inge Oestmoen.

<< How much do you care about features such as CMYK, color matching, floating point image manipulation, better tablet support and procedural brushes? >>

I care a lot. That is, as much as I dare to care about anything in CinePaint when I have no budget with which to be able to direct development or enforce schedule.

CinePaint has had floating point and CMS for many years. That's 32-bit FP and more recently 16-bit Half. 64-bit float is a feature request to support 64-bit TIFF.

There's limited CinePaint CMYK support in the context of CMS. Core support of exotic channel layouts such as XYZ and RGBAZ and heterogeneous mixed bit-depth images are feature requests to better support OpenEXR. That could include full CMYK support.

Wacom has supported CinePaint tablet development by providing tablets. Many other vendors have provided hardware, too. I'm our tablet tester. Our tablet developer has moved on. Would love to have help there, especially on the Mac.

The plan for brushes is to create a dll C API so C/C++ programmers can create procedural brushes as external plug-ins. Our first step toward procedural brushes could be to make our existing brushes into plug-ins, the clone brush being the hardest. Healing, vibrancy, picture tube, colorization, alpha, and selection brushes are feature requests to be implemented as procedural brush plug-ins.

Our CinePaint CMS wizard recently retired after five years of CinePaint development effort. We need someone to step up and fill his shoes.

Love you guys!



Robin I am not a developer, just a simple Linux user who loves photography. Is there any software developers who work at ILM or Pixar who would volunteer. If they use CinePaint at these shops would it not benefit them.

By Blogger becket, at 19/12/08 10:42 PM  

This comment has been removed by the author.

By Blogger MikeT_Ca, at 21/11/10 9:01 PM  

This comment has been removed by the author.

By Blogger Maria, at 7/12/10 2:56 AM  

I am happy to find this very useful for me, as it contains lot of information. I always prefer to read the quality content

By Blogger Ak Sağlık, at 5/1/11 6:49 AM  

Great post! I am just starting out in community management/marketing media and trying to learn how to do it well - resources like this article are insanity helpful.

By Blogger alene12378, at 5/4/11 2:15 PM  

A very nice page. I think the effort has passed, we have to thank you:))
Göğüs küçültme

By Blogger Ak Sağlık, at 14/12/11 4:53 AM  

Can you please relinquish ownership of this project so a new project manager can be found.
No activity for 2 years - surely it is time for some new people to join this project.

By Blogger Directrix, at 15/12/11 4:45 PM  

Please relinquish ownership of this project so some fresh people can get involved.
The illusion that this is an active project is broken.
Otherwise I fear that this wonderful software will disappear

By Blogger Directrix, at 15/12/11 4:47 PM  

I enjoyed this site. Çene Cerrahisi I will recommend your site to other places. Saç Ekim Everyone does not show care. Estetik But you were preparing a site so rich in content. Estetik Burun Ameliyatı Everyone who helped, thank you.

By Blogger Ak Sağlık, at 22/12/11 5:48 AM  

I have a few game site. y8 flash game sites, such as, for example such as this site has a few more. You enter these sites to look at my request. if you do not like him y3 friv site, for example my site has a quality look at onada. Recently, my daughter has one that he began on the first page in google, this is a really y8nice feeling to release the first page on all my sites uraşıyorum. ben10 y8 or miniclip appeal to children more focused on sites with the style of a work there, but pogo, I have my sites, such as y3. Share it with friends using social networking sites or blog sites?. y8 them - friv - sites such as y3 invite thank you very much.

to discuss

By Blogger osman, at 17/1/12 5:19 PM  

Comments made ??about the issues impressed me. I like your site.


By Blogger Hair Transplant in turkey, at 21/2/12 11:39 PM  

A very nice page. I think the effort has passed, we have to thank you:))

By Blogger Algevis, at 19/3/12 3:11 AM  

Thank you for your commitment to good writing. recipes Your use of persuasive content impresses me. I like
your views and concur many points. Please continue to put out great work.
barbie games

By Blogger, at 14/4/12 1:26 PM  

such a wonderful post!Keep rocking :)
Harman Singh

By Blogger Harmanrainu, at 16/10/12 10:06 PM  

Site's character and a great color match .. memeestetigiI will recommend your site to the other platforms.Sacekimi

By Blogger algevis, at 20/12/12 5:09 AM  

Y8.Com is adress online funny games for kids.
Juegos de Twizl | Friv 2019

By Blogger YooB, at 22/8/16 7:10 PM  

Everyone's gettin' old.

By Blogger Glomerol, at 3/4/17 4:15 PM  

Post a Comment

Tuesday, December 02, 2008

CinePaint and Perl

These developer notes are for the benefit of those working on adding Perl support to CinePaint...

Image courtesy of photographer Terry Lane

There's no Perl in CinePaint now. In CVS I have a little Perl batch script I wrote to create thumbnailed web pages from a directory of images, but that uses GraphicsMagick.

There are two open Perl CinePaint tasks. One is to add CinePaint support for Cons, a clever 3-thousand-line Perl script that replaces Make and Autotools. The other is to support Perl as a scripting language in CinePaint.

Embedding Perl

CinePaint supports Scheme and Python as scripting languages now. We want to add Perl (and also Java). Perl's been implemented for GIMP, although active support there seems to have ceased. It should be feasible to adapt GIMP code to bring Perl into CinePaint.

O'Reilly "Advanced Perl Programming" has a chapter on embedding Perl. You may want to review that before starting. Limited C knowledge should be sufficient. Embedding Perl is integration of existing code from GIMP, not a coding project. 

IMPORTANT! Do not post any plea for assistance from GIMP. They 
consider CinePaint their rival. It just makes them mad to mention we exist.

We probably want to use recent GIMP source code and may also want to refer to GIMP 1.0.4 from 1999 (when CinePaint was forked from GIMP). There hasn't been much attention to GIMP Perl. It may be nothing has changed in a decade.

Building CinePaint Using Perl Cons

We need to create Cons build files for CinePaint. We want to use Cons before getting into improving it. You can look at the existing CMake or Autotools build scripts for clues what to put in the Cons build files.

Cons is in CinePaint CVS. Cons is orphan open source software. There is no support. There is documentation with it in our CVS. Using Cons 2.2.0, the last stable version.

At this point, don't worry about getting fancy with detecting library paths in Cons, just go ahead and specify those absolutely to your distro locations. Unless somebody discovers a secret auto-detect mechanism in Cons, we will create an auto-detect function later using pkg-config. After we get Cons to build CinePaint, we can look into Cons code clean-up, which is needed for readability and extendability.

Love you guys!




Excuse me for asking (still new with CinePaint), but why you're loking for another build system considering there are autoconf & cmake?

Anything wrong with e.g. cmake?


By OpenID gour, at 3/12/08 10:35 PM  

Hi. First let me say that I am very happy to see that this project is still alive and well. You have been making groundbreaking headway into this field for years and I tip my hat to you. I was wondering what you mean by "deep paint" on the title of your blog. Is it 3D paint? (as in deep paint 3d or bodypaint) or is it deep bit depth as in 32bit? I'm guessing it's the latter as I have not been able to fnd a 3d function. However, I do think that a 3D module would really rock. 32bit editing for textures is really important theses days especially for displacement maps, and having cinepaint with those features would simply be amazing.

By Blogger Simon Legrand, at 18/1/09 3:58 PM  

Perl is the best scripting language for Text processing and handle regex. I have posted few articles related to those at my blog

Also Perl's Cpan has lots of support that I don't even need to think extra while developing project. I didn't find such help on other programming language except Java and .NET

By Blogger Wolf, at 4/4/09 7:27 AM  

Post a Comment