@norskvideo/norsk-studio-built-ins 1.6.2 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/client/info.js +250 -980
  2. package/client/processor.audioLevel/styles.css +164 -0
  3. package/client/processor.audioMixer/styles.css +249 -0
  4. package/lib/info.js +21 -27
  5. package/lib/info.js.map +1 -1
  6. package/lib/input.srt-caller/runtime.d.ts +2 -2
  7. package/lib/input.srt-caller/runtime.js +26 -2
  8. package/lib/input.srt-caller/runtime.js.map +1 -1
  9. package/lib/input.udp-ts/runtime.js +1 -13
  10. package/lib/input.udp-ts/runtime.js.map +1 -1
  11. package/lib/output.autoCmaf/runtime.js +29 -4
  12. package/lib/output.autoCmaf/runtime.js.map +1 -1
  13. package/lib/output.preview/runtime.d.ts +19 -3
  14. package/lib/output.preview/runtime.js +51 -25
  15. package/lib/output.preview/runtime.js.map +1 -1
  16. package/lib/output.rtmp/runtime.js +6 -2
  17. package/lib/output.rtmp/runtime.js.map +1 -1
  18. package/lib/processor.actionReplay/info.d.ts +5 -0
  19. package/lib/processor.actionReplay/info.js +100 -0
  20. package/lib/processor.actionReplay/info.js.map +1 -0
  21. package/lib/processor.actionReplay/runtime.d.ts +59 -0
  22. package/lib/processor.actionReplay/runtime.js +224 -0
  23. package/lib/processor.actionReplay/runtime.js.map +1 -0
  24. package/lib/processor.actionReplay/summary.d.ts +7 -0
  25. package/lib/processor.actionReplay/summary.js +76 -0
  26. package/lib/processor.actionReplay/summary.js.map +1 -0
  27. package/lib/processor.audioLevel/info.d.ts +3 -0
  28. package/lib/processor.audioLevel/info.js +83 -0
  29. package/lib/processor.audioLevel/info.js.map +1 -0
  30. package/lib/processor.audioLevel/inline-view.d.ts +6 -0
  31. package/lib/processor.audioLevel/inline-view.js +23 -0
  32. package/lib/processor.audioLevel/inline-view.js.map +1 -0
  33. package/lib/processor.audioLevel/runtime.d.ts +49 -0
  34. package/lib/processor.audioLevel/runtime.js +82 -0
  35. package/lib/processor.audioLevel/runtime.js.map +1 -0
  36. package/lib/processor.audioLevel/summary-view.d.ts +7 -0
  37. package/lib/processor.audioLevel/summary-view.js +36 -0
  38. package/lib/processor.audioLevel/summary-view.js.map +1 -0
  39. package/lib/processor.audioMixer/fullscreen-view.d.ts +8 -0
  40. package/lib/processor.audioMixer/fullscreen-view.js +121 -0
  41. package/lib/processor.audioMixer/fullscreen-view.js.map +1 -0
  42. package/lib/processor.audioMixer/info.d.ts +4 -0
  43. package/lib/processor.audioMixer/info.js +148 -0
  44. package/lib/processor.audioMixer/info.js.map +1 -0
  45. package/lib/processor.audioMixer/inline-view.d.ts +7 -0
  46. package/lib/processor.audioMixer/inline-view.js +43 -0
  47. package/lib/processor.audioMixer/inline-view.js.map +1 -0
  48. package/lib/processor.audioMixer/runtime.d.ts +119 -0
  49. package/lib/processor.audioMixer/runtime.js +142 -0
  50. package/lib/processor.audioMixer/runtime.js.map +1 -0
  51. package/lib/processor.audioMixer/summary-view.d.ts +7 -0
  52. package/lib/processor.audioMixer/summary-view.js +11 -0
  53. package/lib/processor.audioMixer/summary-view.js.map +1 -0
  54. package/lib/processor.browserOverlay/runtime.d.ts +11 -7
  55. package/lib/processor.browserOverlay/runtime.js +83 -78
  56. package/lib/processor.browserOverlay/runtime.js.map +1 -1
  57. package/lib/processor.dynamicBug/runtime.d.ts +7 -3
  58. package/lib/processor.dynamicBug/runtime.js +94 -64
  59. package/lib/processor.dynamicBug/runtime.js.map +1 -1
  60. package/lib/processor.dynamicBug/summary-view.d.ts +2 -6
  61. package/lib/processor.dynamicBug/summary-view.js.map +1 -1
  62. package/lib/processor.fixedLadder/info.d.ts +6 -1
  63. package/lib/processor.fixedLadder/info.js +6 -1
  64. package/lib/processor.fixedLadder/info.js.map +1 -1
  65. package/lib/processor.fixedLadder/newFile.d.ts +3 -0
  66. package/lib/processor.fixedLadder/newFile.js +145 -0
  67. package/lib/processor.fixedLadder/newFile.js.map +1 -0
  68. package/lib/processor.monetise/info.d.ts +3 -0
  69. package/lib/processor.monetise/info.js +90 -0
  70. package/lib/processor.monetise/info.js.map +1 -0
  71. package/lib/processor.monetise/runtime.d.ts +57 -0
  72. package/lib/processor.monetise/runtime.js +141 -0
  73. package/lib/processor.monetise/runtime.js.map +1 -0
  74. package/lib/processor.monetise/summary.d.ts +7 -0
  75. package/lib/processor.monetise/summary.js +39 -0
  76. package/lib/processor.monetise/summary.js.map +1 -0
  77. package/lib/test/audio-mixer.d.ts +0 -0
  78. package/lib/test/audio-mixer.js +2 -0
  79. package/lib/test/audio-mixer.js.map +1 -0
  80. package/lib/test/auto-cmaf.js +198 -6
  81. package/lib/test/auto-cmaf.js.map +1 -1
  82. package/lib/test/browser-overlay.js +53 -0
  83. package/lib/test/browser-overlay.js.map +1 -1
  84. package/lib/test/dynamic-bug.d.ts +1 -0
  85. package/lib/test/dynamic-bug.js +313 -0
  86. package/lib/test/dynamic-bug.js.map +1 -0
  87. package/lib/test/fixed-ladder.d.ts +1 -0
  88. package/lib/test/fixed-ladder.js +125 -0
  89. package/lib/test/fixed-ladder.js.map +1 -1
  90. package/lib/test/preview.d.ts +1 -0
  91. package/lib/test/preview.js +112 -0
  92. package/lib/test/preview.js.map +1 -0
  93. package/lib/test/rtmp-input.js +62 -31
  94. package/lib/test/rtmp-input.js.map +1 -1
  95. package/lib/test/rtmp-output.js +18 -4
  96. package/lib/test/rtmp-output.js.map +1 -1
  97. package/lib/test/srt-input-caller.js +50 -0
  98. package/lib/test/srt-input-caller.js.map +1 -1
  99. package/lib/test/whep-output.js +52 -5
  100. package/lib/test/whep-output.js.map +1 -1
  101. package/package.json +3 -7
package/client/info.js CHANGED
@@ -45,162 +45,6 @@ var require_jsx_runtime = __commonJS({
45
45
  }
46
46
  });
47
47
 
48
- // build/input.mediaconnect/flow-selection.js
49
- var flow_selection_exports = {};
50
- __export(flow_selection_exports, {
51
- default: () => flow_selection_default
52
- });
53
- function FlowSelection(props) {
54
- const [loading, setLoading] = (0, import_react.useState)(true);
55
- (0, import_react.useEffect)(() => {
56
- const fn = async () => {
57
- const result2 = await fetch("components/input.mediaconnect/flows");
58
- if (result2.ok && result2.body) {
59
- const flows2 = await result2.json();
60
- setFlows(flows2);
61
- setLoading(false);
62
- if (props.defaultValue)
63
- props.onChanged(props.defaultValue);
64
- } else {
65
- const text = await result2.text();
66
- throw new Error(text);
67
- }
68
- };
69
- fn().catch(console.error);
70
- }, []);
71
- const [flows, setFlows] = (0, import_react.useState)([]);
72
- if (loading) {
73
- return (0, import_jsx_runtime.jsx)("div", { children: "Loading.." });
74
- }
75
- if (flows.length == 0) {
76
- return (0, import_jsx_runtime.jsx)("div", { children: "No flows loaded" });
77
- }
78
- return (0, import_jsx_runtime.jsx)("div", { children: (0, import_jsx_runtime.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime.jsx)("option", { value: "", children: "---" }, "empty"), flows.map((o, i) => {
79
- const val = o.FlowArn;
80
- return (0, import_jsx_runtime.jsxs)("option", { value: val, children: ["-", o.Description] }, i);
81
- })] }) });
82
- function myOnChange(e) {
83
- props.onChanged(e.target.value);
84
- }
85
- }
86
- var import_jsx_runtime, import_react, flow_selection_default;
87
- var init_flow_selection = __esm({
88
- "build/input.mediaconnect/flow-selection.js"() {
89
- "use strict";
90
- import_jsx_runtime = __toESM(require_jsx_runtime());
91
- import_react = __toESM(require_react());
92
- flow_selection_default = FlowSelection;
93
- }
94
- });
95
-
96
- // build/input.mediaconnect/output-selection.js
97
- var output_selection_exports = {};
98
- __export(output_selection_exports, {
99
- default: () => output_selection_default
100
- });
101
- function OutputSelection(props) {
102
- const [loading, setLoading] = (0, import_react2.useState)(true);
103
- const [flow, setFlow] = (0, import_react2.useState)(void 0);
104
- (0, import_react2.useEffect)(() => {
105
- const fn = async () => {
106
- setLoading(true);
107
- if (props.latest.flowArn) {
108
- const result2 = await fetch("components/input.mediaconnect/flows/" + props.latest.flowArn);
109
- if (result2.ok && result2.body) {
110
- const flow2 = await result2.json();
111
- setFlow(flow2);
112
- setLoading(false);
113
- const firstOutput2 = flow2.Outputs?.[0]?.OutputArn;
114
- if (firstOutput2 && flow2.Outputs?.length == 1 && firstOutput2 !== props.defaultValue) {
115
- props.onChanged(firstOutput2);
116
- } else if (props.defaultValue) {
117
- props.onChanged(props.defaultValue);
118
- }
119
- } else {
120
- const text = await result2.text();
121
- throw new Error(text);
122
- }
123
- }
124
- };
125
- fn().catch(console.error);
126
- }, [props.latest.flowArn]);
127
- if (loading) {
128
- return (0, import_jsx_runtime2.jsx)("div", { children: "..." });
129
- }
130
- if (flow == void 0) {
131
- return (0, import_jsx_runtime2.jsx)("div", { children: "..." });
132
- }
133
- if (!flow.Outputs) {
134
- return (0, import_jsx_runtime2.jsx)("div", { children: "Flow has no outputs" });
135
- }
136
- const firstOutput = flow.Outputs?.[0]?.OutputArn;
137
- if (firstOutput && flow.Outputs.length == 1) {
138
- return (0, import_jsx_runtime2.jsxs)("div", { children: [flow.Outputs[0].ListenerAddress ?? "", ":", flow.Outputs[0].Port ?? 0] });
139
- }
140
- return (0, import_jsx_runtime2.jsx)("div", { children: (0, import_jsx_runtime2.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime2.jsx)("option", { value: "", children: "---" }, "empty"), flow.Outputs.map((o, i) => {
141
- const val = o.OutputArn;
142
- return (0, import_jsx_runtime2.jsxs)("option", { value: val, children: [o.Name, "-", o.Description] }, i);
143
- })] }) });
144
- function myOnChange(e) {
145
- props.onChanged(e.target.value);
146
- }
147
- }
148
- var import_jsx_runtime2, import_react2, output_selection_default;
149
- var init_output_selection = __esm({
150
- "build/input.mediaconnect/output-selection.js"() {
151
- "use strict";
152
- import_jsx_runtime2 = __toESM(require_jsx_runtime());
153
- import_react2 = __toESM(require_react());
154
- output_selection_default = OutputSelection;
155
- }
156
- });
157
-
158
- // build/input.mediaconnect/node-view.js
159
- var node_view_exports = {};
160
- __export(node_view_exports, {
161
- default: () => node_view_default
162
- });
163
- function NodeView(props) {
164
- const [loading, setLoading] = (0, import_react3.useState)(true);
165
- const [flow, setFlow] = (0, import_react3.useState)(void 0);
166
- (0, import_react3.useEffect)(() => {
167
- if (!props.node.config.flowArn)
168
- return;
169
- const fn = async () => {
170
- const result2 = await fetch("components/input.mediaconnect/flows/" + props.node.config.flowArn);
171
- if (result2.ok && result2.body) {
172
- const flow2 = await result2.json();
173
- setFlow(flow2);
174
- setLoading(false);
175
- } else {
176
- const text = await result2.text();
177
- throw new Error(text);
178
- }
179
- };
180
- fn().catch(console.error);
181
- }, [props.node.config.flowArn]);
182
- const output = flow?.Outputs?.find((o) => o.OutputArn == props.node.config.outputArn);
183
- if (loading) {
184
- return (0, import_jsx_runtime3.jsx)("div", { children: "..." });
185
- }
186
- if (!flow) {
187
- return (0, import_jsx_runtime3.jsx)("div", { children: "[Error: Failed to load flow]" });
188
- }
189
- if (!output) {
190
- return (0, import_jsx_runtime3.jsx)("div", { children: "[Error: Missing output on flow]" });
191
- }
192
- return (0, import_jsx_runtime3.jsxs)("div", { children: [(0, import_jsx_runtime3.jsxs)("div", { children: ["Name: ", flow.Name] }), (0, import_jsx_runtime3.jsxs)("div", { children: ["Description: ", flow.Description] }), (0, import_jsx_runtime3.jsxs)("div", { children: ["Protocol: ", output.Transport?.Protocol] }), (0, import_jsx_runtime3.jsxs)("div", { children: ["Address: ", output.ListenerAddress] }), (0, import_jsx_runtime3.jsxs)("div", { children: ["Port: ", output.Port] })] });
193
- }
194
- var import_jsx_runtime3, import_react3, node_view_default;
195
- var init_node_view = __esm({
196
- "build/input.mediaconnect/node-view.js"() {
197
- "use strict";
198
- import_jsx_runtime3 = __toESM(require_jsx_runtime());
199
- import_react3 = __toESM(require_react());
200
- node_view_default = NodeView;
201
- }
202
- });
203
-
204
48
  // build/input.rtmp/inline-view.js
205
49
  var inline_view_exports = {};
206
50
  __export(inline_view_exports, {
@@ -212,16 +56,16 @@ function InlineView({ state, config }) {
212
56
  if (state.connectedSources.length > maxSourceNum) {
213
57
  sourcesToRender.push("...");
214
58
  }
215
- const connectedSources = (0, import_jsx_runtime4.jsxs)("div", { className: "mt-2", children: [state.connectedSources.length > 0 ? (0, import_jsx_runtime4.jsx)("span", { children: "Connected sources" }) : (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, {}), (0, import_jsx_runtime4.jsx)("ul", { className: "rtmp-input-connected-sources", children: sourcesToRender.map((sourceName) => {
216
- return (0, import_jsx_runtime4.jsx)("li", { className: "text-green-300", children: sourceName }, sourceName);
59
+ const connectedSources = (0, import_jsx_runtime.jsxs)("div", { className: "mt-2", children: [state.connectedSources.length > 0 ? (0, import_jsx_runtime.jsx)("span", { children: "Connected sources" }) : (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {}), (0, import_jsx_runtime.jsx)("ul", { className: "rtmp-input-connected-sources", children: sourcesToRender.map((sourceName) => {
60
+ return (0, import_jsx_runtime.jsx)("li", { className: "text-green-300", children: sourceName }, sourceName);
217
61
  }) })] });
218
- return (0, import_jsx_runtime4.jsx)("div", { className: "rtmp-input", id: `rtmp-input-${config.id}`, children: connectedSources });
62
+ return (0, import_jsx_runtime.jsx)("div", { className: "rtmp-input", id: `rtmp-input-${config.id}`, children: connectedSources });
219
63
  }
220
- var import_jsx_runtime4, inline_view_default;
64
+ var import_jsx_runtime, inline_view_default;
221
65
  var init_inline_view = __esm({
222
66
  "build/input.rtmp/inline-view.js"() {
223
67
  "use strict";
224
- import_jsx_runtime4 = __toESM(require_jsx_runtime());
68
+ import_jsx_runtime = __toESM(require_jsx_runtime());
225
69
  inline_view_default = InlineView;
226
70
  }
227
71
  });
@@ -241,17 +85,17 @@ function SummaryView({ state, config }) {
241
85
  disconnectedSources.push(streamName);
242
86
  }
243
87
  });
244
- return (0, import_jsx_runtime5.jsxs)("div", { className: "dark:text-white text-black mb-3 w-60", children: [(0, import_jsx_runtime5.jsxs)("div", { id: "rtmp-sources-connected", children: [(0, import_jsx_runtime5.jsx)("span", { children: "Sources connected" }), (0, import_jsx_runtime5.jsx)("ul", { children: connectedSources.map((streamId) => {
245
- return (0, import_jsx_runtime5.jsx)("li", { className: "text-green-300", children: streamId });
246
- }) })] }), (0, import_jsx_runtime5.jsxs)("div", { id: "rtmp-sources-disconnected", className: "mt-3", children: [(0, import_jsx_runtime5.jsx)("span", { children: "Sources disconnected" }), (0, import_jsx_runtime5.jsx)("ul", { children: disconnectedSources.map((streamId) => {
247
- return (0, import_jsx_runtime5.jsx)("li", { className: "text-orange-300", children: streamId });
88
+ return (0, import_jsx_runtime2.jsxs)("div", { className: "dark:text-white text-black mb-3 w-60", children: [(0, import_jsx_runtime2.jsxs)("div", { id: "rtmp-sources-connected", children: [(0, import_jsx_runtime2.jsx)("span", { children: "Sources connected" }), (0, import_jsx_runtime2.jsx)("ul", { children: connectedSources.map((streamId) => {
89
+ return (0, import_jsx_runtime2.jsx)("li", { className: "text-green-300", children: streamId });
90
+ }) })] }), (0, import_jsx_runtime2.jsxs)("div", { id: "rtmp-sources-disconnected", className: "mt-3", children: [(0, import_jsx_runtime2.jsx)("span", { children: "Sources disconnected" }), (0, import_jsx_runtime2.jsx)("ul", { children: disconnectedSources.map((streamId) => {
91
+ return (0, import_jsx_runtime2.jsx)("li", { className: "text-orange-300", children: streamId });
248
92
  }) })] })] });
249
93
  }
250
- var import_jsx_runtime5, summary_view_default;
94
+ var import_jsx_runtime2, summary_view_default;
251
95
  var init_summary_view = __esm({
252
96
  "build/input.rtmp/summary-view.js"() {
253
97
  "use strict";
254
- import_jsx_runtime5 = __toESM(require_jsx_runtime());
98
+ import_jsx_runtime2 = __toESM(require_jsx_runtime());
255
99
  summary_view_default = SummaryView;
256
100
  }
257
101
  });
@@ -263,13 +107,13 @@ __export(srt_form_views_exports, {
263
107
  });
264
108
  function SocketConfiguration(options) {
265
109
  const show = (n) => n !== void 0 && !Number.isNaN(n) ? n.toString() : "";
266
- return (0, import_jsx_runtime6.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, import_jsx_runtime6.jsx)("div", { className: "col-span-1", children: "Receive Latency" }), (0, import_jsx_runtime6.jsx)("div", { className: "col-span-2", children: show(options.receiveLatency) }), (0, import_jsx_runtime6.jsx)("div", { className: "col-span-1", children: "Peer Latency" }), (0, import_jsx_runtime6.jsx)("div", { className: "col-span-2", children: show(options.peerLatency) }), (0, import_jsx_runtime6.jsx)("div", { className: "col-span-1", children: "Input Bandwidth" }), (0, import_jsx_runtime6.jsx)("div", { className: "col-span-2", children: show(options.inputBandwidth) }), (0, import_jsx_runtime6.jsx)("div", { className: "col-span-1", children: "Overhead Bandwidth" }), (0, import_jsx_runtime6.jsx)("div", { className: "col-span-2", children: show(options.overheadBandwidth) }), (0, import_jsx_runtime6.jsx)("div", { className: "col-span-1", children: "Max Bandwidth" }), (0, import_jsx_runtime6.jsx)("div", { className: "col-span-2", children: show(options.maxBandwidth) })] });
110
+ return (0, import_jsx_runtime3.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, import_jsx_runtime3.jsx)("div", { className: "col-span-1", children: "Receive Latency" }), (0, import_jsx_runtime3.jsx)("div", { className: "col-span-2", children: show(options.receiveLatency) }), (0, import_jsx_runtime3.jsx)("div", { className: "col-span-1", children: "Peer Latency" }), (0, import_jsx_runtime3.jsx)("div", { className: "col-span-2", children: show(options.peerLatency) }), (0, import_jsx_runtime3.jsx)("div", { className: "col-span-1", children: "Input Bandwidth" }), (0, import_jsx_runtime3.jsx)("div", { className: "col-span-2", children: show(options.inputBandwidth) }), (0, import_jsx_runtime3.jsx)("div", { className: "col-span-1", children: "Overhead Bandwidth" }), (0, import_jsx_runtime3.jsx)("div", { className: "col-span-2", children: show(options.overheadBandwidth) }), (0, import_jsx_runtime3.jsx)("div", { className: "col-span-1", children: "Max Bandwidth" }), (0, import_jsx_runtime3.jsx)("div", { className: "col-span-2", children: show(options.maxBandwidth) })] });
267
111
  }
268
- var import_jsx_runtime6;
112
+ var import_jsx_runtime3;
269
113
  var init_srt_form_views = __esm({
270
114
  "build/shared/srt-form-views.js"() {
271
115
  "use strict";
272
- import_jsx_runtime6 = __toESM(require_jsx_runtime());
116
+ import_jsx_runtime3 = __toESM(require_jsx_runtime());
273
117
  }
274
118
  });
275
119
 
@@ -284,16 +128,16 @@ function InlineView3({ state, config }) {
284
128
  if (state.connectedStreams.length > maxSourceNum) {
285
129
  sourcesToRender.push("...");
286
130
  }
287
- const connectedSources = (0, import_jsx_runtime7.jsxs)("div", { className: "mt-2", children: [" ", state.connectedStreams.length > 0 ? (0, import_jsx_runtime7.jsx)("span", { children: "Connected sources" }) : (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, {}), (0, import_jsx_runtime7.jsx)("ul", { className: "srt-input-connected-sources", children: sourcesToRender.map((sourceName) => {
288
- return (0, import_jsx_runtime7.jsx)("li", { className: "text-green-300", children: sourceName }, sourceName);
131
+ const connectedSources = (0, import_jsx_runtime4.jsxs)("div", { className: "mt-2", children: [" ", state.connectedStreams.length > 0 ? (0, import_jsx_runtime4.jsx)("span", { children: "Connected sources" }) : (0, import_jsx_runtime4.jsx)(import_jsx_runtime4.Fragment, {}), (0, import_jsx_runtime4.jsx)("ul", { className: "srt-input-connected-sources", children: sourcesToRender.map((sourceName) => {
132
+ return (0, import_jsx_runtime4.jsx)("li", { className: "text-green-300", children: sourceName }, sourceName);
289
133
  }) })] });
290
- return (0, import_jsx_runtime7.jsx)("div", { className: "srt-input", id: `srt-input-${config.id}`, children: connectedSources });
134
+ return (0, import_jsx_runtime4.jsx)("div", { className: "srt-input", id: `srt-input-${config.id}`, children: connectedSources });
291
135
  }
292
- var import_jsx_runtime7, inline_view_default2;
136
+ var import_jsx_runtime4, inline_view_default2;
293
137
  var init_inline_view2 = __esm({
294
138
  "build/input.srt-listener/inline-view.js"() {
295
139
  "use strict";
296
- import_jsx_runtime7 = __toESM(require_jsx_runtime());
140
+ import_jsx_runtime4 = __toESM(require_jsx_runtime());
297
141
  inline_view_default2 = InlineView3;
298
142
  }
299
143
  });
@@ -313,17 +157,17 @@ function SummaryView3({ state, config }) {
313
157
  disconnectedSources.push(streamId);
314
158
  }
315
159
  });
316
- return (0, import_jsx_runtime8.jsxs)("div", { className: "dark:text-white text-black mb-3 w-60", children: [(0, import_jsx_runtime8.jsxs)("div", { id: "srt-sources-connected", children: [(0, import_jsx_runtime8.jsx)("span", { children: "Sources connected" }), (0, import_jsx_runtime8.jsx)("ul", { children: connectedSources.map((streamId) => {
317
- return (0, import_jsx_runtime8.jsx)("li", { className: "text-green-300", children: streamId }, streamId);
318
- }) })] }), (0, import_jsx_runtime8.jsxs)("div", { id: "srt-sources-disconnected", className: "mt-3", children: [(0, import_jsx_runtime8.jsx)("span", { children: "Sources disconnected" }), (0, import_jsx_runtime8.jsx)("ul", { children: disconnectedSources.map((streamId) => {
319
- return (0, import_jsx_runtime8.jsx)("li", { className: "text-orange-300", children: streamId }, streamId);
160
+ return (0, import_jsx_runtime5.jsxs)("div", { className: "dark:text-white text-black mb-3 w-60", children: [(0, import_jsx_runtime5.jsxs)("div", { id: "srt-sources-connected", children: [(0, import_jsx_runtime5.jsx)("span", { children: "Sources connected" }), (0, import_jsx_runtime5.jsx)("ul", { children: connectedSources.map((streamId) => {
161
+ return (0, import_jsx_runtime5.jsx)("li", { className: "text-green-300", children: streamId }, streamId);
162
+ }) })] }), (0, import_jsx_runtime5.jsxs)("div", { id: "srt-sources-disconnected", className: "mt-3", children: [(0, import_jsx_runtime5.jsx)("span", { children: "Sources disconnected" }), (0, import_jsx_runtime5.jsx)("ul", { children: disconnectedSources.map((streamId) => {
163
+ return (0, import_jsx_runtime5.jsx)("li", { className: "text-orange-300", children: streamId }, streamId);
320
164
  }) })] })] });
321
165
  }
322
- var import_jsx_runtime8, summary_view_default2;
166
+ var import_jsx_runtime5, summary_view_default2;
323
167
  var init_summary_view2 = __esm({
324
168
  "build/input.srt-listener/summary-view.js"() {
325
169
  "use strict";
326
- import_jsx_runtime8 = __toESM(require_jsx_runtime());
170
+ import_jsx_runtime5 = __toESM(require_jsx_runtime());
327
171
  summary_view_default2 = SummaryView3;
328
172
  }
329
173
  });
@@ -343,8 +187,8 @@ __export(summary_exports, {
343
187
  function InlineView5({ state, config }) {
344
188
  const url = state.url;
345
189
  const id = config.id;
346
- const previewVideo = (0, import_react8.useRef)(null);
347
- (0, import_react8.useEffect)(() => {
190
+ const previewVideo = (0, import_react4.useRef)(null);
191
+ (0, import_react4.useEffect)(() => {
348
192
  if (!url)
349
193
  return;
350
194
  if (!previewVideo.current)
@@ -358,15 +202,15 @@ function InlineView5({ state, config }) {
358
202
  }
359
203
  }, [state.url]);
360
204
  if (!url)
361
- return (0, import_jsx_runtime9.jsx)(import_jsx_runtime9.Fragment, { children: "..." });
362
- return (0, import_jsx_runtime9.jsx)("div", { className: "mb-5", children: (0, import_jsx_runtime9.jsx)("video", { ref: previewVideo, autoPlay: true, muted: true, id: `${id}-video` }) });
205
+ return (0, import_jsx_runtime6.jsx)(import_jsx_runtime6.Fragment, { children: "..." });
206
+ return (0, import_jsx_runtime6.jsx)("div", { className: "mb-5", children: (0, import_jsx_runtime6.jsx)("video", { ref: previewVideo, autoPlay: true, muted: true, id: `${id}-video` }) });
363
207
  }
364
- var import_jsx_runtime9, import_react8, import_hls, summary_default;
208
+ var import_jsx_runtime6, import_react4, import_hls, summary_default;
365
209
  var init_summary = __esm({
366
210
  "build/output.autoCmaf/summary.js"() {
367
211
  "use strict";
368
- import_jsx_runtime9 = __toESM(require_jsx_runtime());
369
- import_react8 = __toESM(require_react());
212
+ import_jsx_runtime6 = __toESM(require_jsx_runtime());
213
+ import_react4 = __toESM(require_react());
370
214
  import_hls = __toESM(require_hls());
371
215
  summary_default = InlineView5;
372
216
  }
@@ -380,7 +224,7 @@ __export(fullscreen_exports, {
380
224
  function FullscreenView({ state, config }) {
381
225
  const url = state.url;
382
226
  const id = config.id;
383
- (0, import_react9.useEffect)(() => {
227
+ (0, import_react5.useEffect)(() => {
384
228
  if (!url)
385
229
  return;
386
230
  const element = document.getElementById(`${id}-video`);
@@ -393,17 +237,17 @@ function FullscreenView({ state, config }) {
393
237
  }
394
238
  }, [state.url]);
395
239
  if (!url)
396
- return (0, import_jsx_runtime10.jsx)(import_jsx_runtime10.Fragment, { children: "..." });
240
+ return (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children: "..." });
397
241
  {
398
242
  }
399
- return (0, import_jsx_runtime10.jsx)("div", { children: (0, import_jsx_runtime10.jsx)("video", { controls: true, autoPlay: true, muted: true, id: `${id}-video` }) });
243
+ return (0, import_jsx_runtime7.jsx)("div", { children: (0, import_jsx_runtime7.jsx)("video", { controls: true, autoPlay: true, muted: true, id: `${id}-video` }) });
400
244
  }
401
- var import_jsx_runtime10, import_react9, import_hls2, fullscreen_default;
245
+ var import_jsx_runtime7, import_react5, import_hls2, fullscreen_default;
402
246
  var init_fullscreen = __esm({
403
247
  "build/output.autoCmaf/fullscreen.js"() {
404
248
  "use strict";
405
- import_jsx_runtime10 = __toESM(require_jsx_runtime());
406
- import_react9 = __toESM(require_react());
249
+ import_jsx_runtime7 = __toESM(require_jsx_runtime());
250
+ import_react5 = __toESM(require_react());
407
251
  import_hls2 = __toESM(require_hls());
408
252
  fullscreen_default = FullscreenView;
409
253
  }
@@ -416,306 +260,22 @@ __export(form_views_exports, {
416
260
  SegmentConfiguration: () => SegmentConfiguration
417
261
  });
418
262
  function S3Destination(destination) {
419
- return (0, import_jsx_runtime11.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, import_jsx_runtime11.jsx)("div", { className: "col-span-1", children: "Host" }), (0, import_jsx_runtime11.jsx)("div", { className: "col-span-2", children: destination.host }), (0, import_jsx_runtime11.jsx)("div", { className: "col-span-1", children: "Path" }), (0, import_jsx_runtime11.jsx)("div", { className: "col-span-2", children: destination.prefix }), (0, import_jsx_runtime11.jsx)("div", { className: "col-span-1", children: "Include Ads" }), (0, import_jsx_runtime11.jsx)("div", { className: "col-span-2", children: destination.includeAdInsertions ? "yes" : "no" })] });
263
+ return (0, import_jsx_runtime8.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, import_jsx_runtime8.jsx)("div", { className: "col-span-1", children: "Host" }), (0, import_jsx_runtime8.jsx)("div", { className: "col-span-2", children: destination.host }), (0, import_jsx_runtime8.jsx)("div", { className: "col-span-1", children: "Path" }), (0, import_jsx_runtime8.jsx)("div", { className: "col-span-2", children: destination.prefix }), (0, import_jsx_runtime8.jsx)("div", { className: "col-span-1", children: "Include Ads" }), (0, import_jsx_runtime8.jsx)("div", { className: "col-span-2", children: destination.includeAdInsertions ? "yes" : "no" })] });
420
264
  }
421
265
  function SegmentConfiguration(cfg) {
422
- return (0, import_jsx_runtime11.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, import_jsx_runtime11.jsx)("div", { className: "col-span-1", children: "Segments" }), (0, import_jsx_runtime11.jsx)("div", { className: "col-span-2", children: cfg.defaultSegmentCount == 0 ? "all" : cfg.defaultSegmentCount }), (0, import_jsx_runtime11.jsx)("div", { className: "col-span-1", children: "Segment Target" }), (0, import_jsx_runtime11.jsxs)("div", { className: "col-span-2", children: [cfg.targetSegmentDuration, "s"] }), (0, import_jsx_runtime11.jsx)("div", { className: "col-span-1", children: "Part Target" }), (0, import_jsx_runtime11.jsxs)("div", { className: "col-span-2", children: [cfg.targetPartDuration, "s"] }), (0, import_jsx_runtime11.jsx)("div", { className: "col-span-1", children: "Retention" }), (0, import_jsx_runtime11.jsxs)("div", { className: "col-span-2", children: [cfg.retentionPeriod, "s"] })] });
266
+ return (0, import_jsx_runtime8.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, import_jsx_runtime8.jsx)("div", { className: "col-span-1", children: "Segments" }), (0, import_jsx_runtime8.jsx)("div", { className: "col-span-2", children: cfg.defaultSegmentCount == 0 ? "all" : cfg.defaultSegmentCount }), (0, import_jsx_runtime8.jsx)("div", { className: "col-span-1", children: "Segment Target" }), (0, import_jsx_runtime8.jsxs)("div", { className: "col-span-2", children: [cfg.targetSegmentDuration, "s"] }), (0, import_jsx_runtime8.jsx)("div", { className: "col-span-1", children: "Part Target" }), (0, import_jsx_runtime8.jsxs)("div", { className: "col-span-2", children: [cfg.targetPartDuration, "s"] }), (0, import_jsx_runtime8.jsx)("div", { className: "col-span-1", children: "Retention" }), (0, import_jsx_runtime8.jsxs)("div", { className: "col-span-2", children: [cfg.retentionPeriod, "s"] })] });
423
267
  }
424
- var import_jsx_runtime11;
268
+ var import_jsx_runtime8;
425
269
  var init_form_views = __esm({
426
270
  "build/output.autoCmaf/form-views.js"() {
427
271
  "use strict";
428
- import_jsx_runtime11 = __toESM(require_jsx_runtime());
429
- }
430
- });
431
-
432
- // build/output.medialive/channel-selection.js
433
- var channel_selection_exports = {};
434
- __export(channel_selection_exports, {
435
- default: () => channel_selection_default
436
- });
437
- function ChannelSelection(props) {
438
- const [loading, setLoading] = (0, import_react11.useState)(true);
439
- (0, import_react11.useEffect)(() => {
440
- const fn = async () => {
441
- const result2 = await fetch("components/output.medialive/channels");
442
- if (result2.ok && result2.body) {
443
- const channels2 = await result2.json();
444
- setChannels(channels2);
445
- setLoading(false);
446
- if (props.defaultValue)
447
- props.onChanged(props.defaultValue);
448
- } else {
449
- const text = await result2.text();
450
- throw new Error(text);
451
- }
452
- };
453
- fn().catch(console.error);
454
- }, []);
455
- const [channels, setChannels] = (0, import_react11.useState)([]);
456
- if (loading) {
457
- return (0, import_jsx_runtime12.jsx)("div", { children: "Loading.." });
458
- }
459
- if (channels.length == 0) {
460
- return (0, import_jsx_runtime12.jsx)("div", { children: "No channels loaded" });
461
- }
462
- return (0, import_jsx_runtime12.jsx)("div", { children: (0, import_jsx_runtime12.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime12.jsx)("option", { value: "", children: "---" }, "empty"), channels.map((o, i) => {
463
- const val = o.Id;
464
- return (0, import_jsx_runtime12.jsx)("option", { value: val, children: o.Name }, i);
465
- })] }) });
466
- function myOnChange(e) {
467
- props.onChanged(e.target.value);
468
- }
469
- }
470
- var import_jsx_runtime12, import_react11, channel_selection_default;
471
- var init_channel_selection = __esm({
472
- "build/output.medialive/channel-selection.js"() {
473
- "use strict";
474
- import_jsx_runtime12 = __toESM(require_jsx_runtime());
475
- import_react11 = __toESM(require_react());
476
- channel_selection_default = ChannelSelection;
477
- }
478
- });
479
-
480
- // build/output.medialive/input-selection.js
481
- var input_selection_exports = {};
482
- __export(input_selection_exports, {
483
- default: () => input_selection_default
484
- });
485
- function inputSelection(props) {
486
- const [loading, setLoading] = (0, import_react12.useState)(true);
487
- const [channels, setChannels] = (0, import_react12.useState)(void 0);
488
- const [channel, setChannel] = (0, import_react12.useState)(void 0);
489
- (0, import_react12.useEffect)(() => {
490
- console.log("Loading channels for input", props);
491
- const fn = async () => {
492
- setLoading(true);
493
- const result2 = await fetch("components/output.medialive/channels");
494
- if (result2.ok && result2.body) {
495
- const channels2 = await result2.json();
496
- setChannels(channels2);
497
- setLoading(false);
498
- if (props.defaultValue)
499
- props.onChanged(props.defaultValue);
500
- } else {
501
- const text = await result2.text();
502
- throw new Error(text);
503
- }
504
- };
505
- fn().catch(console.error);
506
- }, []);
507
- (0, import_react12.useEffect)(() => {
508
- const channel2 = channels?.find((c) => c.Id == props.latest.channelId);
509
- setChannel(channel2);
510
- const firstInput2 = channel2?.InputAttachments?.[0]?.InputId;
511
- if (firstInput2 && channel2?.InputAttachments?.length == 1 && firstInput2 !== props.defaultValue) {
512
- props.onChanged(firstInput2);
513
- }
514
- }, [channels, props.latest.channelId]);
515
- if (loading) {
516
- return (0, import_jsx_runtime13.jsx)("div", { children: "..." });
517
- }
518
- if (channel == void 0) {
519
- return (0, import_jsx_runtime13.jsx)("div", { children: "..." });
520
- }
521
- if (!channel.InputAttachments) {
522
- return (0, import_jsx_runtime13.jsx)("div", { children: "Channel has no inputs" });
523
- }
524
- const firstInput = channel.InputAttachments?.[0];
525
- if (firstInput && channel.InputAttachments.length == 1) {
526
- return (0, import_jsx_runtime13.jsx)("div", { children: firstInput.InputAttachmentName });
527
- }
528
- return (0, import_jsx_runtime13.jsx)("div", { children: (0, import_jsx_runtime13.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime13.jsx)("option", { value: "", children: "---" }, "empty"), channel.InputAttachments.map((o, i) => {
529
- const val = o.InputId;
530
- return (0, import_jsx_runtime13.jsx)("option", { value: val, children: o.InputAttachmentName }, i);
531
- })] }) });
532
- function myOnChange(e) {
533
- props.onChanged(e.target.value);
534
- }
535
- }
536
- var import_jsx_runtime13, import_react12, input_selection_default;
537
- var init_input_selection = __esm({
538
- "build/output.medialive/input-selection.js"() {
539
- "use strict";
540
- import_jsx_runtime13 = __toESM(require_jsx_runtime());
541
- import_react12 = __toESM(require_react());
542
- input_selection_default = inputSelection;
543
- }
544
- });
545
-
546
- // build/output.medialive/url-selection.js
547
- var url_selection_exports = {};
548
- __export(url_selection_exports, {
549
- default: () => url_selection_default
550
- });
551
- function UrlSelection(props) {
552
- const [loading, setLoading] = (0, import_react13.useState)(true);
553
- const [input, setInput] = (0, import_react13.useState)(void 0);
554
- (0, import_react13.useEffect)(() => {
555
- const fn = async () => {
556
- setLoading(true);
557
- if (props.latest.inputId) {
558
- const result2 = await fetch("components/output.medialive/inputs/" + props.latest.inputId);
559
- if (result2.ok && result2.body) {
560
- const flow = await result2.json();
561
- setInput(flow);
562
- setLoading(false);
563
- if (props.defaultValue !== void 0)
564
- props.onChanged(props.defaultValue);
565
- } else {
566
- const text = await result2.text();
567
- throw new Error(text);
568
- }
569
- }
570
- };
571
- fn().catch(console.error);
572
- }, [props.latest.inputId]);
573
- if (loading) {
574
- return (0, import_jsx_runtime14.jsx)("div", { children: "..." });
575
- }
576
- if (input == void 0) {
577
- return (0, import_jsx_runtime14.jsx)("div", { children: "..." });
578
- }
579
- if (!input.Destinations) {
580
- return (0, import_jsx_runtime14.jsx)("div", { children: "Input has no destinations" });
581
- }
582
- return (0, import_jsx_runtime14.jsx)("div", { children: (0, import_jsx_runtime14.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime14.jsx)("option", { value: "", children: "---" }, "empty"), input.Destinations.map((o, i) => {
583
- return (0, import_jsx_runtime14.jsx)("option", { value: i, children: o.Url }, i);
584
- })] }) });
585
- function myOnChange(e) {
586
- props.onChanged(parseInt(e.target.value, 10));
587
- }
588
- }
589
- var import_jsx_runtime14, import_react13, url_selection_default;
590
- var init_url_selection = __esm({
591
- "build/output.medialive/url-selection.js"() {
592
- "use strict";
593
- import_jsx_runtime14 = __toESM(require_jsx_runtime());
594
- import_react13 = __toESM(require_react());
595
- url_selection_default = UrlSelection;
596
- }
597
- });
598
-
599
- // build/output.medialive/node-view.js
600
- var node_view_exports2 = {};
601
- __export(node_view_exports2, {
602
- default: () => node_view_default2
603
- });
604
- function NodeView2(props) {
605
- const [loading, setLoading] = (0, import_react14.useState)(true);
606
- const [channel, setChannel] = (0, import_react14.useState)(void 0);
607
- const [input, setInput] = (0, import_react14.useState)(void 0);
608
- (0, import_react14.useEffect)(() => {
609
- if (!props.node.config.channelId)
610
- return;
611
- if (!props.node.config.inputId)
612
- return;
613
- const fn = async () => {
614
- const channels = await fetch("components/output.medialive/channels").then(async (f) => f.json());
615
- const input2 = await fetch("components/output.medialive/inputs/" + props.node.config.inputId).then(async (f) => f.json());
616
- const channel2 = channels.find((c) => c.Id == props.node.config.channelId);
617
- setChannel(channel2);
618
- setInput(input2);
619
- setLoading(false);
620
- };
621
- fn().catch(console.error);
622
- }, [props.node.config.channelId, props.node.config.inputId]);
623
- if (loading) {
624
- return (0, import_jsx_runtime15.jsx)("div", { children: "..." });
625
- }
626
- if (!channel) {
627
- return (0, import_jsx_runtime15.jsx)("div", { children: "[Error: Failed to load channel]" });
628
- }
629
- if (!input) {
630
- return (0, import_jsx_runtime15.jsx)("div", { children: "[Error: Missing input on channel]" });
631
- }
632
- return (0, import_jsx_runtime15.jsxs)("div", { children: [(0, import_jsx_runtime15.jsxs)("div", { children: ["Name: ", channel.Name] }), (0, import_jsx_runtime15.jsxs)("div", { children: ["Input: ", input.Name] }), (0, import_jsx_runtime15.jsxs)("div", { children: ["Url: ", input.Destinations?.[props.node.config.destinationIndex].Url] })] });
633
- }
634
- var import_jsx_runtime15, import_react14, node_view_default2;
635
- var init_node_view2 = __esm({
636
- "build/output.medialive/node-view.js"() {
637
- "use strict";
638
- import_jsx_runtime15 = __toESM(require_jsx_runtime());
639
- import_react14 = __toESM(require_react());
640
- node_view_default2 = NodeView2;
641
- }
642
- });
643
-
644
- // build/output.medialive/inline.js
645
- var inline_exports = {};
646
- __export(inline_exports, {
647
- default: () => inline_default
648
- });
649
- function InlineView6({ state, config }) {
650
- const url = state.url;
651
- const id = config.id;
652
- (0, import_react15.useEffect)(() => {
653
- if (!url)
654
- return;
655
- const element = document.getElementById(`${id}-video`);
656
- if (import_hls3.default.isSupported()) {
657
- const hls = new import_hls3.default();
658
- hls.loadSource(url);
659
- hls.attachMedia(element);
660
- } else if (element.canPlayType("application/vnd.apple.mpegurl")) {
661
- element.src = url;
662
- }
663
- }, [state.url]);
664
- if (!url)
665
- return (0, import_jsx_runtime16.jsx)(import_jsx_runtime16.Fragment, { children: "..." });
666
- return (0, import_jsx_runtime16.jsx)("div", { className: "preview-outer-container", children: (0, import_jsx_runtime16.jsx)("video", { autoPlay: true, muted: true, id: `${id}-video` }) });
667
- }
668
- var import_jsx_runtime16, import_react15, import_hls3, inline_default;
669
- var init_inline = __esm({
670
- "build/output.medialive/inline.js"() {
671
- "use strict";
672
- import_jsx_runtime16 = __toESM(require_jsx_runtime());
673
- import_react15 = __toESM(require_react());
674
- import_hls3 = __toESM(require_hls());
675
- inline_default = InlineView6;
676
- }
677
- });
678
-
679
- // build/output.medialive/fullscreen.js
680
- var fullscreen_exports2 = {};
681
- __export(fullscreen_exports2, {
682
- default: () => fullscreen_default2
683
- });
684
- function FullscreenView2({ state, config }) {
685
- const url = state.url;
686
- const id = config.id;
687
- (0, import_react16.useEffect)(() => {
688
- if (!url)
689
- return;
690
- const element = document.getElementById(`${id}-video`);
691
- if (import_hls4.default.isSupported()) {
692
- const hls = new import_hls4.default();
693
- hls.loadSource(url);
694
- hls.attachMedia(element);
695
- } else if (element.canPlayType("application/vnd.apple.mpegurl")) {
696
- element.src = url;
697
- }
698
- }, [state.url]);
699
- if (!url)
700
- return (0, import_jsx_runtime17.jsx)(import_jsx_runtime17.Fragment, { children: "..." });
701
- {
702
- }
703
- return (0, import_jsx_runtime17.jsx)("div", { children: (0, import_jsx_runtime17.jsx)("video", { controls: true, autoPlay: true, muted: true, id: `${id}-video` }) });
704
- }
705
- var import_jsx_runtime17, import_react16, import_hls4, fullscreen_default2;
706
- var init_fullscreen2 = __esm({
707
- "build/output.medialive/fullscreen.js"() {
708
- "use strict";
709
- import_jsx_runtime17 = __toESM(require_jsx_runtime());
710
- import_react16 = __toESM(require_react());
711
- import_hls4 = __toESM(require_hls());
712
- fullscreen_default2 = FullscreenView2;
272
+ import_jsx_runtime8 = __toESM(require_jsx_runtime());
713
273
  }
714
274
  });
715
275
 
716
- // ../../node_modules/@norskvideo/norsk-studio/lib/shared/shared-views.js
276
+ // ../../../studio-core/lib/shared/shared-views.js
717
277
  var require_shared_views = __commonJS({
718
- "../../node_modules/@norskvideo/norsk-studio/lib/shared/shared-views.js"(exports) {
278
+ "../../../studio-core/lib/shared/shared-views.js"(exports) {
719
279
  "use strict";
720
280
  Object.defineProperty(exports, "__esModule", { value: true });
721
281
  exports.GlobalIceServerView = void 0;
@@ -727,9 +287,9 @@ var require_shared_views = __commonJS({
727
287
  }
728
288
  });
729
289
 
730
- // ../../node_modules/@norskvideo/norsk-studio/lib/shared/config.js
290
+ // ../../../studio-core/lib/shared/config.js
731
291
  var require_config = __commonJS({
732
- "../../node_modules/@norskvideo/norsk-studio/lib/shared/config.js"(exports) {
292
+ "../../../studio-core/lib/shared/config.js"(exports) {
733
293
  "use strict";
734
294
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
735
295
  if (k2 === void 0)
@@ -878,17 +438,17 @@ var inline_view_exports3 = {};
878
438
  __export(inline_view_exports3, {
879
439
  default: () => inline_view_default3
880
440
  });
881
- function InlineView7({ state, config }) {
441
+ function InlineView6({ state, config }) {
882
442
  const url = state.url;
883
443
  const id = config.id;
884
- (0, import_react18.useEffect)(() => {
444
+ (0, import_react7.useEffect)(() => {
885
445
  if (!url)
886
446
  return;
887
447
  const client = new import_webrtc_client.WhepClient({ url, container: document.getElementById(`preview-${id}`) ?? void 0 });
888
448
  void client.start();
889
449
  }, [state.url]);
890
450
  if (!url)
891
- return (0, import_jsx_runtime18.jsx)(import_jsx_runtime18.Fragment, { children: "..." });
451
+ return (0, import_jsx_runtime9.jsx)(import_jsx_runtime9.Fragment, { children: "..." });
892
452
  function percentage(levels) {
893
453
  if (!levels) {
894
454
  return 0;
@@ -898,16 +458,16 @@ function InlineView7({ state, config }) {
898
458
  const snapped = Math.floor(capped * 10) * 10;
899
459
  return Math.max(0, 100 - snapped);
900
460
  }
901
- return (0, import_jsx_runtime18.jsxs)("div", { className: "preview-outer-container", children: [(0, import_jsx_runtime18.jsx)("div", { className: "preview-video", id: `preview-${id}` }), (0, import_jsx_runtime18.jsx)("div", { className: "preview-levels", children: (0, import_jsx_runtime18.jsx)("div", { className: `preview-level clip-${percentage(state.levels)}-preview` }) })] });
461
+ return (0, import_jsx_runtime9.jsxs)("div", { className: "preview-outer-container", children: [(0, import_jsx_runtime9.jsx)("div", { className: "preview-video", id: `preview-${id}` }), (0, import_jsx_runtime9.jsx)("div", { className: "preview-levels", children: (0, import_jsx_runtime9.jsx)("div", { className: `preview-level clip-${percentage(state.levels)}-preview` }) })] });
902
462
  }
903
- var import_jsx_runtime18, import_react18, import_webrtc_client, inline_view_default3;
463
+ var import_jsx_runtime9, import_react7, import_webrtc_client, inline_view_default3;
904
464
  var init_inline_view3 = __esm({
905
465
  "build/output.preview/inline-view.js"() {
906
466
  "use strict";
907
- import_jsx_runtime18 = __toESM(require_jsx_runtime());
908
- import_react18 = __toESM(require_react());
467
+ import_jsx_runtime9 = __toESM(require_jsx_runtime());
468
+ import_react7 = __toESM(require_react());
909
469
  import_webrtc_client = __toESM(require_webrtc_client());
910
- inline_view_default3 = InlineView7;
470
+ inline_view_default3 = InlineView6;
911
471
  }
912
472
  });
913
473
 
@@ -916,17 +476,17 @@ var inline_view_exports4 = {};
916
476
  __export(inline_view_exports4, {
917
477
  default: () => inline_view_default4
918
478
  });
919
- function InlineView8({ state, config }) {
920
- const connected = (0, import_jsx_runtime19.jsx)("div", { className: "active text-green-300 dark:text-green-300", children: "Connected and publishing" });
921
- const disconnected = (0, import_jsx_runtime19.jsxs)("div", { className: "inactive text-orange-300 dark:text-orange-300", children: ["Disconnected ", state.connectRetries > 0 ? `- retrying(${state.connectRetries})` : ""] });
922
- return (0, import_jsx_runtime19.jsx)("div", { className: "rtmp-output", id: `rtmp-output-${config.id}`, children: state.connected ? connected : disconnected });
479
+ function InlineView7({ state, config }) {
480
+ const connected = (0, import_jsx_runtime10.jsx)("div", { className: "active text-green-300 dark:text-green-300", children: "Connected and publishing" });
481
+ const disconnected = (0, import_jsx_runtime10.jsxs)("div", { className: "inactive text-orange-300 dark:text-orange-300", children: ["Disconnected ", state.connectRetries > 0 ? `- retrying(${state.connectRetries})` : ""] });
482
+ return (0, import_jsx_runtime10.jsx)("div", { className: "rtmp-output", id: `rtmp-output-${config.id}`, children: state.connected ? connected : disconnected });
923
483
  }
924
- var import_jsx_runtime19, inline_view_default4;
484
+ var import_jsx_runtime10, inline_view_default4;
925
485
  var init_inline_view4 = __esm({
926
486
  "build/output.rtmp/inline-view.js"() {
927
487
  "use strict";
928
- import_jsx_runtime19 = __toESM(require_jsx_runtime());
929
- inline_view_default4 = InlineView8;
488
+ import_jsx_runtime10 = __toESM(require_jsx_runtime());
489
+ inline_view_default4 = InlineView7;
930
490
  }
931
491
  });
932
492
 
@@ -935,45 +495,45 @@ var inline_view_exports5 = {};
935
495
  __export(inline_view_exports5, {
936
496
  default: () => inline_view_default5
937
497
  });
938
- function InlineView9({ state }) {
498
+ function InlineView8({ state }) {
939
499
  if (!state.previous)
940
- return (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, {});
941
- return (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, { children: state.previous.allStreams.map((s, i) => {
500
+ return (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, {});
501
+ return (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, { children: state.previous.allStreams.map((s, i) => {
942
502
  const metaCase = s.metadata.case;
943
503
  switch (metaCase) {
944
504
  case "audio":
945
- return (0, import_jsx_runtime20.jsxs)("div", { children: [(0, import_jsx_runtime20.jsxs)("div", { children: ["StreamKey: ", streamKey(s.streamKey)] }), (0, import_jsx_runtime20.jsxs)("div", { children: ["Bitrate: ", Math.floor(s.bitrate), "bps"] })] }, i);
505
+ return (0, import_jsx_runtime11.jsxs)("div", { children: [(0, import_jsx_runtime11.jsxs)("div", { children: ["StreamKey: ", streamKey(s.streamKey)] }), (0, import_jsx_runtime11.jsxs)("div", { children: ["Bitrate: ", Math.floor(s.bitrate), "bps"] })] }, i);
946
506
  case "video":
947
- return (0, import_jsx_runtime20.jsxs)("div", { children: [(0, import_jsx_runtime20.jsxs)("div", { children: ["StreamKey: ", streamKey(s.streamKey)] }), (0, import_jsx_runtime20.jsxs)("div", { children: ["Bitrate: ", Math.floor(s.bitrate), "bps"] })] }, i);
507
+ return (0, import_jsx_runtime11.jsxs)("div", { children: [(0, import_jsx_runtime11.jsxs)("div", { children: ["StreamKey: ", streamKey(s.streamKey)] }), (0, import_jsx_runtime11.jsxs)("div", { children: ["Bitrate: ", Math.floor(s.bitrate), "bps"] })] }, i);
948
508
  case "ancillary":
949
- return (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, {});
509
+ return (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, {});
950
510
  case "subtitle":
951
- return (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, {});
511
+ return (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, {});
952
512
  case "playlist":
953
- return (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, {});
513
+ return (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, {});
954
514
  case void 0:
955
- return (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, {});
515
+ return (0, import_jsx_runtime11.jsx)(import_jsx_runtime11.Fragment, {});
956
516
  default:
957
- assertUnreachable7(metaCase);
517
+ assertUnreachable6(metaCase);
958
518
  }
959
519
  }) });
960
520
  }
961
521
  function streamKey(streamKey2) {
962
522
  return streamKey2.streamId.toString();
963
523
  }
964
- var import_jsx_runtime20, inline_view_default5;
524
+ var import_jsx_runtime11, inline_view_default5;
965
525
  var init_inline_view5 = __esm({
966
526
  "build/output.statistics/inline-view.js"() {
967
527
  "use strict";
968
- import_jsx_runtime20 = __toESM(require_jsx_runtime());
528
+ import_jsx_runtime11 = __toESM(require_jsx_runtime());
969
529
  init_info();
970
- inline_view_default5 = InlineView9;
530
+ inline_view_default5 = InlineView8;
971
531
  }
972
532
  });
973
533
 
974
534
  // build/output.statistics/info.js
975
- function info_default13({ defineComponent, All }) {
976
- const InlineView14 = import_react22.default.lazy(async () => Promise.resolve().then(() => (init_inline_view5(), inline_view_exports5)));
535
+ function info_default11({ defineComponent, All }) {
536
+ const InlineView13 = import_react11.default.lazy(async () => Promise.resolve().then(() => (init_inline_view5(), inline_view_exports5)));
977
537
  return defineComponent({
978
538
  identifier: "output.statistics",
979
539
  category: "output",
@@ -997,121 +557,25 @@ function info_default13({ defineComponent, All }) {
997
557
  state.previous = ev.summary;
998
558
  break;
999
559
  default:
1000
- assertUnreachable7(evType);
560
+ assertUnreachable6(evType);
1001
561
  }
1002
562
  return { ...state };
1003
563
  },
1004
- inline: InlineView14
564
+ inline: InlineView13
1005
565
  },
1006
566
  configForm: {
1007
567
  form: {}
1008
568
  }
1009
569
  });
1010
570
  }
1011
- function assertUnreachable7(_) {
571
+ function assertUnreachable6(_) {
1012
572
  throw new Error("Didn't expect to get here");
1013
573
  }
1014
- var import_react22;
574
+ var import_react11;
1015
575
  var init_info = __esm({
1016
576
  "build/output.statistics/info.js"() {
1017
577
  "use strict";
1018
- import_react22 = __toESM(require_react());
1019
- }
1020
- });
1021
-
1022
- // build/processor.aws-transcribe/transcribe-language-selection.js
1023
- var transcribe_language_selection_exports = {};
1024
- __export(transcribe_language_selection_exports, {
1025
- default: () => transcribe_language_selection_default
1026
- });
1027
- function TranscribeLanguageSelection(props) {
1028
- const [loading, setLoading] = (0, import_react23.useState)(true);
1029
- (0, import_react23.useEffect)(() => {
1030
- const fn = async () => {
1031
- const result2 = await fetch("components/processor.aws-transcribe/languages");
1032
- if (result2.ok && result2.body) {
1033
- const languages2 = await result2.json();
1034
- setLanguages(languages2.transcribe);
1035
- setLoading(false);
1036
- if (props.defaultValue)
1037
- props.onChanged(props.defaultValue);
1038
- } else {
1039
- const text = await result2.text();
1040
- throw new Error(text);
1041
- }
1042
- };
1043
- fn().catch(console.error);
1044
- }, []);
1045
- const [languages, setLanguages] = (0, import_react23.useState)([]);
1046
- if (loading) {
1047
- return (0, import_jsx_runtime21.jsx)("div", { children: "Loading.." });
1048
- }
1049
- if (languages.length == 0) {
1050
- return (0, import_jsx_runtime21.jsx)("div", { children: "No flows loaded" });
1051
- }
1052
- return (0, import_jsx_runtime21.jsx)("div", { children: (0, import_jsx_runtime21.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime21.jsx)("option", { value: "", children: "---" }, "empty"), languages.map((o, i) => {
1053
- const val = o.code;
1054
- return (0, import_jsx_runtime21.jsxs)("option", { value: val, children: [o.name, " (", o.code, ")"] }, i);
1055
- })] }) });
1056
- function myOnChange(e) {
1057
- props.onChanged(e.target.value);
1058
- }
1059
- }
1060
- var import_jsx_runtime21, import_react23, transcribe_language_selection_default;
1061
- var init_transcribe_language_selection = __esm({
1062
- "build/processor.aws-transcribe/transcribe-language-selection.js"() {
1063
- "use strict";
1064
- import_jsx_runtime21 = __toESM(require_jsx_runtime());
1065
- import_react23 = __toESM(require_react());
1066
- transcribe_language_selection_default = TranscribeLanguageSelection;
1067
- }
1068
- });
1069
-
1070
- // build/processor.aws-transcribe/translate-language-selection.js
1071
- var translate_language_selection_exports = {};
1072
- __export(translate_language_selection_exports, {
1073
- default: () => translate_language_selection_default
1074
- });
1075
- function TranslateLanguageSelection(props) {
1076
- const [loading, setLoading] = (0, import_react24.useState)(true);
1077
- (0, import_react24.useEffect)(() => {
1078
- const fn = async () => {
1079
- const result2 = await fetch("components/processor.aws-transcribe/languages");
1080
- if (result2.ok && result2.body) {
1081
- const languages2 = await result2.json();
1082
- setLanguages(languages2.translate);
1083
- setLoading(false);
1084
- if (props.defaultValue)
1085
- props.onChanged(props.defaultValue);
1086
- } else {
1087
- const text = await result2.text();
1088
- throw new Error(text);
1089
- }
1090
- };
1091
- fn().catch(console.error);
1092
- }, []);
1093
- const [languages, setLanguages] = (0, import_react24.useState)([]);
1094
- if (loading) {
1095
- return (0, import_jsx_runtime22.jsx)("div", { children: "Loading.." });
1096
- }
1097
- if (languages.length == 0) {
1098
- return (0, import_jsx_runtime22.jsx)("div", { children: "No flows loaded" });
1099
- }
1100
- return (0, import_jsx_runtime22.jsx)("div", { children: (0, import_jsx_runtime22.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime22.jsx)("option", { value: "", children: "---" }, "empty"), languages.map((o, i) => {
1101
- const val = o.code;
1102
- return (0, import_jsx_runtime22.jsxs)("option", { value: val, children: [o.name, " (", o.code, ")"] }, i);
1103
- })] }) });
1104
- function myOnChange(e) {
1105
- props.onChanged(e.target.value);
1106
- }
1107
- }
1108
- var import_jsx_runtime22, import_react24, translate_language_selection_default;
1109
- var init_translate_language_selection = __esm({
1110
- "build/processor.aws-transcribe/translate-language-selection.js"() {
1111
- "use strict";
1112
- import_jsx_runtime22 = __toESM(require_jsx_runtime());
1113
- import_react24 = __toESM(require_react());
1114
- translate_language_selection_default = TranslateLanguageSelection;
578
+ import_react11 = __toESM(require_react());
1115
579
  }
1116
580
  });
1117
581
 
@@ -1121,15 +585,15 @@ __export(source_selection_exports, {
1121
585
  default: () => source_selection_default
1122
586
  });
1123
587
  function OrderInput(props) {
1124
- (0, import_react26.useEffect)(() => {
588
+ (0, import_react12.useEffect)(() => {
1125
589
  props.onChanged(props.defaultValue ?? []);
1126
590
  }, [props.defaultValue]);
1127
- const [value, setValue] = (0, import_react26.useState)(props.defaultValue ?? []);
591
+ const [value, setValue] = (0, import_react12.useState)(props.defaultValue ?? []);
1128
592
  if (value.length == 0) {
1129
- return (0, import_jsx_runtime23.jsx)("p", { className: "node-editor-helper-text", children: "Sources will appear here when subscriptions have been added to this node" });
593
+ return (0, import_jsx_runtime12.jsx)("p", { className: "node-editor-helper-text", children: "Sources will appear here when subscriptions have been added to this node" });
1130
594
  } else {
1131
- return (0, import_jsx_runtime23.jsx)("div", { id: props.id, children: (0, import_jsx_runtime23.jsx)("ul", { children: value.map((v, ix) => {
1132
- return (0, import_jsx_runtime23.jsxs)("li", { className: "flex", children: [(0, import_jsx_runtime23.jsx)("span", { className: "node-editor-label flex-grow", children: v }), ix == 0 ? (0, import_jsx_runtime23.jsx)(import_jsx_runtime23.Fragment, {}) : (0, import_jsx_runtime23.jsx)("svg", { onClick: moveUp(ix), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, className: "w-4 h-6 shrink cursor-pointer stroke-gray-700 dark:stroke-gray-50", children: (0, import_jsx_runtime23.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.25 6.75L12 3m0 0l3.75 3.75M12 3v18" }) }), ix == value.length - 1 ? (0, import_jsx_runtime23.jsx)(import_jsx_runtime23.Fragment, {}) : (0, import_jsx_runtime23.jsx)("svg", { onClick: moveDown(ix), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, className: "w-4 h-6 shrink cursor-pointer stroke-gray-700 dark:stroke-gray-50", children: (0, import_jsx_runtime23.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 17.25L12 21m0 0l-3.75-3.75M12 21V3" }) })] }, v);
595
+ return (0, import_jsx_runtime12.jsx)("div", { id: props.id, children: (0, import_jsx_runtime12.jsx)("ul", { children: value.map((v, ix) => {
596
+ return (0, import_jsx_runtime12.jsxs)("li", { className: "flex", children: [(0, import_jsx_runtime12.jsx)("span", { className: "node-editor-label flex-grow", children: v }), ix == 0 ? (0, import_jsx_runtime12.jsx)(import_jsx_runtime12.Fragment, {}) : (0, import_jsx_runtime12.jsx)("svg", { onClick: moveUp(ix), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, className: "w-4 h-6 shrink cursor-pointer stroke-gray-700 dark:stroke-gray-50", children: (0, import_jsx_runtime12.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M8.25 6.75L12 3m0 0l3.75 3.75M12 3v18" }) }), ix == value.length - 1 ? (0, import_jsx_runtime12.jsx)(import_jsx_runtime12.Fragment, {}) : (0, import_jsx_runtime12.jsx)("svg", { onClick: moveDown(ix), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, className: "w-4 h-6 shrink cursor-pointer stroke-gray-700 dark:stroke-gray-50", children: (0, import_jsx_runtime12.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M15.75 17.25L12 21m0 0l-3.75-3.75M12 21V3" }) })] }, v);
1133
597
  }) }) });
1134
598
  }
1135
599
  function moveUp(ix) {
@@ -1151,12 +615,12 @@ function OrderInput(props) {
1151
615
  };
1152
616
  }
1153
617
  }
1154
- var import_jsx_runtime23, import_react26, source_selection_default;
618
+ var import_jsx_runtime12, import_react12, source_selection_default;
1155
619
  var init_source_selection = __esm({
1156
620
  "build/processor.cascadingSwitch/source-selection.js"() {
1157
621
  "use strict";
1158
- import_jsx_runtime23 = __toESM(require_jsx_runtime());
1159
- import_react26 = __toESM(require_react());
622
+ import_jsx_runtime12 = __toESM(require_jsx_runtime());
623
+ import_react12 = __toESM(require_react());
1160
624
  source_selection_default = OrderInput;
1161
625
  }
1162
626
  });
@@ -1166,18 +630,18 @@ var inline_view_exports6 = {};
1166
630
  __export(inline_view_exports6, {
1167
631
  default: () => inline_view_default6
1168
632
  });
1169
- function InlineView10({ state, config }) {
1170
- return (0, import_jsx_runtime24.jsxs)(import_jsx_runtime24.Fragment, { children: [(0, import_jsx_runtime24.jsx)("h5", { children: "Sources" }), (0, import_jsx_runtime24.jsxs)("ul", { children: [config.sources.map((s, i) => state.activeSource == s ? (0, import_jsx_runtime24.jsxs)("li", { className: activeClasses, children: [s, " <--"] }, i) : state.availableSources.includes(s) ? (0, import_jsx_runtime24.jsxs)("li", { className: availableClasses, children: [s, " (available)"] }, i) : (0, import_jsx_runtime24.jsxs)("li", { className: inactiveClasses, children: [s, " (inactive)"] }, i)), (0, import_jsx_runtime24.jsx)("li", { className: state.activeSource == "fallback" ? activeClasses : availableClasses, children: "fallback" }, "fallback")] })] });
633
+ function InlineView9({ state, config }) {
634
+ return (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [(0, import_jsx_runtime13.jsx)("h5", { children: "Sources" }), (0, import_jsx_runtime13.jsxs)("ul", { children: [config.sources.map((s, i) => state.activeSource == s ? (0, import_jsx_runtime13.jsxs)("li", { className: activeClasses, children: [s, " <--"] }, i) : state.availableSources.includes(s) ? (0, import_jsx_runtime13.jsxs)("li", { className: availableClasses, children: [s, " (available)"] }, i) : (0, import_jsx_runtime13.jsxs)("li", { className: inactiveClasses, children: [s, " (inactive)"] }, i)), (0, import_jsx_runtime13.jsx)("li", { className: state.activeSource == "fallback" ? activeClasses : availableClasses, children: "fallback" }, "fallback")] })] });
1171
635
  }
1172
- var import_jsx_runtime24, activeClasses, availableClasses, inactiveClasses, inline_view_default6;
636
+ var import_jsx_runtime13, activeClasses, availableClasses, inactiveClasses, inline_view_default6;
1173
637
  var init_inline_view6 = __esm({
1174
638
  "build/processor.cascadingSwitch/inline-view.js"() {
1175
639
  "use strict";
1176
- import_jsx_runtime24 = __toESM(require_jsx_runtime());
640
+ import_jsx_runtime13 = __toESM(require_jsx_runtime());
1177
641
  activeClasses = "active text-green-300 dark:text-green-300";
1178
642
  availableClasses = "available text-green-300 dark:text-green-300";
1179
643
  inactiveClasses = "inactive text-orange-300 dark:text-orange-300";
1180
- inline_view_default6 = InlineView10;
644
+ inline_view_default6 = InlineView9;
1181
645
  }
1182
646
  });
1183
647
 
@@ -1187,8 +651,8 @@ __export(bug_selection_exports, {
1187
651
  default: () => bug_selection_default
1188
652
  });
1189
653
  function BugSelection(props) {
1190
- const [loading, setLoading] = (0, import_react27.useState)(true);
1191
- (0, import_react27.useEffect)(() => {
654
+ const [loading, setLoading] = (0, import_react13.useState)(true);
655
+ (0, import_react13.useEffect)(() => {
1192
656
  const fn = async () => {
1193
657
  const result2 = await fetch("components/processor.dynamicBug/bugs");
1194
658
  if (result2.ok && result2.body) {
@@ -1204,26 +668,26 @@ function BugSelection(props) {
1204
668
  };
1205
669
  fn().catch(console.error);
1206
670
  }, []);
1207
- const [bugs, setBugs] = (0, import_react27.useState)([]);
671
+ const [bugs, setBugs] = (0, import_react13.useState)([]);
1208
672
  if (loading) {
1209
- return (0, import_jsx_runtime25.jsx)("div", { children: "Loading.." });
673
+ return (0, import_jsx_runtime14.jsx)("div", { children: "Loading.." });
1210
674
  }
1211
675
  if (bugs.length == 0) {
1212
- return (0, import_jsx_runtime25.jsx)("div", { children: "No bugs loaded" });
676
+ return (0, import_jsx_runtime14.jsx)("div", { children: "No bugs loaded" });
1213
677
  }
1214
- return (0, import_jsx_runtime25.jsx)("div", { children: (0, import_jsx_runtime25.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime25.jsx)("option", { value: "", children: "---" }, "empty"), bugs.map((o, i) => {
1215
- return (0, import_jsx_runtime25.jsx)("option", { value: o, children: o }, i);
678
+ return (0, import_jsx_runtime14.jsx)("div", { children: (0, import_jsx_runtime14.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime14.jsx)("option", { value: "", children: "---" }, "empty"), bugs.map((o, i) => {
679
+ return (0, import_jsx_runtime14.jsx)("option", { value: o, children: o }, i);
1216
680
  })] }) });
1217
681
  function myOnChange(e) {
1218
682
  props.onChanged(e.target.value);
1219
683
  }
1220
684
  }
1221
- var import_jsx_runtime25, import_react27, bug_selection_default;
685
+ var import_jsx_runtime14, import_react13, bug_selection_default;
1222
686
  var init_bug_selection = __esm({
1223
687
  "build/processor.dynamicBug/bug-selection.js"() {
1224
688
  "use strict";
1225
- import_jsx_runtime25 = __toESM(require_jsx_runtime());
1226
- import_react27 = __toESM(require_react());
689
+ import_jsx_runtime14 = __toESM(require_jsx_runtime());
690
+ import_react13 = __toESM(require_react());
1227
691
  bug_selection_default = BugSelection;
1228
692
  }
1229
693
  });
@@ -1234,10 +698,10 @@ __export(summary_view_exports3, {
1234
698
  default: () => summary_view_default3
1235
699
  });
1236
700
  function SummaryView5({ state, sendCommand, httpApi }) {
1237
- const [bug, setBug] = (0, import_react28.useState)(state.activeBug?.file);
1238
- const [position, setPosition] = (0, import_react28.useState)(state.activeBug?.position);
1239
- const [bugs, setBugs] = (0, import_react28.useState)([]);
1240
- const [fileToUpload, setFileToUpload] = (0, import_react28.useState)(void 0);
701
+ const [bug, setBug] = (0, import_react14.useState)(state.activeBug?.file);
702
+ const [position, setPosition] = (0, import_react14.useState)(state.activeBug?.position);
703
+ const [bugs, setBugs] = (0, import_react14.useState)([]);
704
+ const [fileToUpload, setFileToUpload] = (0, import_react14.useState)(void 0);
1241
705
  async function updateBugs() {
1242
706
  const result2 = await fetch("components/processor.dynamicBug/bugs");
1243
707
  if (result2.ok && result2.body) {
@@ -1248,7 +712,7 @@ function SummaryView5({ state, sendCommand, httpApi }) {
1248
712
  throw new Error(text);
1249
713
  }
1250
714
  }
1251
- (0, import_react28.useEffect)(() => {
715
+ (0, import_react14.useEffect)(() => {
1252
716
  const fn = async () => {
1253
717
  await updateBugs();
1254
718
  };
@@ -1258,11 +722,11 @@ function SummaryView5({ state, sendCommand, httpApi }) {
1258
722
  if (e.target.files?.[0])
1259
723
  setFileToUpload(e.target.files[0]);
1260
724
  }
1261
- return (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [(0, import_jsx_runtime26.jsx)("h2", { children: "Controls" }), (0, import_jsx_runtime26.jsx)("label", { htmlFor: "select-preview", className: "mt-2", children: "Source" }), (0, import_jsx_runtime26.jsxs)("select", { id: "select-bug", className: "mt-2 node-editor-select-input", onChange: (e) => {
725
+ return (0, import_jsx_runtime15.jsxs)(import_jsx_runtime15.Fragment, { children: [(0, import_jsx_runtime15.jsx)("h2", { children: "Controls" }), (0, import_jsx_runtime15.jsx)("label", { htmlFor: "select-preview", className: "mt-2", children: "Source" }), (0, import_jsx_runtime15.jsxs)("select", { id: "select-bug", className: "mt-2 node-editor-select-input", onChange: (e) => {
1262
726
  setBug(e.currentTarget.value === "" ? void 0 : e.currentTarget.value);
1263
- }, children: [(0, import_jsx_runtime26.jsx)("option", { value: "", selected: bug === void 0, children: "---" }), (0, import_jsx_runtime26.jsx)("option", { value: "new", selected: bug === "new", children: "New" }), bugs.map((s, i) => (0, import_jsx_runtime26.jsx)("option", { selected: bug == s, value: s, children: s }, i))] }), (0, import_jsx_runtime26.jsx)("form", { style: { display: bug === "new" ? "block" : "none" }, onSubmit: (e) => e.preventDefault(), children: (0, import_jsx_runtime26.jsx)("input", { type: "file", id: "file", name: "filename", onChange: onFileChange }) }), (0, import_jsx_runtime26.jsxs)("select", { style: { display: bug ? "block" : "none" }, id: "select-position", className: "mt-2 node-editor-select-input", onChange: (e) => {
727
+ }, children: [(0, import_jsx_runtime15.jsx)("option", { value: "", selected: bug === void 0, children: "---" }), (0, import_jsx_runtime15.jsx)("option", { value: "new", selected: bug === "new", children: "New" }), bugs.map((s, i) => (0, import_jsx_runtime15.jsx)("option", { selected: bug == s, value: s, children: s }, i))] }), (0, import_jsx_runtime15.jsx)("form", { style: { display: bug === "new" ? "block" : "none" }, onSubmit: (e) => e.preventDefault(), children: (0, import_jsx_runtime15.jsx)("input", { type: "file", id: "file", name: "filename", onChange: onFileChange }) }), (0, import_jsx_runtime15.jsxs)("select", { style: { display: bug ? "block" : "none" }, id: "select-position", className: "mt-2 node-editor-select-input", onChange: (e) => {
1264
728
  setPosition(e.currentTarget.value);
1265
- }, children: [(0, import_jsx_runtime26.jsx)("option", { value: "topleft", selected: position === "topleft", children: "Top Left" }), (0, import_jsx_runtime26.jsx)("option", { value: "topright", selected: position === "topright", children: "Top Right" }), (0, import_jsx_runtime26.jsx)("option", { value: "bottomleft", selected: position === "bottomleft", children: "Bottom Left" }), (0, import_jsx_runtime26.jsx)("option", { value: "bottomright", selected: position === "bottomright", children: "Bottom Right" })] }), bug != state.activeBug?.file || position != state.activeBug?.position || fileToUpload ? (0, import_jsx_runtime26.jsx)("button", { type: "button", className: "mt-2 mb-2 text-white w-full justify-center bg-primary-700 hover:bg-primary-800 focus:ring-4 focus:outline-none focus:ring-primary-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800", onClick: async (e) => {
729
+ }, children: [(0, import_jsx_runtime15.jsx)("option", { value: "topleft", selected: position === "topleft", children: "Top Left" }), (0, import_jsx_runtime15.jsx)("option", { value: "topright", selected: position === "topright", children: "Top Right" }), (0, import_jsx_runtime15.jsx)("option", { value: "bottomleft", selected: position === "bottomleft", children: "Bottom Left" }), (0, import_jsx_runtime15.jsx)("option", { value: "bottomright", selected: position === "bottomright", children: "Bottom Right" })] }), bug != state.activeBug?.file || position != state.activeBug?.position || fileToUpload ? (0, import_jsx_runtime15.jsx)("button", { type: "button", className: "mt-2 mb-2 text-white w-full justify-center bg-primary-700 hover:bg-primary-800 focus:ring-4 focus:outline-none focus:ring-primary-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-primary-600 dark:hover:bg-primary-700 dark:focus:ring-primary-800", onClick: async (e) => {
1266
730
  e.preventDefault();
1267
731
  if (fileToUpload && bug === "new") {
1268
732
  const form = new FormData();
@@ -1282,14 +746,14 @@ function SummaryView5({ state, sendCommand, httpApi }) {
1282
746
  } else {
1283
747
  sendCommand({ type: "change-bug", file: bug, position });
1284
748
  }
1285
- }, children: "Commit" }) : (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, {})] });
749
+ }, children: "Commit" }) : (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, {})] });
1286
750
  }
1287
- var import_jsx_runtime26, import_react28, summary_view_default3;
751
+ var import_jsx_runtime15, import_react14, summary_view_default3;
1288
752
  var init_summary_view3 = __esm({
1289
753
  "build/processor.dynamicBug/summary-view.js"() {
1290
754
  "use strict";
1291
- import_jsx_runtime26 = __toESM(require_jsx_runtime());
1292
- import_react28 = __toESM(require_react());
755
+ import_jsx_runtime15 = __toESM(require_jsx_runtime());
756
+ import_react14 = __toESM(require_react());
1293
757
  summary_view_default3 = SummaryView5;
1294
758
  }
1295
759
  });
@@ -1300,13 +764,13 @@ __export(rung_view_exports, {
1300
764
  default: () => rung_view_default
1301
765
  });
1302
766
  function rung_view_default(rung) {
1303
- return (0, import_jsx_runtime27.jsx)("div", { className: "", children: rung.name });
767
+ return (0, import_jsx_runtime16.jsx)("div", { className: "", children: rung.name });
1304
768
  }
1305
- var import_jsx_runtime27;
769
+ var import_jsx_runtime16;
1306
770
  var init_rung_view = __esm({
1307
771
  "build/processor.fixedLadder/rung-view.js"() {
1308
772
  "use strict";
1309
- import_jsx_runtime27 = __toESM(require_jsx_runtime());
773
+ import_jsx_runtime16 = __toESM(require_jsx_runtime());
1310
774
  }
1311
775
  });
1312
776
 
@@ -1316,20 +780,20 @@ __export(codec_editor_exports, {
1316
780
  default: () => CodecEditor
1317
781
  });
1318
782
  function CodecEditor(props) {
1319
- (0, import_react30.useEffect)(() => {
783
+ (0, import_react16.useEffect)(() => {
1320
784
  if (props.defaultValue)
1321
785
  props.onChanged(props.defaultValue);
1322
786
  }, [props.defaultValue]);
1323
- const textAreaRef = (0, import_react30.useRef)(null);
1324
- const [value, setValue] = (0, import_react30.useState)(props.defaultValue);
1325
- (0, import_react30.useEffect)(() => {
787
+ const textAreaRef = (0, import_react16.useRef)(null);
788
+ const [value, setValue] = (0, import_react16.useState)(props.defaultValue);
789
+ (0, import_react16.useEffect)(() => {
1326
790
  if (textAreaRef.current) {
1327
791
  const target = textAreaRef.current;
1328
792
  target.style.height = "";
1329
793
  target.style.height = target.scrollHeight + "px";
1330
794
  }
1331
795
  }, []);
1332
- return (0, import_jsx_runtime28.jsx)("textarea", { ref: textAreaRef, className: "w-full min-h-fit dark:text-white dark:bg-black", onChange: (e) => {
796
+ return (0, import_jsx_runtime17.jsx)("textarea", { ref: textAreaRef, className: "w-full min-h-fit dark:text-white dark:bg-black", onChange: (e) => {
1333
797
  const target = e.currentTarget;
1334
798
  try {
1335
799
  const codec = JSON.parse(target.value);
@@ -1339,12 +803,12 @@ function CodecEditor(props) {
1339
803
  }
1340
804
  }, defaultValue: JSON.stringify(value, void 0, 2) });
1341
805
  }
1342
- var import_jsx_runtime28, import_react30;
806
+ var import_jsx_runtime17, import_react16;
1343
807
  var init_codec_editor = __esm({
1344
808
  "build/processor.fixedLadder/codec-editor.js"() {
1345
809
  "use strict";
1346
- import_jsx_runtime28 = __toESM(require_jsx_runtime());
1347
- import_react30 = __toESM(require_react());
810
+ import_jsx_runtime17 = __toESM(require_jsx_runtime());
811
+ import_react16 = __toESM(require_react());
1348
812
  }
1349
813
  });
1350
814
 
@@ -1354,13 +818,13 @@ __export(codec_view_exports, {
1354
818
  default: () => CodecEditor2
1355
819
  });
1356
820
  function CodecEditor2(props) {
1357
- return (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [props.width, "x", props.height] });
821
+ return (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [props.width, "x", props.height] });
1358
822
  }
1359
- var import_jsx_runtime29;
823
+ var import_jsx_runtime18;
1360
824
  var init_codec_view = __esm({
1361
825
  "build/processor.fixedLadder/codec-view.js"() {
1362
826
  "use strict";
1363
- import_jsx_runtime29 = __toESM(require_jsx_runtime());
827
+ import_jsx_runtime18 = __toESM(require_jsx_runtime());
1364
828
  }
1365
829
  });
1366
830
 
@@ -15687,9 +15151,9 @@ var inline_view_exports7 = {};
15687
15151
  __export(inline_view_exports7, {
15688
15152
  default: () => inline_view_default7
15689
15153
  });
15690
- function InlineView11({ state, config: _2 }) {
15691
- const chartContainer = (0, import_react32.useRef)(null);
15692
- const [chartControl, setChartControl] = (0, import_react32.useState)(void 0);
15154
+ function InlineView10({ state, config: _2 }) {
15155
+ const chartContainer = (0, import_react18.useRef)(null);
15156
+ const [chartControl, setChartControl] = (0, import_react18.useState)(void 0);
15693
15157
  function makeDataSet(key, color2, values) {
15694
15158
  return {
15695
15159
  label: key,
@@ -15706,7 +15170,7 @@ function InlineView11({ state, config: _2 }) {
15706
15170
  datasets: [makeDataSet("latency", "rgba(255, 0, 0, 255)", state2.values)]
15707
15171
  };
15708
15172
  }
15709
- (0, import_react32.useEffect)(() => {
15173
+ (0, import_react18.useEffect)(() => {
15710
15174
  if (!chartContainer.current)
15711
15175
  return;
15712
15176
  auto_default.defaults.color = "#FFF";
@@ -15744,21 +15208,21 @@ function InlineView11({ state, config: _2 }) {
15744
15208
  chart.update();
15745
15209
  }, 100);
15746
15210
  }, [chartContainer]);
15747
- (0, import_react32.useEffect)(() => {
15211
+ (0, import_react18.useEffect)(() => {
15748
15212
  if (!chartControl)
15749
15213
  return;
15750
15214
  chartControl.data = makeData(state);
15751
15215
  }, [state]);
15752
- return (0, import_jsx_runtime30.jsx)("div", { className: "bg-gray-50 dark:bg-gray-700 rounded", style: { width: "360px", height: "200px", padding: "10px" }, children: (0, import_jsx_runtime30.jsx)("canvas", { className: "bg-gray-50 dark:bg-gray-700 rounded", ref: chartContainer }) });
15216
+ return (0, import_jsx_runtime19.jsx)("div", { className: "bg-gray-50 dark:bg-gray-700 rounded", style: { width: "360px", height: "200px", padding: "10px" }, children: (0, import_jsx_runtime19.jsx)("canvas", { className: "bg-gray-50 dark:bg-gray-700 rounded", ref: chartContainer }) });
15753
15217
  }
15754
- var import_jsx_runtime30, import_react32, inline_view_default7;
15218
+ var import_jsx_runtime19, import_react18, inline_view_default7;
15755
15219
  var init_inline_view7 = __esm({
15756
15220
  "build/util.latency/inline-view.js"() {
15757
15221
  "use strict";
15758
- import_jsx_runtime30 = __toESM(require_jsx_runtime());
15759
- import_react32 = __toESM(require_react());
15222
+ import_jsx_runtime19 = __toESM(require_jsx_runtime());
15223
+ import_react18 = __toESM(require_react());
15760
15224
  init_auto();
15761
- inline_view_default7 = InlineView11;
15225
+ inline_view_default7 = InlineView10;
15762
15226
  }
15763
15227
  });
15764
15228
 
@@ -15768,22 +15232,22 @@ __export(source_node_selection_exports, {
15768
15232
  default: () => source_node_selection_default
15769
15233
  });
15770
15234
  function SourceNodeSelection(props) {
15771
- return (0, import_jsx_runtime31.jsx)("div", { children: (0, import_jsx_runtime31.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime31.jsx)("option", { value: "", children: "---" }, "empty"), Object.values(props.latestDocument.components).map((o, i) => {
15235
+ return (0, import_jsx_runtime20.jsx)("div", { children: (0, import_jsx_runtime20.jsxs)("select", { defaultValue: props.defaultValue, className: `node-editor-select-input`, id: props.id, onChange: myOnChange, onBlur: myOnChange, children: [(0, import_jsx_runtime20.jsx)("option", { value: "", children: "---" }, "empty"), Object.values(props.latestDocument.components).map((o, i) => {
15772
15236
  if (o.id == props.id)
15773
- return (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, {});
15237
+ return (0, import_jsx_runtime20.jsx)(import_jsx_runtime20.Fragment, {});
15774
15238
  if (o.info.category === "output")
15775
15239
  return;
15776
- return (0, import_jsx_runtime31.jsx)("option", { value: o.id, children: o.config.displayName }, i);
15240
+ return (0, import_jsx_runtime20.jsx)("option", { value: o.id, children: o.config.displayName }, i);
15777
15241
  })] }) });
15778
15242
  function myOnChange(e) {
15779
15243
  props.onChanged(e.target.value);
15780
15244
  }
15781
15245
  }
15782
- var import_jsx_runtime31, source_node_selection_default;
15246
+ var import_jsx_runtime20, source_node_selection_default;
15783
15247
  var init_source_node_selection = __esm({
15784
15248
  "build/util.latency/source-node-selection.js"() {
15785
15249
  "use strict";
15786
- import_jsx_runtime31 = __toESM(require_jsx_runtime());
15250
+ import_jsx_runtime20 = __toESM(require_jsx_runtime());
15787
15251
  source_node_selection_default = SourceNodeSelection;
15788
15252
  }
15789
15253
  });
@@ -15793,9 +15257,9 @@ var inline_view_exports8 = {};
15793
15257
  __export(inline_view_exports8, {
15794
15258
  default: () => inline_view_default8
15795
15259
  });
15796
- function InlineView12({ state, config: _2 }) {
15797
- const chartContainer = (0, import_react34.useRef)(null);
15798
- const [chartControl, setChartControl] = (0, import_react34.useState)(void 0);
15260
+ function InlineView11({ state, config: _2 }) {
15261
+ const chartContainer = (0, import_react20.useRef)(null);
15262
+ const [chartControl, setChartControl] = (0, import_react20.useState)(void 0);
15799
15263
  function makeDataSet(key, color2, values) {
15800
15264
  return {
15801
15265
  label: key,
@@ -15816,7 +15280,7 @@ function InlineView12({ state, config: _2 }) {
15816
15280
  ]
15817
15281
  };
15818
15282
  }
15819
- (0, import_react34.useEffect)(() => {
15283
+ (0, import_react20.useEffect)(() => {
15820
15284
  if (!chartContainer.current)
15821
15285
  return;
15822
15286
  auto_default.defaults.color = "#FFF";
@@ -15854,21 +15318,21 @@ function InlineView12({ state, config: _2 }) {
15854
15318
  chart.update();
15855
15319
  }, 100);
15856
15320
  }, [chartContainer]);
15857
- (0, import_react34.useEffect)(() => {
15321
+ (0, import_react20.useEffect)(() => {
15858
15322
  if (!chartControl)
15859
15323
  return;
15860
15324
  chartControl.data = makeData(state);
15861
15325
  }, [state]);
15862
- return (0, import_jsx_runtime32.jsx)("div", { className: "bg-gray-50 dark:bg-gray-700 rounded", style: { width: "360px", height: "200px", padding: "10px" }, children: (0, import_jsx_runtime32.jsx)("canvas", { className: "bg-gray-50 dark:bg-gray-700 rounded", ref: chartContainer }) });
15326
+ return (0, import_jsx_runtime21.jsx)("div", { className: "bg-gray-50 dark:bg-gray-700 rounded", style: { width: "360px", height: "200px", padding: "10px" }, children: (0, import_jsx_runtime21.jsx)("canvas", { className: "bg-gray-50 dark:bg-gray-700 rounded", ref: chartContainer }) });
15863
15327
  }
15864
- var import_jsx_runtime32, import_react34, inline_view_default8;
15328
+ var import_jsx_runtime21, import_react20, inline_view_default8;
15865
15329
  var init_inline_view8 = __esm({
15866
15330
  "build/util.ma35d/inline-view.js"() {
15867
15331
  "use strict";
15868
- import_jsx_runtime32 = __toESM(require_jsx_runtime());
15869
- import_react34 = __toESM(require_react());
15332
+ import_jsx_runtime21 = __toESM(require_jsx_runtime());
15333
+ import_react20 = __toESM(require_react());
15870
15334
  init_auto();
15871
- inline_view_default8 = InlineView12;
15335
+ inline_view_default8 = InlineView11;
15872
15336
  }
15873
15337
  });
15874
15338
 
@@ -15877,10 +15341,10 @@ var inline_view_exports9 = {};
15877
15341
  __export(inline_view_exports9, {
15878
15342
  default: () => inline_view_default9
15879
15343
  });
15880
- function InlineView13({ state, config: _2 }) {
15881
- const chartContainer = (0, import_react36.useRef)(null);
15882
- const [chartControl, setChartControl] = (0, import_react36.useState)(void 0);
15883
- (0, import_react36.useEffect)(() => {
15344
+ function InlineView12({ state, config: _2 }) {
15345
+ const chartContainer = (0, import_react22.useRef)(null);
15346
+ const [chartControl, setChartControl] = (0, import_react22.useState)(void 0);
15347
+ (0, import_react22.useEffect)(() => {
15884
15348
  if (!chartContainer.current)
15885
15349
  return;
15886
15350
  if (state.timestamps.length < 2)
@@ -15942,7 +15406,7 @@ function InlineView13({ state, config: _2 }) {
15942
15406
  chart.update();
15943
15407
  }, 100);
15944
15408
  }, [chartContainer]);
15945
- (0, import_react36.useEffect)(() => {
15409
+ (0, import_react22.useEffect)(() => {
15946
15410
  if (!chartControl)
15947
15411
  return;
15948
15412
  chartControl.data = {
@@ -15965,68 +15429,25 @@ function InlineView13({ state, config: _2 }) {
15965
15429
  })
15966
15430
  };
15967
15431
  }, [state]);
15968
- return (0, import_jsx_runtime33.jsx)("div", { className: "bg-gray-50 dark:bg-gray-700 rounded", style: { width: "360px", height: "200px", padding: "10px" }, children: (0, import_jsx_runtime33.jsx)("canvas", { className: "bg-gray-50 dark:bg-gray-700 rounded", ref: chartContainer }) });
15432
+ return (0, import_jsx_runtime22.jsx)("div", { className: "bg-gray-50 dark:bg-gray-700 rounded", style: { width: "360px", height: "200px", padding: "10px" }, children: (0, import_jsx_runtime22.jsx)("canvas", { className: "bg-gray-50 dark:bg-gray-700 rounded", ref: chartContainer }) });
15969
15433
  }
15970
- var import_jsx_runtime33, import_react36, inline_view_default9;
15434
+ var import_jsx_runtime22, import_react22, inline_view_default9;
15971
15435
  var init_inline_view9 = __esm({
15972
15436
  "build/util.timestamps/inline-view.js"() {
15973
15437
  "use strict";
15974
- import_jsx_runtime33 = __toESM(require_jsx_runtime());
15975
- import_react36 = __toESM(require_react());
15438
+ import_jsx_runtime22 = __toESM(require_jsx_runtime());
15439
+ import_react22 = __toESM(require_react());
15976
15440
  init_auto();
15977
- inline_view_default9 = InlineView13;
15441
+ inline_view_default9 = InlineView12;
15978
15442
  }
15979
15443
  });
15980
15444
 
15981
- // build/input.mediaconnect/info.js
15982
- var import_react4 = __toESM(require_react());
15983
- function info_default({ defineComponent, Av, validation: { Z } }) {
15984
- const FlowSelection2 = import_react4.default.lazy(async () => Promise.resolve().then(() => (init_flow_selection(), flow_selection_exports)));
15985
- const OutputSelection2 = import_react4.default.lazy(async () => Promise.resolve().then(() => (init_output_selection(), output_selection_exports)));
15986
- const NodeView3 = import_react4.default.lazy(async () => Promise.resolve().then(() => (init_node_view(), node_view_exports)));
15987
- return defineComponent({
15988
- identifier: "input.mediaconnect",
15989
- category: "input",
15990
- name: "Media Connect Input",
15991
- subscription: {
15992
- produces: {
15993
- type: "single-stream",
15994
- // for now anyway
15995
- media: Av
15996
- }
15997
- },
15998
- designtime: {
15999
- node: NodeView3
16000
- },
16001
- configForm: {
16002
- form: {
16003
- flowArn: {
16004
- help: "The flow to connect to",
16005
- hint: {
16006
- type: "custom",
16007
- component: FlowSelection2,
16008
- validation: Z.string().min(1, "Choosing a flow is mandatory")
16009
- }
16010
- },
16011
- outputArn: {
16012
- help: "Output of the flow to be used",
16013
- hint: {
16014
- type: "custom",
16015
- component: OutputSelection2,
16016
- validation: Z.string().min(1, "Choosing an output is mandatory")
16017
- }
16018
- }
16019
- }
16020
- }
16021
- });
16022
- }
16023
-
16024
15445
  // build/input.rtmp/info.js
16025
- var import_react5 = __toESM(require_react());
16026
- var InlineView2 = import_react5.default.lazy(async () => Promise.resolve().then(() => (init_inline_view(), inline_view_exports)));
16027
- var SummaryView2 = import_react5.default.lazy(async () => Promise.resolve().then(() => (init_summary_view(), summary_view_exports)));
15446
+ var import_react = __toESM(require_react());
15447
+ var InlineView2 = import_react.default.lazy(async () => Promise.resolve().then(() => (init_inline_view(), inline_view_exports)));
15448
+ var SummaryView2 = import_react.default.lazy(async () => Promise.resolve().then(() => (init_summary_view(), summary_view_exports)));
16028
15449
  var defaultPort = 1935;
16029
- function info_default2({ defineComponent, Av, validation: { Z, Port, SourceName, unique } }) {
15450
+ function info_default({ defineComponent, Av, validation: { Z, Port, SourceName, unique } }) {
16030
15451
  return defineComponent({
16031
15452
  identifier: "input.rtmp",
16032
15453
  category: "input",
@@ -16095,7 +15516,7 @@ function assertUnreachable(_) {
16095
15516
  }
16096
15517
 
16097
15518
  // build/input.silence/info.js
16098
- function info_default3({ defineComponent, Audio }) {
15519
+ function info_default2({ defineComponent, Audio }) {
16099
15520
  return defineComponent({
16100
15521
  identifier: "input.silence",
16101
15522
  category: "input",
@@ -16182,10 +15603,10 @@ var result = ({ Z }) => ({
16182
15603
  var srt_socket_options_default = result;
16183
15604
 
16184
15605
  // build/input.srt-caller/info.js
16185
- var import_react6 = __toESM(require_react());
16186
- function info_default4({ defineComponent, Av, validation }) {
15606
+ var import_react2 = __toESM(require_react());
15607
+ function info_default3({ defineComponent, Av, validation }) {
16187
15608
  const { Port, IpAddress, SourceName, SrtPassphrase, SrtStreamId } = validation;
16188
- const SocketConfiguration2 = import_react6.default.lazy(async () => {
15609
+ const SocketConfiguration2 = import_react2.default.lazy(async () => {
16189
15610
  const views = await Promise.resolve().then(() => (init_srt_form_views(), srt_form_views_exports));
16190
15611
  return { default: views.SocketConfiguration };
16191
15612
  });
@@ -16227,12 +15648,12 @@ function info_default4({ defineComponent, Av, validation }) {
16227
15648
  }
16228
15649
 
16229
15650
  // build/input.srt-listener/info.js
16230
- var import_react7 = __toESM(require_react());
16231
- var InlineView4 = import_react7.default.lazy(async () => Promise.resolve().then(() => (init_inline_view2(), inline_view_exports2)));
16232
- var SummaryView4 = import_react7.default.lazy(async () => Promise.resolve().then(() => (init_summary_view2(), summary_view_exports2)));
16233
- function info_default5({ defineComponent, Av, validation }) {
15651
+ var import_react3 = __toESM(require_react());
15652
+ var InlineView4 = import_react3.default.lazy(async () => Promise.resolve().then(() => (init_inline_view2(), inline_view_exports2)));
15653
+ var SummaryView4 = import_react3.default.lazy(async () => Promise.resolve().then(() => (init_summary_view2(), summary_view_exports2)));
15654
+ function info_default4({ defineComponent, Av, validation }) {
16234
15655
  const { Z, Port, IpAddress, SourceName, SrtPassphrase, unique } = validation;
16235
- const SocketConfiguration2 = import_react7.default.lazy(async () => {
15656
+ const SocketConfiguration2 = import_react3.default.lazy(async () => {
16236
15657
  const views = await Promise.resolve().then(() => (init_srt_form_views(), srt_form_views_exports));
16237
15658
  return { default: views.SocketConfiguration };
16238
15659
  });
@@ -16348,7 +15769,7 @@ function assertUnreachable2(_) {
16348
15769
  }
16349
15770
 
16350
15771
  // build/input.udp-ts/info.js
16351
- function info_default6({ defineComponent, Av, validation: { Z, Port, IpAddress, SourceName, unique } }) {
15772
+ function info_default5({ defineComponent, Av, validation: { Z, Port, IpAddress, SourceName, unique } }) {
16352
15773
  return defineComponent({
16353
15774
  identifier: "input.udp-ts",
16354
15775
  category: "input",
@@ -16380,7 +15801,7 @@ function info_default6({ defineComponent, Av, validation: { Z, Port, IpAddress,
16380
15801
  }
16381
15802
 
16382
15803
  // build/input.videoTestCard/info.js
16383
- function info_default7({ defineComponent, Video, validation: { SourceName }, common: { Resolutions, FrameRates } }) {
15804
+ function info_default6({ defineComponent, Video, validation: { SourceName }, common: { Resolutions, FrameRates } }) {
16384
15805
  return defineComponent({
16385
15806
  identifier: "input.videoTestCard",
16386
15807
  category: "input",
@@ -16422,15 +15843,15 @@ function info_default7({ defineComponent, Video, validation: { SourceName }, com
16422
15843
  }
16423
15844
 
16424
15845
  // build/output.autoCmaf/info.js
16425
- var import_react10 = __toESM(require_react());
16426
- function info_default8({ defineComponent, All, validation: { Z, Hostname } }) {
16427
- const SummaryView6 = import_react10.default.lazy(async () => Promise.resolve().then(() => (init_summary(), summary_exports)));
16428
- const FullscreenView3 = import_react10.default.lazy(async () => Promise.resolve().then(() => (init_fullscreen(), fullscreen_exports)));
16429
- const SegmentConfiguration2 = import_react10.default.lazy(async () => {
15846
+ var import_react6 = __toESM(require_react());
15847
+ function info_default7({ defineComponent, All, validation: { Z, Hostname } }) {
15848
+ const SummaryView6 = import_react6.default.lazy(async () => Promise.resolve().then(() => (init_summary(), summary_exports)));
15849
+ const FullscreenView2 = import_react6.default.lazy(async () => Promise.resolve().then(() => (init_fullscreen(), fullscreen_exports)));
15850
+ const SegmentConfiguration2 = import_react6.default.lazy(async () => {
16430
15851
  const views = await Promise.resolve().then(() => (init_form_views(), form_views_exports));
16431
15852
  return { default: views.SegmentConfiguration };
16432
15853
  });
16433
- const S3Destination2 = import_react10.default.lazy(async () => {
15854
+ const S3Destination2 = import_react6.default.lazy(async () => {
16434
15855
  const views = await Promise.resolve().then(() => (init_form_views(), form_views_exports));
16435
15856
  return { default: views.S3Destination };
16436
15857
  });
@@ -16472,7 +15893,7 @@ function info_default8({ defineComponent, All, validation: { Z, Hostname } }) {
16472
15893
  return { ...state };
16473
15894
  },
16474
15895
  summary: SummaryView6,
16475
- fullscreen: FullscreenView3
15896
+ fullscreen: FullscreenView2
16476
15897
  },
16477
15898
  configForm: {
16478
15899
  form: {
@@ -16595,103 +16016,12 @@ function assertUnreachable3(_) {
16595
16016
  throw new Error("Didn't expect to get here");
16596
16017
  }
16597
16018
 
16598
- // build/output.medialive/info.js
16599
- var import_react17 = __toESM(require_react());
16600
- function info_default9({ defineComponent, validation: { Z }, All }) {
16601
- const ChannelSelection2 = import_react17.default.lazy(async () => Promise.resolve().then(() => (init_channel_selection(), channel_selection_exports)));
16602
- const InputSelection = import_react17.default.lazy(async () => Promise.resolve().then(() => (init_input_selection(), input_selection_exports)));
16603
- const UrlSelection2 = import_react17.default.lazy(async () => Promise.resolve().then(() => (init_url_selection(), url_selection_exports)));
16604
- const NodeView3 = import_react17.default.lazy(async () => Promise.resolve().then(() => (init_node_view2(), node_view_exports2)));
16605
- const InlineView14 = import_react17.default.lazy(async () => Promise.resolve().then(() => (init_inline(), inline_exports)));
16606
- const FullscreenView3 = import_react17.default.lazy(async () => Promise.resolve().then(() => (init_fullscreen2(), fullscreen_exports2)));
16607
- return defineComponent({
16608
- identifier: "output.medialive",
16609
- category: "output",
16610
- name: "Media Live Output",
16611
- subscription: {
16612
- // Only one of each
16613
- // do we care about doing sub validation seeing as this is an SRT output?
16614
- // maybe this one is a quick chat with @nwolverson
16615
- // accepts: {
16616
- // type: "single-stream",
16617
- // media: ["audio", "video", "subtitle"]
16618
- // }
16619
- // I don't know, can be at least audio+video+2 subs
16620
- accepts: {
16621
- type: "multi-stream",
16622
- media: All
16623
- }
16624
- },
16625
- extraValidation: function(ctx) {
16626
- const audioStreams = ctx.subscriptions.filter((s) => s.streams.select.includes("audio"));
16627
- const videoStreams = ctx.subscriptions.filter((s) => s.streams.select.includes("video"));
16628
- if (audioStreams.length == 0) {
16629
- ctx.addWarning("Output has no audio, is this intentional");
16630
- }
16631
- if (videoStreams.length == 0) {
16632
- ctx.addWarning("Output has no video, is this intentional");
16633
- }
16634
- },
16635
- designtime: {
16636
- node: NodeView3
16637
- },
16638
- runtime: {
16639
- initialState: () => ({
16640
- url: void 0
16641
- }),
16642
- handleEvent: (ev, state) => {
16643
- const evType = ev.type;
16644
- switch (evType) {
16645
- case "url-located":
16646
- return { ...state, url: ev.url };
16647
- default:
16648
- assertUnreachable4(evType);
16649
- }
16650
- },
16651
- inline: InlineView14,
16652
- fullscreen: FullscreenView3
16653
- },
16654
- configForm: {
16655
- form: {
16656
- channelId: {
16657
- help: "The channel to output to",
16658
- hint: {
16659
- type: "custom",
16660
- component: ChannelSelection2,
16661
- validation: Z.string().min(1, "Choosing a channel is mandatory")
16662
- }
16663
- },
16664
- inputId: {
16665
- help: "The input of the channel to output to",
16666
- hint: {
16667
- type: "custom",
16668
- component: InputSelection,
16669
- validation: Z.string().min(1, "Choosing an input is mandatory")
16670
- }
16671
- },
16672
- destinationIndex: {
16673
- help: "The publish URL to output to",
16674
- hint: {
16675
- type: "custom",
16676
- defaultValue: 0,
16677
- component: UrlSelection2,
16678
- validation: Z.number().min(0, "Choosing a url is mandatory")
16679
- }
16680
- }
16681
- }
16682
- }
16683
- });
16684
- }
16685
- function assertUnreachable4(_) {
16686
- throw new Error("Didn't expect to get here");
16687
- }
16688
-
16689
16019
  // build/output.preview/info.js
16690
- var import_react19 = __toESM(require_react());
16020
+ var import_react8 = __toESM(require_react());
16691
16021
  var import_config = __toESM(require_config());
16692
- function info_default10(R) {
16022
+ function info_default8(R) {
16693
16023
  const { defineComponent, Av, validation: { JitterBuffer } } = R;
16694
- const InlineView14 = import_react19.default.lazy(async () => Promise.resolve().then(() => (init_inline_view3(), inline_view_exports3)));
16024
+ const InlineView13 = import_react8.default.lazy(async () => Promise.resolve().then(() => (init_inline_view3(), inline_view_exports3)));
16695
16025
  return defineComponent({
16696
16026
  identifier: "output.preview",
16697
16027
  category: "output",
@@ -16737,11 +16067,11 @@ function info_default10(R) {
16737
16067
  state.levels = ev.levels;
16738
16068
  break;
16739
16069
  default:
16740
- assertUnreachable5(evType);
16070
+ assertUnreachable4(evType);
16741
16071
  }
16742
16072
  return { ...state };
16743
16073
  },
16744
- inline: InlineView14
16074
+ inline: InlineView13
16745
16075
  },
16746
16076
  configForm: {
16747
16077
  global: {
@@ -16754,14 +16084,14 @@ function info_default10(R) {
16754
16084
  }
16755
16085
  });
16756
16086
  }
16757
- function assertUnreachable5(_) {
16087
+ function assertUnreachable4(_) {
16758
16088
  throw new Error("Didn't expect to get here");
16759
16089
  }
16760
16090
 
16761
16091
  // build/output.rtmp/info.js
16762
- var import_react20 = __toESM(require_react());
16763
- function info_default11({ defineComponent, Av, validation: { Z, JitterBuffer } }) {
16764
- const InlineView14 = import_react20.default.lazy(async () => Promise.resolve().then(() => (init_inline_view4(), inline_view_exports4)));
16092
+ var import_react9 = __toESM(require_react());
16093
+ function info_default9({ defineComponent, Av, validation: { Z, JitterBuffer } }) {
16094
+ const InlineView13 = import_react9.default.lazy(async () => Promise.resolve().then(() => (init_inline_view4(), inline_view_exports4)));
16765
16095
  return defineComponent({
16766
16096
  identifier: "output.rtmp",
16767
16097
  category: "output",
@@ -16795,11 +16125,11 @@ function info_default11({ defineComponent, Av, validation: { Z, JitterBuffer } }
16795
16125
  state.connectRetries++;
16796
16126
  break;
16797
16127
  default:
16798
- assertUnreachable6(evType);
16128
+ assertUnreachable5(evType);
16799
16129
  }
16800
16130
  return { ...state };
16801
16131
  },
16802
- inline: InlineView14
16132
+ inline: InlineView13
16803
16133
  },
16804
16134
  configForm: {
16805
16135
  form: {
@@ -16811,16 +16141,16 @@ function info_default11({ defineComponent, Av, validation: { Z, JitterBuffer } }
16811
16141
  }
16812
16142
  });
16813
16143
  }
16814
- function assertUnreachable6(_) {
16144
+ function assertUnreachable5(_) {
16815
16145
  throw new Error("Didn't expect to get here");
16816
16146
  }
16817
16147
 
16818
16148
  // build/output.srt/info.js
16819
- var import_react21 = __toESM(require_react());
16820
- function info_default12(registration) {
16149
+ var import_react10 = __toESM(require_react());
16150
+ function info_default10(registration) {
16821
16151
  const { defineComponent, All, validation } = registration;
16822
16152
  const { Port, IpAddress, JitterBuffer, SrtPassphrase, SrtStreamId } = validation;
16823
- const SocketConfiguration2 = import_react21.default.lazy(async () => {
16153
+ const SocketConfiguration2 = import_react10.default.lazy(async () => {
16824
16154
  const views = await Promise.resolve().then(() => (init_srt_form_views(), srt_form_views_exports));
16825
16155
  return { default: views.SocketConfiguration };
16826
16156
  });
@@ -16898,7 +16228,7 @@ function info_default12(registration) {
16898
16228
  init_info();
16899
16229
 
16900
16230
  // build/output.udpTs/info.js
16901
- function info_default14({ defineComponent, All, validation: { Port, IpAddress, JitterBuffer, Iface, Z } }) {
16231
+ function info_default12({ defineComponent, All, validation: { Port, IpAddress, JitterBuffer, Iface, Z } }) {
16902
16232
  return defineComponent({
16903
16233
  identifier: "output.udpTs",
16904
16234
  category: "output",
@@ -16932,7 +16262,7 @@ function info_default14({ defineComponent, All, validation: { Port, IpAddress, J
16932
16262
 
16933
16263
  // build/output.whep/info.js
16934
16264
  var import_config2 = __toESM(require_config());
16935
- function info_default15(R) {
16265
+ function info_default13(R) {
16936
16266
  const { defineComponent, Av, validation: { JitterBuffer } } = R;
16937
16267
  return defineComponent({
16938
16268
  identifier: "output.whep",
@@ -16963,66 +16293,9 @@ function info_default15(R) {
16963
16293
  });
16964
16294
  }
16965
16295
 
16966
- // build/processor.aws-transcribe/info.js
16967
- var import_react25 = __toESM(require_react());
16968
- function info_default16({ defineComponent, Av, Subtitle, validation: { LanguageTagWithCountry, LanguageTagOptionalCountry, Z } }) {
16969
- const TranscribeLanguageSelection2 = import_react25.default.lazy(async () => Promise.resolve().then(() => (init_transcribe_language_selection(), transcribe_language_selection_exports)));
16970
- const TranslateLanguageSelection2 = import_react25.default.lazy(async () => Promise.resolve().then(() => (init_translate_language_selection(), translate_language_selection_exports)));
16971
- return defineComponent({
16972
- identifier: "processor.aws-transcribe",
16973
- category: "processor",
16974
- name: "AWS Transcribe",
16975
- subscription: {
16976
- // Must have video AND audio?
16977
- // Or is video optional?
16978
- // either way, we only want one of each
16979
- // and we want QUCV to respect our choice
16980
- accepts: {
16981
- type: "single-stream",
16982
- media: Av
16983
- // video because we'll use the id of it..
16984
- },
16985
- produces: {
16986
- type: "fixed-list",
16987
- possibleMedia: Subtitle,
16988
- keys: (cfg) => [{
16989
- key: "subs",
16990
- display: "Subtitle",
16991
- media: Subtitle
16992
- }].concat(cfg.targetLanguage ? [{
16993
- key: "subs-translated",
16994
- display: "Translated Subtitle",
16995
- media: Subtitle
16996
- }] : []),
16997
- selector: (selection, metadata) => metadata.filter((x) => selection.includes(x.streamKey.renditionName)).map((x) => x.streamKey)
16998
- }
16999
- },
17000
- extraValidation: function(ctx) {
17001
- const video = ctx.videoInputs();
17002
- const audio = ctx.audioInputs();
17003
- if (video.length !== 1) {
17004
- ctx.addError("AWS Transcribe requires a single video stream to use as a reference");
17005
- }
17006
- if (audio.length !== 1) {
17007
- ctx.addError("AWS Transcribe requires a single audio stream to transcribe");
17008
- }
17009
- },
17010
- display: (_desc) => {
17011
- const result2 = {};
17012
- return result2;
17013
- },
17014
- configForm: {
17015
- form: {
17016
- language: { help: "Source language to transcribe", hint: { type: "custom", component: TranscribeLanguageSelection2, defaultValue: "en-US", validation: LanguageTagWithCountry } },
17017
- targetLanguage: { help: "Target language to translate to (optional).", hint: { type: "custom", component: TranslateLanguageSelection2, defaultValue: "", validation: Z.union([LanguageTagOptionalCountry, Z.string().length(0)]) } }
17018
- }
17019
- }
17020
- });
17021
- }
17022
-
17023
16296
  // build/processor.browserOverlay/info.js
17024
16297
  var import_config3 = __toESM(require_config());
17025
- function info_default17({ defineComponent, Video, validation: { Z } }) {
16298
+ function info_default14({ defineComponent, Video, validation: { Z } }) {
17026
16299
  return defineComponent({
17027
16300
  identifier: "processor.transform.browserOverlay",
17028
16301
  category: "processor",
@@ -17058,9 +16331,9 @@ function info_default17({ defineComponent, Video, validation: { Z } }) {
17058
16331
  }
17059
16332
 
17060
16333
  // build/processor.cascadingSwitch/info.js
17061
- function info_default18({ defineComponent, Av, React: React17, common: { Resolutions, FrameRates } }) {
17062
- const SourceSelection = React17.lazy(async () => Promise.resolve().then(() => (init_source_selection(), source_selection_exports)));
17063
- const InlineView14 = React17.lazy(async () => Promise.resolve().then(() => (init_inline_view6(), inline_view_exports6)));
16334
+ function info_default15({ defineComponent, Av, React: React14, common: { Resolutions, FrameRates } }) {
16335
+ const SourceSelection = React14.lazy(async () => Promise.resolve().then(() => (init_source_selection(), source_selection_exports)));
16336
+ const InlineView13 = React14.lazy(async () => Promise.resolve().then(() => (init_inline_view6(), inline_view_exports6)));
17064
16337
  return defineComponent({
17065
16338
  identifier: "processor.control.cascadingSwitch",
17066
16339
  category: "processor",
@@ -17138,12 +16411,12 @@ function info_default18({ defineComponent, Av, React: React17, common: { Resolut
17138
16411
  state.availableSources.splice(state.availableSources.indexOf(ev.source), 1);
17139
16412
  return { ...state };
17140
16413
  default:
17141
- assertUnreachable8(evType);
16414
+ assertUnreachable7(evType);
17142
16415
  }
17143
16416
  },
17144
- inline: InlineView14,
17145
- summary: InlineView14,
17146
- fullscreen: InlineView14
16417
+ inline: InlineView13,
16418
+ summary: InlineView13,
16419
+ fullscreen: InlineView13
17147
16420
  },
17148
16421
  configForm: {
17149
16422
  form: {
@@ -17189,16 +16462,16 @@ function info_default18({ defineComponent, Av, React: React17, common: { Resolut
17189
16462
  }
17190
16463
  });
17191
16464
  }
17192
- function assertUnreachable8(_) {
16465
+ function assertUnreachable7(_) {
17193
16466
  throw new Error("Didn't expect to get here");
17194
16467
  }
17195
16468
 
17196
16469
  // build/processor.dynamicBug/info.js
17197
16470
  var import_config4 = __toESM(require_config());
17198
- var import_react29 = __toESM(require_react());
17199
- function info_default19({ defineComponent, Video }) {
17200
- const BugSelection2 = import_react29.default.lazy(async () => Promise.resolve().then(() => (init_bug_selection(), bug_selection_exports)));
17201
- const SummaryView6 = import_react29.default.lazy(async () => Promise.resolve().then(() => (init_summary_view3(), summary_view_exports3)));
16471
+ var import_react15 = __toESM(require_react());
16472
+ function info_default16({ defineComponent, Video }) {
16473
+ const BugSelection2 = import_react15.default.lazy(async () => Promise.resolve().then(() => (init_bug_selection(), bug_selection_exports)));
16474
+ const SummaryView6 = import_react15.default.lazy(async () => Promise.resolve().then(() => (init_summary_view3(), summary_view_exports3)));
17202
16475
  return defineComponent({
17203
16476
  identifier: "processor.dynamicBug",
17204
16477
  category: "processor",
@@ -17231,7 +16504,7 @@ function info_default19({ defineComponent, Video }) {
17231
16504
  case "bug-changed":
17232
16505
  return { ...state, activeBug: { file: ev.file, position: ev.position } };
17233
16506
  default:
17234
- assertUnreachable9(evType);
16507
+ assertUnreachable8(evType);
17235
16508
  }
17236
16509
  }
17237
16510
  },
@@ -17264,17 +16537,17 @@ function info_default19({ defineComponent, Video }) {
17264
16537
  }
17265
16538
  });
17266
16539
  }
17267
- function assertUnreachable9(_) {
16540
+ function assertUnreachable8(_) {
17268
16541
  throw new Error("Didn't expect to get here");
17269
16542
  }
17270
16543
 
17271
16544
  // build/processor.fixedLadder/info.js
17272
- var import_react31 = __toESM(require_react());
16545
+ var import_react17 = __toESM(require_react());
17273
16546
  var import_config5 = __toESM(require_config());
17274
- function info_default20({ defineComponent, Video }) {
17275
- const RungView = import_react31.default.lazy(async () => Promise.resolve().then(() => (init_rung_view(), rung_view_exports)));
17276
- const CodecEditor3 = import_react31.default.lazy(async () => Promise.resolve().then(() => (init_codec_editor(), codec_editor_exports)));
17277
- const CodecView = import_react31.default.lazy(async () => Promise.resolve().then(() => (init_codec_view(), codec_view_exports)));
16547
+ function info_default17({ defineComponent, Video }) {
16548
+ const RungView = import_react17.default.lazy(async () => Promise.resolve().then(() => (init_rung_view(), rung_view_exports)));
16549
+ const CodecEditor3 = import_react17.default.lazy(async () => Promise.resolve().then(() => (init_codec_editor(), codec_editor_exports)));
16550
+ const CodecView = import_react17.default.lazy(async () => Promise.resolve().then(() => (init_codec_view(), codec_view_exports)));
17278
16551
  return defineComponent({
17279
16552
  identifier: "processor.transform.fixedLadder",
17280
16553
  category: "processor",
@@ -17436,7 +16709,7 @@ function createSoftwareRung(rung) {
17436
16709
  case "h264_320x180":
17437
16710
  return createRungImpl({ name: rung, threads: 1, bitrate: 800 });
17438
16711
  default:
17439
- return assertUnreachable10(rung);
16712
+ return assertUnreachable9(rung);
17440
16713
  }
17441
16714
  }
17442
16715
  function createMa35dRung(rung) {
@@ -17450,7 +16723,7 @@ function createMa35dRung(rung) {
17450
16723
  case "h264_320x180":
17451
16724
  return createMa35DH264RungImpl({ name: rung, bitrate: 1e3 });
17452
16725
  default:
17453
- return assertUnreachable10(rung);
16726
+ return assertUnreachable9(rung);
17454
16727
  }
17455
16728
  }
17456
16729
  function createNvidiaRung(rung) {
@@ -17464,7 +16737,7 @@ function createNvidiaRung(rung) {
17464
16737
  case "h264_320x180":
17465
16738
  return createNvidiaRungImpl({ name: rung, bitrate: 8e5 });
17466
16739
  default:
17467
- return assertUnreachable10(rung);
16740
+ return assertUnreachable9(rung);
17468
16741
  }
17469
16742
  }
17470
16743
  function createQuadraRung(rung) {
@@ -17478,7 +16751,7 @@ function createQuadraRung(rung) {
17478
16751
  case "h264_320x180":
17479
16752
  return createQuadraRungImpl({ name: rung, bitrate: 8e5 });
17480
16753
  default:
17481
- return assertUnreachable10(rung);
16754
+ return assertUnreachable9(rung);
17482
16755
  }
17483
16756
  }
17484
16757
  function createLoganRung(rung) {
@@ -17492,7 +16765,7 @@ function createLoganRung(rung) {
17492
16765
  case "h264_320x180":
17493
16766
  return createLoganRungImpl({ name: rung, bitrate: 8e5 });
17494
16767
  default:
17495
- return assertUnreachable10(rung);
16768
+ return assertUnreachable9(rung);
17496
16769
  }
17497
16770
  }
17498
16771
  function createRungImpl({ name, threads, bitrate }) {
@@ -17590,12 +16863,12 @@ function rungWidth(rungName) {
17590
16863
  function rungHeight(rungName) {
17591
16864
  return parseInt(rungName.split("_")[1].split(`x`)[1]);
17592
16865
  }
17593
- function assertUnreachable10(_) {
16866
+ function assertUnreachable9(_) {
17594
16867
  throw new Error("Didn't expect to get here");
17595
16868
  }
17596
16869
 
17597
16870
  // build/processor.whisper-transcribe/info.js
17598
- function info_default21({ defineComponent, Av, Subtitle, validation: { Z } }) {
16871
+ function info_default18({ defineComponent, Av, Subtitle, validation: { Z } }) {
17599
16872
  return defineComponent({
17600
16873
  identifier: "processor.whisper-transcribe",
17601
16874
  category: "processor",
@@ -17637,11 +16910,11 @@ function info_default21({ defineComponent, Av, Subtitle, validation: { Z } }) {
17637
16910
  }
17638
16911
 
17639
16912
  // build/util.latency/info.js
17640
- var import_react33 = __toESM(require_react());
17641
- function info_default22(R) {
16913
+ var import_react19 = __toESM(require_react());
16914
+ function info_default19(R) {
17642
16915
  const { defineComponent } = R;
17643
- const InlineView14 = import_react33.default.lazy(async () => Promise.resolve().then(() => (init_inline_view7(), inline_view_exports7)));
17644
- const SourceNodeSelection2 = import_react33.default.lazy(async () => Promise.resolve().then(() => (init_source_node_selection(), source_node_selection_exports)));
16916
+ const InlineView13 = import_react19.default.lazy(async () => Promise.resolve().then(() => (init_inline_view7(), inline_view_exports7)));
16917
+ const SourceNodeSelection2 = import_react19.default.lazy(async () => Promise.resolve().then(() => (init_source_node_selection(), source_node_selection_exports)));
17645
16918
  return defineComponent({
17646
16919
  identifier: "util.latency-stats",
17647
16920
  category: "output",
@@ -17668,11 +16941,11 @@ function info_default22(R) {
17668
16941
  break;
17669
16942
  }
17670
16943
  default:
17671
- assertUnreachable11(evType);
16944
+ assertUnreachable10(evType);
17672
16945
  }
17673
16946
  return { ...state };
17674
16947
  },
17675
- inline: InlineView14
16948
+ inline: InlineView13
17676
16949
  },
17677
16950
  configForm: {
17678
16951
  form: {
@@ -17722,15 +16995,15 @@ function info_default22(R) {
17722
16995
  }
17723
16996
  });
17724
16997
  }
17725
- function assertUnreachable11(_) {
16998
+ function assertUnreachable10(_) {
17726
16999
  throw new Error("Didn't expect to get here");
17727
17000
  }
17728
17001
 
17729
17002
  // build/util.ma35d/info.js
17730
- var import_react35 = __toESM(require_react());
17731
- function info_default23(R) {
17003
+ var import_react21 = __toESM(require_react());
17004
+ function info_default20(R) {
17732
17005
  const { defineComponent } = R;
17733
- const InlineView14 = import_react35.default.lazy(async () => Promise.resolve().then(() => (init_inline_view8(), inline_view_exports8)));
17006
+ const InlineView13 = import_react21.default.lazy(async () => Promise.resolve().then(() => (init_inline_view8(), inline_view_exports8)));
17734
17007
  return defineComponent({
17735
17008
  identifier: "util.ma35d-stats",
17736
17009
  category: "output",
@@ -17763,26 +17036,26 @@ function info_default23(R) {
17763
17036
  break;
17764
17037
  }
17765
17038
  default:
17766
- assertUnreachable12(evType);
17039
+ assertUnreachable11(evType);
17767
17040
  }
17768
17041
  return { ...state };
17769
17042
  },
17770
- inline: InlineView14
17043
+ inline: InlineView13
17771
17044
  },
17772
17045
  configForm: {
17773
17046
  form: {}
17774
17047
  }
17775
17048
  });
17776
17049
  }
17777
- function assertUnreachable12(_) {
17050
+ function assertUnreachable11(_) {
17778
17051
  throw new Error("Didn't expect to get here");
17779
17052
  }
17780
17053
 
17781
17054
  // build/util.timestamps/info.js
17782
- var import_react37 = __toESM(require_react());
17783
- function info_default24(R) {
17055
+ var import_react23 = __toESM(require_react());
17056
+ function info_default21(R) {
17784
17057
  const { defineComponent, All } = R;
17785
- const InlineView14 = import_react37.default.lazy(async () => Promise.resolve().then(() => (init_inline_view9(), inline_view_exports9)));
17058
+ const InlineView13 = import_react23.default.lazy(async () => Promise.resolve().then(() => (init_inline_view9(), inline_view_exports9)));
17786
17059
  return defineComponent({
17787
17060
  identifier: "util.timestamps",
17788
17061
  category: "output",
@@ -17817,18 +17090,18 @@ function info_default24(R) {
17817
17090
  break;
17818
17091
  }
17819
17092
  default:
17820
- assertUnreachable13(evType);
17093
+ assertUnreachable12(evType);
17821
17094
  }
17822
17095
  return { ...state };
17823
17096
  },
17824
- inline: InlineView14
17097
+ inline: InlineView13
17825
17098
  },
17826
17099
  configForm: {
17827
17100
  form: {}
17828
17101
  }
17829
17102
  });
17830
17103
  }
17831
- function assertUnreachable13(_) {
17104
+ function assertUnreachable12(_) {
17832
17105
  throw new Error("Didn't expect to get here");
17833
17106
  }
17834
17107
 
@@ -17867,9 +17140,6 @@ AllComponents.push((r) => info_default18(r));
17867
17140
  AllComponents.push((r) => info_default19(r));
17868
17141
  AllComponents.push((r) => info_default20(r));
17869
17142
  AllComponents.push((r) => info_default21(r));
17870
- AllComponents.push((r) => info_default22(r));
17871
- AllComponents.push((r) => info_default23(r));
17872
- AllComponents.push((r) => info_default24(r));
17873
17143
  export {
17874
17144
  getNodeInfo as default
17875
17145
  };