-
Python and XML references in FCP X binary file
I ran the ‘strings’ command on the Final Cut Pro X binary. This command tries to extract things that look like human-readable text out of binary files. Used on Cocoa apps, it can often turn up the names of internal methods, classes, etc. Here are some of the more interesting strings it found:
PEXMLImport
PEXMLImportButton
importXML:
importFinalCutXML
importXMLViaAppleScript:
scriptingExportListAsXML:/System/Library/Frameworks/Python.framework/Python
Py_IsInitialized
Py_Initialize
Py_SetProgramName
PyRun_SimpleFileExFlags
/usr/bin/python
FCPythonPluginExecutor
sharedManager
loadPythonScriptAtPath:runFunction:withArguments:
setupPythonEnvironment
PEPythonPluginManager
loadPythonModuleAtPath:functionName:arguments:This suggests partial or stub implementations of XML import and Python scripting features are already present. As far as the XML stuff goes, my guess is FCP X was supposed to ship with XML import, and this was the solution for brining in FCP 7 projects… but it wasn’t done in time and they decided to ship anyway.
Notice that there’s not much about XML exporting, however. What’s up with that? Well, I think the Python stuff actually explains that. Normally if I saw references to Python like this in an app, I’d assume it was just being used internally, but here it appears along with references to plug-ins. My guess is that the plan is to allow third-parties to write Python scripts that hook directly into FCP X, which could, if implemented in the right way, be far more powerful than XML exporting, because it could give third-party tools access to FCP X’s functionality, not just to static project data.
—
Digital Workflow/Colorist, Nice Dissolve.