The catch: the clips have all been manually positioned. There are no timecodes, creation times, or other similar metadata to rely on.
See below for an example screen shot. In this screen shot, the clips are all correctly positioned in terms of their relative start times, however the angle order is essentially random. I want the angles to be organized in order, from top to bottom, based on the start time for each clip, with the earliest-starting clip at the top.
Is there a way to do this automatically? I want the computer to trust that the clip start times are accurate, and to order the angles accordingly.
So you've manually dragged clips into those positions and you want the multicam resorted from top to bottom, maintaining the left-to-right position of each clip within the multicam, but the top-to-bottom order determined by the starting position of each clip. So it's not based on date/time of the clip media file but the current left/right position within the multicam? The result would look like descending stairs?
I don't think there's any built-in FCP feature that would do that, but I briefly examined some clip XML of a multicam. It appears the top-to-bottom order is determined by some basic tags, e.g,
<asset id ="r6">
is positionally before
<asset id = "r7">
, etc. A clever programmer familiar with XML could probably write a utility to reorder the multicam. He/she could probably do it in Awk or Perl, not even using a real language
However the left-to-right order would also have to be parsed in order to sort the top-to-bottom clip order within the multicam. The left-to-right order is apparently determined by the XML rows containing the string
followed by a fraction over 24000. That determines the clip offset in decimal seconds from the start of the multicam container. e.g, You can export the multicam clip XML then use the terminal command
egrep "asset-clip.*offset" Info.fcpxml
to list those.
The top-to-bottom order can be listed from the multicam clip XML by the terminal command
egrep "asset id=.*name" Info.fcpxml
, where in each case Info.fcpxml is inside the outer .fcpxmld package. But just knowing those does not help, it would require an app to reorder them and you'd also have to check for dependencies between the lines.
Andreas Kiel who sometimes posts here has written various XML utilities before: www.spherico.com
I tend to doubt they'd want to tackle it; it would just not be economically worth the likely limited payback. Maybe someone might want to try it as a hobby or learning exercise. It superficially seems relatively straightforward and applicable to other large-scale Reality TV-type shoots.