PROD
IO
Node-Detail
Job Execute ExtendScript In Premiere Action V2
helmut4_backup_l-helmut1.adin.mdr.de_2026-10-18 10_57_41 · ESP - Export zum CMS-ZRS-EVS
Node-Informationen
- Stream
- ESP - Export zum CMS-ZRS-EVS
- Klasse
- nodes.actions.helmut.job.JobPremiereExecuteExtendScriptActionV2
- UUID
- e72fa7f4-b29a-4c82-afde-181a2896f5e5
- Operator-ID
- 22
- Event
- EXPORT
Properties
{
"extendScript": "function getSequenceByName(name) {\n var allSeqs = app.project.sequences;\n for (var i = 0; i < allSeqs.numSequences; i++) {\n var seq = allSeqs[i]; \n if (seq.name === name) {\n return seq;\n }\n }\n return null;\n}\n\nfunction generateUUID() {\n var chars = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.split('');\n for (var i = 0; i < chars.length; i++) {\n switch(chars[i]) {\n case 'x':\n chars[i] = (Math.random() * 16 | 0).toString(16);\n break;\n case 'y':\n chars[i] = ((Math.random() * 4 | 0) + 8).toString(16);\n break;\n }\n }\n return chars.join('');\n}\n\nfunction ggt(a, b) {\n while (b !== 0) {\n var rest = a [<]%[>] b;\n a = b;\n b = rest;\n }\n return a;\n}\n\nfunction getAspectRatio(width, height){\n var teiler = ggt(width, height);\n var breiteNeu = width / teiler;\n var hoeheNeu = height / teiler;\n return breiteNeu + ':' + hoeheNeu;\n}\n\n\nfunction getFrameRate(id){\n\n\tswitch (id) {\n\t\tcase 100:\n\t\t\treturn 24;\n\t\tcase 101:\n\t\t\treturn 25;\n\t\tcase 102:\n\t\t\treturn 29.97;\n\t\tcase 104:\n\t\t\treturn 30;\n\t\tcase 105:\n\t\t\treturn 50;\n\t\tcase 106:\n\t\t\treturn 59.97;\n\t\tcase 107:\n\t\t\treturn 59.97;\n\t\tcase 108:\n\t\t\treturn 60;\n\t\tdefault:\n\t\t\treturn 25;\n\t}\n}\n\nfunction getSequenceMetadata(msequence){\n\t\tvar mdata = {};\n\t\tvar seqsettings = msequence.getSettings();\n\t\tmdata.audiochannels = seqsettings.audioChannelCount;\n\t\tmdata.width = seqsettings.videoFrameWidth;\n\t\tmdata.height = seqsettings.videoFrameHeight;\n\t\tmdata.aspect = getAspectRatio(mdata.width,mdata.height);\n\t\tmdata.framerate = getFrameRate(seqsettings.videoDisplayFormat);\n\treturn mdata;\t\t\n}\n\nvar seqName = \"{stream.variable.Sequenzname}\";\nvar seqfound = false;\nvar metadata = false;\nvar jmetadata = '';\nvar seqObj = null;\nvar sl_name = '';\nvar sl_success = false;\n\nif (app.project.activeSequence){\n \tvar aSeq = app.project.activeSequence;\n\tif (aSeq.name === seqName){\n\t\tmetadata = getSequenceMetadata(aSeq);\n\t\tseqfound = true;\n\t\tseqObj = aSeq;\n\t}\n}\n\nif (seqfound === false){\n\tvar sequence = getSequenceByName(seqName);\n\tif (sequence) {\n\t metadata = getSequenceMetadata(sequence);\n\t\tseqfound = true;\n\t\tseqObj = sequence;\n\t}\n}\n\nif (seqfound === true){\nvar fullPath = app.project.path;\nif (fullPath) {\n var projectFile = new File(fullPath);\n var projectFolder = projectFile.parent;\n\tvar uuid = generateUUID();\n\tvar outputPath = projectFolder.fsName + \"/Cutlists/\" + uuid + \".xml\";\n\tvar success = seqObj.exportAsFinalCutProXML(outputPath, true);\n\t if (success) {\n\t\t\t\tvar sl_name = uuid + \".xml\";\n\t\t\t\tvar sl_success = true;\n\t\t\t}\n\t}\n}\n\n\nif (seqfound === false){\n jmetadata = '{\"seqname\":\"'+seqName+'\", \"seqfound\":'+seqfound+'}';\n} else {\n jmetadata = '{\"audiochannels\":'+ metadata.audiochannels+', \"width\":'+metadata.width+', \"height\":'+metadata.height+', \"framerate\":'+metadata.framerate+', \"aspect\":\"'+metadata.aspect+'\", \"seqname\":\"'+seqName+'\", \"seqfound\":'+seqfound+', \"cutlist\":\"'+sl_name+'\",\"cutlist_status\":'+sl_success+'}';\n}\n\njmetadata",
"nodeUUID": "e72fa7f4-b29a-4c82-afde-181a2896f5e5",
"successNodeUUID": "cb42c9f0-861f-423f-88a3-251b990238aa"
}Skript
Original: 127 Zeilen · 3058 Zeichen
Formatiert: 125 Zeilen
Formatierung ergänzt Einrückungen und Zeilenumbrüche. Ursprüngliche Variablennamen und Kommentare lassen sich aus minifiziertem Code nicht wiederherstellen. ExtendScript-Direktiven und E4X werden bei der Formatierung berücksichtigt.
Original
function getSequenceByName(name) {
var allSeqs = app.project.sequences;
for (var i = 0; i < allSeqs.numSequences; i++) {
var seq = allSeqs[i];
if (seq.name === name) {
return seq;
}
}
return null;
}
function generateUUID() {
var chars = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.split('');
for (var i = 0; i < chars.length; i++) {
switch(chars[i]) {
case 'x':
chars[i] = (Math.random() * 16 | 0).toString(16);
break;
case 'y':
chars[i] = ((Math.random() * 4 | 0) + 8).toString(16);
break;
}
}
return chars.join('');
}
function ggt(a, b) {
while (b !== 0) {
var rest = a [<]%[>] b;
a = b;
b = rest;
}
return a;
}
function getAspectRatio(width, height){
var teiler = ggt(width, height);
var breiteNeu = width / teiler;
var hoeheNeu = height / teiler;
return breiteNeu + ':' + hoeheNeu;
}
function getFrameRate(id){
switch (id) {
case 100:
return 24;
case 101:
return 25;
case 102:
return 29.97;
case 104:
return 30;
case 105:
return 50;
case 106:
return 59.97;
case 107:
return 59.97;
case 108:
return 60;
default:
return 25;
}
}
function getSequenceMetadata(msequence){
var mdata = {};
var seqsettings = msequence.getSettings();
mdata.audiochannels = seqsettings.audioChannelCount;
mdata.width = seqsettings.videoFrameWidth;
mdata.height = seqsettings.videoFrameHeight;
mdata.aspect = getAspectRatio(mdata.width,mdata.height);
mdata.framerate = getFrameRate(seqsettings.videoDisplayFormat);
return mdata;
}
var seqName = "{stream.variable.Sequenzname}";
var seqfound = false;
var metadata = false;
var jmetadata = '';
var seqObj = null;
var sl_name = '';
var sl_success = false;
if (app.project.activeSequence){
var aSeq = app.project.activeSequence;
if (aSeq.name === seqName){
metadata = getSequenceMetadata(aSeq);
seqfound = true;
seqObj = aSeq;
}
}
if (seqfound === false){
var sequence = getSequenceByName(seqName);
if (sequence) {
metadata = getSequenceMetadata(sequence);
seqfound = true;
seqObj = sequence;
}
}
if (seqfound === true){
var fullPath = app.project.path;
if (fullPath) {
var projectFile = new File(fullPath);
var projectFolder = projectFile.parent;
var uuid = generateUUID();
var outputPath = projectFolder.fsName + "/Cutlists/" + uuid + ".xml";
var success = seqObj.exportAsFinalCutProXML(outputPath, true);
if (success) {
var sl_name = uuid + ".xml";
var sl_success = true;
}
}
}
if (seqfound === false){
jmetadata = '{"seqname":"'+seqName+'", "seqfound":'+seqfound+'}';
} else {
jmetadata = '{"audiochannels":'+ metadata.audiochannels+', "width":'+metadata.width+', "height":'+metadata.height+', "framerate":'+metadata.framerate+', "aspect":"'+metadata.aspect+'", "seqname":"'+seqName+'", "seqfound":'+seqfound+', "cutlist":"'+sl_name+'","cutlist_status":'+sl_success+'}';
}
jmetadata
Formatiert
function getSequenceByName(name) {
var allSeqs = app.project.sequences;
for (var i = 0; i < allSeqs.numSequences; i++) {
var seq = allSeqs[i];
if (seq.name === name) {
return seq;
}
}
return null;
}
function generateUUID() {
var chars = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.split('');
for (var i = 0; i < chars.length; i++) {
switch (chars[i]) {
case 'x':
chars[i] = (Math.random() * 16 | 0).toString(16);
break;
case 'y':
chars[i] = ((Math.random() * 4 | 0) + 8).toString(16);
break;
}
}
return chars.join('');
}
function ggt(a, b) {
while (b !== 0) {
var rest = a[ < ] % [ > ] b;
a = b;
b = rest;
}
return a;
}
function getAspectRatio(width, height) {
var teiler = ggt(width, height);
var breiteNeu = width / teiler;
var hoeheNeu = height / teiler;
return breiteNeu + ':' + hoeheNeu;
}
function getFrameRate(id) {
switch (id) {
case 100:
return 24;
case 101:
return 25;
case 102:
return 29.97;
case 104:
return 30;
case 105:
return 50;
case 106:
return 59.97;
case 107:
return 59.97;
case 108:
return 60;
default:
return 25;
}
}
function getSequenceMetadata(msequence) {
var mdata = {};
var seqsettings = msequence.getSettings();
mdata.audiochannels = seqsettings.audioChannelCount;
mdata.width = seqsettings.videoFrameWidth;
mdata.height = seqsettings.videoFrameHeight;
mdata.aspect = getAspectRatio(mdata.width, mdata.height);
mdata.framerate = getFrameRate(seqsettings.videoDisplayFormat);
return mdata;
}
var seqName = "{stream.variable.Sequenzname}";
var seqfound = false;
var metadata = false;
var jmetadata = '';
var seqObj = null;
var sl_name = '';
var sl_success = false;
if (app.project.activeSequence) {
var aSeq = app.project.activeSequence;
if (aSeq.name === seqName) {
metadata = getSequenceMetadata(aSeq);
seqfound = true;
seqObj = aSeq;
}
}
if (seqfound === false) {
var sequence = getSequenceByName(seqName);
if (sequence) {
metadata = getSequenceMetadata(sequence);
seqfound = true;
seqObj = sequence;
}
}
if (seqfound === true) {
var fullPath = app.project.path;
if (fullPath) {
var projectFile = new File(fullPath);
var projectFolder = projectFile.parent;
var uuid = generateUUID();
var outputPath = projectFolder.fsName + "/Cutlists/" + uuid + ".xml";
var success = seqObj.exportAsFinalCutProXML(outputPath, true);
if (success) {
var sl_name = uuid + ".xml";
var sl_success = true;
}
}
}
if (seqfound === false) {
jmetadata = '{"seqname":"' + seqName + '", "seqfound":' + seqfound + '}';
} else {
jmetadata = '{"audiochannels":' + metadata.audiochannels + ', "width":' + metadata.width + ', "height":' + metadata.height + ', "framerate":' + metadata.framerate + ', "aspect":"' + metadata.aspect + '", "seqname":"' + seqName + '", "seqfound":' + seqfound + ', "cutlist":"' + sl_name + '","cutlist_status":' + sl_success + '}';
}
jmetadata
Rohdaten
{
"class": "nodes.actions.helmut.job.JobPremiereExecuteExtendScriptActionV2",
"deprecated": false,
"properties": {
"extendScript": "function getSequenceByName(name) {\n var allSeqs = app.project.sequences;\n for (var i = 0; i < allSeqs.numSequences; i++) {\n var seq = allSeqs[i]; \n if (seq.name === name) {\n return seq;\n }\n }\n return null;\n}\n\nfunction generateUUID() {\n var chars = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.split('');\n for (var i = 0; i < chars.length; i++) {\n switch(chars[i]) {\n case 'x':\n chars[i] = (Math.random() * 16 | 0).toString(16);\n break;\n case 'y':\n chars[i] = ((Math.random() * 4 | 0) + 8).toString(16);\n break;\n }\n }\n return chars.join('');\n}\n\nfunction ggt(a, b) {\n while (b !== 0) {\n var rest = a [<]%[>] b;\n a = b;\n b = rest;\n }\n return a;\n}\n\nfunction getAspectRatio(width, height){\n var teiler = ggt(width, height);\n var breiteNeu = width / teiler;\n var hoeheNeu = height / teiler;\n return breiteNeu + ':' + hoeheNeu;\n}\n\n\nfunction getFrameRate(id){\n\n\tswitch (id) {\n\t\tcase 100:\n\t\t\treturn 24;\n\t\tcase 101:\n\t\t\treturn 25;\n\t\tcase 102:\n\t\t\treturn 29.97;\n\t\tcase 104:\n\t\t\treturn 30;\n\t\tcase 105:\n\t\t\treturn 50;\n\t\tcase 106:\n\t\t\treturn 59.97;\n\t\tcase 107:\n\t\t\treturn 59.97;\n\t\tcase 108:\n\t\t\treturn 60;\n\t\tdefault:\n\t\t\treturn 25;\n\t}\n}\n\nfunction getSequenceMetadata(msequence){\n\t\tvar mdata = {};\n\t\tvar seqsettings = msequence.getSettings();\n\t\tmdata.audiochannels = seqsettings.audioChannelCount;\n\t\tmdata.width = seqsettings.videoFrameWidth;\n\t\tmdata.height = seqsettings.videoFrameHeight;\n\t\tmdata.aspect = getAspectRatio(mdata.width,mdata.height);\n\t\tmdata.framerate = getFrameRate(seqsettings.videoDisplayFormat);\n\treturn mdata;\t\t\n}\n\nvar seqName = \"{stream.variable.Sequenzname}\";\nvar seqfound = false;\nvar metadata = false;\nvar jmetadata = '';\nvar seqObj = null;\nvar sl_name = '';\nvar sl_success = false;\n\nif (app.project.activeSequence){\n \tvar aSeq = app.project.activeSequence;\n\tif (aSeq.name === seqName){\n\t\tmetadata = getSequenceMetadata(aSeq);\n\t\tseqfound = true;\n\t\tseqObj = aSeq;\n\t}\n}\n\nif (seqfound === false){\n\tvar sequence = getSequenceByName(seqName);\n\tif (sequence) {\n\t metadata = getSequenceMetadata(sequence);\n\t\tseqfound = true;\n\t\tseqObj = sequence;\n\t}\n}\n\nif (seqfound === true){\nvar fullPath = app.project.path;\nif (fullPath) {\n var projectFile = new File(fullPath);\n var projectFolder = projectFile.parent;\n\tvar uuid = generateUUID();\n\tvar outputPath = projectFolder.fsName + \"/Cutlists/\" + uuid + \".xml\";\n\tvar success = seqObj.exportAsFinalCutProXML(outputPath, true);\n\t if (success) {\n\t\t\t\tvar sl_name = uuid + \".xml\";\n\t\t\t\tvar sl_success = true;\n\t\t\t}\n\t}\n}\n\n\nif (seqfound === false){\n jmetadata = '{\"seqname\":\"'+seqName+'\", \"seqfound\":'+seqfound+'}';\n} else {\n jmetadata = '{\"audiochannels\":'+ metadata.audiochannels+', \"width\":'+metadata.width+', \"height\":'+metadata.height+', \"framerate\":'+metadata.framerate+', \"aspect\":\"'+metadata.aspect+'\", \"seqname\":\"'+seqName+'\", \"seqfound\":'+seqfound+', \"cutlist\":\"'+sl_name+'\",\"cutlist_status\":'+sl_success+'}';\n}\n\njmetadata",
"nodeUUID": "e72fa7f4-b29a-4c82-afde-181a2896f5e5",
"successNodeUUID": "cb42c9f0-861f-423f-88a3-251b990238aa"
}
}