@norskvideo/norsk-studio-built-ins 1.27.0-2025-07-09-1c530503 → 1.27.0-2025-07-10-5b6e3f99

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.
package/client/style.css CHANGED
@@ -1161,6 +1161,11 @@ video {
1161
1161
  background-color: rgb(248 113 113 / var(--tw-bg-opacity));
1162
1162
  }
1163
1163
 
1164
+ .bg-red-50 {
1165
+ --tw-bg-opacity: 1;
1166
+ background-color: rgb(254 242 242 / var(--tw-bg-opacity));
1167
+ }
1168
+
1164
1169
  .bg-red-500 {
1165
1170
  --tw-bg-opacity: 1;
1166
1171
  background-color: rgb(239 68 68 / var(--tw-bg-opacity));
@@ -1323,6 +1328,11 @@ video {
1323
1328
  color: rgb(0 0 0 / var(--tw-text-opacity));
1324
1329
  }
1325
1330
 
1331
+ .text-blue-600 {
1332
+ --tw-text-opacity: 1;
1333
+ color: rgb(37 99 235 / var(--tw-text-opacity));
1334
+ }
1335
+
1326
1336
  .text-gray-300 {
1327
1337
  --tw-text-opacity: 1;
1328
1338
  color: rgb(209 213 219 / var(--tw-text-opacity));
@@ -1393,6 +1403,11 @@ video {
1393
1403
  color: rgb(248 113 113 / var(--tw-text-opacity));
1394
1404
  }
1395
1405
 
1406
+ .text-red-500 {
1407
+ --tw-text-opacity: 1;
1408
+ color: rgb(239 68 68 / var(--tw-text-opacity));
1409
+ }
1410
+
1396
1411
  .text-red-600 {
1397
1412
  --tw-text-opacity: 1;
1398
1413
  color: rgb(220 38 38 / var(--tw-text-opacity));
@@ -1883,6 +1898,10 @@ video {
1883
1898
  background-color: rgb(185 28 28 / var(--tw-bg-opacity));
1884
1899
  }
1885
1900
 
1901
+ .dark\:bg-red-900\/20:is(.dark *) {
1902
+ background-color: rgb(127 29 29 / 0.2);
1903
+ }
1904
+
1886
1905
  .dark\:stroke-gray-50:is(.dark *) {
1887
1906
  stroke: #f9fafb;
1888
1907
  }
@@ -1892,6 +1911,11 @@ video {
1892
1911
  padding-right: 0.5rem;
1893
1912
  }
1894
1913
 
1914
+ .dark\:text-blue-400:is(.dark *) {
1915
+ --tw-text-opacity: 1;
1916
+ color: rgb(96 165 250 / var(--tw-text-opacity));
1917
+ }
1918
+
1895
1919
  .dark\:text-gray-300:is(.dark *) {
1896
1920
  --tw-text-opacity: 1;
1897
1921
  color: rgb(209 213 219 / var(--tw-text-opacity));
@@ -1917,6 +1941,11 @@ video {
1917
1941
  color: rgb(252 165 165 / var(--tw-text-opacity));
1918
1942
  }
1919
1943
 
1944
+ .dark\:text-red-400:is(.dark *) {
1945
+ --tw-text-opacity: 1;
1946
+ color: rgb(248 113 113 / var(--tw-text-opacity));
1947
+ }
1948
+
1920
1949
  .dark\:text-white:is(.dark *) {
1921
1950
  --tw-text-opacity: 1;
1922
1951
  color: rgb(255 255 255 / var(--tw-text-opacity));
package/lib/info.js CHANGED
@@ -17,84 +17,86 @@ function getNodeInfo(r, type) {
17
17
  }
18
18
  return InitialisedComponents[type];
19
19
  }
20
- const info_1 = __importDefault(require("./input.rtmp/info"));
20
+ const info_1 = __importDefault(require("./input.file/info"));
21
21
  AllComponents.push((r) => (0, info_1.default)(r));
22
- const info_2 = __importDefault(require("./input.silence/info"));
22
+ const info_2 = __importDefault(require("./input.rtmp/info"));
23
23
  AllComponents.push((r) => (0, info_2.default)(r));
24
- const info_3 = __importDefault(require("./input.srt-caller/info"));
24
+ const info_3 = __importDefault(require("./input.silence/info"));
25
25
  AllComponents.push((r) => (0, info_3.default)(r));
26
- const info_4 = __importDefault(require("./input.srt-listener/info"));
26
+ const info_4 = __importDefault(require("./input.srt-caller/info"));
27
27
  AllComponents.push((r) => (0, info_4.default)(r));
28
- const info_5 = __importDefault(require("./input.udp-ts/info"));
28
+ const info_5 = __importDefault(require("./input.srt-listener/info"));
29
29
  AllComponents.push((r) => (0, info_5.default)(r));
30
- const info_6 = __importDefault(require("./input.videoTestCard/info"));
30
+ const info_6 = __importDefault(require("./input.udp-ts/info"));
31
31
  AllComponents.push((r) => (0, info_6.default)(r));
32
- const info_7 = __importDefault(require("./input.whip/info"));
32
+ const info_7 = __importDefault(require("./input.videoTestCard/info"));
33
33
  AllComponents.push((r) => (0, info_7.default)(r));
34
- const info_8 = __importDefault(require("./output.autoCmaf/info"));
34
+ const info_8 = __importDefault(require("./input.whip/info"));
35
35
  AllComponents.push((r) => (0, info_8.default)(r));
36
- const info_9 = __importDefault(require("./output.autoHls/info"));
36
+ const info_9 = __importDefault(require("./output.autoCmaf/info"));
37
37
  AllComponents.push((r) => (0, info_9.default)(r));
38
- const info_10 = __importDefault(require("./output.cmafMultiVariant/info"));
38
+ const info_10 = __importDefault(require("./output.autoHls/info"));
39
39
  AllComponents.push((r) => (0, info_10.default)(r));
40
- const info_11 = __importDefault(require("./output.cmafPlaylist/info"));
40
+ const info_11 = __importDefault(require("./output.cmafMultiVariant/info"));
41
41
  AllComponents.push((r) => (0, info_11.default)(r));
42
- const info_12 = __importDefault(require("./output.facebook/info"));
42
+ const info_12 = __importDefault(require("./output.cmafPlaylist/info"));
43
43
  AllComponents.push((r) => (0, info_12.default)(r));
44
- const info_13 = __importDefault(require("./output.linkedin/info"));
44
+ const info_13 = __importDefault(require("./output.facebook/info"));
45
45
  AllComponents.push((r) => (0, info_13.default)(r));
46
- const info_14 = __importDefault(require("./output.preview/info"));
46
+ const info_14 = __importDefault(require("./output.linkedin/info"));
47
47
  AllComponents.push((r) => (0, info_14.default)(r));
48
- const info_15 = __importDefault(require("./output.rtmp/info"));
48
+ const info_15 = __importDefault(require("./output.preview/info"));
49
49
  AllComponents.push((r) => (0, info_15.default)(r));
50
- const info_16 = __importDefault(require("./output.srt-caller/info"));
50
+ const info_16 = __importDefault(require("./output.rtmp/info"));
51
51
  AllComponents.push((r) => (0, info_16.default)(r));
52
- const info_17 = __importDefault(require("./output.srt-listener/info"));
52
+ const info_17 = __importDefault(require("./output.srt-caller/info"));
53
53
  AllComponents.push((r) => (0, info_17.default)(r));
54
- const info_18 = __importDefault(require("./output.statistics/info"));
54
+ const info_18 = __importDefault(require("./output.srt-listener/info"));
55
55
  AllComponents.push((r) => (0, info_18.default)(r));
56
- const info_19 = __importDefault(require("./output.tsMediaPlaylist/info"));
56
+ const info_19 = __importDefault(require("./output.statistics/info"));
57
57
  AllComponents.push((r) => (0, info_19.default)(r));
58
- const info_20 = __importDefault(require("./output.tsMultiVariant/info"));
58
+ const info_20 = __importDefault(require("./output.tsMediaPlaylist/info"));
59
59
  AllComponents.push((r) => (0, info_20.default)(r));
60
- const info_21 = __importDefault(require("./output.twitch/info"));
60
+ const info_21 = __importDefault(require("./output.tsMultiVariant/info"));
61
61
  AllComponents.push((r) => (0, info_21.default)(r));
62
- const info_22 = __importDefault(require("./output.udpTs/info"));
62
+ const info_22 = __importDefault(require("./output.twitch/info"));
63
63
  AllComponents.push((r) => (0, info_22.default)(r));
64
- const info_23 = __importDefault(require("./output.whep/info"));
64
+ const info_23 = __importDefault(require("./output.udpTs/info"));
65
65
  AllComponents.push((r) => (0, info_23.default)(r));
66
- const info_24 = __importDefault(require("./output.youtube/info"));
66
+ const info_24 = __importDefault(require("./output.whep/info"));
67
67
  AllComponents.push((r) => (0, info_24.default)(r));
68
- const info_25 = __importDefault(require("./processor.audioEncoder/info"));
68
+ const info_25 = __importDefault(require("./output.youtube/info"));
69
69
  AllComponents.push((r) => (0, info_25.default)(r));
70
- const info_26 = __importDefault(require("./processor.audioMixer/info"));
70
+ const info_26 = __importDefault(require("./processor.audioEncoder/info"));
71
71
  AllComponents.push((r) => (0, info_26.default)(r));
72
- const info_27 = __importDefault(require("./processor.browserOverlay/info"));
72
+ const info_27 = __importDefault(require("./processor.audioMixer/info"));
73
73
  AllComponents.push((r) => (0, info_27.default)(r));
74
- const info_28 = __importDefault(require("./processor.fixedLadder/info"));
74
+ const info_28 = __importDefault(require("./processor.browserOverlay/info"));
75
75
  AllComponents.push((r) => (0, info_28.default)(r));
76
- const info_29 = __importDefault(require("./processor.gate/info"));
76
+ const info_29 = __importDefault(require("./processor.fixedLadder/info"));
77
77
  AllComponents.push((r) => (0, info_29.default)(r));
78
- const info_30 = __importDefault(require("./processor.makeProgram/info"));
78
+ const info_30 = __importDefault(require("./processor.gate/info"));
79
79
  AllComponents.push((r) => (0, info_30.default)(r));
80
- const info_31 = __importDefault(require("./processor.multiview/info"));
80
+ const info_31 = __importDefault(require("./processor.makeProgram/info"));
81
81
  AllComponents.push((r) => (0, info_31.default)(r));
82
- const info_32 = __importDefault(require("./processor.onscreenGraphic/info"));
82
+ const info_32 = __importDefault(require("./processor.multiview/info"));
83
83
  AllComponents.push((r) => (0, info_32.default)(r));
84
- const info_33 = __importDefault(require("./processor.smartSingleMediaSwitch/info"));
84
+ const info_33 = __importDefault(require("./processor.onscreenGraphic/info"));
85
85
  AllComponents.push((r) => (0, info_33.default)(r));
86
- const info_34 = __importDefault(require("./processor.smartSourceSwitch/info"));
86
+ const info_34 = __importDefault(require("./processor.smartSingleMediaSwitch/info"));
87
87
  AllComponents.push((r) => (0, info_34.default)(r));
88
- const info_35 = __importDefault(require("./processor.streamKeyOverride/info"));
88
+ const info_35 = __importDefault(require("./processor.smartSourceSwitch/info"));
89
89
  AllComponents.push((r) => (0, info_35.default)(r));
90
- const info_36 = __importDefault(require("./processor.syncExternalAudio/info"));
90
+ const info_36 = __importDefault(require("./processor.streamKeyOverride/info"));
91
91
  AllComponents.push((r) => (0, info_36.default)(r));
92
- const info_37 = __importDefault(require("./processor.videoDecoder/info"));
92
+ const info_37 = __importDefault(require("./processor.syncExternalAudio/info"));
93
93
  AllComponents.push((r) => (0, info_37.default)(r));
94
- const info_38 = __importDefault(require("./processor.webRtcDuplex/info"));
94
+ const info_38 = __importDefault(require("./processor.videoDecoder/info"));
95
95
  AllComponents.push((r) => (0, info_38.default)(r));
96
- const info_39 = __importDefault(require("./processor.zoomTo/info"));
96
+ const info_39 = __importDefault(require("./processor.webRtcDuplex/info"));
97
97
  AllComponents.push((r) => (0, info_39.default)(r));
98
- const info_40 = __importDefault(require("./util.stats.latency/info"));
98
+ const info_40 = __importDefault(require("./processor.zoomTo/info"));
99
99
  AllComponents.push((r) => (0, info_40.default)(r));
100
+ const info_41 = __importDefault(require("./util.stats.latency/info"));
101
+ AllComponents.push((r) => (0, info_41.default)(r));
100
102
  //# sourceMappingURL=info.js.map
package/lib/info.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"info.js","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":";;;;;AAYA,8BASC;AAdD,MAAM,qBAAqB,GAA4C,EAAE,CAAC;AAC1E,IAAI,WAAW,GAAG,KAAK,CAAC;AAExB,MAAM,aAAa,GAAkD,EAAE,CAAC;AAExE,SAAwB,WAAW,CAAC,CAAe,EAAE,IAAY;IAC/D,IAAG,CAAC,WAAW,EAAE,CAAC;QAChB,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACf,qBAAqB,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAA;QACF,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;IACD,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,6DAA2C;AAC3C,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAU,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC1F,gEAAiD;AACjD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAa,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC7F,mEAAuD;AACvD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAgB,EAAC,CAAC,CAAoC,CAAC,CAAC;AAChG,qEAA2D;AAC3D,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAkB,EAAC,CAAC,CAAoC,CAAC,CAAC;AAClG,+DAA+C;AAC/C,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAY,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC5F,sEAA6D;AAC7D,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAmB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACnG,6DAA2C;AAC3C,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAU,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC1F,kEAAqD;AACrD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAe,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC/F,iEAAmD;AACnD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,cAAc,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC9F,2EAAqE;AACrE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAuB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACvG,uEAA6D;AAC7D,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAmB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACnG,mEAAqD;AACrD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAe,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC/F,mEAAqD;AACrD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAe,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC/F,kEAAmD;AACnD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAc,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC9F,+DAA6C;AAC7C,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAW,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC3F,qEAAyD;AACzD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAiB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACjG,uEAA6D;AAC7D,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAmB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACnG,qEAAyD;AACzD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAiB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACjG,0EAAmE;AACnE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAsB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACtG,yEAAiE;AACjE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAqB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACrG,iEAAiD;AACjD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAa,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC7F,gEAA+C;AAC/C,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAY,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC5F,+DAA6C;AAC7C,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAW,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC3F,kEAAmD;AACnD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAc,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC9F,0EAAmE;AACnE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAsB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACtG,wEAA+D;AAC/D,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAoB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACpG,4EAAuE;AACvE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAwB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACxG,yEAAiE;AACjE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAqB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACrG,kEAAmD;AACnD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAc,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC9F,yEAAiE;AACjE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAqB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACrG,uEAA6D;AAC7D,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAmB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACnG,6EAAyE;AACzE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAyB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACzG,oFAAuF;AACvF,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAgC,EAAC,CAAC,CAAoC,CAAC,CAAC;AAChH,+EAA6E;AAC7E,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAA2B,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC3G,+EAA6E;AAC7E,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAA2B,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC3G,+EAA6E;AAC7E,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAA2B,EAAC,CAAC,CAAoC,CAAC,CAAC;AAC3G,0EAAmE;AACnE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAsB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACtG,0EAAmE;AACnE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAsB,EAAC,CAAC,CAAoC,CAAC,CAAC;AACtG,oEAAuD;AACvD,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAgB,EAAC,CAAC,CAAoC,CAAC,CAAC;AAChG,sEAA2D;AAC3D,aAAa,CAAC,IAAI,CAAC,CAAC,CAAe,EAAE,EAAE,CAAC,IAAA,eAAkB,EAAC,CAAC,CAAoC,CAAC,CAAC"}
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../src/info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import type Registration from "@norskvideo/norsk-studio/lib/extension/registration";
2
+ import type { FileInputSettings } from "./runtime";
3
+ import type { StreamMappingConfiguration } from "@norskvideo/norsk-studio/lib/extension/client-types";
4
+ export declare function defaultStreamMapping(cfg: Partial<FileInputSettings>): StreamMappingConfiguration;
5
+ export default function ({ defineComponent, mappingsToStreams, StreamMappingForm, validation }: Registration): import("@norskvideo/norsk-studio/lib/extension/client-types").NodeInfo<{
6
+ id: string;
7
+ displayName: string;
8
+ notes?: string;
9
+ sourceName: string;
10
+ initialFilename?: string;
11
+ initialLoop?: boolean;
12
+ streamMappings?: {
13
+ streams: {
14
+ outputKey: {
15
+ streamId: number;
16
+ programNumber: number;
17
+ sourceName: string;
18
+ renditionName: string;
19
+ };
20
+ displayName?: string;
21
+ media: "video" | "audio" | "subtitle" | "ancillary" | "playlist";
22
+ filters?: ({
23
+ type: "sourceName" | "language" | "codec" | "renditionName";
24
+ value: string;
25
+ } | {
26
+ type: "streamId" | "programNumber";
27
+ value: number;
28
+ })[];
29
+ missingBehaviour?: "fill" | "skip";
30
+ }[];
31
+ };
32
+ }, {
33
+ status: "idle" | "playing" | "error";
34
+ currentFile: string | null;
35
+ isLooping: boolean;
36
+ error: string | null;
37
+ }, object, {
38
+ type: "playback-started";
39
+ filePath: string;
40
+ isLooping: boolean;
41
+ } | {
42
+ type: "playback-completed";
43
+ filePath: string;
44
+ } | {
45
+ type: "playback-stopped";
46
+ } | {
47
+ type: "playback-error";
48
+ error: string;
49
+ filePath?: string | null;
50
+ }>;
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.defaultStreamMapping = defaultStreamMapping;
7
+ exports.default = default_1;
8
+ const inline_view_1 = __importDefault(require("./inline-view"));
9
+ const FaPlay_1 = require("@react-icons/all-files/fa/FaPlay");
10
+ function defaultStreamMapping(cfg) {
11
+ return {
12
+ streams: [{
13
+ media: "video",
14
+ displayName: "Video",
15
+ outputKey: {
16
+ sourceName: cfg.sourceName ?? 'file-source',
17
+ programNumber: 1,
18
+ streamId: 256,
19
+ renditionName: "default"
20
+ }
21
+ }, {
22
+ media: "audio",
23
+ displayName: "Audio",
24
+ outputKey: {
25
+ sourceName: cfg.sourceName ?? 'file-source',
26
+ programNumber: 1,
27
+ streamId: 257,
28
+ renditionName: "default"
29
+ }
30
+ }]
31
+ };
32
+ }
33
+ function default_1({ defineComponent, mappingsToStreams, StreamMappingForm, validation }) {
34
+ const { SourceName } = validation;
35
+ return defineComponent({
36
+ identifier: 'input.file',
37
+ category: 'input',
38
+ name: "File Input",
39
+ description: "Dynamically play MP4 or TS files via API calls",
40
+ icon: FaPlay_1.FaPlay,
41
+ subscription: {
42
+ accepts: undefined,
43
+ produces: {
44
+ type: "dynamic-streams",
45
+ groupBy: 'sourceName',
46
+ streams: (cfg) => mappingsToStreams(cfg.streamMappings ?? defaultStreamMapping(cfg))
47
+ }
48
+ },
49
+ display: (desc) => {
50
+ return {
51
+ source: desc.config.sourceName || 'file-source'
52
+ };
53
+ },
54
+ extraValidation: (_ctx) => {
55
+ },
56
+ runtime: {
57
+ initialState: () => ({
58
+ status: 'idle',
59
+ currentFile: null,
60
+ error: null,
61
+ isLooping: false
62
+ }),
63
+ handleEvent(ev, state) {
64
+ const evType = ev.type;
65
+ switch (evType) {
66
+ case "playback-started":
67
+ return {
68
+ ...state,
69
+ status: 'playing',
70
+ currentFile: ev.filePath,
71
+ error: null,
72
+ isLooping: ev.isLooping
73
+ };
74
+ case "playback-completed":
75
+ return {
76
+ ...state,
77
+ status: 'idle',
78
+ currentFile: null,
79
+ error: null
80
+ };
81
+ case "playback-stopped":
82
+ return {
83
+ ...state,
84
+ status: 'idle',
85
+ currentFile: null,
86
+ error: null
87
+ };
88
+ case "playback-error":
89
+ return {
90
+ ...state,
91
+ status: 'error',
92
+ error: ev.error
93
+ };
94
+ default:
95
+ assertUnreachable(evType);
96
+ }
97
+ },
98
+ inline: inline_view_1.default
99
+ },
100
+ configForm: {
101
+ form: {
102
+ sourceName: {
103
+ help: "Source name for the output streams",
104
+ hint: {
105
+ type: 'text',
106
+ validation: SourceName,
107
+ defaultValue: 'file-source'
108
+ }
109
+ },
110
+ streamMappings: StreamMappingForm(defaultStreamMapping, {
111
+ sourceNames: (cfg) => [cfg.sourceName ?? 'file-source']
112
+ }),
113
+ notes: {
114
+ help: "Additional notes about this component",
115
+ hint: {
116
+ type: 'text',
117
+ optional: true
118
+ }
119
+ },
120
+ initialFilename: {
121
+ help: "File to start playing automatically on component startup",
122
+ hint: {
123
+ type: 'text',
124
+ optional: true
125
+ }
126
+ },
127
+ initialLoop: {
128
+ help: "Whether to loop the initial file continuously",
129
+ hint: {
130
+ type: 'boolean',
131
+ optional: true
132
+ }
133
+ },
134
+ },
135
+ }
136
+ });
137
+ }
138
+ function assertUnreachable(_) {
139
+ throw new Error("Didn't expect to get here");
140
+ }
141
+ //# sourceMappingURL=info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/input.file/info.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { FileInputState, FileInputSettings } from "./runtime";
2
+ declare function InlineView({ state, config }: {
3
+ state: FileInputState;
4
+ config: FileInputSettings;
5
+ }): import("react/jsx-runtime").JSX.Element;
6
+ export default InlineView;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const jsx_runtime_1 = require("react/jsx-runtime");
4
+ function cn(...classes) {
5
+ return classes.filter(Boolean).join(' ');
6
+ }
7
+ function basename(filePath) {
8
+ return filePath.split('/').pop() || filePath;
9
+ }
10
+ function InlineView({ state, config }) {
11
+ const getStatusColor = (status) => {
12
+ switch (status) {
13
+ case 'playing':
14
+ return 'text-green-500 dark:text-green-300';
15
+ case 'error':
16
+ return 'text-red-500 dark:text-red-300';
17
+ default:
18
+ return 'text-gray-500 dark:text-gray-400';
19
+ }
20
+ };
21
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "file-input space-y-2", id: `file-input-${config.id}`, children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-sm font-medium text-gray-900 dark:text-white", children: "Status:" }), (0, jsx_runtime_1.jsx)("span", { className: cn("text-sm font-medium", getStatusColor(state.status)), children: state.status.charAt(0).toUpperCase() + state.status.slice(1) })] }), state.currentFile && ((0, jsx_runtime_1.jsxs)("div", { className: "text-sm text-gray-700 dark:text-gray-300", children: [(0, jsx_runtime_1.jsx)("span", { className: "font-medium", children: "File:" }), " ", basename(state.currentFile), state.isLooping && ((0, jsx_runtime_1.jsx)("span", { className: "ml-2 text-xs text-blue-600 dark:text-blue-400", children: "(Looping)" }))] })), state.error && ((0, jsx_runtime_1.jsxs)("div", { className: "text-sm text-red-500 dark:text-red-400 bg-red-50 dark:bg-red-900/20 p-2 rounded", children: [(0, jsx_runtime_1.jsx)("span", { className: "font-medium", children: "Error:" }), " ", state.error] })), state.status === 'idle' && !state.currentFile && ((0, jsx_runtime_1.jsx)("div", { className: "text-sm text-gray-500 dark:text-gray-400", children: "Ready to play files via API" }))] }));
22
+ }
23
+ exports.default = InlineView;
24
+ //# sourceMappingURL=inline-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-view.js","sourceRoot":"","sources":["../../src/input.file/inline-view.tsx"],"names":[],"mappings":";;;AAGA,SAAS,EAAE,CAAC,GAAG,OAAyC;IACtD,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3C,CAAC;AAGD,SAAS,QAAQ,CAAC,QAAgB;IAChC,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;AAC/C,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAwD;IACzF,MAAM,cAAc,GAAG,CAAC,MAAc,EAAE,EAAE;QACxC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,SAAS;gBACZ,OAAO,oCAAoC,CAAC;YAC9C,KAAK,OAAO;gBACV,OAAO,gCAAgC,CAAC;YAC1C;gBACE,OAAO,kCAAkC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,iCAAK,SAAS,EAAC,sBAAsB,EAAC,EAAE,EAAE,cAAc,MAAM,CAAC,EAAE,EAAE,aACjE,iCAAK,SAAS,EAAC,yBAAyB,aACtC,iCAAM,SAAS,EAAC,mDAAmD,wBAE5D,EACP,iCAAM,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,YACrE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GACxD,IACH,EAEL,KAAK,CAAC,WAAW,IAAI,CACpB,iCAAK,SAAS,EAAC,0CAA0C,aACvD,iCAAM,SAAS,EAAC,aAAa,sBAAa,OAAE,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EACtE,KAAK,CAAC,SAAS,IAAI,CAClB,iCAAM,SAAS,EAAC,+CAA+C,0BAAiB,CACjF,IACG,CACP,EAEA,KAAK,CAAC,KAAK,IAAI,CACd,iCAAK,SAAS,EAAC,iFAAiF,aAC9F,iCAAM,SAAS,EAAC,aAAa,uBAAc,OAAE,KAAK,CAAC,KAAK,IACpD,CACP,EAEA,KAAK,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAChD,gCAAK,SAAS,EAAC,0CAA0C,4CAEnD,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAED,kBAAe,UAAU,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { Norsk, FileMp4InputNode, FileTsInputNode } from '@norskvideo/norsk-sdk';
2
+ import { CreatedMediaNode, InstanceRouteArgs, OnCreated, RelatedMediaNodes, RuntimeUpdates, ServerComponentDefinition, StudioRuntime } from '@norskvideo/norsk-studio/lib/extension/runtime-types';
3
+ import { components } from './types';
4
+ export type FileInputSettings = components['schemas']['Config'];
5
+ export type FileInputState = components['schemas']['State'];
6
+ export type FileInputEvent = components['schemas']['Events'];
7
+ export type FileInputCommand = components['schemas']['Commands'];
8
+ export declare class FileInput implements CreatedMediaNode {
9
+ id: string;
10
+ relatedMediaNodes: RelatedMediaNodes;
11
+ norsk: Norsk;
12
+ cfg: FileInputSettings;
13
+ currentNode?: FileMp4InputNode | FileTsInputNode;
14
+ initialised: Promise<void>;
15
+ updates: RuntimeUpdates<FileInputState, FileInputCommand, FileInputEvent>;
16
+ static create(norsk: Norsk, cfg: FileInputSettings, updates: RuntimeUpdates<FileInputState, FileInputCommand, FileInputEvent>): Promise<FileInput>;
17
+ constructor(norsk: Norsk, cfg: FileInputSettings, updates: RuntimeUpdates<FileInputState, FileInputCommand, FileInputEvent>);
18
+ initialise(): Promise<void>;
19
+ play(filePath: string, loop?: boolean): Promise<void>;
20
+ stop(): Promise<void>;
21
+ private cleanup;
22
+ close(): Promise<void>;
23
+ }
24
+ export default class FileInputDefinition implements ServerComponentDefinition<FileInputSettings, FileInput, FileInputState, FileInputCommand> {
25
+ create(norsk: Norsk, cfg: FileInputSettings, cb: OnCreated<FileInput>, runtime: StudioRuntime<FileInputState, FileInputCommand, FileInputEvent>): Promise<void>;
26
+ handleCommand(node: FileInput, command: FileInputCommand): Promise<void>;
27
+ schemas(): Promise<{
28
+ config: import("openapi-types").OpenAPIV3.SchemaObject;
29
+ state: import("openapi-types").OpenAPIV3.SchemaObject | undefined;
30
+ }>;
31
+ instanceRoutes(): Promise<import("@norskvideo/norsk-studio/lib/extension/runtime-types").RouteInfo<InstanceRouteArgs<{
32
+ id: string;
33
+ displayName: string;
34
+ notes?: string;
35
+ sourceName: string;
36
+ initialFilename?: string;
37
+ initialLoop?: boolean;
38
+ streamMappings?: {
39
+ streams: {
40
+ outputKey: {
41
+ streamId: number;
42
+ programNumber: number;
43
+ sourceName: string;
44
+ renditionName: string;
45
+ };
46
+ displayName?: string;
47
+ media: "video" | "audio" | "subtitle" | "ancillary" | "playlist";
48
+ filters?: ({
49
+ type: "sourceName" | "language" | "codec" | "renditionName";
50
+ value: string;
51
+ } | {
52
+ type: "streamId" | "programNumber";
53
+ value: number;
54
+ })[];
55
+ missingBehaviour?: "fill" | "skip";
56
+ }[];
57
+ };
58
+ }, FileInput, {
59
+ status: "idle" | "playing" | "error";
60
+ currentFile: string | null;
61
+ isLooping: boolean;
62
+ error: string | null;
63
+ }, {
64
+ type: "play";
65
+ filePath: string;
66
+ loop?: boolean;
67
+ } | {
68
+ type: "stop";
69
+ }>>[]>;
70
+ }