How to get properly-sorted sub-clips in Final Cut Pro

May 19, '08 07:30:00AM

Contributed by: porg

If you use "DV Start/Stop Detect" on a master clip in Final Cut Pro (FCP) to detect your single takes, and then create sub-clips from those found timecode-segments, FCP uses a naming convention which is not suited for alphabetical sorting. -- FCP names the child element on the left, and the parent element on the right. For example, as of FCP 5.1.4, if you display your sub-clips from multiple master clips in a flat hierarchy, you get a mess something like this:

‘Segment 1' from Tape 1
‘Segment 1' from Tape 2
‘Segment 11' from Tape 1
‘Segment 11' from Tape 12
‘Segment 11' from Tape 2
‘Segment 1' from Tape 3
‘Segment 2' from Tape 1
‘Segment 2' from Tape 2
‘Segment 2' from Tape 3
‘Segment 3' from Tape 1
‘Segment 3' from Tape 2
But you probably prefer something like this:
Tape 1 - Segment 1
Tape 1 - Segment 2
Tape 1 - Segment 3
Tape 1 - Segment 11
Tape 2 - Segment 1
Tape 2 - Segment 2
Tape 2 - Segment 3
Tape 2 - Segment 11
Tape 3 - Segment 1
Tape 3 - Segment 2
Tape 12 - Segment 11
If you want to have somehow proper chronological sorting of your sub-clips, you can only achieve this by laboriously creating bins for every tape, placing your sub-clips in those folders, and then using the "sort by starting time on medium" option. Instead, I offer a little hack that works by manipulating some string resources withing FCP, which generates proper "Master clip - Sub-clip" names.

First I ran a string search through the whole Final Cut Pro.app directory:

grep -r "string you are looking for" /Applications/Final Cut Pro.app/Contents/
Then I found what I was looking for at certain places. If you look for a string in your language, just search in the "YourLanguage.lproj" directories. Open the files in a text editor and change the strings and the order in which they appear to how you like it. Below you can see how I changed them; choose a naming convention which is suitable for you. 2br You change the label for the segment in this file: /Applications » Final Cut Pro.app » [Show Package Contents] » Contents » MacOS » Plugins » Movie Analyzer.bundle » Contents » Resources » English.lproj » Localized.plist. I changed this:
8006
Segment %00id
To this:
8006
sub %00id
You change the naming convention and the order of Masterclip (variable %01s) and Subclip (variable %00s) in this file: /Applications » Final Cut Pro.app » [Show Package Contents] » Contents » MacOS » Plugins » Browser.bundle » Contents » Resources » English.lproj » Localized.plist. I changed this:
8045
%00s from '%01s'
To this:
8045
%01s - %00s
Save the files, and relaunch FCP -- you should now be able to have properly-sorts sub-clips.

Unfortunately, FCP does not generate leading zeros, which would be necessary for a correct alphabetical sorting. Thus you get a sorting like: 1,11,12,13,120,2,3,4 instead of 1,2,3,4,11,12,13,120 -- if FCP used 001,002,etc., then this problem could be avoided.

My hack doesn't solve the "leading zero problem." I guess this can only be solved within the programming environment, and not on a string-hack-level -- and as FCP is closed source, we won't get there. If you nonetheless have any ideas on how to hack it within the accessible realm -- maybe there is a special leading-zero magic-markup within a localisation.plist file -- you are very welcome to contribute!

[robg adds: Always make a backup before modifying files within an application bundle, just in case.]

Comments (1)


Mac OS X Hints
http://hints.macworld.com/article.php?story=20080516083245483