PROD
IO
ESP Transfer Hires - MCS
Helmut4 PROD · helmut4_backup_l-helmut1.adin.mdr.de_2026-10-18 10_57_41
Struktur und Aufrufe dieses Streams prüfen Im HView öffnen AbhängigkeitenHervorgehobener Node:
0408ca7d-f9e9-4772-8cc5-338bd30bed8fDie UUID wird in den Rohdaten markiert. Die Node-Klasse findest du in der Deprecated-Arbeitsliste oder direkt im JSON-Ausschnitt.
Gruppenzugehörigkeit
Keine explizite ZuordnungAktivierung
AktiviertJobstatus im Dashboard
9 Job Status UpdateGrafische Streamansicht
48 Nodes
Variablen und Fundstellen
helmut
esp_log_path
definiert
2×
nodeList.18.properties.filePath
{helmut.variable.esp_log_path}/fehler_importpanel_bmxtransfer/{date.shortyear}{date.month}{date.day}_{job.name}.txt
nodeList.20.properties.filePath
{helmut.variable.esp_log_path}/fehler_importpanel_bmxtransfer/{date.shortyear}{date.month}{date.day}_{job.name}.txt
Stream-Rohdaten
{
"id": "6ac4ab348e43987cafa4e208",
"name": "ESP Transfer Hires - MCS",
"createDate": "2026-10-06T08:03:00.719Z",
"modificationDate": "2026-10-06T08:07:34.303Z",
"streamEvent": "WATCHFOLDER",
"streamHost": "CLIENT",
"disabled": false,
"startNodeUUID": "a6357dfe-5e22-46fd-a9cb-0c5bbb5548e4",
"groups": [],
"order": 9,
"tags": [
"IO"
],
"design": "{\"operators\":{\"0\":{\"top\":40,\"left\":850,\"properties\":{\"description\":\"Will map wildcards in all available metadata\",\"title\":\"Metadata Auto Mapper Action\",\"nodeUUID\":\"5462795a-928d-472f-8f8c-90a00ccf777d\",\"uncontained\":false,\"class\":\"nodes.actions.metadata.MetadataAutoMapperActionImpl\",\"className\":\"actionNode\",\"parameter\":{},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"1\":{\"top\":115,\"left\":2465,\"properties\":{\"description\":\"Will split a stream into a synchronous and an asynchronous way. Required if a stream's execution time might exceed 60 seconds. A stream fails after 60 seconds. The asynchronous path is executed synchronously in itself and may take longer than 60 seconds\",\"title\":\"Split Stream Action\",\"nodeUUID\":\"b25ddad9-ece5-4115-b52d-81da56a2a376\",\"uncontained\":false,\"class\":\"nodes.actions.general.SplitStreamActionImpl\",\"className\":\"actionNode\",\"parameter\":{},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"2\":{\"top\":115,\"left\":2900,\"properties\":{\"description\":\"Will sleep for an amount of milliseconds\",\"title\":\"Sleep Action\",\"nodeUUID\":\"c6ced58f-8b61-47a2-b279-89afe696310d\",\"uncontained\":false,\"class\":\"nodes.actions.general.SleepActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Milliseconds\":{\"type\":\"INTEGER\",\"description\":\"Amount of milliseconds that the node waits for\",\"variableName\":\"ms\",\"placeholder\":\"1000\",\"value\":\"150\"}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}},\"hidden\":true}},\"3\":{\"top\":3780,\"left\":6735,\"properties\":{\"description\":\"Will execute a command\",\"title\":\"Commandline Execute Action V2\",\"nodeUUID\":\"e33915ec-42d5-4686-af3a-64128c9eb9d1\",\"uncontained\":false,\"class\":\"nodes.actions.execute.ExecuteProcessActionImplV2\",\"className\":\"actionNode\",\"parameter\":{\"Command\":{\"type\":\"STRING\",\"description\":\"The command to execute\",\"variableName\":\"cmd\",\"placeholder\":\"uptime\",\"value\":\"/usr/local/bin/ffmpeg {stream.variable.cmd_ffmpeg_input} -i {path.map.to.unix.{job.source}} {stream.variable.cmd_ffmpeg_output} {stream.variable.output_file} -y\"}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"4\":{\"top\":3195,\"left\":2685,\"properties\":{\"description\":\"Will match input against one or multiple patterns (NB: This node is functionally equivalent to the \\\"Match Multiple Patterns Condition\\\" and may be removed in upcoming Helmut-releases)\",\"title\":\"Wildcard Condition V3\",\"nodeUUID\":\"de436b19-d8ae-4327-ba60-a199bda899e4\",\"uncontained\":false,\"class\":\"nodes.conditions.general.WildcardMultipleConditionImplV3\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"IS\",\"IS_NOT\",\"CONTAINS\",\"CONTAINS_NOT\",\"STARTS_WITH\",\"STARTS_NOT_WITH\",\"ENDS_WITH\",\"ENDS_NOT_WITH\",\"IS_EQUAL\",\"IS_GREATER_THAN\",\"IS_SMALLER_THAN\",\"IS_GREATER_OR_EQUAL\",\"IS_SMALLER_OR_EQUAL\",\"MATCH\",\"MATCH_NOT\"],\"value\":\"IS_EQUAL\"},\"Match All/One\":{\"type\":\"ENUM\",\"description\":\"If `ALL` is selected, input must match all patterns - for `ONE` a single match will make this condition pass\",\"variableName\":\"allOne\",\"placeholder\":\"ALL\",\"values\":[\"ALL\",\"ONE\"],\"value\":\"ALL\"},\"Input\":{\"type\":\"STRING\",\"description\":\"The string to be examined\",\"variableName\":\"against\",\"placeholder\":\"user1\",\"value\":\"{stream.variable.inPoint}\"},\"Match pattern(s)\":{\"type\":\"ARRAY_STRING\",\"description\":\"The pattern(s) that the input should match\",\"variableName\":\"source\",\"placeholder\":\"{user.name}\",\"value\":[\"0\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}},\"subtitle\":\"Prüfung ob Anwachsend und In-Point=0 (Dann immer komplett Transfer - BMX Transwrap)\"}},\"8\":{\"top\":260,\"left\":3285,\"properties\":{\"description\":\"Will match input against one or multiple patterns (NB: This node is functionally equivalent to the \\\"Match Multiple Patterns Condition\\\" and may be removed in upcoming Helmut-releases)\",\"title\":\"Wildcard Condition V3\",\"nodeUUID\":\"7a3987de-2fa5-463d-95f6-d69d5326628b\",\"uncontained\":false,\"class\":\"nodes.conditions.general.WildcardMultipleConditionImplV3\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"IS\",\"IS_NOT\",\"CONTAINS\",\"CONTAINS_NOT\",\"STARTS_WITH\",\"STARTS_NOT_WITH\",\"ENDS_WITH\",\"ENDS_NOT_WITH\",\"IS_EQUAL\",\"IS_GREATER_THAN\",\"IS_SMALLER_THAN\",\"IS_GREATER_OR_EQUAL\",\"IS_SMALLER_OR_EQUAL\",\"MATCH\",\"MATCH_NOT\"],\"value\":\"IS_EQUAL\"},\"Match All/One\":{\"type\":\"ENUM\",\"description\":\"If `ALL` is selected, input must match all patterns - for `ONE` a single match will make this condition pass\",\"variableName\":\"allOne\",\"placeholder\":\"ALL\",\"values\":[\"ALL\",\"ONE\"],\"value\":\"ONE\"},\"Input\":{\"type\":\"STRING\",\"description\":\"The string to be examined\",\"variableName\":\"against\",\"placeholder\":\"user1\",\"value\":\"{stream.variable.duration}\"},\"Match pattern(s)\":{\"type\":\"ARRAY_STRING\",\"description\":\"The pattern(s) that the input should match\",\"variableName\":\"source\",\"placeholder\":\"{user.name}\",\"value\":[\"0\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}},\"subtitle\":\"Ok File wächst an - Nun Prüfung ob es gesetzte Marken gibt oder das ende auf \\\"0\\\" steht (also unbekannt)\"}},\"11\":{\"top\":3210,\"left\":3850,\"properties\":{\"description\":\"Will execute javascript\",\"title\":\"Execute Javascript Action\",\"nodeUUID\":\"b1ca4d82-a52d-418b-9f53-60c110d9c243\",\"uncontained\":false,\"class\":\"nodes.actions.execute.JavascriptExecuteActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Javascript\":{\"type\":\"LONG_STRING\",\"description\":\"Javascript based on 'Nashorn'\",\"variableName\":\"cmd\",\"value\":\"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;\"}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}},\"subtitle\":\"Time-Code Addition\"}},\"12\":{\"top\":3210,\"left\":4240,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"849d7a9c-ef69-46fd-b81a-a5333dd0c8f4\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"startTimecode\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"{node.result.b1ca4d82-a52d-418b-9f53-60c110d9c243}\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"13\":{\"top\":3550,\"left\":3290,\"properties\":{\"description\":\"Will set a job's status\",\"title\":\"Job Status Update Action\",\"nodeUUID\":\"92dd50bc-a1b5-4fc2-992e-ca854056f05a\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.job.JobStatusUpdateActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Status\":{\"type\":\"ENUM\",\"description\":\"Changes the status in the dashboard to the desired state. 'Queued' restarts the job\",\"variableName\":\"status\",\"values\":[\"QUEUED\",\"RUNNING\",\"SUCCESSFUL\",\"FAILED\"],\"value\":\"RUNNING\"},\"Message\":{\"type\":\"STRING\",\"description\":\"Dashboard message to be shown\",\"variableName\":\"msg\",\"placeholder\":\"This is a new message for the dashboard defined by {user.name}\",\"value\":\"FFMPEGF - Anwachsend - {job.source}\"},\"Progress\":{\"type\":\"INTEGER\",\"description\":\"Status of the progress circle in the dashboard\",\"variableName\":\"progress\",\"placeholder\":\"If set to '-1', the spinner turns until status changes again\",\"values\":[\"100\"],\"value\":\"50\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"14\":{\"top\":515,\"left\":5135,\"properties\":{\"description\":\"Will match input against one or multiple patterns (NB: This node is functionally equivalent to the \\\"Match Multiple Patterns Condition\\\" and may be removed in upcoming Helmut-releases)\",\"title\":\"Wildcard Condition V3\",\"nodeUUID\":\"ebd43982-7613-4afc-b6f9-92a058357ff3\",\"uncontained\":false,\"class\":\"nodes.conditions.general.WildcardMultipleConditionImplV3\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"IS\",\"IS_NOT\",\"CONTAINS\",\"CONTAINS_NOT\",\"STARTS_WITH\",\"STARTS_NOT_WITH\",\"ENDS_WITH\",\"ENDS_NOT_WITH\",\"IS_EQUAL\",\"IS_GREATER_THAN\",\"IS_SMALLER_THAN\",\"IS_GREATER_OR_EQUAL\",\"IS_SMALLER_OR_EQUAL\",\"MATCH\",\"MATCH_NOT\"],\"value\":\"CONTAINS_NOT\"},\"Match All/One\":{\"type\":\"ENUM\",\"description\":\"If `ALL` is selected, input must match all patterns - for `ONE` a single match will make this condition pass\",\"variableName\":\"allOne\",\"placeholder\":\"ALL\",\"values\":[\"ALL\",\"ONE\"],\"value\":\"ALL\"},\"Input\":{\"type\":\"STRING\",\"description\":\"The string to be examined\",\"variableName\":\"against\",\"placeholder\":\"user1\",\"value\":\"{stream.variable.result}\"},\"Match pattern(s)\":{\"type\":\"ARRAY_STRING\",\"description\":\"The pattern(s) that the input should match\",\"variableName\":\"source\",\"placeholder\":\"{user.name}\",\"value\":[\"Warning: First frame in AVC-Intra track does not have sequence and picture parameter\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"15\":{\"top\":680,\"left\":7505,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"0e545c33-a8d7-4393-99b6-a127d7a4be96\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"cmd_ffmpeg_cmd\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"ffmpeg -copyts -i \\\"{path.map.to.unix.{job.source}}\\\" -c:v libx264 -pix_fmt yuv422p10le -profile:v high10int -x264opts avcintra-class=100:interlaced=1:force-cfr=1 -r 25 -g 1 -sc_threshold 0 -c:a pcm_s24le -ar 48000 -map 0:v -map 0:a -f mxf -mxf_audio_edit_rate 25/1 \\\"{stream.variable.output_file}\\\"\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}},\"subtitle\":\"Möglicher 2ter Workaround - Neu generierung mit FFMPEG\"}},\"16\":{\"top\":250,\"left\":7915,\"properties\":{\"description\":\"Will set a job's status\",\"title\":\"Job Status Update Action\",\"nodeUUID\":\"64f1241d-cc8b-445f-901e-3bbf201c1c5a\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.job.JobStatusUpdateActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Status\":{\"type\":\"ENUM\",\"description\":\"Changes the status in the dashboard to the desired state. 'Queued' restarts the job\",\"variableName\":\"status\",\"values\":[\"QUEUED\",\"RUNNING\",\"SUCCESSFUL\",\"FAILED\"],\"value\":\"SUCCESSFUL\"},\"Message\":{\"type\":\"STRING\",\"description\":\"Dashboard message to be shown\",\"variableName\":\"msg\",\"placeholder\":\"This is a new message for the dashboard defined by {user.name}\",\"value\":\"RAW-COPY-Workaround succesful: \\\"{stream.variable.output_file}\\\" \"},\"Progress\":{\"type\":\"INTEGER\",\"description\":\"Status of the progress circle in the dashboard\",\"variableName\":\"progress\",\"placeholder\":\"If set to '-1', the spinner turns until status changes again\",\"values\":[\"100\"],\"value\":\"100\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"17\":{\"top\":555,\"left\":7915,\"properties\":{\"description\":\"Will set a job's status\",\"title\":\"Job Status Update Action\",\"nodeUUID\":\"ec47dbaf-c936-4f1b-99df-5459d1bb6633\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.job.JobStatusUpdateActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Status\":{\"type\":\"ENUM\",\"description\":\"Changes the status in the dashboard to the desired state. 'Queued' restarts the job\",\"variableName\":\"status\",\"values\":[\"QUEUED\",\"RUNNING\",\"SUCCESSFUL\",\"FAILED\"],\"value\":\"FAILED\"},\"Message\":{\"type\":\"STRING\",\"description\":\"Dashboard message to be shown\",\"variableName\":\"msg\",\"placeholder\":\"This is a new message for the dashboard defined by {user.name}\",\"value\":\"RAW-Workaround fehlgeschlagen: \\\"{stream.variable.output_file}\\\" \"},\"Progress\":{\"type\":\"INTEGER\",\"description\":\"Status of the progress circle in the dashboard\",\"variableName\":\"progress\",\"placeholder\":\"If set to '-1', the spinner turns until status changes again\",\"values\":[\"100\"],\"value\":\"80\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"18\":{\"top\":40,\"left\":480,\"properties\":{\"description\":\"Will set a job's status\",\"title\":\"Job Status Update Action\",\"nodeUUID\":\"a6357dfe-5e22-46fd-a9cb-0c5bbb5548e4\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.job.JobStatusUpdateActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Status\":{\"type\":\"ENUM\",\"description\":\"Changes the status in the dashboard to the desired state. 'Queued' restarts the job\",\"variableName\":\"status\",\"values\":[\"QUEUED\",\"RUNNING\",\"SUCCESSFUL\",\"FAILED\"],\"value\":\"RUNNING\"},\"Message\":{\"type\":\"STRING\",\"description\":\"Dashboard message to be shown\",\"variableName\":\"msg\",\"placeholder\":\"This is a new message for the dashboard defined by {user.name}\",\"value\":\"HiresDatei wird erstellt ... Init BMX_Transfer\"},\"Progress\":{\"type\":\"INTEGER\",\"description\":\"Status of the progress circle in the dashboard\",\"variableName\":\"progress\",\"placeholder\":\"If set to '-1', the spinner turns until status changes again\",\"values\":[\"100\"],\"value\":\"-1\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"19\":{\"top\":250,\"left\":7505,\"properties\":{\"description\":\"Will copy a file. Node result will be the destination file path\",\"title\":\"Job File Copy Action V2\",\"nodeUUID\":\"d524f067-c341-454b-bcd3-503a0772d547\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.job.JobFileCopyWithOptionsActionV2\",\"className\":\"actionNode\",\"parameter\":{\"File path\":{\"type\":\"STRING\",\"description\":\"Path and name of the file to be copied (incl. extension)\",\"variableName\":\"filePath\",\"placeholder\":\"{job.source}\",\"values\":[\"{job.source}\"],\"value\":\"{path.map.to.unix.{job.source}}\"},\"New file path\":{\"type\":\"STRING\",\"description\":\"Path and name of the copied file (incl. extension)\",\"variableName\":\"newFilePath\",\"placeholder\":\"/Volumes/helmut/Source_Folder_Name/copied_file.txt\",\"value\":\"{stream.variable.output_file}\"},\"Copy message\":{\"type\":\"STRING\",\"description\":\"Dashboard message displayed during copy process\",\"variableName\":\"copyMsg\",\"placeholder\":\"Copying as user '{user.name%}'\",\"values\":[\"Copying as user '{user.name}'\"],\"value\":\"Copying as user '{user.name}'\"},\"Copy done message\":{\"type\":\"STRING\",\"description\":\"Dashboard message displayed after copy process\",\"variableName\":\"copyDoneMsg\",\"placeholder\":\"Copying as user '{user.name}' has been successful\",\"values\":[\"Copying as user '{user.name}' has been successful\"],\"value\":\"Copying as user '{user.name}' has been successful\"},\"If new file path exists\":{\"type\":\"ENUM\",\"description\":\"Defines conflict rule in case file already exists\",\"variableName\":\"conflictRule\",\"values\":[\"FAIL\",\"SKIP\",\"DELETE_EXISTING\",\"RENAME_EXISTING\",\"INCREMENT_NAME\"],\"value\":\"SKIP\"}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"20\":{\"top\":235,\"left\":6360,\"properties\":{\"description\":\"Will sleep for an amount of milliseconds\",\"title\":\"Sleep Action\",\"nodeUUID\":\"5c88b357-0df6-4a20-bfd0-4337de2ff9e8\",\"uncontained\":false,\"class\":\"nodes.actions.general.SleepActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Milliseconds\":{\"type\":\"INTEGER\",\"description\":\"Amount of milliseconds that the node waits for\",\"variableName\":\"ms\",\"placeholder\":\"1000\",\"values\":[\"100\"],\"value\":\"500\"}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"21\":{\"top\":250,\"left\":7110,\"properties\":{\"description\":\"Will delete one or more files\",\"title\":\"File Delete Action\",\"nodeUUID\":\"7e449d04-fe9e-4293-9f85-3055b81d812c\",\"uncontained\":false,\"class\":\"nodes.actions.delete.FileMultipleDeleteActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"File path\":{\"type\":\"ARRAY_STRING\",\"description\":\"Complete path to the file to be deleted (incl. extension)\",\"variableName\":\"filePaths\",\"placeholder\":\"H:\\\\Source_Folder_Name\\\\text.txt\",\"value\":[\"{stream.variable.output_file}\"]}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"24\":{\"top\":520,\"left\":4700,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"6f0d61c9-df7d-43cd-8aba-ac19e7edc60e\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"result\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"{stream.last_result}\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"25\":{\"top\":805,\"left\":4700,\"properties\":{\"description\":\"Will output to a file\",\"title\":\"Write File Output\",\"nodeUUID\":\"9d84b08b-d797-4b22-b22e-3e900221134f\",\"uncontained\":false,\"class\":\"nodes.outputs.FileOutput\",\"className\":\"outputNode\",\"parameter\":{\"Filepath\":{\"type\":\"STRING\",\"description\":\"Output file path (incl. extension)\",\"variableName\":\"filePath\",\"placeholder\":\"H:\\\\Folder_Name\\\\myfile.txt\",\"value\":\"{helmut.variable.esp_log_path}/fehler_importpanel_bmxtransfer/{date.shortyear}{date.month}{date.day}_{job.name}.txt\"},\"Content\":{\"type\":\"STRING\",\"description\":\"Content that is written to the file (use [NEWLINE] to create a new line\",\"variableName\":\"msg\",\"placeholder\":\"{stream.log} or {job.source}\",\"values\":[\"{stream.log}\"],\"value\":\"{stream.variable.result}\"},\"Append\":{\"type\":\"BOOLEAN\",\"description\":\"If enabled, the content is added else it is overwritten\",\"variableName\":\"append\",\"value\":true}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"26\":{\"top\":855,\"left\":5135,\"properties\":{\"description\":\"Will match input against one or multiple patterns (NB: This node is functionally equivalent to the \\\"Match Multiple Patterns Condition\\\" and may be removed in upcoming Helmut-releases)\",\"title\":\"Wildcard Condition V3\",\"nodeUUID\":\"e9ba310a-a325-4bf5-afd6-3166147bf7ec\",\"uncontained\":false,\"class\":\"nodes.conditions.general.WildcardMultipleConditionImplV3\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"IS\",\"IS_NOT\",\"CONTAINS\",\"CONTAINS_NOT\",\"STARTS_WITH\",\"STARTS_NOT_WITH\",\"ENDS_WITH\",\"ENDS_NOT_WITH\",\"IS_EQUAL\",\"IS_GREATER_THAN\",\"IS_SMALLER_THAN\",\"IS_GREATER_OR_EQUAL\",\"IS_SMALLER_OR_EQUAL\",\"MATCH\",\"MATCH_NOT\"],\"value\":\"CONTAINS_NOT\"},\"Match All/One\":{\"type\":\"ENUM\",\"description\":\"If `ALL` is selected, input must match all patterns - for `ONE` a single match will make this condition pass\",\"variableName\":\"allOne\",\"placeholder\":\"ALL\",\"values\":[\"ALL\",\"ONE\"],\"value\":\"ALL\"},\"Input\":{\"type\":\"STRING\",\"description\":\"The string to be examined\",\"variableName\":\"against\",\"placeholder\":\"user1\",\"value\":\"{stream.variable.result}\"},\"Match pattern(s)\":{\"type\":\"ARRAY_STRING\",\"description\":\"The pattern(s) that the input should match\",\"variableName\":\"source\",\"placeholder\":\"{user.name}\",\"value\":[\"ERROR: Missing MCA group of soundfield groups label\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"27\":{\"top\":830,\"left\":5720,\"properties\":{\"description\":\"Will output to a file\",\"title\":\"Write File Output\",\"nodeUUID\":\"309f50b6-5051-4814-af1b-3a36e713ce7e\",\"uncontained\":false,\"class\":\"nodes.outputs.FileOutput\",\"className\":\"outputNode\",\"parameter\":{\"Filepath\":{\"type\":\"STRING\",\"description\":\"Output file path (incl. extension)\",\"variableName\":\"filePath\",\"placeholder\":\"H:\\\\Folder_Name\\\\myfile.txt\",\"value\":\"{helmut.variable.esp_log_path}/fehler_importpanel_bmxtransfer/{date.shortyear}{date.month}{date.day}_{job.name}.txt\"},\"Content\":{\"type\":\"STRING\",\"description\":\"Content that is written to the file (use [NEWLINE] to create a new line\",\"variableName\":\"msg\",\"placeholder\":\"{stream.log} or {job.source}\",\"values\":[\"{stream.log}\"],\"value\":\"{stream.variable.result}\"},\"Append\":{\"type\":\"BOOLEAN\",\"description\":\"If enabled, the content is added else it is overwritten\",\"variableName\":\"append\",\"value\":true}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"28\":{\"top\":1205,\"left\":5135,\"properties\":{\"description\":\"Will match input against one or multiple patterns (NB: This node is functionally equivalent to the \\\"Match Multiple Patterns Condition\\\" and may be removed in upcoming Helmut-releases)\",\"title\":\"Wildcard Condition V3\",\"nodeUUID\":\"0e3f1275-9028-43a8-aca4-1239984b68a5\",\"uncontained\":false,\"class\":\"nodes.conditions.general.WildcardMultipleConditionImplV3\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"IS\",\"IS_NOT\",\"CONTAINS\",\"CONTAINS_NOT\",\"STARTS_WITH\",\"STARTS_NOT_WITH\",\"ENDS_WITH\",\"ENDS_NOT_WITH\",\"IS_EQUAL\",\"IS_GREATER_THAN\",\"IS_SMALLER_THAN\",\"IS_GREATER_OR_EQUAL\",\"IS_SMALLER_OR_EQUAL\",\"MATCH\",\"MATCH_NOT\"],\"value\":\"CONTAINS_NOT\"},\"Match All/One\":{\"type\":\"ENUM\",\"description\":\"If `ALL` is selected, input must match all patterns - for `ONE` a single match will make this condition pass\",\"variableName\":\"allOne\",\"placeholder\":\"ALL\",\"values\":[\"ALL\",\"ONE\"],\"value\":\"ALL\"},\"Input\":{\"type\":\"STRING\",\"description\":\"The string to be examined\",\"variableName\":\"against\",\"placeholder\":\"user1\",\"value\":\"{stream.variable.result}\"},\"Match pattern(s)\":{\"type\":\"ARRAY_STRING\",\"description\":\"The pattern(s) that the input should match\",\"variableName\":\"source\",\"placeholder\":\"{user.name}\",\"value\":[\"ERROR:\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}},\"subtitle\":\"Ok, keine weiteren Fehler gefunden\"}},\"29\":{\"top\":250,\"left\":6730,\"properties\":{\"description\":\"Will check if one or more files exist\",\"title\":\"File Exists Condition\",\"nodeUUID\":\"ba7404e8-5dbb-49de-8b8a-50e030346abd\",\"uncontained\":false,\"class\":\"nodes.conditions.file.FileMultipleExistsConditionImpl\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"DOES_EXIST\",\"DOES_NOT_EXIST\"],\"value\":\"DOES_EXIST\"},\"Filepath\":{\"type\":\"ARRAY_STRING\",\"description\":\"Complete file path including extension\",\"variableName\":\"filePaths\",\"placeholder\":\"H:\\\\Folder_name\\\\does_this_file_exist.mxf\",\"value\":[\"{stream.variable.output_file}\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"32\":{\"top\":255,\"left\":4310,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"e087f21a-ae1a-4c27-b78b-b0850d7dbb2c\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"bmx_command\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\" -t op1a -p --ard-zdf-hdf --gf --ps-avcihead --start {stream.variable.inPoint} --dur {stream.variable.duration} -o \\\"{stream.variable.output_file}\\\" \\\"{path.map.to.unix.{job.source}}\\\" \"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"33\":{\"top\":255,\"left\":4700,\"properties\":{\"description\":\"Will execute a unix BASH command\",\"title\":\"Bash Execute Action\",\"nodeUUID\":\"98656bbf-6d84-4143-984d-f853789dc314\",\"uncontained\":false,\"class\":\"nodes.actions.execute.BashExecuteActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Command\":{\"type\":\"STRING\",\"description\":\"The command to execute\",\"variableName\":\"cmd\",\"placeholder\":\"uptime\",\"value\":\"/usr/local/bin/bmxtranswrap {stream.variable.bmx_command}\"}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"34\":{\"top\":1145,\"left\":4695,\"properties\":{\"description\":\"Will set a job's status\",\"title\":\"Job Status Update Action\",\"nodeUUID\":\"ce25e923-9ea2-4a5e-a7cd-4e766b50a86d\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.job.JobStatusUpdateActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Status\":{\"type\":\"ENUM\",\"description\":\"Changes the status in the dashboard to the desired state. 'Queued' restarts the job\",\"variableName\":\"status\",\"values\":[\"QUEUED\",\"RUNNING\",\"SUCCESSFUL\",\"FAILED\"],\"value\":\"FAILED\"},\"Message\":{\"type\":\"STRING\",\"description\":\"Dashboard message to be shown\",\"variableName\":\"msg\",\"placeholder\":\"This is a new message for the dashboard defined by {user.name}\",\"value\":\"BMXTransWrap failed: {job.name} - {job.source}\"},\"Progress\":{\"type\":\"INTEGER\",\"description\":\"Status of the progress circle in the dashboard\",\"variableName\":\"progress\",\"placeholder\":\"If set to '-1', the spinner turns until status changes again\",\"values\":[\"100\"],\"value\":\"50\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"35\":{\"top\":1735,\"left\":5730,\"properties\":{\"description\":\"Will set a job's status\",\"title\":\"Job Status Update Action\",\"nodeUUID\":\"49efdd91-f867-4fd6-8c71-e60a1edd5dab\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.job.JobStatusUpdateActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Status\":{\"type\":\"ENUM\",\"description\":\"Changes the status in the dashboard to the desired state. 'Queued' restarts the job\",\"variableName\":\"status\",\"values\":[\"QUEUED\",\"RUNNING\",\"SUCCESSFUL\",\"FAILED\"],\"value\":\"SUCCESSFUL\"},\"Message\":{\"type\":\"STRING\",\"description\":\"Dashboard message to be shown\",\"variableName\":\"msg\",\"placeholder\":\"This is a new message for the dashboard defined by {user.name}\",\"value\":\"BMXTransWrap succesful: \\\"{stream.variable.output_file}\\\" \"},\"Progress\":{\"type\":\"INTEGER\",\"description\":\"Status of the progress circle in the dashboard\",\"variableName\":\"progress\",\"placeholder\":\"If set to '-1', the spinner turns until status changes again\",\"values\":[\"100\"],\"value\":\"100\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}},\"subtitle\":\"Keine Fehler von MBX_Transwrap\"}},\"38\":{\"top\":255,\"left\":5135,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"29a083da-cd99-4b7b-a2b5-935aa1f42ba7\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"result\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"{stream.last_result}\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"46\":{\"top\":260,\"left\":2900,\"properties\":{\"description\":\"Will match input against one or multiple patterns (NB: This node is functionally equivalent to the \\\"Match Multiple Patterns Condition\\\" and may be removed in upcoming Helmut-releases)\",\"title\":\"Wildcard Condition V3\",\"nodeUUID\":\"b0ce7aad-1a09-482d-9153-f7ba111c2d3a\",\"uncontained\":false,\"class\":\"nodes.conditions.general.WildcardMultipleConditionImplV3\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"IS\",\"IS_NOT\",\"CONTAINS\",\"CONTAINS_NOT\",\"STARTS_WITH\",\"STARTS_NOT_WITH\",\"ENDS_WITH\",\"ENDS_NOT_WITH\",\"IS_EQUAL\",\"IS_GREATER_THAN\",\"IS_SMALLER_THAN\",\"IS_GREATER_OR_EQUAL\",\"IS_SMALLER_OR_EQUAL\",\"MATCH\",\"MATCH_NOT\"],\"value\":\"IS_NOT\"},\"Match All/One\":{\"type\":\"ENUM\",\"description\":\"If `ALL` is selected, input must match all patterns - for `ONE` a single match will make this condition pass\",\"variableName\":\"allOne\",\"placeholder\":\"ALL\",\"values\":[\"ALL\",\"ONE\"],\"value\":\"ONE\"},\"Input\":{\"type\":\"STRING\",\"description\":\"The string to be examined\",\"variableName\":\"against\",\"placeholder\":\"user1\",\"value\":\"{stream.variable.growing}\"},\"Match pattern(s)\":{\"type\":\"ARRAY_STRING\",\"description\":\"The pattern(s) that the input should match\",\"variableName\":\"source\",\"placeholder\":\"{user.name}\",\"value\":[\"true\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}},\"subtitle\":\"Prüfung ob wir ein anwachsendes File haben (Achtung Prüfung is_not)\"}},\"47\":{\"top\":2855,\"left\":3455,\"properties\":{\"description\":\"Will set a job's status\",\"title\":\"Job Status Update Action\",\"nodeUUID\":\"e34a1d3c-c67d-477d-bd6e-cc26bf55ace9\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.job.JobStatusUpdateActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Status\":{\"type\":\"ENUM\",\"description\":\"Changes the status in the dashboard to the desired state. 'Queued' restarts the job\",\"variableName\":\"status\",\"values\":[\"QUEUED\",\"RUNNING\",\"SUCCESSFUL\",\"FAILED\"],\"value\":\"RUNNING\"},\"Message\":{\"type\":\"STRING\",\"description\":\"Dashboard message to be shown\",\"variableName\":\"msg\",\"placeholder\":\"This is a new message for the dashboard defined by {user.name}\",\"value\":\"BMXTransWrap - offenes Ende - {job.source}\"},\"Progress\":{\"type\":\"INTEGER\",\"description\":\"Status of the progress circle in the dashboard\",\"variableName\":\"progress\",\"placeholder\":\"If set to '-1', the spinner turns until status changes again\",\"values\":[\"100\"],\"value\":\"50\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"48\":{\"top\":2560,\"left\":2685,\"properties\":{\"description\":\"Will output to a file\",\"title\":\"Write File Output\",\"nodeUUID\":\"21b4a329-6a6d-497d-88ac-6b880be434e2\",\"uncontained\":false,\"class\":\"nodes.outputs.FileOutput\",\"className\":\"outputNode\",\"parameter\":{\"Filepath\":{\"type\":\"STRING\",\"description\":\"Output file path (incl. extension)\",\"variableName\":\"filePath\",\"placeholder\":\"H:\\\\Folder_Name\\\\myfile.txt\",\"value\":\"/Volumes/esp-media/Temp/Log_Phil.txt\"},\"Content\":{\"type\":\"STRING\",\"description\":\"Content that is written to the file (use [NEWLINE] to create a new line\",\"variableName\":\"msg\",\"placeholder\":\"{stream.log} or {job.source}\",\"values\":[\"{stream.log}\"],\"value\":\"{job.source} | {job.destination} | {stream.variable.inPoint} | {stream.variable.duration} |{stream.variable.growing} \"},\"Append\":{\"type\":\"BOOLEAN\",\"description\":\"If enabled, the content is added else it is overwritten\",\"variableName\":\"append\",\"value\":true}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}},\"subtitle\":\"Wir sammeln Parameterübergaben\"}},\"49\":{\"top\":2855,\"left\":2685,\"properties\":{\"description\":\"Will match input against one or multiple patterns (NB: This node is functionally equivalent to the \\\"Match Multiple Patterns Condition\\\" and may be removed in upcoming Helmut-releases)\",\"title\":\"Wildcard Condition V3\",\"nodeUUID\":\"2a6013dd-98bf-4caa-bbda-02951210507d\",\"uncontained\":false,\"class\":\"nodes.conditions.general.WildcardMultipleConditionImplV3\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"IS\",\"IS_NOT\",\"CONTAINS\",\"CONTAINS_NOT\",\"STARTS_WITH\",\"STARTS_NOT_WITH\",\"ENDS_WITH\",\"ENDS_NOT_WITH\",\"IS_EQUAL\",\"IS_GREATER_THAN\",\"IS_SMALLER_THAN\",\"IS_GREATER_OR_EQUAL\",\"IS_SMALLER_OR_EQUAL\",\"MATCH\",\"MATCH_NOT\"],\"value\":\"IS_EQUAL\"},\"Match All/One\":{\"type\":\"ENUM\",\"description\":\"If `ALL` is selected, input must match all patterns - for `ONE` a single match will make this condition pass\",\"variableName\":\"allOne\",\"placeholder\":\"ALL\",\"values\":[\"ALL\",\"ONE\"],\"value\":\"ONE\"},\"Input\":{\"type\":\"STRING\",\"description\":\"The string to be examined\",\"variableName\":\"against\",\"placeholder\":\"user1\",\"value\":\"{stream.variable.duration}\"},\"Match pattern(s)\":{\"type\":\"ARRAY_STRING\",\"description\":\"The pattern(s) that the input should match\",\"variableName\":\"source\",\"placeholder\":\"{user.name}\",\"value\":[\"0\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}},\"subtitle\":\"Ok File wächst an - Nun Prüfung ob es gesetzte Marken gibt oder das ende auf \\\"0\\\" steht (also unbekannt)\"}},\"50\":{\"top\":3210,\"left\":7150,\"properties\":{\"description\":\"Will set a job's status\",\"title\":\"Job Status Update Action\",\"nodeUUID\":\"df25a2bd-7c25-4975-a0b7-27dd03109076\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.job.JobStatusUpdateActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Status\":{\"type\":\"ENUM\",\"description\":\"Changes the status in the dashboard to the desired state. 'Queued' restarts the job\",\"variableName\":\"status\",\"values\":[\"QUEUED\",\"RUNNING\",\"SUCCESSFUL\",\"FAILED\"],\"value\":\"SUCCESSFUL\"},\"Message\":{\"type\":\"STRING\",\"description\":\"Dashboard message to be shown\",\"variableName\":\"msg\",\"placeholder\":\"This is a new message for the dashboard defined by {user.name}\",\"value\":\"FFMPEG Mark IN + OUT\"},\"Progress\":{\"type\":\"INTEGER\",\"description\":\"Status of the progress circle in the dashboard\",\"variableName\":\"progress\",\"placeholder\":\"If set to '-1', the spinner turns until status changes again\",\"values\":[\"100\"],\"value\":\"100\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"51\":{\"top\":3210,\"left\":4770,\"properties\":{\"description\":\"Will execute javascript\",\"title\":\"Execute Javascript Action\",\"nodeUUID\":\"0408ca7d-f9e9-4772-8cc5-338bd30bed8f\",\"uncontained\":false,\"class\":\"nodes.actions.execute.JavascriptExecuteActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Javascript\":{\"type\":\"LONG_STRING\",\"description\":\"Javascript based on 'Nashorn'\",\"variableName\":\"cmd\",\"value\":\"function framesToTimecode(frameCount, fps) {\\n\\n if (isNaN(frameCount) || isNaN(fps) || fps <= 0) {\\n return \\\"00:00:00.000\\\";\\n }\\n\\n var totalSeconds = frameCount / fps;\\n var hours = Math.floor(totalSeconds / 3600);\\n var minutes = Math.floor((totalSeconds [<]%[>] 3600) / 60);\\n var seconds = Math.floor(totalSeconds [<]%[>] 60);\\n var milliseconds = Math.round((totalSeconds [<]%[>] 1) * 1000);\\n\\n function pad(num, size) {\\n size = size || 2;\\n num = num + \\\"\\\";\\n while (num.length < size) num = \\\"0\\\" + num;\\n return num;\\n }\\n\\n return pad(hours) + \\\":\\\" + pad(minutes) + \\\":\\\" + pad(seconds) + \\\".\\\" + pad(milliseconds, 3);\\n}\\n\\nvar fps = Number('{stream.variable.FramesPerSecond}');\\n\\nvar startframes = parseInt( '{stream.variable.inPoint}');\\nvar duration = parseInt( '{stream.variable.duration}');\\n\\nduration = duration + 3;\\n\\nvar szeit = framesToTimecode(startframes, fps);\\nvar dur = framesToTimecode(duration, fps);\\n\\nvar result = {};\\n\\nresult.starttime = szeit;\\nresult.duration = dur;\\n\\nvar jresult = JSON.stringify(result);\\njresult\"}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"52\":{\"top\":3210,\"left\":3455,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"b4985d27-068b-4346-b3f6-d4473324de86\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"FramesPerSecond\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"{stream.variable.fps}\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"53\":{\"top\":3210,\"left\":5145,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"9be8785d-ba3a-4013-b884-a76bf1e5c8b4\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"JsonResult\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"{node.result.0408ca7d-f9e9-4772-8cc5-338bd30bed8f}\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"54\":{\"top\":3210,\"left\":6295,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"dde5b7f6-afaf-4a05-9a65-6bfb837acda8\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"cmd_ffmpeg_input\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"-ss {node.result.4724a6e2-1ec4-48a8-84de-bf5940b85755}\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"55\":{\"top\":3210,\"left\":5530,\"properties\":{\"description\":\"Extract values from JSON payloads\",\"title\":\"Json Extract Action V2\",\"nodeUUID\":\"4724a6e2-1ec4-48a8-84de-bf5940b85755\",\"uncontained\":false,\"class\":\"nodes.actions.general.JsonExtractActionV2\",\"className\":\"actionNode\",\"parameter\":{\"Payload\":{\"type\":\"LONG_STRING\",\"description\":\"The JSON payload (object)\",\"variableName\":\"payload\",\"placeholder\":\"{\\\"info\\\":{\\\"users\\\":[{\\\"name\\\":\\\"Peter Griffin\\\"}]}}\",\"value\":\"{node.result.0408ca7d-f9e9-4772-8cc5-338bd30bed8f}\"},\"Key path\":{\"type\":\"STRING\",\"description\":\"The path (key) to extract\",\"variableName\":\"path\",\"placeholder\":\"info.users[0].name\",\"value\":\"starttime\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"56\":{\"top\":3210,\"left\":5900,\"properties\":{\"description\":\"Extract values from JSON payloads\",\"title\":\"Json Extract Action V2\",\"nodeUUID\":\"4ce0ce0b-2416-4404-bdb1-0740af0a3159\",\"uncontained\":false,\"class\":\"nodes.actions.general.JsonExtractActionV2\",\"className\":\"actionNode\",\"parameter\":{\"Payload\":{\"type\":\"LONG_STRING\",\"description\":\"The JSON payload (object)\",\"variableName\":\"payload\",\"placeholder\":\"{\\\"info\\\":{\\\"users\\\":[{\\\"name\\\":\\\"Peter Griffin\\\"}]}}\",\"value\":\"{node.result.0408ca7d-f9e9-4772-8cc5-338bd30bed8f}\"},\"Key path\":{\"type\":\"STRING\",\"description\":\"The path (key) to extract\",\"variableName\":\"path\",\"placeholder\":\"info.users[0].name\",\"value\":\"duration\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"57\":{\"top\":3470,\"left\":6295,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"cc9f1267-bc1a-4ed2-bc34-61d92265c8d6\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"cmd_ffmpeg_output\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"-t {node.result.4ce0ce0b-2416-4404-bdb1-0740af0a3159} -c copy -map 0 -timecode {stream.variable.startTimecode} -avoid_negative_ts make_zero -y \"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"58\":{\"top\":3210,\"left\":6740,\"properties\":{\"description\":\"Will render a file with FFmpeg. Node result will be the destination file path\",\"title\":\"Job Render With FFmpeg Action\",\"nodeUUID\":\"c64db2bb-8918-4bf7-a172-ee28c7cb9603\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.job.JobFFMPEGRenderActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"FFmpeg path\":{\"type\":\"STRING\",\"description\":\"Full path of FFmpeg executable\",\"variableName\":\"ffmpegPath\",\"placeholder\":\"/usr/local/bin/ffmpeg\",\"values\":[\"/usr/local/bin/ffmpeg\"],\"value\":\"/usr/local/bin/ffmpeg\"},\"Input parameters\":{\"type\":\"STRING\",\"description\":\"Parameters to be used before the input file\",\"variableName\":\"inputParameters\",\"value\":\"{stream.variable.cmd_ffmpeg_input}\"},\"Input file\":{\"type\":\"STRING\",\"description\":\"Input file path (incl. name and extension)\",\"variableName\":\"sourceFile\",\"placeholder\":\"{job.source}\",\"values\":[\"{job.source}\"],\"value\":\"{path.map.to.unix.{job.source}}\"},\"Output parameters\":{\"type\":\"STRING\",\"description\":\"Parameters to be used for the output file\",\"variableName\":\"outputParameters\",\"value\":\"{stream.variable.cmd_ffmpeg_output}\"},\"Destination file\":{\"type\":\"STRING\",\"description\":\"Output file path (incl. name and extension)\",\"variableName\":\"destinationFile\",\"placeholder\":\"H:\\\\Destination_Folder_Name\\\\my_file.mxf\",\"value\":\"{stream.variable.output_file}\"},\"Timeout\":{\"type\":\"INTEGER\",\"description\":\"Timeout how long the Node should wait before it fails in seconds\",\"variableName\":\"timeout\",\"placeholder\":\"3600 (one hour)\",\"values\":[\"3600\"],\"value\":\"1000\"},\"Render message\":{\"type\":\"STRING\",\"description\":\"Dashboard message displayed during export process\",\"variableName\":\"renderMsg\",\"placeholder\":\"Rendering with FFmpeg as user '{user.name}'\",\"values\":[\"Rendering with FFmpeg as user '{user.name}'\"],\"value\":\"Rendering Growing FFmpeg '{job.name}'\"},\"Render done message\":{\"type\":\"STRING\",\"description\":\"Dashboard message displayed after export process\",\"variableName\":\"renderDoneMsg\",\"placeholder\":\"Rendering with FFmpeg as user '{user.name}' has been successful.\",\"values\":[\"Rendering with FFmpeg as user '{user.name}' has been successful\"],\"value\":\"Rendering FFmpeg '{job.name}' has been successful\"}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"60\":{\"top\":40,\"left\":1230,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"08da0cda-c5a7-45c4-8551-f9a30190ddd7\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"output_file\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"{path.map.to.unix.{job.destination}}\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"61\":{\"top\":290,\"left\":1235,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"7baabe2e-73fc-4fc6-9727-fd9aa081d458\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"final_asset_path\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\"{path.parent.{stream.variable.output_file}}\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"62\":{\"top\":40,\"left\":1635,\"properties\":{\"description\":\"Will check if one or more folders exist\",\"title\":\"Folder Exists Condition\",\"nodeUUID\":\"8f9589e2-e080-4ba6-ae0a-dccfa952b6cb\",\"uncontained\":false,\"class\":\"nodes.conditions.folder.FolderMultipleExistsConditionImpl\",\"className\":\"conditionNode\",\"parameter\":{\"Condition\":{\"type\":\"ENUM\",\"variableName\":\"conditionType\",\"values\":[\"DOES_EXIST\",\"DOES_NOT_EXIST\"],\"value\":\"DOES_EXIST\"},\"Folderpath\":{\"type\":\"ARRAY_STRING\",\"description\":\"Path to the folder to be checked\",\"variableName\":\"folderPaths\",\"placeholder\":\"H:\\\\check_that_folder\",\"value\":[\"{stream.variable.final_asset_path}\"]}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"63\":{\"top\":290,\"left\":1635,\"properties\":{\"description\":\"Will create one or more folders\",\"title\":\"Folder Create Action V2\",\"nodeUUID\":\"b09934f6-7985-4b1a-b7d6-d883e9b8600d\",\"uncontained\":false,\"class\":\"nodes.actions.create.FolderMultipleCreateActionImplV2\",\"className\":\"actionNode\",\"parameter\":{\"Folder path\":{\"type\":\"ARRAY_STRING\",\"description\":\"Path and name of the folder to be created\",\"variableName\":\"folderPaths\",\"placeholder\":\"H:\\\\New_Folder_Name\",\"value\":[\"{stream.variable.final_asset_path}\"]},\"If new folder exists\":{\"type\":\"ENUM\",\"description\":\"Defines conflict rule in case folder already exists\",\"variableName\":\"conflictRule\",\"values\":[\"FAIL\",\"SKIP\",\"DELETE_EXISTING\",\"RENAME_EXISTING\"],\"value\":\"SKIP\"}},\"globalParameter\":{\"Async\":{\"type\":\"BOOLEAN\",\"variableName\":\"async\",\"value\":false}},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"64\":{\"top\":320,\"left\":2005,\"properties\":{\"description\":\"Will always fail\",\"title\":\"Fail Action\",\"nodeUUID\":\"7471bcda-678b-4534-b551-386b71eb2dd5\",\"uncontained\":false,\"class\":\"nodes.actions.general.FailActionWithMessageImpl\",\"className\":\"actionNode\",\"parameter\":{\"Message\":{\"type\":\"STRING\",\"description\":\"Optional error message to return\",\"variableName\":\"msg\",\"value\":\"Finaler Asset Folder konnte nicht erzeugt werden.\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"65\":{\"top\":2855,\"left\":3850,\"properties\":{\"description\":\"Will set a temporary custom stream variable\",\"title\":\"Stream Set Temporary Variable Action\",\"nodeUUID\":\"3df15341-8430-454a-9613-14064ab70fc9\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Variable name\":{\"type\":\"STRING\",\"description\":\"Name of the temporary variable to be set\",\"variableName\":\"variableName\",\"placeholder\":\"my_variable\",\"value\":\"bmx_command\"},\"Variable value\":{\"type\":\"STRING\",\"description\":\"Name of the value to be used for the temporary variable\",\"variableName\":\"variableValue\",\"placeholder\":\"my_value_name\",\"value\":\" -t op1a -p --ard-zdf-hdf --gf --gf-retries 10 --gf-delay 2.0 -o \\\"{stream.variable.output_file}\\\" \\\"{path.map.to.unix.{job.source}}\\\" \"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"66\":{\"top\":255,\"left\":3935,\"properties\":{\"description\":\"Will set a job's status\",\"title\":\"Job Status Update Action\",\"nodeUUID\":\"055fb3fb-035e-43c2-a58d-6b10dd2aedf7\",\"uncontained\":false,\"class\":\"nodes.actions.helmut.job.JobStatusUpdateActionImpl\",\"className\":\"actionNode\",\"parameter\":{\"Status\":{\"type\":\"ENUM\",\"description\":\"Changes the status in the dashboard to the desired state. 'Queued' restarts the job\",\"variableName\":\"status\",\"values\":[\"QUEUED\",\"RUNNING\",\"SUCCESSFUL\",\"FAILED\"],\"value\":\"RUNNING\"},\"Message\":{\"type\":\"STRING\",\"description\":\"Dashboard message to be shown\",\"variableName\":\"msg\",\"placeholder\":\"This is a new message for the dashboard defined by {user.name}\",\"value\":\"BMXTransWrap - Cliptransfer - {job.source}\"},\"Progress\":{\"type\":\"INTEGER\",\"description\":\"Status of the progress circle in the dashboard\",\"variableName\":\"progress\",\"placeholder\":\"If set to '-1', the spinner turns until status changes again\",\"values\":[\"100\"],\"value\":\"50\"}},\"globalParameter\":{},\"inputs\":{\"trigger\":{\"label\":\"Trigger\"}},\"outputs\":{\"success\":{\"label\":\"Success\"},\"failed\":{\"label\":\"Fail\"}}}},\"startNode\":{\"left\":80,\"properties\":{\"class\":\"streamEvent\",\"className\":\"eventNode\",\"inputs\":{},\"outputs\":{\"trigger\":{\"label\":\"Trigger\"},\"failed\":{\"label\":\"Failed\"}},\"parameter\":{\"Event\":{\"type\":\"ENUM\",\"value\":\"WATCHFOLDER\",\"values\":[\"ADDED_ASSET\",\"ARCHIVE\",\"AUTOIMPORT\",\"BACKUP\",\"CONNECTED\",\"CONSOLIDATE\",\"COPY\",\"CREATE_CATEGORY\",\"CREATE_GROUP\",\"CREATE_PROJECT\",\"CREATE_USER\",\"CUSTOM_CO\",\"CUSTOM_FX\",\"CUSTOM_IO\",\"CUSTOM_USER\",\"DELETE\",\"DELETE_CATEGORY\",\"DELETE_GROUP\",\"DELETE_PROJECT\",\"DELETE_TEMPLATE\",\"DELETE_USER\",\"DISCONNECTED\",\"DUPLICATE_PROJECT\",\"EDIT_PROJECT\",\"EXPORT\",\"IMPORT\",\"IMPORT_PROJECT\",\"INDEXED_ASSET\",\"INDEXED_PROJECT\",\"MOVE\",\"OPEN_PROJECT\",\"PANEL_IMPORT\",\"POST_CREATE_PROJECT\",\"PRESTREAM\",\"RESTORE\",\"RESTORE_SAVE\",\"UNASSIGNED\",\"UNINDEXED_ASSET\",\"UNLOCK_PROJECT\",\"UPLOAD_TEMPLATE\",\"WATCHFOLDER\",\"WEB_EXPORT\",\"WEB_IMPORT\",\"WEB_UPLOAD\"],\"variableName\":\"streamEvent\"},\"Host\":{\"type\":\"ENUM\",\"value\":\"CLIENT\",\"values\":[\"SERVER\",\"CLIENT\"],\"variableName\":\"streamHost\"}},\"title\":\"Event trigger: ESP Transfer Hires - MCS\",\"uncontained\":false,\"nodeUUID\":\"b4c29e71-769a-49b0-8b8a-b62ab7532931\"},\"top\":40}},\"links\":{\"0\":{\"fromOperator\":\"57\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"3\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"1\":{\"fromOperator\":3,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"50\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"2\":{\"fromOperator\":\"1\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":2,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"3\":{\"fromOperator\":\"63\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"1\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"4\":{\"fromOperator\":\"49\",\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":4,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"5\":{\"fromOperator\":4,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"47\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"6\":{\"fromOperator\":\"56\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":54,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"7\":{\"fromOperator\":18,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":0,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"8\":{\"fromOperator\":\"38\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":14,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"9\":{\"fromOperator\":\"46\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":8,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"10\":{\"fromOperator\":\"52\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":11,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"13\":{\"fromOperator\":\"1\",\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":46,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"14\":{\"fromOperator\":\"52\",\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":11,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"15\":{\"fromOperator\":8,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":66,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"16\":{\"fromOperator\":8,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"47\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"20\":{\"fromOperator\":11,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":12,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"21\":{\"fromOperator\":11,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":12,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"22\":{\"fromOperator\":12,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":51,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"23\":{\"fromOperator\":\"0\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"60\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"24\":{\"fromOperator\":\"startNode\",\"fromConnector\":\"trigger\",\"fromSubConnector\":0,\"toOperator\":\"18\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"25\":{\"fromOperator\":\"33\",\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":24,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"28\":{\"fromOperator\":\"4\",\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":13,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"29\":{\"fromOperator\":13,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"52\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"30\":{\"fromOperator\":13,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":\"52\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"33\":{\"fromOperator\":15,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":16,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"35\":{\"fromOperator\":15,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":17,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"37\":{\"fromOperator\":\"33\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":38,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"39\":{\"fromOperator\":19,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"16\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"40\":{\"fromOperator\":19,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":\"17\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"42\":{\"fromOperator\":21,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"19\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"43\":{\"fromOperator\":21,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":\"19\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"44\":{\"fromOperator\":32,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":33,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"46\":{\"fromOperator\":\"46\",\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":48,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"54\":{\"fromOperator\":48,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":49,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"55\":{\"fromOperator\":48,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":49,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"56\":{\"fromOperator\":49,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":47,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"57\":{\"fromOperator\":24,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":25,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"58\":{\"fromOperator\":24,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":25,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"59\":{\"fromOperator\":54,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":57,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"60\":{\"fromOperator\":25,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"34\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"61\":{\"fromOperator\":25,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":\"34\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"62\":{\"fromOperator\":\"14\",\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":26,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"64\":{\"fromOperator\":51,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":53,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"65\":{\"fromOperator\":53,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":55,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"66\":{\"fromOperator\":55,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":56,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"67\":{\"fromOperator\":58,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"50\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"68\":{\"fromOperator\":\"14\",\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":27,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"69\":{\"fromOperator\":26,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":28,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"70\":{\"fromOperator\":60,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":61,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"71\":{\"fromOperator\":61,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":62,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"72\":{\"fromOperator\":63,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":64,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"73\":{\"fromOperator\":62,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":63,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"74\":{\"fromOperator\":62,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"1\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"75\":{\"fromOperator\":64,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":\"1\",\"toConnector\":\"trigger\",\"toSubConnector\":0},\"76\":{\"fromOperator\":26,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":27,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"77\":{\"fromOperator\":47,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":65,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"78\":{\"fromOperator\":65,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":33,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"80\":{\"fromOperator\":66,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":32,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"82\":{\"fromOperator\":28,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":35,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"83\":{\"fromOperator\":28,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":27,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"84\":{\"fromOperator\":20,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":29,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"85\":{\"fromOperator\":20,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":29,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"86\":{\"fromOperator\":29,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":21,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"87\":{\"fromOperator\":29,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":19,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"88\":{\"fromOperator\":27,\"fromConnector\":\"success\",\"fromSubConnector\":0,\"toOperator\":20,\"toConnector\":\"trigger\",\"toSubConnector\":0},\"89\":{\"fromOperator\":27,\"fromConnector\":\"failed\",\"fromSubConnector\":0,\"toOperator\":20,\"toConnector\":\"trigger\",\"toSubConnector\":0}},\"operatorTypes\":{},\"grid\":{\"height\":9000,\"width\":16000}}",
"deprecated": false,
"nodeList": [
{
"class": "nodes.actions.metadata.MetadataAutoMapperActionImpl",
"deprecated": false,
"properties": {
"nodeUUID": "5462795a-928d-472f-8f8c-90a00ccf777d",
"successNodeUUID": "08da0cda-c5a7-45c4-8551-f9a30190ddd7"
}
},
{
"class": "nodes.actions.general.SplitStreamActionImpl",
"deprecated": false,
"properties": {
"nodeUUID": "b25ddad9-ece5-4115-b52d-81da56a2a376",
"failedNodeUUID": "b0ce7aad-1a09-482d-9153-f7ba111c2d3a",
"successNodeUUID": "c6ced58f-8b61-47a2-b279-89afe696310d"
}
},
{
"class": "nodes.actions.general.SleepActionImpl",
"deprecated": false,
"properties": {
"ms": 150,
"nodeUUID": "c6ced58f-8b61-47a2-b279-89afe696310d"
}
},
{
"class": "nodes.actions.execute.ExecuteProcessActionImplV2",
"deprecated": false,
"properties": {
"cmd": "/usr/local/bin/ffmpeg {stream.variable.cmd_ffmpeg_input} -i {path.map.to.unix.{job.source}} {stream.variable.cmd_ffmpeg_output} {stream.variable.output_file} -y",
"nodeUUID": "e33915ec-42d5-4686-af3a-64128c9eb9d1",
"successNodeUUID": "df25a2bd-7c25-4975-a0b7-27dd03109076"
}
},
{
"class": "nodes.conditions.general.WildcardMultipleConditionImplV3",
"deprecated": false,
"properties": {
"conditionType": "IS_EQUAL",
"allOne": "ALL",
"against": "{stream.variable.inPoint}",
"source": [
"0"
],
"nodeUUID": "de436b19-d8ae-4327-ba60-a199bda899e4",
"failedNodeUUID": "92dd50bc-a1b5-4fc2-992e-ca854056f05a",
"successNodeUUID": "e34a1d3c-c67d-477d-bd6e-cc26bf55ace9"
}
},
{
"class": "nodes.conditions.general.WildcardMultipleConditionImplV3",
"deprecated": false,
"properties": {
"conditionType": "IS_EQUAL",
"allOne": "ONE",
"against": "{stream.variable.duration}",
"source": [
"0"
],
"nodeUUID": "7a3987de-2fa5-463d-95f6-d69d5326628b",
"failedNodeUUID": "055fb3fb-035e-43c2-a58d-6b10dd2aedf7",
"successNodeUUID": "e34a1d3c-c67d-477d-bd6e-cc26bf55ace9"
}
},
{
"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"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "startTimecode",
"variableValue": "{node.result.b1ca4d82-a52d-418b-9f53-60c110d9c243}",
"nodeUUID": "849d7a9c-ef69-46fd-b81a-a5333dd0c8f4",
"successNodeUUID": "0408ca7d-f9e9-4772-8cc5-338bd30bed8f"
}
},
{
"class": "nodes.actions.helmut.job.JobStatusUpdateActionImpl",
"deprecated": false,
"properties": {
"status": "RUNNING",
"msg": "FFMPEGF - Anwachsend - {job.source}",
"progress": 50,
"nodeUUID": "92dd50bc-a1b5-4fc2-992e-ca854056f05a",
"failedNodeUUID": "b4985d27-068b-4346-b3f6-d4473324de86",
"successNodeUUID": "b4985d27-068b-4346-b3f6-d4473324de86"
}
},
{
"class": "nodes.conditions.general.WildcardMultipleConditionImplV3",
"deprecated": false,
"properties": {
"conditionType": "CONTAINS_NOT",
"allOne": "ALL",
"against": "{stream.variable.result}",
"source": [
"Warning: First frame in AVC-Intra track does not have sequence and picture parameter"
],
"nodeUUID": "ebd43982-7613-4afc-b6f9-92a058357ff3",
"failedNodeUUID": "309f50b6-5051-4814-af1b-3a36e713ce7e",
"successNodeUUID": "e9ba310a-a325-4bf5-afd6-3166147bf7ec"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "cmd_ffmpeg_cmd",
"variableValue": "ffmpeg -copyts -i \"{path.map.to.unix.{job.source}}\" -c:v libx264 -pix_fmt yuv422p10le -profile:v high10int -x264opts avcintra-class=100:interlaced=1:force-cfr=1 -r 25 -g 1 -sc_threshold 0 -c:a pcm_s24le -ar 48000 -map 0:v -map 0:a -f mxf -mxf_audio_edit_rate 25/1 \"{stream.variable.output_file}\"",
"nodeUUID": "0e545c33-a8d7-4393-99b6-a127d7a4be96",
"failedNodeUUID": "ec47dbaf-c936-4f1b-99df-5459d1bb6633",
"successNodeUUID": "64f1241d-cc8b-445f-901e-3bbf201c1c5a"
}
},
{
"class": "nodes.actions.helmut.job.JobStatusUpdateActionImpl",
"deprecated": false,
"properties": {
"status": "SUCCESSFUL",
"msg": "RAW-COPY-Workaround succesful: \"{stream.variable.output_file}\" ",
"progress": 100,
"nodeUUID": "64f1241d-cc8b-445f-901e-3bbf201c1c5a"
}
},
{
"class": "nodes.actions.helmut.job.JobStatusUpdateActionImpl",
"deprecated": false,
"properties": {
"status": "FAILED",
"msg": "RAW-Workaround fehlgeschlagen: \"{stream.variable.output_file}\" ",
"progress": 80,
"nodeUUID": "ec47dbaf-c936-4f1b-99df-5459d1bb6633"
}
},
{
"class": "nodes.actions.helmut.job.JobStatusUpdateActionImpl",
"deprecated": false,
"properties": {
"status": "RUNNING",
"msg": "HiresDatei wird erstellt ... Init BMX_Transfer",
"progress": -1,
"nodeUUID": "a6357dfe-5e22-46fd-a9cb-0c5bbb5548e4",
"successNodeUUID": "5462795a-928d-472f-8f8c-90a00ccf777d"
}
},
{
"class": "nodes.actions.helmut.job.JobFileCopyWithOptionsActionV2",
"deprecated": false,
"properties": {
"filePath": "{path.map.to.unix.{job.source}}",
"newFilePath": "{stream.variable.output_file}",
"copyMsg": "Copying as user '{user.name}'",
"copyDoneMsg": "Copying as user '{user.name}' has been successful",
"conflictRule": "SKIP",
"nodeUUID": "d524f067-c341-454b-bcd3-503a0772d547",
"failedNodeUUID": "ec47dbaf-c936-4f1b-99df-5459d1bb6633",
"successNodeUUID": "64f1241d-cc8b-445f-901e-3bbf201c1c5a"
}
},
{
"class": "nodes.actions.general.SleepActionImpl",
"deprecated": false,
"properties": {
"ms": 500,
"nodeUUID": "5c88b357-0df6-4a20-bfd0-4337de2ff9e8",
"failedNodeUUID": "ba7404e8-5dbb-49de-8b8a-50e030346abd",
"successNodeUUID": "ba7404e8-5dbb-49de-8b8a-50e030346abd"
}
},
{
"class": "nodes.actions.delete.FileMultipleDeleteActionImpl",
"deprecated": false,
"properties": {
"filePaths": [
"{stream.variable.output_file}"
],
"nodeUUID": "7e449d04-fe9e-4293-9f85-3055b81d812c",
"failedNodeUUID": "d524f067-c341-454b-bcd3-503a0772d547",
"successNodeUUID": "d524f067-c341-454b-bcd3-503a0772d547"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "result",
"variableValue": "{stream.last_result}",
"nodeUUID": "6f0d61c9-df7d-43cd-8aba-ac19e7edc60e",
"failedNodeUUID": "9d84b08b-d797-4b22-b22e-3e900221134f",
"successNodeUUID": "9d84b08b-d797-4b22-b22e-3e900221134f"
}
},
{
"class": "nodes.outputs.FileOutput",
"deprecated": false,
"properties": {
"filePath": "{helmut.variable.esp_log_path}/fehler_importpanel_bmxtransfer/{date.shortyear}{date.month}{date.day}_{job.name}.txt",
"msg": "{stream.variable.result}",
"append": true,
"threshold": "ALL",
"nodeUUID": "9d84b08b-d797-4b22-b22e-3e900221134f",
"failedNodeUUID": "ce25e923-9ea2-4a5e-a7cd-4e766b50a86d",
"successNodeUUID": "ce25e923-9ea2-4a5e-a7cd-4e766b50a86d"
}
},
{
"class": "nodes.conditions.general.WildcardMultipleConditionImplV3",
"deprecated": false,
"properties": {
"conditionType": "CONTAINS_NOT",
"allOne": "ALL",
"against": "{stream.variable.result}",
"source": [
"ERROR: Missing MCA group of soundfield groups label"
],
"nodeUUID": "e9ba310a-a325-4bf5-afd6-3166147bf7ec",
"failedNodeUUID": "309f50b6-5051-4814-af1b-3a36e713ce7e",
"successNodeUUID": "0e3f1275-9028-43a8-aca4-1239984b68a5"
}
},
{
"class": "nodes.outputs.FileOutput",
"deprecated": false,
"properties": {
"filePath": "{helmut.variable.esp_log_path}/fehler_importpanel_bmxtransfer/{date.shortyear}{date.month}{date.day}_{job.name}.txt",
"msg": "{stream.variable.result}",
"append": true,
"threshold": "ALL",
"nodeUUID": "309f50b6-5051-4814-af1b-3a36e713ce7e",
"failedNodeUUID": "5c88b357-0df6-4a20-bfd0-4337de2ff9e8",
"successNodeUUID": "5c88b357-0df6-4a20-bfd0-4337de2ff9e8"
}
},
{
"class": "nodes.conditions.general.WildcardMultipleConditionImplV3",
"deprecated": false,
"properties": {
"conditionType": "CONTAINS_NOT",
"allOne": "ALL",
"against": "{stream.variable.result}",
"source": [
"ERROR:"
],
"nodeUUID": "0e3f1275-9028-43a8-aca4-1239984b68a5",
"failedNodeUUID": "309f50b6-5051-4814-af1b-3a36e713ce7e",
"successNodeUUID": "49efdd91-f867-4fd6-8c71-e60a1edd5dab"
}
},
{
"class": "nodes.conditions.file.FileMultipleExistsConditionImpl",
"deprecated": false,
"properties": {
"conditionType": "DOES_EXIST",
"filePaths": [
"{stream.variable.output_file}"
],
"nodeUUID": "ba7404e8-5dbb-49de-8b8a-50e030346abd",
"failedNodeUUID": "d524f067-c341-454b-bcd3-503a0772d547",
"successNodeUUID": "7e449d04-fe9e-4293-9f85-3055b81d812c"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "bmx_command",
"variableValue": " -t op1a -p --ard-zdf-hdf --gf --ps-avcihead --start {stream.variable.inPoint} --dur {stream.variable.duration} -o \"{stream.variable.output_file}\" \"{path.map.to.unix.{job.source}}\" ",
"nodeUUID": "e087f21a-ae1a-4c27-b78b-b0850d7dbb2c",
"successNodeUUID": "98656bbf-6d84-4143-984d-f853789dc314"
}
},
{
"class": "nodes.actions.execute.BashExecuteActionImpl",
"deprecated": false,
"properties": {
"cmd": "/usr/local/bin/bmxtranswrap {stream.variable.bmx_command}",
"nodeUUID": "98656bbf-6d84-4143-984d-f853789dc314",
"failedNodeUUID": "6f0d61c9-df7d-43cd-8aba-ac19e7edc60e",
"successNodeUUID": "29a083da-cd99-4b7b-a2b5-935aa1f42ba7"
}
},
{
"class": "nodes.actions.helmut.job.JobStatusUpdateActionImpl",
"deprecated": false,
"properties": {
"status": "FAILED",
"msg": "BMXTransWrap failed: {job.name} - {job.source}",
"progress": 50,
"nodeUUID": "ce25e923-9ea2-4a5e-a7cd-4e766b50a86d"
}
},
{
"class": "nodes.actions.helmut.job.JobStatusUpdateActionImpl",
"deprecated": false,
"properties": {
"status": "SUCCESSFUL",
"msg": "BMXTransWrap succesful: \"{stream.variable.output_file}\" ",
"progress": 100,
"nodeUUID": "49efdd91-f867-4fd6-8c71-e60a1edd5dab"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "result",
"variableValue": "{stream.last_result}",
"nodeUUID": "29a083da-cd99-4b7b-a2b5-935aa1f42ba7",
"successNodeUUID": "ebd43982-7613-4afc-b6f9-92a058357ff3"
}
},
{
"class": "nodes.conditions.general.WildcardMultipleConditionImplV3",
"deprecated": false,
"properties": {
"conditionType": "IS_NOT",
"allOne": "ONE",
"against": "{stream.variable.growing}",
"source": [
"true"
],
"nodeUUID": "b0ce7aad-1a09-482d-9153-f7ba111c2d3a",
"failedNodeUUID": "21b4a329-6a6d-497d-88ac-6b880be434e2",
"successNodeUUID": "7a3987de-2fa5-463d-95f6-d69d5326628b"
}
},
{
"class": "nodes.actions.helmut.job.JobStatusUpdateActionImpl",
"deprecated": false,
"properties": {
"status": "RUNNING",
"msg": "BMXTransWrap - offenes Ende - {job.source}",
"progress": 50,
"nodeUUID": "e34a1d3c-c67d-477d-bd6e-cc26bf55ace9",
"successNodeUUID": "3df15341-8430-454a-9613-14064ab70fc9"
}
},
{
"class": "nodes.outputs.FileOutput",
"deprecated": false,
"properties": {
"filePath": "/Volumes/esp-media/Temp/Log_Phil.txt",
"msg": "{job.source} | {job.destination} | {stream.variable.inPoint} | {stream.variable.duration} |{stream.variable.growing} ",
"append": true,
"threshold": "ALL",
"nodeUUID": "21b4a329-6a6d-497d-88ac-6b880be434e2",
"failedNodeUUID": "2a6013dd-98bf-4caa-bbda-02951210507d",
"successNodeUUID": "2a6013dd-98bf-4caa-bbda-02951210507d"
}
},
{
"class": "nodes.conditions.general.WildcardMultipleConditionImplV3",
"deprecated": false,
"properties": {
"conditionType": "IS_EQUAL",
"allOne": "ONE",
"against": "{stream.variable.duration}",
"source": [
"0"
],
"nodeUUID": "2a6013dd-98bf-4caa-bbda-02951210507d",
"failedNodeUUID": "de436b19-d8ae-4327-ba60-a199bda899e4",
"successNodeUUID": "e34a1d3c-c67d-477d-bd6e-cc26bf55ace9"
}
},
{
"class": "nodes.actions.helmut.job.JobStatusUpdateActionImpl",
"deprecated": false,
"properties": {
"status": "SUCCESSFUL",
"msg": "FFMPEG Mark IN + OUT",
"progress": 100,
"nodeUUID": "df25a2bd-7c25-4975-a0b7-27dd03109076"
}
},
{
"class": "nodes.actions.execute.JavascriptExecuteActionImpl",
"deprecated": false,
"properties": {
"cmd": "function framesToTimecode(frameCount, fps) {\n\n if (isNaN(frameCount) || isNaN(fps) || fps <= 0) {\n return \"00:00:00.000\";\n }\n\n var totalSeconds = frameCount / fps;\n var hours = Math.floor(totalSeconds / 3600);\n var minutes = Math.floor((totalSeconds [<]%[>] 3600) / 60);\n var seconds = Math.floor(totalSeconds [<]%[>] 60);\n var milliseconds = Math.round((totalSeconds [<]%[>] 1) * 1000);\n\n function pad(num, size) {\n size = size || 2;\n num = num + \"\";\n while (num.length < size) num = \"0\" + num;\n return num;\n }\n\n return pad(hours) + \":\" + pad(minutes) + \":\" + pad(seconds) + \".\" + pad(milliseconds, 3);\n}\n\nvar fps = Number('{stream.variable.FramesPerSecond}');\n\nvar startframes = parseInt( '{stream.variable.inPoint}');\nvar duration = parseInt( '{stream.variable.duration}');\n\nduration = duration + 3;\n\nvar szeit = framesToTimecode(startframes, fps);\nvar dur = framesToTimecode(duration, fps);\n\nvar result = {};\n\nresult.starttime = szeit;\nresult.duration = dur;\n\nvar jresult = JSON.stringify(result);\njresult",
"nodeUUID": "0408ca7d-f9e9-4772-8cc5-338bd30bed8f",
"successNodeUUID": "9be8785d-ba3a-4013-b884-a76bf1e5c8b4"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "FramesPerSecond",
"variableValue": "{stream.variable.fps}",
"nodeUUID": "b4985d27-068b-4346-b3f6-d4473324de86",
"failedNodeUUID": "b1ca4d82-a52d-418b-9f53-60c110d9c243",
"successNodeUUID": "b1ca4d82-a52d-418b-9f53-60c110d9c243"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "JsonResult",
"variableValue": "{node.result.0408ca7d-f9e9-4772-8cc5-338bd30bed8f}",
"nodeUUID": "9be8785d-ba3a-4013-b884-a76bf1e5c8b4",
"successNodeUUID": "4724a6e2-1ec4-48a8-84de-bf5940b85755"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "cmd_ffmpeg_input",
"variableValue": "-ss {node.result.4724a6e2-1ec4-48a8-84de-bf5940b85755}",
"nodeUUID": "dde5b7f6-afaf-4a05-9a65-6bfb837acda8",
"successNodeUUID": "cc9f1267-bc1a-4ed2-bc34-61d92265c8d6"
}
},
{
"class": "nodes.actions.general.JsonExtractActionV2",
"deprecated": false,
"properties": {
"payload": "{node.result.0408ca7d-f9e9-4772-8cc5-338bd30bed8f}",
"path": "starttime",
"nodeUUID": "4724a6e2-1ec4-48a8-84de-bf5940b85755",
"successNodeUUID": "4ce0ce0b-2416-4404-bdb1-0740af0a3159"
}
},
{
"class": "nodes.actions.general.JsonExtractActionV2",
"deprecated": false,
"properties": {
"payload": "{node.result.0408ca7d-f9e9-4772-8cc5-338bd30bed8f}",
"path": "duration",
"nodeUUID": "4ce0ce0b-2416-4404-bdb1-0740af0a3159",
"successNodeUUID": "dde5b7f6-afaf-4a05-9a65-6bfb837acda8"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "cmd_ffmpeg_output",
"variableValue": "-t {node.result.4ce0ce0b-2416-4404-bdb1-0740af0a3159} -c copy -map 0 -timecode {stream.variable.startTimecode} -avoid_negative_ts make_zero -y ",
"nodeUUID": "cc9f1267-bc1a-4ed2-bc34-61d92265c8d6",
"successNodeUUID": "e33915ec-42d5-4686-af3a-64128c9eb9d1"
}
},
{
"class": "nodes.actions.helmut.job.JobFFMPEGRenderActionImpl",
"deprecated": false,
"properties": {
"ffmpegPath": "/usr/local/bin/ffmpeg",
"inputParameters": "{stream.variable.cmd_ffmpeg_input}",
"sourceFile": "{path.map.to.unix.{job.source}}",
"outputParameters": "{stream.variable.cmd_ffmpeg_output}",
"destinationFile": "{stream.variable.output_file}",
"timeout": 1000,
"renderMsg": "Rendering Growing FFmpeg '{job.name}'",
"renderDoneMsg": "Rendering FFmpeg '{job.name}' has been successful",
"nodeUUID": "c64db2bb-8918-4bf7-a172-ee28c7cb9603",
"successNodeUUID": "df25a2bd-7c25-4975-a0b7-27dd03109076"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "output_file",
"variableValue": "{path.map.to.unix.{job.destination}}",
"nodeUUID": "08da0cda-c5a7-45c4-8551-f9a30190ddd7",
"successNodeUUID": "7baabe2e-73fc-4fc6-9727-fd9aa081d458"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "final_asset_path",
"variableValue": "{path.parent.{stream.variable.output_file}}",
"nodeUUID": "7baabe2e-73fc-4fc6-9727-fd9aa081d458",
"successNodeUUID": "8f9589e2-e080-4ba6-ae0a-dccfa952b6cb"
}
},
{
"class": "nodes.conditions.folder.FolderMultipleExistsConditionImpl",
"deprecated": false,
"properties": {
"conditionType": "DOES_EXIST",
"folderPaths": [
"{stream.variable.final_asset_path}"
],
"nodeUUID": "8f9589e2-e080-4ba6-ae0a-dccfa952b6cb",
"failedNodeUUID": "b09934f6-7985-4b1a-b7d6-d883e9b8600d",
"successNodeUUID": "b25ddad9-ece5-4115-b52d-81da56a2a376"
}
},
{
"class": "nodes.actions.create.FolderMultipleCreateActionImplV2",
"deprecated": false,
"properties": {
"folderPaths": [
"{stream.variable.final_asset_path}"
],
"conflictRule": "SKIP",
"nodeUUID": "b09934f6-7985-4b1a-b7d6-d883e9b8600d",
"failedNodeUUID": "7471bcda-678b-4534-b551-386b71eb2dd5",
"successNodeUUID": "b25ddad9-ece5-4115-b52d-81da56a2a376"
}
},
{
"class": "nodes.actions.general.FailActionWithMessageImpl",
"deprecated": false,
"properties": {
"msg": "Finaler Asset Folder konnte nicht erzeugt werden.",
"nodeUUID": "7471bcda-678b-4534-b551-386b71eb2dd5",
"successNodeUUID": "b25ddad9-ece5-4115-b52d-81da56a2a376"
}
},
{
"class": "nodes.actions.helmut.stream.StreamSetTemporaryVariableActionImpl",
"deprecated": false,
"properties": {
"variableName": "bmx_command",
"variableValue": " -t op1a -p --ard-zdf-hdf --gf --gf-retries 10 --gf-delay 2.0 -o \"{stream.variable.output_file}\" \"{path.map.to.unix.{job.source}}\" ",
"nodeUUID": "3df15341-8430-454a-9613-14064ab70fc9",
"successNodeUUID": "98656bbf-6d84-4143-984d-f853789dc314"
}
},
{
"class": "nodes.actions.helmut.job.JobStatusUpdateActionImpl",
"deprecated": false,
"properties": {
"status": "RUNNING",
"msg": "BMXTransWrap - Cliptransfer - {job.source}",
"progress": 50,
"nodeUUID": "055fb3fb-035e-43c2-a58d-6b10dd2aedf7",
"successNodeUUID": "e087f21a-ae1a-4c27-b78b-b0850d7dbb2c"
}
}
]
}Findings im Stream
Warnungoffen
c64db2bb-8918-4bf7-a172-ee28c7cb9603
Node „JobFFMPEGRenderActionImpl“ in Stream „ESP Transfer Hires - MCS“ enthält 1 Fundstelle(n) mit hart codiertem Pfad oder fester Pfadbasis.
Pfad-Fundstellen (1)
/usr/local/bin/ffmpegnodeList.40.properties.ffmpegPath · Hart codierter Pfad
Die Pfadbasis zentral in einer Helmut- oder Store-Variable pflegen, z. B. {helmut.variable.MEDIA_ROOT}/Datei.mov.
Warnungoffen
98656bbf-6d84-4143-984d-f853789dc314
Node „BashExecuteActionImpl“ in Stream „ESP Transfer Hires - MCS“ enthält 1 Fundstelle(n) mit hart codiertem Pfad oder fester Pfadbasis.
Pfad-Fundstellen (1)
/usr/local/bin/bmxtranswrapnodeList.24.properties.cmd · Zeile 1 · Hart codierter Pfad
Die Pfadbasis zentral in einer Helmut- oder Store-Variable pflegen, z. B. {helmut.variable.MEDIA_ROOT}/Datei.mov.
Warnungoffen
e33915ec-42d5-4686-af3a-64128c9eb9d1
Node „ExecuteProcessActionImplV2“ in Stream „ESP Transfer Hires - MCS“ enthält 1 Fundstelle(n) mit hart codiertem Pfad oder fester Pfadbasis.
Pfad-Fundstellen (1)
/usr/local/bin/ffmpegnodeList.3.properties.cmd · Zeile 1 · Hart codierter Pfad
Die Pfadbasis zentral in einer Helmut- oder Store-Variable pflegen, z. B. {helmut.variable.MEDIA_ROOT}/Datei.mov.
Warnungoffen
21b4a329-6a6d-497d-88ac-6b880be434e2
Node „FileOutput“ in Stream „ESP Transfer Hires - MCS“ enthält 1 Fundstelle(n) mit hart codiertem Pfad oder fester Pfadbasis.
Pfad-Fundstellen (1)
/Volumes/esp-media/Temp/Log_Phil.txtnodeList.30.properties.filePath · Hart codierter Pfad
Die Pfadbasis zentral in einer Helmut- oder Store-Variable pflegen, z. B. {helmut.variable.MEDIA_ROOT}/Datei.mov.
offen
0e545c33-a8d7-4393-99b6-a127d7a4be96
Warnung
UNREACHABLE_NODE
Node ist vom Start aus über keine gespeicherte Laufzeitverbindung erreichbar.
Konkrete Verknüpfungen und Ablaufabsicht prüfen. Erreichbarkeit wird nur bei eindeutigem, vollständigem Laufzeitgraphen beurteilt; Rekursion und fehlende Fehlerpfade sind Prüfhinweise.
offen
c64db2bb-8918-4bf7-a172-ee28c7cb9603
Warnung
UNREACHABLE_NODE
Node ist vom Start aus über keine gespeicherte Laufzeitverbindung erreichbar.
Konkrete Verknüpfungen und Ablaufabsicht prüfen. Erreichbarkeit wird nur bei eindeutigem, vollständigem Laufzeitgraphen beurteilt; Rekursion und fehlende Fehlerpfade sind Prüfhinweise.
Stream-Details
- Extern-ID
- 6ac4ab348e43987cafa4e208
- Event
- WATCHFOLDER
- Nodes
- 48
- Deprecated-Warnung
- Nein
- Variablen
- 1