Customize the FCP Help Menu

Say you have an in-house manual that details organization, storage, archival, all that nitty-gritty. Or maybe you have a style guide for a particular client. Or perhaps you’re the system administrator, and want everyone to have quick access to your contact info in case something goes wrong. Or, you are a prof, and have a syllabus that you want all your

These are all very helpful things to have, but if an editor can’t find them, what’s the use? Why not add them to the Final Cut Pro help menu?

Note- this is serious, under the hood stuff. Don’t do this unless you are very comfortable, and have all necessary permission from your boss, system administrator, professor, and spiritual adviser. Keep a backup of FCP, just in case something goes wrong.

Also, I’m still on FCP6, so I can’t guarantee this works in later versions.

To start, copy Final Cut Pro.app from your Applications folder to the Desktop. On your desktop, rename it to “FCP HACK.app”. We will work on the hack version, to make sure we don’t permanently mess anything up.

Right click “FCP Hack.app”, and choose “Show Package Contents”. This puts you inside of the Final Cut application. Navigate to Contents/Resources/English.lproj/Final Cut Pro Help/. Open up HelpMenu.plist in a text editor- TextEdit will work, but I prefer TextWrangler.

The Help Menu in Final Cut pulls from this XML file (actually, a PLIST file, which is like XML, but isn’t actually valid XML). Each menu item is between “” and “”. To add an entry to the list, simply copy an entire section (including the starting “” and the ending “”) and paste it where you want it to go. Replace the necessary strings, and you’ll be good to go.

Here’s the full entry for the “Final Cut Pro Support” menu item, that open up the support web page.

<dict>
<key>Title</key>
<string>Final Cut Pro Support</string>
<key>URL</key>
<string>http://www.apple.com/support/finalcutpro/</string>
</dict>

The format is a key, and then a string. Basically, this sets the “Title” key to “Final Cut Pro Support” and

Here is the full entry for the New Features menu item.

<dict>
<key>Path</key>
<string>New Features.pdf</string>
<key>Title</key>
<string>New Features</string>
</dict>

To add a new file, put it in the “Final Cut Pro Help” folder. Change the path string to the file name. You can also link to any file or application on the system, by putting the absolute path to the file in the path string. For instance, if the file is on the desktop, you can change the path to “/Users/username/Desktop/filename.jpg”. Note that “~/Desktop/filename.jpg” will not work. Also, note that if the computer has multiple users, make sure that all the users have permission to view the file.

To put in a divider line, put in the following code- “”.

Once you are done editing the file, save it, and launch FCP Hack.app. Test out your new menu options. Here is my menu, with links to my Web site, and to open Final Cut Server.

If everything is working as it should, you can rename the application to Final Cut Pro.app, and place it in the Applications folder. I would suggest backing up the original program, just in case anything goes wrong.

A side note- I don’t know if this hack would survive an upgrade, but my guess is that it probably won’t.

Posted in FXPlug

FXPlug Intro Video

One of the major benefits of Final Cut is a robust developer community, with lots of plugins. I started messing around with plugins about 3 years ago, starting with FXScript. FXScript is very simple, and allows you to write the plugins right in Final Cut. However, it’s not very powerful, and likely won’t be supported in FCP X.

The next step for plugin development is FXPlug, which has been around for awhile. By now, most major for-sale plugin developers are using FXPlug. FXPlug works in Motion and Final Cut, and supports both software and hardware rendering.

I’ve been working on learning FXPlug, and have found a lot less documentation than what was available with FXScript (which wasn’t much). FXPlug definitely has a much higher learning curve, which I think affects the type of community support.

I recently found this overview of FXPlug by Darrin Cardani, an Apple developer. It’s from 2007, and not great quality, but it is by far the best introduction and overview of the SDK that I have found. If you are familiar with Objective C, this quickly shows you the basics of FXPlug.

You can watch the video from Toolfarm.com here.

Posted in FXPlug

Add file types to Compressor Droplets

Compressor Droplets can be extremely helpful- but recently I ran into an annoying issue with them. You can’t just drop any file on to the droplet- this is a good thing if you accidentally drop, say a text document, on to the droplet. But it’s frustrating when you can’t drop something legitimate onto the droplet.

Why won't it let me drop?

I ran into this with .caf files, a perfectly legitimate audio file, that I knew Compressor could actually handle from past experience. Whenever I tried to drop a .caf file onto a droplet to convert it to a .aif, nothing would happen. I could open up the droplet, and drag in the .caf, but what’s the point of a droplet if you can’t drop?

It turns out there is a solution. Right click the droplet and choose “Show Package Contents”. A new Finder window will pop open with all the guts of the droplet. Open up the file “Contents/Resources/Info-Stomplet.plist” in a text editor. I prefer TextWrangler, but TextEdit should work.

Next, find the line that includes “CFBundleDocumentTypes”. Under that, it will have an “array” node, and then a “dict” node. Select from that to the next “dict”, about 13 lines. Copy that, and paste right before what you had selected. Edit it as follows-


<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>motn</string> // UPDATE to the file extension you want the Droplet to support
</array>
<key>CFBundleTypeName</key>
<string>Motion Project</string> // UPDATE to the name of the file type
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSTypeIsPackage</key> // REMOVE if not a package
<true/>  // REMOVE if not a package
<key>NSPersistentStoreTypeKey</key>
<string>Binary</string>
</dict>

Save the file. Now, open up the Terminal, which is located in /Applications/Utilities/Terminal.app. Type “touch”, and then a space. Drag the droplet from the Finder into the Terminal. The command should now say something like “touch /Users/username/Desktop/droplet.app”. Hit enter. This command reminds the application to update.

You should now be able to drag other files on to the droplet.

See? Making movies is easy.

Note that this doesn’t mean that Compressor will actually be able to use the file. It only means that you can make the Droplet try to submit it. For instance, if you try to turn an AIFF into a image sequence, that won’t work.

Posted in Tutorials

An April Fool’s Joke for FCP

If you’re still looking for that perfect April Fool’s Day joke, this may be just the thing you are looking for.

Imagine this- your hapless assistant editor is editing away, la-de-da, when all of a sudden they come across an offline clip.

To do this- go to your Applications folder. Right click on Final Cut Pro.app, and choose “Show Package Contents”. A new window will appear, with the guts of Final Cut.

Navigate to Contents/Resources/English.lproj/, and find Localized.plist. Make a copy of this file somewhere- you will want to restore this to the original after the joke is over, and have a backup in case something goes wrong.

Find the line “DrawString(“Media Offline”, 0, -r[2].v/10, r[2].h/320*4, dest, kWhite, 1)”. You can change the “Media Offline” to anything you want.

You may also want to change the text size in the line above, “SetTextSize(48*r[2].h/320)”. Only change the “48”- the rest scales it so it looks the same across all formats.

Disclaimer- you are messing with the inner coding of your livelihood. Be careful. Keep a backup, and restore after the joke is done. Remember this may show up while a client is in the edit bay. Please don’t blame me if this all goes horribly wrong. Also, I know this works on FCP6, haven’t tried it out on 7. Let me know.

And yes, I realize this would be much cooler if it was for the unrendered effect. However, that code is apparently stored in “Localized.rsrc”. I attempted to change that file, and Final Cut refused to launch, and then launched without any labels on any of the windows. Below is the save dialog I was presented with. I was able to fix everything because I had a backup.

Let me know how it goes for you!

Posted in Tutorials

Quicktip on ProVideoCoalition

Scott Simmons is doing his 28 Days of Quicktips over at the ProVideoCoalition site. This year, he accepted reader submissions, and mine got in!

I export a ton of video to XDCAM Professional Discs at work (I think I’ve averaged 2 or 3 per day for the last year), and like any repetitive task, have tried to make it as quick as possible. One part of that I’ve covered here is exporting to XDCAM with correct timecode and audio channels.

This Quicktip covers another area of exporting, that can mean the difference between making your deadline and missing it.

Read the Quicktip here.

One note- this is on FCP 6, and I haven’t had a chance to see how it works on FCP 7.

Posted in Video

601/709 to RGB Filter

A common problem taking a video from Avid to Final Cut is color space- Avid works in 601/709, and Final Cut works in RGB. This leads to low contrast video when using a video exported with Avid in FCP. Luckily, Avid can export as RGB as well.

Take for instance, this still from a video of quaking aspens shot with an iPhone. The one on the top was exported from Avid as 601/709, and the one on the bottom was exported as RGB.

The difference is slight, but the darks aren’t as dark, and the lights aren’t are light in the one exported as 601/709. Putting the 601/709 version on top of the RGB version in the FCP timeline and changing composite mode to difference on the 601/709 version shows where there are differences. It’s hard to see (try staring at it for several seconds, or adjusting your viewing angle of the screen), but the waveform shows there is up to 10% difference in the colors.

A quick overview of the difference between RGB and 601/709- a digital color is made up of a Red, Green, and Blue value. Each can have a value of 0 to 255.

In 601/709, black has a value of 16,16,16, and white has a value of 235,235,235. Here’s the waveform for the aspens shot which was exported in 601/709-

In RGB, black has a value of 0,0,0, and white has a value of 255,255,255. Here’s the waveform of the aspens shot, exported as RGB-

Notice the differences between the two waveforms- the RGB one stretches further into black, and further into white (to the point of clipping – thanks, iPhone).

Both color spaces their perks- 601/709 can handle values blacker than black, and whiter than white, but RGB has more information (256 steps between white and black, versus 220 for 601/709).

To handle this difference, I wrote a filter, that basically takes each value from a 601/709 file, and “stretches” it out to RGB space.

Here’s what the filter does with the aspen shot- the top is the original exported as 601/709, the middle is exported as 601/709, with the filter, and the bottom is the original exported as RGB.

The filter has brought the 601/709 footage much closer to the RGB, how it should be in Final Cut. How close? Using the same difference composite mode technique, I can see it’s much closer, in fact within 3%.

As you can see, it will not match exactly, but it will work in a pinch. If you can reexport the file as RGB, that is preferable, but there are many instances (lost master, time constraints) where that isn’t possible.

Download the filter by right clicking and saving- 601-709RGB.fcfcc.

To install, unzip the file, and place the filter into /Library/Application Support/Final Cut Pro System Support/Plugins/ and relaunch Final Cut Pro. It will be in the Image Control folder in the Video Filters section. Apply it to a 601/709 clip, and it should be fine. If it’s a bit off, try messing with the “Adjust” Parameter until it’s correct.

Let me know how the filter works for you!

Posted in Video Tagged with: , , ,

Readable Timecode Window Burns in Compressor

One of my clients does a lot of shooting, and needs rather quick turnaround on timecode window burns. We could set up the DVD recorder, and play out through the Kona card, but that is real time, and occupies an edit suite for the entire time. Final Cut has a timecode reader filter, but it has long render times, again hogging up a suite.

So I turned to Compressor, to see what it could do. It has a timecode generator filter as well, but it is lacking one major thing- readability. There is no built in background, bar, or shadow that ensures it will be readable no matter the background. White text may disappear on a beach shot, for instance, and black text will disappear on dark night shots.

So I figured out how to use the Watermark filter in conjunction with the Timecode generator to give that transparent background.

First, I made a graphic for the watermark, a transparent 720×480 with a simple black bar near the bottom. It should work for 16×9 or 4×3. You can download my .psd here – no use in reinventing the wheel, as it took a bit of tweaking to get it positioned correctly.

To make the preset, open up Compressor, and duplicate the MPEG-2 6.2Mbps 1 Pass preset from the DVD: Fastest Encode 90 minutes folder. Here’s how to do it in Compressor 3.

You can do this with the 120 or 150 minute presets if you want, but I rarely get a tape longer than 90 minutes. The preset is set up fine as is – we want to take a look at the filters tab in the Inspector window.

Turn on the Watermark filter. Hit the “Choose…” button, and choose the tcwb.psd file you downloaded earlier. Change the position to Upper Center, and make sure Scale by is set to 1, and Alpha is set to .5.

Now, turn on the Timecode Generator filter. Set the position to “Lower Right – Title Safe”. Leave the Alpha at 1. Change the Text Color to white. Click “Select Font…” and up the font size to about 50. You can change the font if you wish, but make sure it is readable.

Important note- Compressor applies the first filter in the list, and then moves down the list. You’ll probably need to move the Watermark Filter above the Timecode generator – otherwise, the watermark will be in front of the timecode, and make it hard to read.

Save the preset, and you’re ready to convert away. To make it really easy, set up a droplet. I used Final Cut Server to make a watch folder, so my edit suite is completely free for other work. The only thing left is to burn the DVD.

Posted in Tutorials

Apps

ChinStr.apps is a niche hobbyist app development company, specializing in apps for birders and homebrewers and in making Big Data relevant. Read more about ChinStr.apps.