cdl_convert¶
Project Info¶
- Name: cdl_convert
- Version: 0.9
- Author/Maintainer: Sean Wallitsch
- Email: shidarin@alphamatte.com
- License: MIT
- Status: Development
- Docs: http://cdl-convert.readthedocs.org/
- GitHub: https://github.com/shidarin/cdl_convert
- PyPI: https://pypi.python.org/pypi/cdl_convert
- Python Versions: 2.6-3.4, PyPy
Introduction¶
cdl_convert
converts between common ASC CDL formats. The American Society of
Cinematographers Color Decision List (ASC CDL, or CDL for short) is a
schema to simplify the process of interchanging color data between
various programs and facilities.
The ASC has defined schemas for including the 10 basic numbers in 5 different formats:
- Avid Log Exchange (ALE)
- Film Log EDL Exchange (FLEx)
- CMX EDL
- XML Color Correction (cc)
- XML Color Correction Collection (ccc)
- XML Color Decision List (cdl)
Unofficial Formats:
- OCIOCDLTransform, a Foundry Nuke node
- Space separated CDL, a Rhythm & Hues internal cdl format
It is the purpose of cdl_convert
to convert ASC CDL information between
these basic formats to further facilitate the ease of exchange of color
data within the Film and TV industries.
cdl_convert
supports parsing ALE, FLEx, CC, CCC, CDL and RCDL. We can write
out CC, CCC, CDL and RCDL.
cdl_convert is not associated with the American Society of Cinematographers
Changelog¶
New in version 0.9:
- Added ability to parse CMX EDLs
- Fixed a script bug where a collection format containing color decisions will not have those color decisions exported as individual color corrections.
- Fixed a bug where we weren’t reading line endings correctly in certain situations.
- Added a cdl_convert.py stub file to the package root level, which will allow running of the cdl_convert script without installation. Due to relative imports in the python code, it was no longer possible to call cdl_convert/cdl_convert.py directly.
- The script, when run directly from cdl_convert.py, will now write errors to stderror correctly, and exit with a status of 1.
New in version 0.8:
- Added –single flag. When provided with an output collection format, each color correction in the input will be exported to it’s own collection.
- Giving a
ColorCorrection
a non-duplicate ID now works unless the--halt
flag is given. This means that incoming collections that contain duplicate IDs will not fail out.
New in version 0.7.1:
- Fixed bug where ALE’s without ‘Scan Filename’ fields could not parse correctly.
New in version 0.7:
The biggest change in 0.7 is the addition of collection format support.
.ccc
, Color Correction Collections, can now be parsed and written. .cdl
,
Color Decision Lists, can now be parsed and written. .ale
and .flex
files now return a collection.
- New script flags:
- Adds
--check
flag to script, which checks all parsedColorCorrects
for sane values, and prints warnings to shell - Adds
-d
,--destination
flag to the script, which allows user to specify the output directory converted files will be written to. - Adds
--no-ouput
flag to the script, which goes through the entire conversion process but doesn’t actually write anything to disk. Useful for troubleshooting, especially when combined with--check
- Adds
--halt
flag to the script, which halts on errors that can be resolved safely (such as negative slope or power values)
- Adds
Renames
ColorCollectionBase
toColorCollection
, since it will be used directly by bothccc
andcdl
.Adds
parse_ccc
which returns aColorCollection
.Adds
write_ccc
which writes aColorCollection
as accc
file.Adds
parse_cdl
which returns aColorCollection
.Adds
write_cdl
which returns aColorCollection
as acdl
file.ColorCollection
is now a fully functional container class, with many attributes and methods.Added
ColorDecision
, which stores either aColorCorrection
orColorCorrectionRef
, and an optionalMediaRef
Added
ColorCorrectionRef
, which stores a reference to aColorCorrection
Added
parent
attribute toColorCorrection
.Calling
sop_node
orsat_node
on aColorCorrection
before attempting to set a SOP or Sat power now works.ColorCorrection
cdl_file
init argument renamed toinput_file
, which is now optional and able to be set after init.parse_cc
andparse_rnh_cdl
now only yield a singleColorCorrection
, not a single member list.Added dev-requirements.txt (contains
mock
)All
determine_dest
methods now take a seconddirectory
argument, which determines the output directory.Adds
sanity_check
function which prints values which might be unusual to stdout.parse_cdl
andwrite_cdl
renamed toparse_rnh_cdl
andwrite_rnh_cdl
respectively.member_reset
methods:ColorCorrection
now has areset_members
method, which resets the class level member’s dictionary.MediaRef
also has areset_members
method, as doesColorCollection
reset_all
function calls all of the abovereset_members
methods at once.
- Renamed
cdl_file
argument: parse_cc
cdl_file
arg renamed toinput_file
and now accepts a either a raw string or anElementTree
Element
asinput_file
.parse_rnh_cdl
cdl_file
arg renamed toinput_file
.parse_ale
edl_file
arg renamed toinput_file
.parse_flex
edl_file
arg renamed toinput_file
.
- Renamed
- Python Structure Refactoring
- Moved
HALT_ON_ERROR
into theconfig
module, which should now be referenced and set by importing the entireconfig
module, and referencing or settingconfig.HALT_ON_ERROR
- Script functionality remains in
cdl_convert.cdl_convert
, but everything else has been moved out. AscColorSpaceBase
,AscDescBase
,AscXMLBase
andColorNodeBase
now live undercdl_convert.base
ColorCollection
now lives incdl_convert.collection
ColorCorrection
,SatNode
andSopNode
now live undercdl_convert.correction
ColorDecision
,ColorCorrectionRef
andMediaRef
now live undercdl_convert.decision
- All parse functions now live under
cdl_convert.parse
- All write functions now live under
cdl_convert.write
sanity_check
now live undercdl_convert.utils
reset_all
now lives under the main module
- Moved