Final Cut Pro Package Contents
This document is a random collection of notes, thoughts and comments as we start to experiment and play with the "insides" of Final Cut Pro.
I'm not exactly sure what this is but I'm ASSUMING it has something to do with the more complex side of Apple Motion (possibly rendering?) - due to the following string found in the executable:
I don't think this is much help to CommandPost.
The CoreMediaIO Device Abstraction Layer (DAL) is analogous to CoreAudio’s Hardware Abstraction Layer (HAL). Just as the HAL deals with audio streams from audio hardware, the DAL handles video (and muxed) streams from video devices.
This seems to be one of the most important frameworks for iMovie & Final Cut Pro.
- All the default
- The FCPX Document Type Definition's (version 1.0 to 1.6)
- Compressor settings for FCPX Bundles, Library XMLs and Project XMLs
- 72 Fonts used internally by Final Cut Pro & iMovie
- 3D Luts (
- Files for
- Metadata Definitions (
- Color Presets (in the
- Nib files for a huge range of different Final Cut Pro & iMovie Windows & Modules.
FFLocalizable.stringswhich contains a huge range of different UI strings for both iMovie and Final Cut Pro
ProMSRendererToolseems to be both a video and audio rendering engine based on the
It also contains the following Frameworks:
This framework seems to be the database engine for Final Cut Pro?
FaceCore is Apple's Face Recognition framework, which was acquired from Polar Rose.
Helium looks like it's the video processing engine for Final Cut Pro, and other ProApps (i.e. there's references to Shake in some of the frameworks).
It looks like it's using OpenGL's ARB Vertex Programming language?
It contains two "Plug-ins":
It contains several Frameworks:
Looks like it contains a bunch of OpenGL Shaders. Assuming it's a bunch of filters for Helium?
Looks like it contains a bunch of OpenGL Shaders. Assuming it's the "render" engine for Helium?
Senso looks like the Optical Flow engine (possibly the same that originally came from Shake?).
Looks like more Optical Flow OpenGL functions.
More Optical Flow code - but this looks less like OpenGL functions, and more like some kind of "interface"
Has two .glsl files inside:
This looks like the Framework that contains all of the ProApps UI elements - from Windows, to Audio Meters, to Toolbars and the Browser.
It contains a bunch of
.car (CoreUI Archives) files, which can be extracted using Asset Catalog Tinkerer:
- AppThemeBits.car: contains LOTS of PSDs of UI elements.
- AppThemeBitsB.car: looks like a duplicate of
AppThemeBits.car, but maybe at higher resolution (Retina version?)
- Assets.car: looks like it contains all of the mouse cursors.
- NOX.car: UI Elements such as Checkboxes, Buttons, Steppers, Text Fields, etc.
- NOXConsumer.car: Assuming it's the same as
NOX.car, except for iMovie?
- NOXHud_MOTION.car: Assuming it's all the UI graphics for the HUD in Motion?
- NOXHud.car: UI graphics for Final Cut Pro's HUD?
- NOXInspector.car: - UI graphics for Final Cut Pro's Inspector?
- NOXRevealed.car: Not sure what these graphics are? Segmented Control?
- NOXToken.car: This bundle looks empty?
- NOXToolbar.car: Looks like it just has two loading animations?
- NOXViewer.car UI graphics for Final Cut Pro's Viewer?
- WideSliderIconAppearance.car: Not sure what these graphics are for?
It contains a human-readible plist file called
It contains a bunch of other interesting plain-text plist files:
- LKColor.plist: Colour settings for a huge range of different UI elements (for things like HUDs, etc.)
- LKCursor.plist: Hotspot Locations for various mouse cursors.
- SRColor.plist: Colour settings for a huge range of different UI elements (for things like Audio Waveforms, etc.)
- SRCursor.plist: Hotspot Locations for various mouse cursors.
- TLKColor.plist: Colour settings for various timeline elements.
It also contains a Perl script called
viddiagnose.pl. I'm ASSUMING this is a script that creates Diagnostic reports for Apple to help debug FCPX?
There are also localised files in LOTS of different languages. In the
English.lproj folder for example, it contains:
- Commands.strings: A binary plist of Command Editor strings.
.nibfiles for what looks like the Command Editor?
- LKLocalizable.strings: Binary plist which contains a few basic strings for when you trash Final Cut Pro's preferences, and copyright messages.
- LunaKit.strings: Binary plist containing a list of colours (probably for the Command Editor).
- ModuleKit.strings: Binary plist containing text for Window Layouts.
- NSProCommandDescriptions.strings: Binary plist containing a single key (
- NSProCommandNames.strings: Binary plist containing a single key (
Not sure what MIO stands for (maybe MediaIO or CoreMediaIO?) but seems to be something to do with the reading and processing of video & audio files. Possibly also has something to do with the controlling of FireWire DV devices?