- Fixed a bug where ALE’s with blank lines would not convert correctly.
- Fixed a bug that was preventing
cdl_convertfrom being correctly installed in Python 2.6
- Fixed continuous integration testing.
- No longer officially supporting Python 3.2, as I’ve had to remove it from our CI builds. It should still work just fine though, but we won’t be running CI against it.
- 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.
- 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
--haltflag is given. This means that incoming collections that contain duplicate IDs will not fail out.
- Fixed bug where ALE’s without ‘Scan Filename’ fields could not parse correctly.
The biggest change in 0.7 is the addition of collection format support.
.ccc, Color Correction Collections, can now be parsed and written.
Color Decision Lists, can now be parsed and written.
.flex files now return a collection.
- New script flags:
--checkflag to script, which checks all parsed
ColorCorrectsfor sane values, and prints warnings to shell
--destinationflag to the script, which allows user to specify the output directory converted files will be written to.
--no-ouputflag 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
--haltflag to the script, which halts on errors that can be resolved safely (such as negative slope or power values)
ColorCollection, since it will be used directly by both
parse_cccwhich returns a
write_cccwhich writes a
parse_cdlwhich returns a
write_cdlwhich returns a
ColorCollectionis now a fully functional container class, with many attributes and methods.
ColorDecision, which stores either a
ColorCorrectionRef, and an optional
ColorCorrectionRef, which stores a reference to a
ColorCorrectionbefore attempting to set a SOP or Sat power now works.
cdl_fileinit argument renamed to
input_file, which is now optional and able to be set after init.
parse_rnh_cdlnow only yield a single
ColorCorrection, not a single member list.
Added dev-requirements.txt (contains
determine_destmethods now take a second
directoryargument, which determines the output directory.
sanity_checkfunction which prints values which might be unusual to stdout.
ColorCorrectionnow has a
reset_membersmethod, which resets the class level member’s dictionary.
MediaRefalso has a
reset_membersmethod, as does
reset_allfunction calls all of the above
reset_membersmethods at once.
cdl_filearg renamed to
input_fileand now accepts a either a raw string or an
cdl_filearg renamed to
edl_filearg renamed to
edl_filearg renamed to
- Python Structure Refactoring
configmodule, which should now be referenced and set by importing the entire
configmodule, and referencing or setting
- Script functionality remains in
cdl_convert.cdl_convert, but everything else has been moved out.
ColorNodeBasenow live under
ColorCollectionnow lives in
SopNodenow live under
MediaRefnow live under
- All parse functions now live under
- All write functions now live under
sanity_checknow live under
reset_allnow lives under the main module
AscXMLBaseclass for nodes that can be represented by XML to inherit.
- Suppressed scientific notation from being written out when writing files. Should now write out as close as Python accuracy allows, and the same number of digits.
write_ccnow writes out 100% correct XML using ElementTree.
- Added tests for
write_cc, which brings our coverage to 100%
Adds much greater ASC CDL XML compliance with the addition of many classes that represent node concepts in the CDL XML schema.
input_descattributes and methods into the base class
descattribute and methods into the base class
ColorCollectionBaseclass for a basis of all collection type nodes (
MediaRefclass which represents the MediaRef node of a ColorDecision. This class allows convenient handling of files given as media reference.
HALT_ON_ERRORmodule variable which determines certain exception handling behavior. Exceptions that can normally be handled with default behavior (such as negative Slope or Power values) will be dealt with silently instead of stopping the program. Negative Slope and Power values, for example, will clip to 0.0.
AscCdl) class changes:
- Adds class level member dictionary, which allows lookup of a
ColorCorrectioninstance by the unique ID.
ColorCorrectionobjects now require a unique ID to be instantiated.
- Moves SOP and SAT operations out of
ColorCorrectioninto their own classes, which are based on
SopNodeclasses are still meant to be children of
sat_nodeattributes to access the child
metadataattribute, splitting it into the inherited attributes of
descattribute is now fully fleshed out as a list of all encountered description fields.
id, shadowing the built in
idwithin the class.
- Slope, Offset and Power now return as a tuple instead of a list to prevent index assignment, appending and extending.
parse_ccshould now parse a much greater variety of
.ccfiles more accurately.
- Now supports infinite Description fields
- Now supports Viewing and Input Description fields
- Significantly simplifies the function.
parse_flexhas been significantly simplified.
Test Suite broken up into sub-modules.
Adds PyPy support.
Adds docs to build
- Project is now structured according to Python packaging guidelines with
AscCdlattributes have been moved into dictionaries (Note that this was later reversed in release 0.6)
- Refactors some parse functions to be less complex
write_cdlmuch simpler and more pythonic.
- Hotfix to fix
- Python 3 compatible
- More unit testing bug fixes and enhancements.
- Adds better type and exception handling for
- Now sanitizes id fields of any characters they shouldn’t contain.
- Test suite runs on windows now
- Adds Travis-ci for continuous integration testing
ElementTreefor XML parsing