<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Javascript EDL reader]]></title><description><![CDATA[<p>For a Project I'm working on, I needed to transfer subtitle cues from Adobe Premiere sequences to Isadora.<br />As Premiere can export an EDL edit list with timecode for IN and OUT marks, based on <a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/124">@DusX</a> 'select line of text' script, I did an EDL reader.</p>
<p>In combination with <a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/1435">@Woland</a> 's updated version of <a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/226">@fifou</a> 's Timecode trigger actor, I managed to rebuild Premiere cut sequences in no time.</p>
<p>Maybe someone else can use it, so here are the script and a user actor with the named In / Outs:<br />(This is only tested with Premieres EDL export, with option 'Use Source Filename' on! But should work with other softwares EDL files like FinalCut too.)</p>
<p>======================</p>
<p>function main() </p>
<p>{ <br />// reads EDL files and filters values to output them  for further use including ClipTitle/ Clip Filename if put to a Note under the basic values</p>
<p>// 2 Inputs: 1:File name or path (TEXT); 2:Line to select (INTEGER)</p>
<p>// 10 Outputs: 1:Cues/Cuts total (INTEGER); 2:Cue/Cut # (INTEGER); 3:Media Type (TEXT); 4:Stream Type (TEXT); 5:Transition Type (TEXT); 6:Duration in Seconds (INTEGER); 7:SourceIN (TEXT); 8:SourceOUT (TEXT); 9:RecIN (TEXT); 10:RecOUT (TEXT); 11:Media Title (TEXT)</p>
<p>// arguments[0] = text file name or path</p>
<p>// arguments[1] = line to select</p>
<p>// read EDL file<br />var txt = read (arguments[0]);</p>
<p>// split cue lines to an array and count cues<br />var Cues = txt.split("\r\n\r\n");<br />var CuesCount = Cues.length;</p>
<p>// split cue values from notes<br />var ValuesNotes = Cues[arguments[1&rsqb;&rsqb;.split("\r\n");<br />var NotesCount = ValuesNotes.length - 1;</p>
<p>// split values to an array and count the values<br />var Values = ValuesNotes[0].split(" ");<br />var ValuesCount = Values.length;</p>
<p>// read the values from the values array<br />var CueNumber = Values[0];</p>
<p>var ValueTyp = Values[2];<br />var ValueStream = Values[9];<br />var ValueTrans = Values[14];<br />var ValueDur = Values[5];<br />var ValueSourceIN = Values[22];<br />var ValueSourceOUT = Values[23];<br />var ValueRecIN = Values[24];<br />var ValueRecOUT = Values[25];</p>
<p>// read the Cue/file name if there is one<br />if (NotesCount &gt; 0) {<br /><span class="Apple-tab-span"> </span>var ClipTitleNote = ValuesNotes[1].split(": ");<br /><span class="Apple-tab-span"> </span>var ClipTitle = ClipTitleNote[1];<br />}<span class="Apple-tab-span"> </span>else {<br /><span class="Apple-tab-span"> </span>var ClipTitleNote = "Undefined";<br /><span class="Apple-tab-span"> </span>var ClipTitle = ClipTitleNote;<br />}</p>
<p>// outputs<br />return [ CuesCount - 1, CueNumber, ValueTyp, ValueStream, ValueTrans, ValueDur, ValueSourceIN, ValueSourceOUT, ValueRecIN, ValueRecOUT, ClipTitle ];</p>
<p>}</p>
<p><a href="/assets/uploads/files/1532007775763-edl-reader.iua">EDL Reader.iua</a></p>
<p><br />P.S.: Maybe someone have an idea how to change the script, so it jumps to the Cue# directly and reads the values instead of reading each line separately. (maybe with .StartWith() ?)</p>]]></description><link>https://community.troikatronix.com/topic/5316/javascript-edl-reader</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 09:25:58 GMT</lastBuildDate><atom:link href="https://community.troikatronix.com/topic/5316.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 19 Jul 2018 13:46:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Javascript EDL reader on Tue, 20 Aug 2024 12:00:38 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/740">@dillthekraut</a> said:<br /></p><blockquote>How is a JavaScript template meant to be uploaded to the plugin db? I guess as user actor? There is no specific category like the 'Open GL Shader', which has probably the same work path, or is there?</blockquote><p>You could go with Category User Actor (or Patch if you want to make an example file) and select the tag "Javascript"</p><hr />
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/740">@dillthekraut</a> said:</p>
<blockquote>Maybe this is might be worth an extra category, as well for the new Pythoners?</blockquote><p>The Javascript tag has it covered. There's a tag for Python as well, so that's also handled :)</p><hr />
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/740">@dillthekraut</a> said:</p>
<blockquote>I would also like to kindly remind on the feature request regarding the search function for the Plug-In DB. </blockquote>
<p> Oh, believe me, I'm waiting on that one too. I'm dying to have it.</p>]]></description><link>https://community.troikatronix.com/post/54765</link><guid isPermaLink="true">https://community.troikatronix.com/post/54765</guid><dc:creator><![CDATA[Woland]]></dc:creator><pubDate>Tue, 20 Aug 2024 12:00:38 GMT</pubDate></item><item><title><![CDATA[Reply to Javascript EDL reader on Mon, 19 Aug 2024 15:54:28 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/1435">@woland</a><br />It was just an insignifcant typo in the description header.</p>
<p>How is a JavaScript template meant to be uploaded to the plugin db? I guess as user actor? There is no specific category like the 'Open GL Shader', which has probably the same work path, or is there? Maybe this is might be worth an extra category, as well for the new Pythoners? Anyway, i'll happily look into it asap.<br />I would also like to kindly remind on the feature request regarding the search function for the Plug-In DB. <img class="emojione" src="https://cdn.jsdelivr.net/emojione/assets/png/1f601.png?v=2.2.7" alt="😁" style="cursor:pointer" /><br /></p>]]></description><link>https://community.troikatronix.com/post/54759</link><guid isPermaLink="true">https://community.troikatronix.com/post/54759</guid><dc:creator><![CDATA[DillTheKraut]]></dc:creator><pubDate>Mon, 19 Aug 2024 15:54:28 GMT</pubDate></item><item><title><![CDATA[Reply to Javascript EDL reader on Mon, 19 Aug 2024 15:28:53 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://community.troikatronix.com/uid/740">@dillthekraut</a> said:</p>
<blockquote>I did an EDL reader.</blockquote>
<p> I got a notification that you edited this post today. We'd love it if you could upload this to <a href="https://troikatronix.com/add-ons/" target="_blank">the TroikatTronix Add-Ons Page</a>.</p>]]></description><link>https://community.troikatronix.com/post/54757</link><guid isPermaLink="true">https://community.troikatronix.com/post/54757</guid><dc:creator><![CDATA[Woland]]></dc:creator><pubDate>Mon, 19 Aug 2024 15:28:53 GMT</pubDate></item><item><title><![CDATA[Reply to Javascript EDL reader on Thu, 19 Jul 2018 15:48:15 GMT]]></title><description><![CDATA[<p>I love seeing material come together from multiple users to create new and interesting tools. Great work!</p><p>Best wishes,</p><p>Woland</p>]]></description><link>https://community.troikatronix.com/post/31223</link><guid isPermaLink="true">https://community.troikatronix.com/post/31223</guid><dc:creator><![CDATA[Woland]]></dc:creator><pubDate>Thu, 19 Jul 2018 15:48:15 GMT</pubDate></item></channel></rss>