<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: New FCP-XML Version Offers Exciting Project Management Possibilities</title>
	<atom:link href="http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/</link>
	<description>Sharing tips, scripts and hacks for your creative workflow.</description>
	<lastBuildDate>Fri, 19 Mar 2010 15:31:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: blog on blog &#187; Blog Archive &#187; New FCP-XML Version Offers Exciting Project Management Possibilities</title>
		<link>http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/comment-page-1/#comment-3153</link>
		<dc:creator>blog on blog &#187; Blog Archive &#187; New FCP-XML Version Offers Exciting Project Management Possibilities</dc:creator>
		<pubDate>Fri, 18 May 2007 20:46:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/#comment-3153</guid>
		<description>[...] New FCP-XML Version Offers Exciting Project Management Possibilities: &#8220; [...]</description>
		<content:encoded><![CDATA[<p>[...] New FCP-XML Version Offers Exciting Project Management Possibilities: &#8220; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dale</title>
		<link>http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/comment-page-1/#comment-1301</link>
		<dc:creator>Dale</dc:creator>
		<pubDate>Tue, 02 Jan 2007 21:52:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/#comment-1301</guid>
		<description>More info for those using Applescript...

Piers Goodhew runs down some of his routines using Applescript at 
&lt;a href=&quot;http://pdaddy.wordpress.com/2006/12/14/fcp-512-for-script-kiddies/&quot; rel=&quot;nofollow&quot;&gt;FCP 5.1.2 for Script Kiddies&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>More info for those using Applescript&#8230;</p>
<p>Piers Goodhew runs down some of his routines using Applescript at<br />
<a href="http://pdaddy.wordpress.com/2006/12/14/fcp-512-for-script-kiddies/" rel="nofollow">FCP 5.1.2 for Script Kiddies</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dale Bradshaw</title>
		<link>http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/comment-page-1/#comment-1237</link>
		<dc:creator>Dale Bradshaw</dc:creator>
		<pubDate>Mon, 25 Dec 2006 16:18:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/#comment-1237</guid>
		<description>Thanks for the info xaxa...

I&#039;ve been using the raw apple-events in Cocoa instead of using Applescript so I&#039;m not sure about your problems with GetXML. Hopefully somebody will read your comment and have some insight.

Keep us informed if you turn up anymore good Final Cut XML/Applescript insight.</description>
		<content:encoded><![CDATA[<p>Thanks for the info xaxa&#8230;</p>
<p>I&#8217;ve been using the raw apple-events in Cocoa instead of using Applescript so I&#8217;m not sure about your problems with GetXML. Hopefully somebody will read your comment and have some insight.</p>
<p>Keep us informed if you turn up anymore good Final Cut XML/Applescript insight.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: xaxa</title>
		<link>http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/comment-page-1/#comment-1236</link>
		<dc:creator>xaxa</dc:creator>
		<pubDate>Mon, 25 Dec 2006 15:46:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/#comment-1236</guid>
		<description>It works like this in Applescript:

--open project
set myfile to choose file
tell application &quot;Final Cut Pro&quot; to «event KeyGofcP» given «class fcpP»:myfile

And yes: its &#039;fcpP&#039; for all events, ignore the typing error in FinalCutPro_XML.pdf

I have all the simple events up and running, but i don&#039;t manage to get a result back from Get XML (kKGAEGetDocumentXML &#039;eXML&#039;).

Any tips?</description>
		<content:encoded><![CDATA[<p>It works like this in Applescript:</p>
<p>&#8211;open project<br />
set myfile to choose file<br />
tell application &#8220;Final Cut Pro&#8221; to «event KeyGofcP» given «class fcpP»:myfile</p>
<p>And yes: its &#8216;fcpP&#8217; for all events, ignore the typing error in FinalCutPro_XML.pdf</p>
<p>I have all the simple events up and running, but i don&#8217;t manage to get a result back from Get XML (kKGAEGetDocumentXML &#8216;eXML&#8217;).</p>
<p>Any tips?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark B</title>
		<link>http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/comment-page-1/#comment-528</link>
		<dc:creator>Mark B</dc:creator>
		<pubDate>Sun, 01 Oct 2006 21:19:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/#comment-528</guid>
		<description>Thanks Dale. Lots of interesting things to look into. I made a mess of the test I did using replaceiffound in the XML, but now I see how that works. Very cool.</description>
		<content:encoded><![CDATA[<p>Thanks Dale. Lots of interesting things to look into. I made a mess of the test I did using replaceiffound in the XML, but now I see how that works. Very cool.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dale Bradshaw</title>
		<link>http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/comment-page-1/#comment-527</link>
		<dc:creator>Dale Bradshaw</dc:creator>
		<pubDate>Sun, 01 Oct 2006 14:42:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/#comment-527</guid>
		<description>Mark...

...It seems the replaceif found command will only apply to certain elements - for instance master clips respond well to this command

The &lt;strong&gt;getXML apple-event&lt;/strong&gt; seems to return the entire XML for the project so the &lt;strong&gt;sequence&lt;/strong&gt; element and its components is nested in that XML. If you wanted to change elements in the sequence you&#039; d &lt;strong&gt;getXML&lt;/strong&gt;  to find the &lt;strong&gt;sequence&lt;/strong&gt; in question, alter it and return the entire project back with the altered sequence with &lt;strong&gt;sendXML&lt;/strong&gt;. At least that seems to work initially, I&#039;m still digging intto it and I&#039;m sure there will be some gotchas.

...How did you come across the private data interchange protocols? This sounds very interesting, please elaborate as much as you can.

I&#039;m a curious guy, so I usually start investigating the internals of the programs I work with. There are a couple of plugins like &lt;strong&gt;Automatic Duck&#039;s&lt;/strong&gt; free XML exporter and the &lt;strong&gt;Panasonic&lt;/strong&gt; frame rate convertor that exhibit behaviors I&#039;m interested in. &lt;strong&gt;FCP&lt;/strong&gt; is mostly written in &lt;strong&gt;Carbon&lt;/strong&gt;, but some of the hooks are in &lt;strong&gt;Cocoa&lt;/strong&gt; which makes for a much easier task for reverse engineering because you can override methods, adhere to protocols etc.

If we use &lt;a href=&quot;http://www.codethecode.com/Projects/class-dump/&quot; rel=&quot;nofollow&quot;&gt;class-dump&lt;/a&gt; to take a look at the plugins we&#039;re interested in, we find there is a &lt;strong&gt;protocol&lt;/strong&gt; called &lt;strong&gt;PRODataInterchange&lt;/strong&gt; being used. A &lt;strong&gt;protocol&lt;/strong&gt; in &lt;strong&gt;Objective-C&lt;/strong&gt; allows you to adhere to requested methods and you&#039;ll recieve the events you adhere to. So, if you write a well-formed &lt;strong&gt;CF plugin&lt;/strong&gt; that adheres to the &lt;strong&gt;PRODataInterchange&lt;/strong&gt; protocol you&#039;ll be able to do data interchange natively in &lt;strong&gt;FCP&lt;/strong&gt;

That said, I&#039;ve stumbled a bit in the actual implementation and since it&#039;s private &lt;strong&gt;Apple&lt;/strong&gt; could change the spec at any time, so I&#039;d lobby for them to make it public. It&#039;s such an important missing piece in &lt;strong&gt;Workflow management&lt;/strong&gt; for &lt;strong&gt;FCP&lt;/strong&gt; and if the new set of &lt;strong&gt;apple-events&lt;/strong&gt; don&#039;t get us quite there we may be left wanting. 

Dale</description>
		<content:encoded><![CDATA[<p>Mark&#8230;</p>
<p>&#8230;It seems the replaceif found command will only apply to certain elements &#8211; for instance master clips respond well to this command</p>
<p>The <strong>getXML apple-event</strong> seems to return the entire XML for the project so the <strong>sequence</strong> element and its components is nested in that XML. If you wanted to change elements in the sequence you&#8217; d <strong>getXML</strong>  to find the <strong>sequence</strong> in question, alter it and return the entire project back with the altered sequence with <strong>sendXML</strong>. At least that seems to work initially, I&#8217;m still digging intto it and I&#8217;m sure there will be some gotchas.</p>
<p>&#8230;How did you come across the private data interchange protocols? This sounds very interesting, please elaborate as much as you can.</p>
<p>I&#8217;m a curious guy, so I usually start investigating the internals of the programs I work with. There are a couple of plugins like <strong>Automatic Duck&#8217;s</strong> free XML exporter and the <strong>Panasonic</strong> frame rate convertor that exhibit behaviors I&#8217;m interested in. <strong>FCP</strong> is mostly written in <strong>Carbon</strong>, but some of the hooks are in <strong>Cocoa</strong> which makes for a much easier task for reverse engineering because you can override methods, adhere to protocols etc.</p>
<p>If we use <a href="http://www.codethecode.com/Projects/class-dump/" rel="nofollow">class-dump</a> to take a look at the plugins we&#8217;re interested in, we find there is a <strong>protocol</strong> called <strong>PRODataInterchange</strong> being used. A <strong>protocol</strong> in <strong>Objective-C</strong> allows you to adhere to requested methods and you&#8217;ll recieve the events you adhere to. So, if you write a well-formed <strong>CF plugin</strong> that adheres to the <strong>PRODataInterchange</strong> protocol you&#8217;ll be able to do data interchange natively in <strong>FCP</strong></p>
<p>That said, I&#8217;ve stumbled a bit in the actual implementation and since it&#8217;s private <strong>Apple</strong> could change the spec at any time, so I&#8217;d lobby for them to make it public. It&#8217;s such an important missing piece in <strong>Workflow management</strong> for <strong>FCP</strong> and if the new set of <strong>apple-events</strong> don&#8217;t get us quite there we may be left wanting. </p>
<p>Dale</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark B</title>
		<link>http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/comment-page-1/#comment-526</link>
		<dc:creator>Mark B</dc:creator>
		<pubDate>Sun, 01 Oct 2006 10:07:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/#comment-526</guid>
		<description>It seems the replaceif found command will only apply to certain elements - for instance master clips respond well to this command, but existing sequence elements do not seem to respond so well. Haven&#039;t figured out where the limits are at this point.

How did you come across the private data interchange protocols? This sounds very interesting, please elaborate as much as you can.

Keep up the good work on this great blog,
--M</description>
		<content:encoded><![CDATA[<p>It seems the replaceif found command will only apply to certain elements &#8211; for instance master clips respond well to this command, but existing sequence elements do not seem to respond so well. Haven&#8217;t figured out where the limits are at this point.</p>
<p>How did you come across the private data interchange protocols? This sounds very interesting, please elaborate as much as you can.</p>
<p>Keep up the good work on this great blog,<br />
&#8211;M</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dale</title>
		<link>http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/comment-page-1/#comment-517</link>
		<dc:creator>Dale</dc:creator>
		<pubDate>Wed, 27 Sep 2006 21:37:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/#comment-517</guid>
		<description>Allan,

Yes, that&#039;s what it looks like. You&#039;ll have an &lt;strong&gt;add&lt;/strong&gt; and &lt;strong&gt;remove&lt;/strong&gt; element and since it will do the &lt;strong&gt;remove&lt;/strong&gt; first, you&#039;ll be able to alter existing metadata. You&#039;ll also be able to write your own keys, so you can come up with your own &lt;strong&gt;metadata schemes&lt;/strong&gt;

Dale</description>
		<content:encoded><![CDATA[<p>Allan,</p>
<p>Yes, that&#8217;s what it looks like. You&#8217;ll have an <strong>add</strong> and <strong>remove</strong> element and since it will do the <strong>remove</strong> first, you&#8217;ll be able to alter existing metadata. You&#8217;ll also be able to write your own keys, so you can come up with your own <strong>metadata schemes</strong></p>
<p>Dale</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Allan W.</title>
		<link>http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/comment-page-1/#comment-516</link>
		<dc:creator>Allan W.</dc:creator>
		<pubDate>Wed, 27 Sep 2006 19:29:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.creative-workflow-hacks.com/2006/09/27/new-fcp-xml-version-offers-exciting-project-management-possibilities/#comment-516</guid>
		<description>Wow - wasn&#039;t expecting that. What is the process for altering metadata in the QT files themselves? I see that the XML v.3 has some &lt;em&gt;support&lt;/em&gt; for it, but is there a command - or step when saving - that embeds/alters metadata in the files themselves?</description>
		<content:encoded><![CDATA[<p>Wow &#8211; wasn&#8217;t expecting that. What is the process for altering metadata in the QT files themselves? I see that the XML v.3 has some <em>support</em> for it, but is there a command &#8211; or step when saving &#8211; that embeds/alters metadata in the files themselves?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
