framecurve

framecurve (framecurve.org) file handling gem for Ruby.

This gem includes a handful of classes for manipulating framecurves and is intended as a library for when you want to do something with framecurves from within Ruby. This will also power the online framecurve validation service once it’s online.

Framecurve validation and parsing

The main binary of the gem is called framecurve_validator, it will validate framecurve files passed in the arguments and report any errors found in the files to STDERR.

$framecurve_validator somefile.framecurve.txt another.framecurve.txt

This is handy when you wrote your own piece of software that exports framecurve files or you want to make sure that a framecurve file you have received conforms to the framecurve specification. This tool will also note all the deviations from the spec in terms of recommended headers and comments and report them to you one by one.

Extracting framecurves from FinalCut Pro XML files

This gem includes an application, framecurve_from_fcp, that will extract Framecurve files from a FinalCut Pro XML files (the version you need is *XML Interchange Format Version 4*). It will dive into your sequence and find all clips which have time remap effects on them, and for each of these clips it will write out a <tt>.framecurve.txt<tt> file that you can convert into other formats or load into applications for which we provide framecurve scripts. This file will include all of the motion keyframes that have been applied in FCP.

$framecurve_from_fcp_xml my_edit.xml

will write out a number of framecurve files, one per timewarped clip in your sequence (they will be appropriately named with the track index, clip index and clip name so that you can trace which ones relate to which clips in your edit).

Extracting framecurves from Flame/Smoke setups

If you need to extract from a format written by Flame or Smoke, install the flame_channel_parser gem. This gem provides the binaries framecurve_to_flame and framecurve_from_flame which will create framecurve files or convert them to a variety of Flame-supported setup formats. Refer to the flame_channel_parser gem documentation for more information on these.

Contributing to framecurve

  • Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet

  • Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it

  • Fork the project

  • Start a feature/bugfix branch

  • Commit and push until you are happy with your contribution

  • Make sure to add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.

Copyright © 2011 Julik. See LICENSE.txt for further details.