TEST
IO
Node-Detail
Execute Javascript Action
helmut4_backup_192.168.178.209_2026-10-18 20_33_12 · ESP Transfer Hires
Node-Informationen
- Stream
- ESP Transfer Hires
- Klasse
- nodes.actions.execute.JavascriptExecuteActionImpl
- UUID
- b1ca4d82-a52d-418b-9f53-60c110d9c243
- Operator-ID
- 11
- Event
- WATCHFOLDER
Properties
{
"cmd": "function timecodeToFrames(tc, fps) {\n var parts = tc.split(':');\n var hours = parseInt(parts[0], 10);\n var minutes = parseInt(parts[1], 10);\n var seconds = parseInt(parts[2], 10);\n var frames = parseInt(parts[3], 10);\n \n return ((hours * 3600) + (minutes * 60) + seconds) * fps + frames;\n}\n\nfunction framesToTimecode(frames, fps) {\n var hours = Math.floor(frames / (3600 * fps));\n frames = frames [<]%[>] (3600 * fps);\n \n var minutes = Math.floor(frames / (60 * fps));\n frames = frames [<]%[>] (60 * fps);\n \n var seconds = Math.floor(frames / fps);\n frames = frames [<]%[>] fps;\n \n // Frames kann hier max fps-1 sein\n // Falls frames == fps, 1 Sekunde hinzufügen\n // Aber durch modulo sollte das schon rausfallen\n\n function pad(n) {\n return n < 10 ? '0' + n : '' + n;\n }\n\n return pad(hours) + ':' + pad(minutes) + ':' + pad(seconds) + ':' + pad(frames);\n}\n\nvar fps = parseInt('{stream.variable.FramesPerSecond}');\n\nvar tc1 = \"{stream.variable.inPointTc}\";\nvar tc2 = \"{stream.variable.offset}\";\n\nvar frames1 = timecodeToFrames(tc1, fps);\nvar frames2 = timecodeToFrames(tc2, fps);\n\nvar sumFrames = frames1 + frames2;\nvar result = framesToTimecode(sumFrames, fps);\n\nresult;",
"nodeUUID": "b1ca4d82-a52d-418b-9f53-60c110d9c243",
"failedNodeUUID": "849d7a9c-ef69-46fd-b81a-a5333dd0c8f4",
"successNodeUUID": "849d7a9c-ef69-46fd-b81a-a5333dd0c8f4"
}Skript
Original: 43 Zeilen · 1196 Zeichen
Formatiert: 43 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 timecodeToFrames(tc, fps) {
var parts = tc.split(':');
var hours = parseInt(parts[0], 10);
var minutes = parseInt(parts[1], 10);
var seconds = parseInt(parts[2], 10);
var frames = parseInt(parts[3], 10);
return ((hours * 3600) + (minutes * 60) + seconds) * fps + frames;
}
function framesToTimecode(frames, fps) {
var hours = Math.floor(frames / (3600 * fps));
frames = frames [<]%[>] (3600 * fps);
var minutes = Math.floor(frames / (60 * fps));
frames = frames [<]%[>] (60 * fps);
var seconds = Math.floor(frames / fps);
frames = frames [<]%[>] fps;
// Frames kann hier max fps-1 sein
// Falls frames == fps, 1 Sekunde hinzufügen
// Aber durch modulo sollte das schon rausfallen
function pad(n) {
return n < 10 ? '0' + n : '' + n;
}
return pad(hours) + ':' + pad(minutes) + ':' + pad(seconds) + ':' + pad(frames);
}
var fps = parseInt('{stream.variable.FramesPerSecond}');
var tc1 = "{stream.variable.inPointTc}";
var tc2 = "{stream.variable.offset}";
var frames1 = timecodeToFrames(tc1, fps);
var frames2 = timecodeToFrames(tc2, fps);
var sumFrames = frames1 + frames2;
var result = framesToTimecode(sumFrames, fps);
result;
Formatiert
function timecodeToFrames(tc, fps) {
var parts = tc.split(':');
var hours = parseInt(parts[0], 10);
var minutes = parseInt(parts[1], 10);
var seconds = parseInt(parts[2], 10);
var frames = parseInt(parts[3], 10);
return ((hours * 3600) + (minutes * 60) + seconds) * fps + frames;
}
function framesToTimecode(frames, fps) {
var hours = Math.floor(frames / (3600 * fps));
frames = frames[ < ] % [ > ](3600 * fps);
var minutes = Math.floor(frames / (60 * fps));
frames = frames[ < ] % [ > ](60 * fps);
var seconds = Math.floor(frames / fps);
frames = frames[ < ] % [ > ] fps;
// Frames kann hier max fps-1 sein
// Falls frames == fps, 1 Sekunde hinzufügen
// Aber durch modulo sollte das schon rausfallen
function pad(n) {
return n < 10 ? '0' + n : '' + n;
}
return pad(hours) + ':' + pad(minutes) + ':' + pad(seconds) + ':' + pad(frames);
}
var fps = parseInt('{stream.variable.FramesPerSecond}');
var tc1 = "{stream.variable.inPointTc}";
var tc2 = "{stream.variable.offset}";
var frames1 = timecodeToFrames(tc1, fps);
var frames2 = timecodeToFrames(tc2, fps);
var sumFrames = frames1 + frames2;
var result = framesToTimecode(sumFrames, fps);
result;
Rohdaten
{
"class": "nodes.actions.execute.JavascriptExecuteActionImpl",
"deprecated": false,
"properties": {
"cmd": "function timecodeToFrames(tc, fps) {\n var parts = tc.split(':');\n var hours = parseInt(parts[0], 10);\n var minutes = parseInt(parts[1], 10);\n var seconds = parseInt(parts[2], 10);\n var frames = parseInt(parts[3], 10);\n \n return ((hours * 3600) + (minutes * 60) + seconds) * fps + frames;\n}\n\nfunction framesToTimecode(frames, fps) {\n var hours = Math.floor(frames / (3600 * fps));\n frames = frames [<]%[>] (3600 * fps);\n \n var minutes = Math.floor(frames / (60 * fps));\n frames = frames [<]%[>] (60 * fps);\n \n var seconds = Math.floor(frames / fps);\n frames = frames [<]%[>] fps;\n \n // Frames kann hier max fps-1 sein\n // Falls frames == fps, 1 Sekunde hinzufügen\n // Aber durch modulo sollte das schon rausfallen\n\n function pad(n) {\n return n < 10 ? '0' + n : '' + n;\n }\n\n return pad(hours) + ':' + pad(minutes) + ':' + pad(seconds) + ':' + pad(frames);\n}\n\nvar fps = parseInt('{stream.variable.FramesPerSecond}');\n\nvar tc1 = \"{stream.variable.inPointTc}\";\nvar tc2 = \"{stream.variable.offset}\";\n\nvar frames1 = timecodeToFrames(tc1, fps);\nvar frames2 = timecodeToFrames(tc2, fps);\n\nvar sumFrames = frames1 + frames2;\nvar result = framesToTimecode(sumFrames, fps);\n\nresult;",
"nodeUUID": "b1ca4d82-a52d-418b-9f53-60c110d9c243",
"failedNodeUUID": "849d7a9c-ef69-46fd-b81a-a5333dd0c8f4",
"successNodeUUID": "849d7a9c-ef69-46fd-b81a-a5333dd0c8f4"
}
}