compCode
-
Compatibility After Effects Please check exact version compatibility under the "COMPATIBILITY" tab below
compCode
compCode converts your design to a dynamic and shareable After Effects script. Simply select your composition (or layers), hit the compCode button and it will magicaly convert it to an executable After Effects script that is backwards compatible to CS6. No coding skills are required!
The resulting script can optionally be customized with user tokens. You can specify what the end user can modify, such as layer and composition names, new footage sources or custom text for text layers.
compPack
Included is the compPack feature which allows you to package together multiple scripts into one beautiful, searchable UI panel. Have folders of scripts inside of other folders, compPack is smart enough to rebuild the UI to match your existing folder structure.
In addition add artwork and information buttons to polish your UI, and get it ready to share with others in a professional looking tool.
For the After Effects user:
This is as close to Photoshop actions as you will ever get in After Effects. Turn your comps or layers into executable code that can be used as is or modified as needed.
For the After Effects template author:
compCode is perfect for delivering After Effects template projects which are much easier to use and are version agnostic back to CS6. It can also be used to deliver corporate branding packages in easy to use (and deploy), beautiful, searchable UI panels.
Consider these features for your next AE template.
- The user chooses what they need from your template, instead of having to import a huge AEP with hundreds of elements when they only need a few;
- No more duplicate items in the end users project. All existing project items can be reused;
- Search option is built into the tool;
- Your template is backwards compatible to CS6. With some additional adjustments, it can be compatible with even CS3;
- You choose to either create a new composition for your design or target currently active one;
- Your branding and information about the template are available in the toolkit.
Features
- One button click solution to covert After Effects projects to reusable After Effects Scripts;
- Tokens ("//value", text:", "file:", "name:") can be used to prompt the end user for input once they execute the script;
- Supports expressions and all layer and property types;
- Final script can target current composition, or create a new one;
- Final script is compatible with at least CS6;
- No programming experience is required;
- Use compPack feature to collect exported scripts into standalone toolkit.
- Search scripts function is automatically added to final toolkit.
- Format your scripts directory any way you want to - compPack will respect your folder structure and rebuild it perfectly;
- Add branding artwork and information buttons to final script.
How to use it.
Select a composition or a hand full of layers and hit compCode button. Done. That's it. Enjoy the rest of you day. The result you get is actual After Effects script that you can execute via Run Script File button and it will recreate your original design from the code. Also, you can run it on After Effects CS6, and you should be fine.
Follow these complicated steps to harvest the power of compCode tokens.
- Use "//value" token in expression to promt user for any value.
- Apply "text:" token to the text layers name, like "text:someLayerName", and the end user will be prompted to enter custom text once he executes the script.
- Use "file:" token on footage item in project panel such as image, image sequence, video or audio, like "file:someFileName.extension", to prompt the end user to select file upon the script launch.
- Append "name:" token at the beginning of item, layer, or property name to allow the end user to set custom name for them.
Fire up the compPack feature to collect your scripts library into one toolkit. Simply navigate to the folder and your done. You can also add brand logo and text info to give your toolkit that extra touch. Done. Ship it out.
Products and tools in which compCode is involved
compCode allows me to focus on the creation and design side of development and tools, and not worry about the coding. I’ve never been a strong coder, so this really saves me hours and hours.- Mikey Borup
At the moment, I don't have a need for CompCode just yet. But I definitely see it in my future to package presets. It looks like it will be amazing. If you see branded script panels from me, know that they'll be the direct result of CompCode. And it's made by Tomas Sinkunas, developer of many kickass scripts like Flow, so you know it's rock solid. It's a script that can build scripts. That's some Inception-level coding.- Joe @Workbench.tv
Limitations
Not all properties are available via scripting in After Effects. Here's a small list where compCode will struggle converting compositions to javascript file:
- Master Properties are not supported
- Custom data values. Effect properties with custom data values can't be used, such as the Levels Histogram and the Hue/Saturation effect. In these cases you could use the Levels (Individual Controls) and Color Balance (HLS) effects instead;
- No data values, such as Gradient Fill and Gradient Stroke are not supported;
- Paint, Rotobrush and Puppet Pin effect values are not supported;
- Not all text properties are supported:
- Faux Bold, Faux Italic, All Caps, Small Caps, Superscript, Subscript properties are read only, so compCode will not be able to set them;
- Vertical Scale, Horizontal Scale, Baseline Shift, Tsume properties supported from 2014.2 and newer;
- Multiple text styles on one layer are not supported;
- compCode cannot import separate PSD layers due to scripting limitations. Please use separate files for each layer;
After Effects | 2022, 2021, 2020, CC 2019, CC 2018, CC 2017, CC 2015.3, CC 2015, CC 2014, CC, CS6 |
---|
1.2.2 (Current version) - Sep 2, 2022
* compCode: support for native Drop Down Menu controls.
* compCode: support for keyframe label colors.
* compCode: button in Settings window to reset values to default.
* compCode: option to omit invocation block in the output JSX file.
Fixed:
* compCode: error when saving a PseudoEffect with "Use Existing Composition" settings enabled.
Changed:
* compCode: remove try/catch block from expressions in output JSX file.
* compCode: move try/catch block and undoGroup into global scope of output JSX file.
* compCode: massive codebase cleanup.
1.2.1 - Aug 24, 2020
- compCode: add 'Hidden' property values to Log once composition has been processed.
Changed
- compCode: 'Hidden' and 'OuOfRange' error handling.
- compCode: skip folder creation process when necessary.
- compCode: do not display 'keyIn/OutTemporalEase().influence' errors to the user.
- licensing framework.
Fixed
- compCode: fix JSON layers throwing 'invalid text layer'.
- compCode: fix typo in 'flashVideoCuePointParameters' attribute.
1.2 - Jun 12, 2020
- compCode: Adds 'label' and 'protectedRegion' marker properties to composition introduced in AE CC2019 (v16.00).
- compCode: Adds Marker 'label' property to a layer.
- compCode: Adds options to auto rename Untitled.ffx files when Animation Preset file is saved.
Changed
- compCode: Replaces all instances of 'typeName' property with a method that checks for 'instanceof'.
- compCode: Deselects property after applyPreset() method.
- compCode: Skips and logs Master Properties, as they are not supported due to a lack of the API on the AE side.
- Licensing framework.
Fixed
- compCode: Fixes 'threeDPerChar' for text layers.
- compCode: Fixes the issue for CC2017 up to CC2020 if none of the LS were applied in the current AE session.
- compCode: Fixes multiline SourceText keyframe value.
- compCode: Writes expressions even if setting values fails (particularly when 'property is hidden').
- compCode: Replaces @ character with _@_ if it follows after double slash //. As in '// @' into '// _@_'. Otherwise, it fails on compiling JSX into JSXBIN files.
- compCode: Fixes issue when applying 'fillColor' to a text that had 'applyFill' set to false.
- compCode: Fixes issue when last Text Animator was skipped.
- compPack: JSX file names are not sorted alphabetically in the dropdown list.
- compPack: compCode injects function parameters passed from main.js file.
- compPack: Adds a workaround for spec characters in the included file.
- compPack: Fixes 'load metadata' not parsing the file.
- compCode and compPack: uses UTF-8 encoding for read/write files.
- compCode and compPack: Save files with Unix lineFeed(LF).
1.1.2 - Oct 30, 2018
- Converts "\" to "/" when writing file paths to file.
- Escapes alert strings compPack regarding missing FFX files.
1.1.1 - Sep 6, 2018
1.1 - Jun 25, 2018
NEW:
compCode
- Implements "value:" token
- Bulk converts selected compositions & compositions in selected Folders.
- Adds support for compMarkers property introduced in CC2017.
- Adds option to auto save Animation Preset when Pseudo Effect or CUSTOM_VALUE or NO_VALUE properties are encountered
- Adds option to Auto Close Composition on witch compCode is working on.
- Adds option to Auto Undo when Finished to remove compCodes side effects from project.
compPack
- Adds option to use thumbnails,
- Option to save 'metadata' file, so that later, when you want to update your compPack, you can pre-populate all the fields with the metadata file,
- Collect JSX files and thumbnails,
- Collect Animation Presets FFX files,
typePack
- Initial implementation.
checkList
- Initial implementation.
JSX Compiler
- Initial implementation.
ENHANCEMENTS
Checks if trackMatte layer is enabled,
Fixes Mask Feather for each vertex,
Layer Styles now uses app.executeCommand(ID) therefore making it AE language independent,
Removes empty Solids folder at the end of script execution,
Always sets Layer/Property names (if possible) to avoid expression errors for non-english AE interface,
Throws error if compCoding a layer that is parented to layer B, and layer B is not included in selection,
Can view LOG file without saving it,
Removes "Alert on Pseudo Effect" checkbox,
Deselects created layer,
Sets composition Resolution Factor,
Replaces Non-Breaking-Space character with simple Space character,
Fixes issue when Layer Styles “Blending Options” were ignored,
compPack: Use relative path in #include directive,
compCode: Composition items with nullLayer flag are now supported
compCode: Returns main composition object {compItem : mainComp}
compCode: Adds START and END tokens to Folder, Solids, Nulls, Footage Items, Comps creation processes in final script.
compCode: Wraps each expression to try…catch block. This fixes issues when expressions could not be applied to layers because they didn’t exist. And they didn’t exist because compCode skipped building them because of “use existing precomps” option.
OTHER
Removes AddSatticShape() function - static shapes are now coded inline.
compCode encodes Folder name
Fixes generateRunDate() function by converting arguments to string.
Fixed dropDow item size width.
Fixes "Help tip" to uppercase in "Info Tab" (compPack)
Removes checkbox "Auto Save Log" and now saves Log file automatically (if any errors are recorded) when file is saved;
Removes checkboxes "Custom Function Name" and "Function Name as Comp" and instead adds Dropdown Menu.
Ignores "CC Particle World-0105" property, as it is hidden and generates errors on Win CS6
Uses more options when searching for composition/footage/solid in the project panel.