Secret Final Cut Pro X 3: XML & multi-user editing
This is the third in a series of posts about what’s hidden inside Final Cut Pro 10.0.
Inside FCP X there hints of features that have yet to be fully implemented, or have been dropped and never to be made available. There’s no way of knowing which is which, but it’s interesting to get inside and have a look around.
Ever since the case of the first ever Macintosh in 1984 not having any text to describe connectors, Apple have tried to enable internationalisation of hardware and software a priority. That means that most Macintosh applications contain text in multiple foreign languages. This makes software simpler to distribute, but also easier for us to examine.
In bygone days we would have used ResEdit to take a look at application text, dialog boxes and menus. As MacOS X is based on Unix, applications are now stored as specialised directories which can be explored without needing a specialised tool.
Text from Final Cut Pro / Contents /Resources / en.lproj / PELocalizable.strings
More preference panels than we know how to display:
/* PreferenceTabs */
“PEEditingPreferenceName” = “Editing”;
“PEPlaybackPreferenceName” = “Playback”;
“PEImportPreferenceName” = “Import”;
“PEDebugPreferenceName” = “Debug”;
“PEVoiceoverPreferenceName” = “Voiceover”;
“PECacheFilePreferenceName” = “Render”;
“PEStoragePreferenceName” = “Storage”;
So there is a debug mode for Final Cut Pro X.
Maybe there’ll be a way of viewing audio as numbered channels:
“NumberedAudioChannel” = “NumberedAudioChannel”;
I don’t know how to make this menu option appear:
/* Toggle Blade All tool menu item */
“PEToggle Blade All” = “Toggle Blade All”;
It seems that the way timelines work in version 10.0 wasn’t always the plan. Here’s a different icon (from Final Cut Pro / Contents / Resources / Sequence.icns) for timelines:
There’s a chance that there’ll be AppleScript-based automation in a future version of FCP X:
/* AppleScript Menu Item */
“PEExtrasMenu” = “Extras”;
“PEAppleScriptFolderMenu” = “Open Scripts Folder”;
In MacOS X Lion, AppleScript apps have access to all the operating system class libraries. Third parties might be able to do interesting things with AppleScript access to Final Cut Pro X data using specialised commands in an AppleScript menu within the application.
We know from Apple’s Final Cut Pro X FAQ that XML workflows will be supported. There references here too. In a file that describes the XML import function (Final Cut Pro/ Contents / Frameworks / Flexo.framework / Versions / A / Resources / en.lproj / FFXMLImport.nib), there’s the option to import media and Final Cut Pro Classic markers and effects:
_Check Box (Include Effects)
_.Check Box (Import media referenced by the XML)
_Button Cell (Include Markers)\File’s Owner
_&Check Box (DEBUG: Export after import)
_Check Box (Include Markers)
_Button Cell (Include Effects)
_(Button Cell (DEBUG: Export after import)
_#Text Field Cell (Advancecd Options)[Application
_0Button Cell (Import media referenced by the XML)
_Static Text (Advancecd Options)
In the XML export function (Final Cut Pro / Contents / Frameworks / Flexo.framework / Versions / A / Resources / en.lproj / FFXMLExport.nib) there is the option to export to Apple’s new XML flavour – axel, but no mention of legacy XML for current workflows (to Apple Color or Final Cut Pro Classic):
_Check Box (Export Media)
_$Text Field Cell (Source for Export:)
_DStatic Text (Apple eXchange Editing Language (axel), version 0.5000)
[descriptionZImage View\File’s Owner_Static Text (Format:)
_’Check Box (Use XML file relative paths)
_ Static Text (Source for Export:)
_Static Text (My Spiffy Project)
_HText Field Cell (Apple eXchange Editing Language (axel), version 0.5000)
_Button Cell (Export Media)
_Text Field Cell (Format:)
_)Button Cell (Use XML file relative paths)
_#Text Field Cell (My Spiffy Project)
Multi-user editing – ‘Deep Sky’
Final Cut Pro X’s price, UI and lack of a feature set to match FCP 7 have prompted many editors to discount X as an Apple attempt to attract a whole new market of prosumers. Many would define the ability for multiple editors to work on the same project as the definition of a Pro feature.
There is evidence of hidden multi-user editing features in Final Cut Pro 10.0. Apple have come up with the concept of ‘Guards’ – where editors can be assigned to work on specific sequences, tracks or story segments.
This means a sound editor could be working on audio tracks and an assistant on a story segment while an editor works on the main storyline.
In Final Cut Pro / Contents / Frameworks / Flexo.framework / Versions / A / Resources / en.lproj / FFLocalizable.strings there is the following text:
/* Guards */
“FFGuardDisplayNameFormat” = “guard from user %@ created on %@”;
“FFGuardAddName” = “Add Guard”;
“FFGuardRemoveFormat” = “Remove %@”;
“FFGuardConflictDescription” = “One or more of changes are protected by a guard owned by a different user. “;
“FFGuardConflictTitleRollBack” = “Cancel”;
“FFGuardConflictTitleAccept” = “Override”;
“FFSetGuardOnSequence” = “Change Guard on sequence”;
“FFSetGuardOnStorySegment” = “Change Guard on story segment”;
“FFSetGuardOnTrack” = “Change Guard on track”;
“FFGuardChangeOptions” = “Change Guard on story segment”;
“FFGuardAddUser” = “Add Myself to Guard”;
“FFGuardRemoveUser” = “Remove Myself from Guard”;
Here’s what a dialog box would look like using that text:
There’s also evidence of an overlay that could be used to add to icons to allow for user administration within Final Cut. This is an icon that is from the part of FCP X that implements Motion 5-based effects (Final Cut Pro / Contents / Frameworks / Ozone.framework / Versions / A / Resources / OZLibraryBadgeIcon.icns), but it could be relevant:
Here’s what I thought a ‘guarded’ storyline might look like in a future version of Final Cut Pro X (from my old post on FCPX’s database underpinnings):
(To look inside Final Cut Pro X, select its icon in the Applications folder. Right- or control-click it and choose Show Package Contents from the contextual menu. TextEdit can open .strings files. Preview can open .icns files.)
Final Cut Pro X – previous parts of this series, my free plug-ins and more
Went looking for the /*Guards*/ entries and couldn’t find them. What file are they located in?
The theme I’ve chosen can’t handle long single words – so I’ve modified the locations to look like this:
Final Cut Pro / Contents / Frameworks / Flexo.framework / Versions / A / Resources / en.lproj / FFLocalizable.strings
Alex, I think Cameron should appoint you at the head of Scotland Yard !
I’m not seeing any suggestion in the XML import thing there that it is support ‘legacy’ FCP XML in any way? Just a mention of importing media and markers, which doesn’t seem to imply classic FCP XML.
That’s true, I’ve made an assumption here.
I might have been overly optimistic. Thinking about importing effects means that a future version of FCP X would have to implement every standard effect that shipped with 7.
Here is some more relevant text:
/* XML */
“FFNewProjectWithEllipse” = “New Project…”;
“FFOtherWithEllipse” = “Other Project…”;
“FFXMLSelection” = “Selection”;
“FFXMLEntireProject” = “Entire Project”;
“FFXMLVers” = “version %@”;
“FFAXEL” = “Apple eXchange Editing Language (axel), %@”;
“FFXMLBinInProject” = “%@ (in \”%@\”)”;
“FFXMLTooNew” = “File %@ is too new for this version of the application and cannot be imported.”;
“FFXMLTooOld” = “File %@ is too old for this version of the application and cannot be imported.”;
“FFXMLMalformed” = “File %@ was not a valid AXEL file and cannot be imported.”;
“FFImportFile” = “Import Files”;
“FFImportFileButton” = “Import”;
Seems clear from the statements I’ve seen that FCP X isn’t going to have “Classic” XML import at all. It’s possible that a third party will come up with something once AXEL spec is published I guess, but I think it would involve a lot of manual work to convert based on the differences in paradigm.
The effects thing isn’t a big deal though, for example in Avid if you open a sequence (or AAF) with references to unavailable effects it degrades gracefully (you get an ’empty’ effect icon on the clip). I think the effects is the easy bit – “if I don’t know what it is, I’ll ignore it”
More complicated are the video relationships – which is what Randy Ubilous suggested was the biggest problem too.
The “Guard” thing is interesting. I wonder when/if that will be implemented in a live release? Even with systems that do collaborative editing really strongly (Avid, Quantel) I don’t think there’s usually an ability for multiple editors to work on a single timeline. The way parts flow into one another tends to make that problematic. Perhaps the magnetic timeline makes that an easier concept?
I think once a third-party tool comes along, the instructions for preparing your Final Cut Pro Classic timeline will be very similar to those transferring an edit to Color. One track, no effects etc.
Final Cut Pro X is probably secretly a node editing application. We have a two main node flavours at the moment: storyline and compound clip. Soon we’ll have a multicam flavour (Auditions are node switchers).
The advantage of this metaphor is that project sharing (note that there’s a Sharing tab in the project inspector already) is possible at different node granularities…
Your note about AppleScript reminds me how constricted our ideas are about what someone might want to do with software.
I have long wanted to recapture the olden days of computer-controlled tape machines, where you could program the decks to edit an animation, for example. I used to tell it to run backwards and grab something like 3 frames every 9 frames, and get weird reverse motion vibration effects. Computers are good for that kind of thing.
Or are they? Nope. Only if someone creates software to let you do that. You can’t do that with FCP and it’s unlikely you will ever be able to do that.
I also long for an audio/video hybrid for editing sample-based music using video. I do not expect this to ever be developed due to traditional media siloing. One might guess that VJ software would do this, but it appears most of it is designed to provide purely visual accompaniment to separate audio. Audio/Video is the most powerful medium we have, but we haven’t yet been able to imagine integration, for no one can imagine anyone wanting to do any of the things an integrated app would let you do.
I would really like AppleScript as a Final Cut editor.
The Blade All option is just a “hidden” command in FCPX. If you select multiple clips, stacked one over the other, and then press CMD-B, you’ll cut them all in one go.
Want to see what these menus look like? I am getting a weird error that causes these to show up – I posted a youtube vid here:
and mention your article in the description. Selecting anything causes a crash (so far) – thought you might be interested…
Thanks for this! I think you’ve entered a mode design for Apple software engineers. Sadly it probably only works without crashing if you also were running a special application that isn’t available outside Apple.
I was recently cutting a project in FCPX and started talking with a friend about how nice it would be if I could trim cuts (which I enjoy) while he color corrects (which I do not enjoy, but he does!). Two days later I find this post. It sucks that this supposed User feature hasn’t found its way into the application by now, if it really exists. If it does, and I hope so, perhaps it will be included in what will likely be a major 10.1 update. Or something. Either way, multi-user editing is something I’d love to see FCPX revamp. Your mock graphic alone got me excited haha