iMovie and Final Cut Pro X 10.1 part 4

Monday, 25 November 2013

In this series I've written about features in the new version of iMovie that would be interesting to have in the the next version of Final Cut Pro X.

I then summarised evidence that iMovie is primarily a unreleased version of Final Cut Pro X with a user interface that implements the features of iMovie 9. Although the version of Final Cut that iMovie (2013) seems to be based on seems to be newer than the release version, the built-in copy of Motion hasn't been updated, but there's evidence that iMovie themes were created using an internal template development tool codenamed Mica.

The new workflows supported in future versions of iMovie and Final Cut Pro are hinted at in the new version of Final Cut Pro X XML which is defined within iMovie and is referred to inside the new version of Blackmagic Design's DaVinci Resolve application.

More elements hidden inside the new version of iMovie that hint about developments in Final Cut Pro X 10.1.X.

iOS

isiOSClip
isiOSDevice
_iOSPercentageDonePath
_iOSMetadata
scanForiOSDevices

Subtitles

_OBJC_IVAR_$_FFImageBrowserCell._subtitleLayer

Despite having been recently written, Final Cut Pro X 10.0.X hasn't had much support for subtitle importing, desiplay, in-app editing and export. OS X subtitle expert Andreas Kiel told me that that he was asked to join Apple's Pro Apps development team in California. Although he decided not to accept, their offer is a good sign for the future of subtitles and time-based metadata.

Metadata

consolidateGPSMetadata

update_GPSMetadata

This is probably related to supporting and displaying location information in the same way as in Aperture.

XML

In a previous part of this series I listed features in the unreleased version of the Final Cut Pro X XML format. The file that describes what Final Cut elements can be encoded in XML exports and imports is stored in

iMovie.app/Contents/Frameworks/Flexo.framework/Versions/A/Resources/FCPXMLv1_3.dtd

A few days after Apple announced the new version of iMovie, RED updated REDCINE-X, their footage processing app, to version 20.2.0 for OS X and Windows. One of the changes listed in this new build is 

Updated: FCPX XML now compatible with version 1.3.

As well as what can be found in the XML DTD, there is more text within 

iMovie.app/Contents/Frameworks/Flexo.framework/Versions/A/Flexo

...that reveals more about what can be exported and imported as Final Cut Pro X XML.

[FFXMLExporter addOrientationElementForMediaComponent:element:]
[FFXMLImporter setOrientation:toObject:]

Looks like Final Cut Pro will be able to handle the orientation of a clip explicitly. There were 12 mentions of 'orientation' in 10.0.9 (mostly to do with handling standard metadata fields for common video and stills formats), 33 mentions in 10.?.?.

Accessibility

As OS X and iOS evolve, Apple add more and more features for users who use software and hardware tools to operate applications. As well as being good news for those who cannot use their fingers, keyboards, mice and trackpads to control their Apple devices, the same features can be used by those who can use traditional control methods, but would like to control apps using other devices or workflow tools.

[There's an introduction to Accessibility for OS X developers on the Apple site]

In Final Cut Pro X 10.0.9, NSAccessibility attributes include:

_NSAccessibilityActionDescription
_NSAccessibilityButtonRole
_NSAccessibilityCheckBoxRole
_NSAccessibilityColumnRole
_NSAccessibilityShowMenuAction
_NSAccessibilityEnabledAttribute
_NSAccessibilityTopLevelUIElementAttribute
_NSAccessibilityWindowAttribute

They show how accessibility switch or other assistive device can simulate button, checkbox, menu and window clicks. New accessibility attributes hidden in the Final Cut Pro part of iMovie include:

_NSAccessibilityCancelAction
_NSAccessibilityDecrementAction
_NSAccessibilityHorizontalOrientationValue
_NSAccessibilityMaxValueAttribute
_NSAccessibilityMinValueAttribute
_NSAccessibilityOrientationAttribute
_NSAccessibilityProgressIndicatorRole
_NSAccessibilitySliderRole 

['Role' here are related to the OS X accessibility framework, not Final Cut Roles]

The nature of these object methods gives accessibility devices (and possibility workflow and scripting tools) more control over Final Cut plus the ability to get useful values from Final Cut which can be displayed in assistive devices and used by workflow software logic.

_NSAccessibilityCreatedNotification
_NSAccessibilityValueChangedNotification
_NSAccessibilityUIElementDestroyedNotification

These new elements allow Final Cut to 'notify' accessibility apps that user interface objects have been created, that values associated with them have changed and that the UI element is no longer relevant. 'Notification' is used 176 times in 10.0.9, 331 times in 10.?.?

If these attributes do appear in Final Cut Pro X 10.1, external applications such as a remote control app running on an iPad might be able to update their displays to reflect changes in Events, Projects and Libraries.

Word counts

Some words appear  more often in Final Cut Pro 10.X.X than 10.0.9:

  10.0.9 10.X.X
Proxy 276 357
OSC (On-screen controls) 1364 1959
Node 2132 3336
Gamma 65 194
Music 20 567
AudioDuck 2 118

The differences in counts may be to do with the Final Cut Pro X base implementing iMovie(2013)-only features such as automatic ducking (reducing in volume) of some tracks based on the volume of others.

In 10.0.X but not visible

Remember that although I've found all this Final Cut Pro-related content in iMovie, these elements might not appear in Final Cut Pro X 10.1.X.

For example, the code and text associated with flexible window layouts has been in Final Cut since 2011, hasn't appeared in the user interface and remains in 10.?.?:

"Different window layouts can be saved to suit different working environments or styles."
"Name your current layout:"
"Layout already exists. Do you want to replace it?"

"The name '' is an invalid name. Please use a different name"
"Revert to Original Layout" "Cancel" "Tear Off Tab"

"No Layouts Available"

"Save Window Layout"

"Couldn't Save Layout"
"Edit Window Layout"
"Untitled Layout"

[from iMovie.app/Contents/Frameworks/LunaKit.framework/Versions/A/ModuleKit.strings] 

Import Final Cut Pro X projects into iMovie using hidden workaround

Wednesday, 20 November 2013

Editor and plugin maker Andy Mees has discovered that you can import Final Cut Pro X exported XML into the new version of iMovie. Here you can see the source timeline in Final Cut. It was exported as an .fcpxml file and imported into iMovie. 

andymees.fcpx2imovie

The reason why the timelines don't match up is because iMovie timelines have variable scale. Although the faint grey vertical lines are equally spaced, the times they mark aren't equally spaced (in this case some are marked as denoting 9.4, 10.9, 15.8, 20.3, 24.4, 27.2 and 32.1 seconds).

iMovie doesn't implement all Final Cut Pro X features such as multiple connected video clips at the same time or auditions. Despite this, you can see iMovie displays an audition icon on one of the audio clips in Andy's timeline. If you attempt to edit the audition in iMovie, you'll see an imcomplete UI:

iMovieuadition

iMovie doesn't have an 'Import Final Cut Pro X XML…' command. Andy discovered a simple workaround.

1. Control- or Right-click the iMovie icon and choose 'Show Package Contents' from the shortcut menu

2. Open another window that shows the iMovie icon and drop your .fcpxml file onto the icon.

3. In iMovie you'll see a dialogue box that asks which iMovie library you would like to import your XML file into:

which-library

As well as reading his blog, keep up with Andy by following him on Twitter.

 

DaVinci Resolve 10 is Final Cut Pro X 10.1 compatible

Tuesday, 19 November 2013

Using the same techniques that I used to have a look inside iMovie and Final Cut Pro, I've found that the recently released version of Blackmagic Design's colour grading application DaVinci Resolve 10 already handles the next version of Final Cut Pro X XML.

Seeing as Final Cut Pro X will be able to export colour grading information in projects as XML, it makes sense that Resolve can read and write these settings.

For example, here's a new Final Cut Pro X XML element:

<!-- The 'adjust-color' element modifies the color adjustments for a clip. -->
<!-- This element contains adjustments for color balance, color match, and color corrections. -->
<!ELEMENT adjust-color (colorBalance?, colorMatch?, (cb-correction | filter-color)*)>

Inside Resolve 10:

fcpxdtd1.3elementinresolve10

[The view if you drop 'DaVinci Resolve.app/Contents/MacOS/Resolve' onto TextEdit and search for 'adjust-color']

As well as references to Final Cut Pro X' new colour correction XML elements, Resolve also refers to 'adjust-stabilization,' 'adjust-rollingShutter' values for video clips, 'adjust-noiseReduction,' 'adjust-humReduction' and 'adjust-matchEQ' for clips with audio and 'text-style-,' 'ShadowBlurRadius' and 'baseline' (but not 'tab-stops') for text.

More about Final Cut Pro X 10.1

New iMovie features that might appear in Final Cut Pro X

Unreleased version of Final Cut Pro X built into iMovie (2013) - including news on the next version of Final Cut Pro XML

The future of scripting and plugins in Final Cut Pro X 10.1

iCloud collaboration for more Apple applications?

Thursday, 14 November 2013

Today Apple released an update to their iWork for iCloud beta service. 

iWork for iCloud enables OS X and iOS users share design documets, presentations and spreadsheets on the internet so that collaborators can make changes using web browsers running on OS X, iOS X, and Windows devices.

Here are the new collaboration features:

Collaborator list: View the list of collaborators currently in a document.
Collaborator cursor: See cursors and selections for everyone in a document.
Jump to collaborator: Instantly jump to a collaborator’s cursor by clicking their name in the collaborator list.
Collaboration animation: Watch images and shapes animate as your collaborators move them around.

[for a list of further new features visit Apple's support site]

iWork apps aren't productivity apps any more

Although Apple calls this service iWork for iCloud Beta, they no now longer refer to iWork as a product on their website. http://www.apple.com/iwork now redirects to a page named 'Apple - Creativity and Productivity Apps' that page includes information on the three apps that used to be part of the iWork suite: Keynote, Numbers and Pages. It also lists the three apps that used to be part of the iLife suite (http://www.apple.com/ilife). The address of the combined page: http://www.apple.com/creativity-apps (which defaults to the iOS versions).

Perhaps the iWork brand survives in the service name because it was named earlier this year. When the service goes out of beta it might get a name change. The only other place Apple mentions the iWork and iLife is in the corporate definition that appears at the footer of every Apple press release:

Apple designs Macs, the best personal computers in the world, along with OS X, iLife, iWork and professional software. Apple leads the digital music revolution with its iPods and iTunes online store. Apple has reinvented the mobile phone with its revolutionary iPhone and App Store, and is defining the future of mobile media and computing devices with iPad.

[More on Apple's evolving corporate definition since 1995]

Grouping iLife and professional software with iWork in this definition prompts the thought that Apple's online collaboration service might expland to include more Apple applications.

iCloud collaboration services

The new features show that iCloud can share collaborator events with very fine granularity. Instead of seeing the results of a colleague's edit once they've finished, you can see animation showing them making the change. You can also jump to the part of the publication, spreadsheet or presentation a collaborator is working on - so you don't miss their work if it is distant from where you're editing.

iWork for iCloud collaboration was big news in the Summer - it was seen as a catchup to Google Docs and a threat to Microsoft Office. It got the biggest demo at Apple's October announcements.

Apple doesn't act as if it is interested in people's work life - they don't court corporate purchasing. They want individuals to drive the adoption of their hardware, software and services. They leave corporate integration to others. 

Instead of treating iCloud as a big Google-like computer and filing system, Apple may see it as a conduit for making individual apps and tools work better.

I'm looking forward to iCloud for iPhoto, Garageband, iMovie, Aperture, Logic Pro X and Final Cut Pro X...

Final Cut Server: December resurrection?

Saturday, 09 November 2013

Although the most release note for Final Cut Server was archived in July, Apple are still making changes to FCS support documents. Hopefully to prepare for a December resurrection.

Final-Cut-Server-Resources-old

Up until Friday the introdcution of Apple's 'Final Cut Server Resources' support document said:

In the United States and Canada, all new registered users of Final Cut Server receive complimentary software support via telephone for 90 days from the date of purchase. In addition, Apple offers a range of professional support options:

Final Cut Server Discussions
Final Cut Server Support Page
Final Cut Server Help
Pro Application Online Help Library
AppleCare Help Desk support
AppleCare OS Support
Apple Pro Training
Apple Consultants Network
Independent Apple Value Added Resellers

At the time of writing the introduction reads:

Final Cut Server has the following resources for learning.

Final Cut Server Discussions
Final Cut Server Support Page
Final Cut Server Help

 

iMovie and Final Cut Pro X 10.1 part 3: Scripting and plugins

Thursday, 07 November 2013

Here's more of what I've found inside iMovie (2013).

As I wrote in part 2, the new OS X version of iMovie is based on an unreleased version of Final Cut Pro X. Previous versions of Final Cut Pro X have UI-less versions of Motion and Compressor. In that case have the Motion framework and the (313 MB) Compressor plugin also been updated as much as Final Cut Pro X?

shell-game-medium-a

Oddly enough, alothough there are new elements in the 'Final Cut Pro X' part of iMovie, the version of Compressor that is included is older than the version available on the Mac App Store or via software update, and there doesn't seem to be anything new in the Motion framework.

The Compressor code supports the background encoding features and sharing to online services features of iMovie.

As well as US-based services, iMovie 2013 has presets that encode and upload files to Youku and Tudou. There also presets for DVD, BluRay, Compressor, Image Sequence and HTTP Streaming - but these are probably left over from Final Cut Pro X version 10.0.X.

It is odd that Motion doesn't seem to have been updated. For seven out of the nine Final Cut Pro X updates from version 10.0.0, Motion was updated in lock step. Over the last two years I'd guess that bugs that seemed to be in Final Cut were in the built-in Motion framework, so the standalone Mac App Store version was updated at the same time. Although Motion's file format didn't change with each update, each edition of the Motion app stored its version number in the documents it saved.

In previous versions of iMovie, most of the effects, transitions, generators and titles were implemented using Quartz compositions (small files used to create UI animations in OS X and iOS apps). iMovie (2013) replaced these with Motion templates - the files used to implement plugins in Final Cut Pro X. That's why it is possible to place Final Cut plugins inside iMovie (as I showed in Final Cut Pro X plugins work in iMovie 2013).

Some of the Motion plugin templates in iMovie seem to have been created using Motion version 5.0.7.1. Here are the first few lines in the template that implements one of iMovie's Titles that isn't yet available in Final Cut Pro X:

Motion-templates-format

Motion's version number hasn't incremented in this way before - adding '.1' as a fourth number. Even when an update was a maintenance release with no new features, the third number increased from 5.0.0 up to 5.0.7 (released in March 2013).

If not Motion...

If the future of Motion as a tool for creating Final Cut plugins is in doubt, what could be the alternatives?

Although some people are worried at the lack of AppleScript support in recent Apple applications, there's a possibility that future versions of Final Cut will be more controllable using a scripting language.

There are already some references to scripting in Final Cut Pro X 10.0.9. The appear in iMovie with these additions:

setDescriptor:forKeyword
scriptingUserDefinedRecordDescriptor
scriptingUserDefinedRecordWithDescriptor
descriptorWithObject
scriptingUserListDescriptor
scriptingUserListWithDescriptor:
descriptorWithURL

Quartz Compositions were used to implement effects, titles, transitions and generators in previous versions of iMovie. Quartz Composer is an Apple developer tool that can create these node-based animation files. FxFactory from Noise Industries was introduced as a system that allowed Quartz Compositions to implement advanced plugins in Final Cut Pro Classic (It now also acts as a plugin management system).

iMovie (2013) includes Quartz Composition handling libraries. The Sports theme uses Quartz Compositions to animate team names and member names:

Sports-theme

There's also the chance that Final Cut Pro X 10.1.X will be able to use plugins created in the free Quartz Composer developer application.

Here are some of the Quartz Composer references in iMovie:

FFQCEffect
FFQCIMEffect

...implies a difference between Quartz Composer effects and Quartz Composer iMovie effects.

[FFQCEffect compositionName]
[FFQCEffect backgroundCompositionName]
[FFQCEffect compositionDirectoryName]
[FFQCEffect setCompositionParameterValuesAtTime:]
[FFQCEffect setBackgroundCompositionParameterValuesAtTime:]
[FFQCEffect compositionInputKeys]
[FFQCEffect inputParameters]
[FFQCEffect valueForInputKey:]
[FFQCEffect setBackgroundRenderValue:forInputKey:required:]
[FFQCEffect setValue:forInputKey:required:]
[FFQCEffect setString:forInputKey:required:avoidEmptyString:]
[FFQCEffect percentDoneForTime:]

[FFQCScheduleToken setInputValues:]
[FFQCScheduleToken time]
[FFQCScheduleToken setTime:]
[FFQCScheduleToken frameCompleteSemaphore]

A new Pro App?

As well as Quartz Composer, there are references to another graphics development system in iMovie. 'Mica' is mentioned very few times in Final Cut Pro X 10.0.9, around 100 times in iMovie 9 but over 600 times in iMovie (2013):

reloadMicaDocument
animatorClass
stopAndReport:taskName:
configureAfterMicaLoad

micaPluginProperties

descriptionOfNonRasterizedTextLayersInMicaAnimator:
appendBasicDescription:detailedDescription:toFinalDescription:micaAnimatorName:
descriptionOfRasterizedTextLayers
descriptionOfUnknownPublishedLayersInMicaTitleAnimator:
descriptionOfTextLayersNotInPublishedObjects:

descriptionOfPublishedVideoLayersWithBadAnchorPointsInMicaAnimator:
descriptionOfRasterizedProjectThumbnailTextLayersInMicaAnimator:

logAllFontsInMicaAnimator:
saveToMicaFileWithPath:

micaAnimatorTemplate
animationDuration
addLeftSlideInAnimationToLayer:micaAnimatorTemplate:
addMiddleSlideInAnimationToLayer:micaAnimatorTemplate:
addRightSlideInAnimationToLayer:micaAnimatorTemplate:
setMicaAnimatorTemplate:
addAnimations

ANIMATION IS NOT COMPATIBLE WITH AVFOUNDATION. Open the file with Mica, and manually set the beginTime to zero.
KEYFRAME ANIMATION HAS BAD KEYTIMES. The first keyTime must be 0.0
KEYFRAME ANIMATION HAS BAD KEYTIMES. The last keyTime must be 1.0
EXPENSIVE LAYER. It has filters, or a non-rasterized shadow, or a non-rasterized complex font such as SketchBlock or Shababa.
The Mica document '%@'; has an unknown published layer '%@'. Please check your spelling.

[MicaAnimator bestURLForUserInterfaceFileName:]
[MicaAnimator bestURLForProjectContentFileName:]

isMacOnlyPoster:

It seems that Mica documents also work in iOS. It is possible that Mica is used by Apple to create plugins that work in iMovie on iOS as well as on the Mac. Mica might not be made available to users and third-party plugin developers.

I couldn't find any internet references to 'Apple Mica' as an OS X animation tool. However, here's a recent Twitter conversation:

@Alex4D: Has anyone heard of an animation/compositing tool from Apple called 'Mica'?
@BroadreachMedia: that was the code name of Shake/Motion combo.
@Alex4D: 'was' not 'is'?
@BroadreachMedia: well there were rumours of another app joining fcpx et al. Would make perfect sense with new Mac Pro OpenCL power to have RT Shake. 

On the other hand, this is not to say that Motion won't be updated when Final Cut Pro X 10.1.0 is launched - it might be that the Motion code they plan to release wasn't ready to be included in iMovie.

Whatever happens, at least we don't have long to find out...

New MacBook Pros and MacPro: 4K at high refresh rates via DisplayPort?

Thursday, 07 November 2013

Many Mac users are hoping Apple release a 4K monitor. They want a Thunderbolt-equipped display that can handle resolutions at at least 3840 by 2160 at high refresh rates.

The graphics system on the new MacBook Pros seems like a good intermediate step: They can support 3840 by 2160 at 30Hz and 4096 by 2160 at 24Hz via the built-in HDMI connector.

Today saw the an announcement from Canon of their first 30" 4K display. The DP-3010 is a 16:10 reference display for use in high-end post production. It can display 4096 by 2560 10-bit pixels at up to 60 frames per second.

Although it has two 3G/HD-SDI connections and a DisplayPort connection, it doesn't have an HDMI connector. 

The HDMI standard was updated to version 2.0 in September, allowing for higher frame rates at higher resolutions, yet Canon didn't include HDMI. Sony's new Z100 4K camera has an HDMI connector that they plan to upgrade to version 2.0 using a firmware upgrade:

A future firmware upgrade is planned to provide compatibility with the new HDMI 2.0 standard and enable 4K 50fps/60fps output to a wider range of devices.

Up until now I've assumed that 4K at higher refresh rates on MacBook Pros and the new Mac Pro was a matter of waiting for an HDMI software upgrade. But, perhaps we don't have to wait.

There's a good chance that the display limitation MacBook Pros have is that of the connection used. HDMI 1.4 is limited to 24Hz at 4096 by 2160. What if a 4K was connected using the DisplayPort aspect of the Thunderbolt 2 connector?

The DisplayPort standard was last updated in 2009. The big change was to double the effective data rate to 17 Gb/s. It also added Apple's Mini DisplayPort connector design.

Thunderbolt connectors are based on the older Mini DisplayPort connector design. I'd like to see how well a new MacBook Pro connects to a 4K monitor with a DisplayPort connector. As Thunderbolt 2 cables can handle 20 Gb/s in two directions, there's a chance that they can handle the 21.6 Gb/s bandwidth required by by DisplayPort v1.2 (there is a 25% overhead for error correction).

There's a good chance the Mac will be able to drive the display at higher refresh rates: at 50 and 60 frames per second. The refresh rate limit isn't down to the graphics processing power of the Mac, but because of the connection used.

When you set the internal Retina display to be 'Scaled' to show 'More Space' the OS draws to an imaginary 3840 by 2400 pixel screen (double the perceived resolution of 1920 by 1200) and the GPU scales it down to the native 2880 by 1800 screen. The Iris Pro Graphics GPU can handle the high refresh rates expected on computer displays, so 50 or 60Hz might not be a problem

Has anyone tested a DisplayPort-equipped 4K monitor with a new MacBook Pro yet?

The combination of a fast DisplayPort connector plus an SSD that can read and write data at 1.1 GB/s makes me think these new MacBook Pros are a great testbed for making sure 4K works well on the new MacPro.

Final Cut Pro X 10.1 revealed?

Wednesday, 06 November 2013

iMovie (2013) is an unreleased version of Final Cut Pro X with a consumer UI

In July 2011 I took a look inside the newly released Final Cut Pro X 10.0.0. I found text and graphics that hinted at unimplemented features. These features could have have missed the cut for the first public release. I guessed they would be more fully developed in future versions or dropped.

The evidence suggested that Apple might be working on features such as the reintroduction of Multicam, XML import and export, AppleScript integration, flexible window layouts and multi-user editing. Some of these appeared in later versions of Final Cut, some didn't.

A new version of iMovie was launched as part of Apple's October announcements. Here is some of what I've discovered inside iMovie (2013).

iMovie (2013) isn't an updated version of iMovie '11 (version 9), it is Final Cut Pro X with additional resources to implement the iMovie consumer editing interface.

It looks like there are new features in this unreleased version of Final Cut Pro X that many professional editors have been looking forward to for a long time.

shell-game-simpler

In OS X, applications are stored as specialised folders that contain code, text, images, sounds and videos. To see inside any app using the Finder, Control- or Right-Click its icon and choose  'Show Package Contents' from the shortcut menu.

If you do this with the previous version of iMovie, you get a folder that looks like this:

Operational parts of apps are divided up into 'frameworks' and some UI images, sounds and videos are stored in a Resources directory. 

Here's what is inside Final Cut Pro X 10.0.9:

fcpX-v10-0-9-contents

Here's iMovie (2013):

iMovie-2013-contents

Although iMovie (2013) and Final Cut Pro X 10.0.9 share many of the same frameworks, who is to say there's a whole copy of Final Cut built into every copy of iMovie? Apple could have used the elements of Final Cut that implement video editing and overlaid the iMovie UI. It turns out that a large amount of the graphics, text and code in iMovie isn't currently visible when you run the app.

Compare the resources folders in the same framework in both Final Cut Pro X 10.0.9 and iMovie (2013):

resources-comparison

The documents and folders are very similar - including icons and Adobe Photoshop files. There are extra resources to implement the new iMovie Theatre feature. There are also resources that aren't seen in the current iMovie user interface: The Audition Spotlight that appears when switching between clips in an audition and icons for surround sound speakers for example.

Image resources in iMovie (2013) not yet visible to users include:

non-iMovie-graphics

 

Final Cut Pro X 10.?

iMovie (2013) isn't based on Final Cut Pro X 10.0.9. I've found elements that show that the version of Final Cut is newer than the one released earlier this year.

Here's a list of Final Cut elements inside the iMovie (2013) application that don't yet appear in iMovie and Final Cut Pro X. I'm listing them here because they point to a possible direction for Final Cut Pro. Although I can find these references using a simple text editor, I don't have a way of confirming that any of this content will be available in a future version of Final Cut. I'm sharing what I've found in a free application I recieved with OS X Mavericks.

Transitions

9-icons-964x544

Fractured Twirl, Fractured Shatter, Fractured Extend, Fractured Flyback, Fractured, Fractured Radial, Fractured Wave, Fractured Flip, Fractured Confetti.

Here are the Fractured transition parameters: Animation Type, Backface Color, Delay, Density, Density Scale Start, Density Scale End, Dissolve In Out, Dissolve Point, Double Sided, Ease In, Ease Out, Extrude, Face Shape, Bulge Center, Fog, Fog Intensity, Fragment Aspect, Implode, Lighting, Mode, Multi Sample, Output Expansion, Randomize, Reassemble, Reassemble Point, Specular, Specular Color, Transparency

Final Cut Pro X libraries

Text inside iMovie associated with a new method for storing clips, projects and events [More on libraries and iMovie (2013)]:

"In Final Cut Pro 10.1 and later, projects and events are contained in a library.

" Click Update All to create a new library for the projects and events on each connected hard disk."
" Click Update Later to skip the update process for now."
" Click Locate to manually create a library for a specific hard disk, folder, or SAN location."

"Review the newly created libraries and confirm your projects and events are intact before emptying the trash."
"To skip copying your Projects and Events into the Library, click Ignore. (You may import them later.)"

"Copied Projects and Events can still be opened in earlier versions of %@. To copy your Projects and Events, click OK." [parts of text that include @ characters can be replaced by the app depending on the context. In this case the text would be 'iMovie' or 'Final Cut Pro']

"You are editing clips between libraries."
"You are editing compound clips or multicam clips between libraries"

"The Library must contain at least one Event"

File management

"Consolidate Library Files "
"Consolidate Library Media"
"Consolidate Library Files will copy all of %@'s  external Media into your library."
"The selected events refer to files outside the library bundle. To copy external media into the library bundle click Continue. You cannot undo this command._"
"Choose the current library or an external folder to consolidate the files into"

"Duplicate Project as Snapshot"
"Duplicate Open Project as Snapshot"

"Open Library Backup"
"To open this library backup, click Save and choose a new location to save the library"
"Opening a library backup will create a new copy of the library and attempt to restore its original media. The current version of library will not be affected."

"You have projects and events that refer to media on missing hard disks"
"To play back the missing file "%@," connect the hard drive "%"

"This Clip Uses the Following Missing Effect(s):"

"%@" could not be removed because applications are using it."

Markers

"This timeline contains Music Markers"
"%@ can align your clips to the music markers to time them to beats"
"Align Clips at Music Markers"
"Align to Music Markers"
"Edit to Markers"
"Ignore Markers"

Time

"Add a new keyframe at the playhead"
"Smooth End Transition"
"Retime Set Transition FallOff"
"Set Smooth Transition Retiming"
"Set Smooth Keyframe Retiming"

"persistent playhead"
"Trim To Playhead"
"Retime Blade Speed"
"Blade at Skimmer"

"The item is not on an edit frame boundary"

Aperture

"Search your Aperture library"
"Choose to view projects, albums, and more from your Aperture Library"
"Double-click to open this smart album" 
"Double-click to open this photo stream"
"Double-click to open this slideshow"
"Double-click to open this gallery"
"Double-click to open this faces group"

"Places"
SmugMugPhotoAlbums
FlickrPhotoAlbums

Various

"Use proxy playback by changing the Media setting to 'Proxy' in the Viewer Options pop-up menu. (Requires proxy media.)"

"Replace Transition"
"Apply to All Transitions"
"Delete Everywhere"

"Flash and Hold Last Frame"

"To better fill titles"

"Reset All Tools"

"Transform 3D"

"The file format you requested does not allow for sizes of more than 4GB"

"Cannot Send to Compresor"

Bundling effects

saveEffectsAsBundle
addEffectsAsPartToBundle:
addEffectsAsSnapshotToBundle:
userBundlesDirectory
"This snapshot is incompatible with the effect bundle part."
My Effect Bundle
"The selected clip has no %@ effects."
"Please enter a valid name for the bundle."
"Could not save bundle" 
"Could not save the effects as a bundle."
.fcpbundle

[This might still apply to audio effect bundles, which have been inside Final Cut Pro X for a while, but might one day include video effects]

iMovie to Final Cut Pro

"To send your movie to Final Cut Pro, you must have Final Cut Pro version 10.1 or later installed."
"Send Movie to Final Cut Pro"
"Sending To Final Cut Pro"
"A compatible version of Final Cut Pro cannot be found."

Multi-user editing

"Some SAN locations are in use. To update these locations, make sure they are not in use, and try again."

There are no longer any 'Guards' text strings designed to be used in dialogue boxes to as found in Final Cut Pro X 10.0.0.

However, within the code inside Final Cut Pro 10.0.9, there are 14 references to Guards. In iMovie (2013) there are many more in the equivalent file:

FFEnableGuards
FFUndoGuard
setGuard
addGuard
appendGuardToStackIfNecessary
registerGuardForLibraryItems

FFUndoGuard addGuard
FFUndoGuard addToHandler
FFUndoGuard guardAction
FFUndoGuard redoFinished
FFUndoGuard undoFinished
FFUndoGuard initWithLibraryItems
FFUndoGuard dealloc
FFUndoGuard updateItems

FFUndoGuard._closedURL

FFSharedLock._guard
FFSharedLock._identifier
FFSharedLock._readLockCount
FFSharedLock._readLockCountInsideWrite
FFSharedLock._readers
FFSharedLock._writeLockCount
FFSharedLock._writeRequested
FFSharedLock._writer

 

Final Cut Pro X 10.1 XML 

New aspects of Final Cut Pro X XML determine what features of Final Cut Pro Projects, Events and Libraries that third-party applications can manipulate.

In iMovie (2013) but not visible in the current UI:

"Export Event XML…"
"You can use the error log below to resolve issues in your XML file and try to import again"

"Select a library from the list of recent libraries. To import your XML into a different library, click Locate. To import your XML to a new library, choose New Library."

The format for the flavour of XML that Final Cut Pro X uses to export and import has been updated to version 1.3 from version 1.2. The new version can now store colour correction, title, audio and smart folder information.

Libraries and smart collections

<!ENTITY % collection_item "collection-folder | keyword-collection | smart-collection">

<!-- IMPORT OPTIONS -->

<!-- Element that contain options on how the import should be conducted (e.g. whether to copy assets, etc.) -->
<!ELEMENT import-options (option*)>

<!ELEMENT keyword-collection EMPTY>
<!ATTLIST keyword-collection name CDATA #REQUIRED>

<!ELEMENT collection-folder (%collection_item;)*>
<!ATTLIST collection-folder name CDATA #REQUIRED>

Final Cut Pro X XML v. 1.3 will be able to store smart events that constantly list clips and projects that have specific attributes such as role, sample rate and timecode.

<!-- SMART COLLECTIONS -->
<!ELEMENT smart-collection ((match-text | match-ratings | match-media | match-clip | match-stabilization | match-keywords | match-shot | match-property | match-time | match-timeRange | match-roles)*)>
<!ATTLIST smart-collection name CDATA #REQUIRED>
<!ATTLIST smart-collection match (any | all) #REQUIRED>

<!ELEMENT match-text EMPTY>
<!ATTLIST match-text enabled (0 | 1) "1">
<!ATTLIST match-text rule (includes | doesNotInclude | is | isNot) "includes">
<!ATTLIST match-text value CDATA #REQUIRED>

<!ELEMENT match-ratings EMPTY>
<!ATTLIST match-ratings enabled (0 | 1) "1">
<!ATTLIST match-ratings value (favorites | rejected) #REQUIRED>

<!ELEMENT match-media EMPTY>
<!ATTLIST match-media enabled (0 | 1) "1">
<!ATTLIST match-media rule (is | isNot) "is">
<!ATTLIST match-media type (videoWithAudio | videoOnly | audioOnly | stills) #REQUIRED>

<!ELEMENT match-clip EMPTY>
<!ATTLIST match-clip enabled (0 | 1) "1">
<!ATTLIST match-clip rule (is | isNot) "is">
<!ATTLIST match-clip type (audition | synchronized | compound | multicam | layeredGraphic | project) #REQUIRED>

<!ELEMENT match-stabilization EMPTY>
<!ATTLIST match-stabilization enabled (0 | 1) "1">
<!ATTLIST match-stabilization show-excessive-shake (0 | 1) #REQUIRED>

<!ELEMENT match-keywords (keyword-name*)>
<!ATTLIST match-keywords enabled (0 | 1) "1">
<!ATTLIST match-keywords rule (includesAny | includesAll | doesNotIncludeAny | doesNotIncludeAll) "includesAny">

<!ELEMENT keyword-name EMPTY>
<!ATTLIST keyword-name value CDATA #REQUIRED>

<!ELEMENT match-shot (shot-type*)>
<!ATTLIST match-shot enabled (0 | 1) "1">
<!ATTLIST match-shot rule (includesAny | includesAll | doesNotIncludeAny | doesNotIncludeAll) "includesAny">

<!ELEMENT shot-type EMPTY>
<!ATTLIST shot-type value (onePerson | twoPersons | group | closeUp | mediumShot | wideShot) #REQUIRED>

<!ELEMENT match-property EMPTY>
<!ATTLIST match-property enabled (0 | 1) "1">
<!ATTLIST match-property key (reel | scene | take | audioOutputChannels | frameSize | videoFrameRate | audioSampleRate | cameraName | cameraAngle) #REQUIRED>
<!ATTLIST match-property rule (includes | doesNotInclude | is | isNot) "includes">
<!ATTLIST match-property value CDATA #REQUIRED>

<!ELEMENT match-time EMPTY>
<!ATTLIST match-time enabled (0 | 1) "1">
<!ATTLIST match-time type (contentCreated | dateImported) #REQUIRED>
<!ATTLIST match-time rule (is | isBefore | isAfter) #REQUIRED>
<!ATTLIST match-time value CDATA #REQUIRED>

<!ELEMENT match-timeRange EMPTY>
<!ATTLIST match-timeRange enabled (0 | 1) "1">
<!ATTLIST match-timeRange type (contentCreated | dateImported) #REQUIRED>
<!ATTLIST match-timeRange rule (isInLast | isNotInLast) #REQUIRED>
<!ATTLIST match-timeRange value CDATA #REQUIRED>
<!ATTLIST match-timeRange units (hour | day | week | month | year) #IMPLIED>

<!ELEMENT match-roles (role*)>
<!ATTLIST match-roles enabled (0 | 1) "1">
<!ATTLIST match-roles rule (includesAny | includesAll | doesNotIncludeAny | doesNotIncludeAll) "includesAny">

<!ELEMENT role EMPTY>
<!ATTLIST role name CDATA #REQUIRED>

Colour Correction

<!-- The 'adjust-color' element modifies the color adjustments for a clip. -->
<!-- This element contains adjustments for color balance, color match, and color corrections. -->
<!ELEMENT adjust-color (colorBalance?, colorMatch?, (cb-correction | filter-color)*)>

<!ELEMENT colorBalance (data)>
<!ATTLIST colorBalance enabled (0 | 1) "1">

<!ELEMENT colorMatch (data)>
<!ATTLIST colorMatch enabled (0 | 1) "1">

<!ELEMENT cb-correction (cb-values?, cb-values-outer?, cb-shape*, cb-isolation?)>
<!ATTLIST cb-correction enabled (0 | 1) "1">

<!-- The 'cb-values' element describes the colorboard adjustments for a color correction. -->
<!ELEMENT cb-values EMPTY>
<!ATTLIST cb-values global CDATA #REQUIRED>
<!ATTLIST cb-values shadows CDATA #REQUIRED>
<!ATTLIST cb-values midtones CDATA #REQUIRED>
<!ATTLIST cb-values highlights CDATA #REQUIRED>

<!-- The 'cb-values-outer' element describes the colorboard adjustments outside of the shapes for a color correction. -->
<!ELEMENT cb-values-outer EMPTY>
<!ATTLIST cb-values-outer global CDATA #REQUIRED>
<!ATTLIST cb-values-outer shadows CDATA #REQUIRED>
<!ATTLIST cb-values-outer midtones CDATA #REQUIRED>
<!ATTLIST cb-values-outer highlights CDATA #REQUIRED>

<!-- The 'cb-shape' element describes a shape used for a colorboard correction. -->
<!ELEMENT cb-shape (param*)>
<!ATTLIST cb-shape origin CDATA #IMPLIED>
<!ATTLIST cb-shape softness CDATA #IMPLIED>
<!ATTLIST cb-shape curvature CDATA #IMPLIED>
<!ATTLIST cb-shape rotation CDATA #IMPLIED>
<!ATTLIST cb-shape scale CDATA #IMPLIED>

<!ELEMENT cb-isolation (data)>

<!ELEMENT filter-color (param*)>
<!ATTLIST filter-color ref IDREF #REQUIRED> <!-- 'effect' ID -->
<!ATTLIST filter-color name CDATA #IMPLIED>
<!ATTLIST filter-color enabled (0 | 1) "1">

Clip adjustments

<!ELEMENT adjust-stabilization (param*)>
<!ATTLIST adjust-stabilization type (automatic | inertiaCam | smoothCam) "automatic">

<!ELEMENT adjust-rollingShutter EMPTY>
<!ATTLIST adjust-rollingShutter amount (none | low | medium | high | extraHigh) "none">

<!ELEMENT adjust-loudness EMPTY>
<!ATTLIST adjust-loudness amount CDATA #REQUIRED>
<!ATTLIST adjust-loudness uniformity CDATA #REQUIRED>

<!ELEMENT adjust-noiseReduction EMPTY>
<!ATTLIST adjust-noiseReduction amount CDATA #REQUIRED>

<!ELEMENT adjust-humReduction EMPTY>
<!ATTLIST adjust-humReduction frequency (50 | 60) #REQUIRED>

<!ELEMENT adjust-EQ (param*)>
<!ATTLIST adjust-EQ mode (flat | voice_enhance | music_enhance | loudness | hum_reduction | bass_boost | bass_reduce | treble_boost | treble_reduce) #REQUIRED>

<!ELEMENT adjust-matchEQ (data)>

Markers

<!ENTITY % marker_item "(marker | chapter-marker | rating | keyword | shot-marker)">

'Rating', 'Keyword' and 'Shot-marker' markers haven't been able to be exported or imported in XML files before.

<!ELEMENT shot-marker (shot-type)+>
<!ATTLIST shot-marker start %time; #IMPLIED>
<!ATTLIST shot-marker duration %time; #IMPLIED>

Storylines

<!ATTLIST sequence keywords CDATA #IMPLIED>

Final Cut Pro X storylines are stored as 'Sequences' in Final Cut Pro X XML.

Filters

<!-- A 'filter-video' defines a video effect that's applied to its parent element. -->
<!-- Video filters are concatenated in the order in which they appear. -->
<!ELEMENT filter-video (data?, param*)>
<!ATTLIST filter-video ref IDREF #REQUIRED> <!-- 'effect' ID -->
<!ATTLIST filter-video name CDATA #IMPLIED>
<!ATTLIST filter-video enabled (0 | 1) "1">

<!-- A 'filter-audio' defines an audio effect that's applied to its parent element. -->
<!-- Audio filters are concatenated in the order in which they appear. -->
<!ELEMENT filter-audio (data?, param*)>
<!ATTLIST filter-audio ref IDREF #REQUIRED> <!-- 'effect' ID -->
<!ATTLIST filter-audio name CDATA #IMPLIED>
<!ATTLIST filter-audio enabled (0 | 1) "1">
<!ATTLIST filter-audio presetID CDATA #IMPLIED>

Time remapping

It will be possible to control the smoothness of the transitions between time remap segments:

<!ATTLIST timept inTime %time; #IMPLIED> <!-- transition in-time for point (used only with smooth interpolations) -->
<!ATTLIST timept outTime %time; #IMPLIED> <!-- transition out-time for point (used only with smooth interpolations) -->

Transitions

Transition information now can include seperate audio filters and video filters. This implies more control in Final Cut about which audio transition is applied with a video transition. This XML encoding could store a transition between two clips with no audio transition applied during a video transition.

Is this Final Cut Pro X 10.1?

I have no way of knowing if the unreleased version of Final Cut Pro X that iMovie is based on is version 10.1. It might be where 10.1 was a few months ago - iMovie (2013) might get an update at the same time at Final Cut Pro X for compatibility reasons.

iMovie Trojan?

Trojan Horses have negative connotations: benign presents that hide malignant intent. In the case of iMovie, it seems that Apple wants the maximum number of people to get comfortable with editing while providing a direct connection to the world of professional post production. 

Although Apple are unlikely to make Final Cut Pro X 10.1 a free upgrade, the sting of a full-price update might be reduced by full format Final Cut to iMovie and back roundtripping. Video editors, sound editors, photographers, colour graders and visual effects people can work in the $299 app while passing timelines and footage backwards and forwards to writers, directors, producers and others who can run iMovie (2013) for OS X at very low cost, or even for free. I don't have the tools to reverse engineer the code, so I don't know if such round-tripping will be possible, but as both applications might run on the same foundations, there's no technical reasons why this wouldn't be possible.

The future of storytelling will change a great deal if Apple convice more people that they can manipulate videos they shoot on iOS devices as easily as they've learned to take, modify and organise photos. I think the iMovie (2013)/Final Cut Pro X combination will help bring many more people to editing and visual storytelling all over the world.

iMovie (2013) and Final Cut Pro X 10.1

Tuesday, 05 November 2013

When Apple releases big new revisions of software we can insights into their thinking on application design and features. When Final Cut Pro X appeared in 2011, it was very different from the previous version. In the process of rewriting it from scratch they changed the main user interface metaphor and didn't have the opportunity to recreate every feature from Final Cut Pro 7.

Although Final Cut Pro X 10.0 was then updated with bug fixes and new features in the ensuing months, we weren't sure whether some features would never be reintroduced. Perhaps Apple was philosophically opposed to some features many wanted. Also Apple didn't introduce some features from other video editing applications that many people wanted. For example, was Apple opposed to a timeline that scrolled to follow the timeline as a movie played. 

This Summer saw the launch of Logic Pro X, a new version of Apple's professional music production software. Although revised greatly compared with previous versions, it was less of a break from the past than Final Cut Pro X was. It also showed that Apple weren't against some features that Final Cut Pro X users would like, as they were maintained or introduced in Logic. I wrote about what Logic Pro X might tell us about the future of Final Cut Pro X on my blog. 

iMovieX-1276x716

iMovie (2013) was launched as part of Apple's October 2013 announcements. What does it tell us about future versions of Final Cut Pro X, the first of which is due to be released alongside the new Mac Pro?

File Management

In iMovie 2013, Projects (timelines) are stored in Events. Events (collections of footage and other content) are stored in iMovie Libraries.

file-management-1050x680

Although the default 'iMovie Library' document is created in the Movies folder of your home directory, you can use any location or name for iMovie Libraries. iMovie also doesn't open Libraries on any hard drive automatically: you choose which libraries appear in iMovie's library browser:

library-event-project-clips-420x350

You can have multiple Libraries open at once, and copy Projects, Events and clips between them. Multiple Events can be merged together by dragging.

You can choose to browse all the Projects and Events in the Libraries you have open. Each Event appears as a single skimmable icon, so you can use the skimmer to review all the footage in an event very quickly.

If Final Cut Pro X 10.1 gets these features, many editors wil be happy. Life will be much simpler than the 10.0.X way.

Commands

There are few commands in iMovie that would be useful in Final Cut Pro X:

- Seperate menu and keyboard commands to paste specific attributes. Once you've copied a clip, you can use a command to apply its Colour, Crop (including Ken Burns), Stabilization, Rolling Shutter, Video Effects, Audio Volume, Speed and Connected Clip attributes to one or more other clips.

- Seperate menu and keyboard commands can select all of a timeline's Transitions or Transitions or Video Clips or Generators.

- Join Clips command for when you've bladed a clip

- Mute audio of clip command

- Type in custom speed % for slow and fast motion

- Alter date and timecode for any clip optionally changing the source file creation date and time

Features

- Option to show Avid-style timeline that wraps in the window:

wrapping-timeline-1280x780

- Clip Trimmer (shows clip trims for setting in and out points as well as rolling the visible part):

clip-trimmer-772x700

- Option to show which parts of the clips in an Event are being used in the open Project

- Control to colour balance a clip based on the skin tone of a featured artiste:

colour-balance-644x776

- Control to white balance a clip based on choosing a part of a clip that should be white

- Colour temperature slider

- Single brightness/contrast/shadows/highlights slider

- Saturation slider

- Single control to correctly rotate and scale portrait clips to fit a landscape timeline

- Control how much to reduce other audio when a clip is playing

- Apply choice of colour adjustment, video effect or audio effect to Event clips before adding them to a Project

- For connected clips, a draggable control that defines opacity fade in/out time:

control-fade-opacity-132x170

Conclusion

I think many of these iMovie commands and features would be happily recieved by many Final Cut Pro X users. 

Stay tuned, there is much more to iMovie (2013)...

Mark Harrison, BBC: “We are taking 4K very seriously”

Monday, 04 November 2013

He says TV hardware manufacturers are

inviting consumers to consider seeing their television as less of a television and more as a primary display. It’s almost like the TV becoming the biggest and best computer screen in the house. Once you have accepted a ‘television’ is actually a display – and the discipline of television is separated from the device – it has subtle but profound implications for both consumer and producer.

More at IP & TV News.

NLE innovation - does Apple want to keep up?

Friday, 13 September 2013

This weekend sees many announcements at the IBC Show in Amsterdam. Another set of features and innovations that Apple will probably ignore, as they have been for many months. 

Ben Thompson has written an article about why Apple might deliberately limit its innovation.

Your part in the video goldrush!

Thursday, 12 September 2013

If someone starts talking up the wondrous 'democratisation' of video afforded by sites like YouTube, here's an antidote. Last week's 'Culture Show,' the BBC's arts programme, was a YouTube special.

They included a short amount of contrary opinion during a 30 minute advert for Google's video sharing site:

http://www.youtube.com/watch?v=KrSIMJG56jk&t=20m01s

By the way, can I interest you in some free digital video mining equipment? My modest refurbished store is now open.

4K might not be for you, but

Friday, 13 September 2013

Last week Sony announced two 4K cameras. Matt Davis asked me to contribute to a video he was making on the prosumer model: the PXW-Z100. As well as having my dainty fingers working in big close ups of the controls, he asked for my perspective as someone who designs videos and animations for motion graphics.

 

  • Categories UHD

The answer is ‘Metadata,’ now ask me the question

Thursday, 12 September 2013

As soon as I saw that OS X Mavericks apps would have 'tags', I guessed that many people would dismiss the feature as new name for Finder coloured labels. In practice, Apple is starting to introduce metadata to OS X users. The ability to associate a variety of things with the same content is currently being presented as a project management method. A good place to start.

 

Apple TV and iOS

Thursday, 12 September 2013

UI grabs of the new Apple TV software have started to appear. They show a very iOS 7-like revamp. If they are genuine, it might be the first time Apple will imply that the Apple TV runs a version of iOS. This could presage iOS-style third-party (relatively) open app development and distribution for Apple TV.

  • Categories iOS

Your media anywhere

Thursday, 12 September 2013

Apple will be updating their Apple TV software next week. One expected improvement will be the ability for friends to play the media they paid for on their iTunes accounts on your Apple TV.

This is good news if you want to listen to your music or watch your TV shows and movies when you're away from home. Hotels with Apple TV devices in bedrooms will become that bit more attractive to people who've bought content on the iTunes Store. Eventually those who have use an HBO app on their Apple TV might be able to use that app and see that content on the other side of the world.

Rights to content could be based on Apple only allowing one log in at a time of an Apple ID to access media. ID could be confirmed by entering the password on a nearby iPhone or iPad, so that the foreign Apple TV wouldn't ever get access to Apple ID details.

Once any Apple TV can play your media, I hope Apple extend the feature so that any iOS device can play your media too.

  • Categories iOS

The next million movie editors

Thursday, 12 September 2013

On Tuesday Apple made some iPhone 5 and iOS 7 announcements.

As well as improving the most popular stills camera in the world, Apple are starting to focus more on supporting what are probably the most popular video cameras in the world.

Apple are making iMovie for iOS free for all new iOS devices from now on. When people start using their new iPhone, iPod Touch or iPad, there will be a prompt to download the iOS iLife and iWork apps (amongst others).

Apple will have sold 300 million iOS devices in the 13 months between September 2012 and October 2013.

If they sell the same number of devices over the next 13 months and 5% start using iMovie on iOS to edit their videos, there'll be 15 million more video editors in the world.