Forschungs- & Entwicklungsinformationsdienst der Gemeinschaft - CORDIS


CinePaint is an Open Source tool classically applied to image retouching and digital composition for film-quality images. It has a published plug-in interface (API), the basis of a client-server architecture, an Open Source community of developers around it, and a number of users in the professional film industry both in Europe and the USA. It is used in such a varied way and the original core has been patched by so many people who are more expert in the application domain than in software engineering that the original code base has become hard to maintain. This has been rebuilt according to current software engineering principles and models for component-based architectures and is currently being developed with the Open Source community as the “Glasgow” rebuild.

The new version of CinePaint remains a film-standard image editing tool with explicit provision for spatial and colour primary depth film-resolutions and sequencing. Supporting film resolution affects every function, which could be applied to images and sequencing, if catered for properly, can profoundly affect the way functionality is presented and the resulting workflows.

The original CinePaint made very little provision for sequencing other than by scripting. The new Cinepaint uses a spreadsheet model, which is optimal for short sequences or longer single, sequences and requires a replay facility, which has been implemented. Because it is possible to specify runs of function sets and systematic operand changes easily an explicit client-server arrangement is available to displace high workloads. The client-server core is highly flexible and can be reused for a wide range of image handling operations and has been used in three such applications. CinePaint is an Open Source tool whose present licence permits free use outside reselling, which is a model, which encourages take-up.

The functionality added to CinePaint is explicitly intended to support its use in the animation industry at the previewing stage, optionally in conjunction with CreaToon, and for supporting film-quality composition and other time-consuming functions for CreaToon. This facilitates the use of the new tools in CreaToon for generating new forms of rendering in film animation, which have been hitherto unachievable because of stability problems. While providing a route for the new tools to film resolutions and also providing new support options, for e.g. for 2.5D backgrounds, the fact that CinePaint is Open Source encourages its use in small studios seeking to support a house look with their own software techniques, quite independent of its use in animation. Further exploitation of a client-server linkage between CreaToon and CinePaint (or with CinePaint itself) could assist in film effects and previsualisation generally, not just in animation. The ease of extending CinePaint is intended to encourage the build up of contributed functionality and hence its user base. We have rebuilt the CinePaint core to expose the client-server structure and to restructure the system around a radically applied plug-in model.

Current software engineering techniques have been used throughout: object-orientation, templates, multi-threaded control, software re-use as components (plug-ins) wherever this passes a quality standard. We are engaging with the Open Source community surrounding this project so the implementation has been designed be easy to maintain and to build on. Good documentation, particularly documentation which explains how to write plug-ins with worked examples, is a key feature along with clean, well-documented code. This Cinepaint core is capable of being reconfigured for any image oriented application and has been used like this in three different applications. Also, unlike the original Cinepaint where attempts to port it to Windows failed, it runs on any platform including Windows, which is more significant for its penetration in Europe. The API for the new system is a superset of the original API and a mimic API is being developed for backwards compatibility with plug-ins. Other mimics are possible.

Finally the new core supports an improved model for sequencing (where essentially the same operations are applied over a sequence of images) based on the idea of a spreadsheet for images. With some support from specialist core functions this is essentially a plug-in in its own right and allows for considerable flexibility and transparency in sequence control. Since studio users are more familiar with the restrictions of exposure sheets this spreadsheet can be reconfigured to look like an exposure sheet or it can be bypassed altogether by users who do not need this capability or for legacy reasons.

Verwandte Informationen

Ergebnis in Kürze

Reported by

University of Glasgow
Department of Computing Science 17 Lilybank Gardens
G12 8QQ Glasgow
United Kingdom
See on map
Folgen Sie uns auf: RSS Facebook Twitter YouTube Verwaltet vom Amt für Veröffentlichungen der EU Nach oben