@norskvideo/norsk-studio-built-ins 1.5.0 → 1.6.1
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/info.js +211 -922
- package/client/style.css +1411 -0
- package/lib/index.js +1 -1
- package/lib/info.js +9 -17
- package/lib/info.js.map +1 -1
- package/lib/output.preview/runtime.js +3 -2
- package/lib/output.preview/runtime.js.map +1 -1
- package/lib/output.whep/runtime.js +2 -1
- package/lib/output.whep/runtime.js.map +1 -1
- package/lib/shared/webrtcSettings.d.ts +6 -0
- package/lib/shared/webrtcSettings.js +13 -0
- package/lib/shared/webrtcSettings.js.map +1 -0
- package/package.json +4 -4
- package/client/processor.audioLevel/styles.css +0 -164
- package/client/processor.audioMixer/styles.css +0 -249
- package/lib/processor.actionReplay/info.d.ts +0 -5
- package/lib/processor.actionReplay/info.js +0 -100
- package/lib/processor.actionReplay/info.js.map +0 -1
- package/lib/processor.actionReplay/runtime.d.ts +0 -59
- package/lib/processor.actionReplay/runtime.js +0 -224
- package/lib/processor.actionReplay/runtime.js.map +0 -1
- package/lib/processor.actionReplay/summary.d.ts +0 -7
- package/lib/processor.actionReplay/summary.js +0 -76
- package/lib/processor.actionReplay/summary.js.map +0 -1
- package/lib/processor.audioLevel/info.d.ts +0 -3
- package/lib/processor.audioLevel/info.js +0 -83
- package/lib/processor.audioLevel/info.js.map +0 -1
- package/lib/processor.audioLevel/inline-view.d.ts +0 -6
- package/lib/processor.audioLevel/inline-view.js +0 -23
- package/lib/processor.audioLevel/inline-view.js.map +0 -1
- package/lib/processor.audioLevel/runtime.d.ts +0 -49
- package/lib/processor.audioLevel/runtime.js +0 -82
- package/lib/processor.audioLevel/runtime.js.map +0 -1
- package/lib/processor.audioLevel/summary-view.d.ts +0 -7
- package/lib/processor.audioLevel/summary-view.js +0 -36
- package/lib/processor.audioLevel/summary-view.js.map +0 -1
- package/lib/processor.audioMixer/fullscreen-view.d.ts +0 -8
- package/lib/processor.audioMixer/fullscreen-view.js +0 -121
- package/lib/processor.audioMixer/fullscreen-view.js.map +0 -1
- package/lib/processor.audioMixer/info.d.ts +0 -4
- package/lib/processor.audioMixer/info.js +0 -148
- package/lib/processor.audioMixer/info.js.map +0 -1
- package/lib/processor.audioMixer/inline-view.d.ts +0 -7
- package/lib/processor.audioMixer/inline-view.js +0 -43
- package/lib/processor.audioMixer/inline-view.js.map +0 -1
- package/lib/processor.audioMixer/runtime.d.ts +0 -119
- package/lib/processor.audioMixer/runtime.js +0 -142
- package/lib/processor.audioMixer/runtime.js.map +0 -1
- package/lib/processor.audioMixer/summary-view.d.ts +0 -7
- package/lib/processor.audioMixer/summary-view.js +0 -11
- package/lib/processor.audioMixer/summary-view.js.map +0 -1
- package/lib/processor.fixedLadder/newFile.d.ts +0 -3
- package/lib/processor.fixedLadder/newFile.js +0 -145
- package/lib/processor.fixedLadder/newFile.js.map +0 -1
- package/lib/processor.monetise/info.d.ts +0 -3
- package/lib/processor.monetise/info.js +0 -90
- package/lib/processor.monetise/info.js.map +0 -1
- package/lib/processor.monetise/runtime.d.ts +0 -57
- package/lib/processor.monetise/runtime.js +0 -141
- package/lib/processor.monetise/runtime.js.map +0 -1
- package/lib/processor.monetise/summary.d.ts +0 -7
- package/lib/processor.monetise/summary.js +0 -39
- package/lib/processor.monetise/summary.js.map +0 -1
- package/lib/test/audio-mixer.d.ts +0 -0
- package/lib/test/audio-mixer.js +0 -2
- package/lib/test/audio-mixer.js.map +0 -1
- /package/{shared → client/shared}/style.css +0 -0
- /package/{shared → client/shared}/tailwind.css +0 -0
package/client/info.js
CHANGED
@@ -713,23 +713,23 @@ var init_fullscreen2 = __esm({
|
|
713
713
|
}
|
714
714
|
});
|
715
715
|
|
716
|
-
//
|
716
|
+
// ../../node_modules/@norskvideo/norsk-studio/lib/shared/shared-views.js
|
717
717
|
var require_shared_views = __commonJS({
|
718
|
-
"
|
718
|
+
"../../node_modules/@norskvideo/norsk-studio/lib/shared/shared-views.js"(exports) {
|
719
719
|
"use strict";
|
720
720
|
Object.defineProperty(exports, "__esModule", { value: true });
|
721
721
|
exports.GlobalIceServerView = void 0;
|
722
722
|
var jsx_runtime_1 = require_jsx_runtime();
|
723
723
|
function GlobalIceServerView(i) {
|
724
|
-
return (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: "URL" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: i.url }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: "Username" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: i.username ?? "" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: "Password" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: i.
|
724
|
+
return (0, jsx_runtime_1.jsxs)("div", { className: "grid grid-flow-row-dense grid-cols-3 text-sm", children: [(0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: "URL" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: i.url }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: "Reported URL" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: i.reportedUrl ?? "" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: "Username" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: i.username ?? "" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-1", children: "Password" }), (0, jsx_runtime_1.jsx)("div", { className: "col-span-2", children: i.credential ?? "" })] });
|
725
725
|
}
|
726
726
|
exports.GlobalIceServerView = GlobalIceServerView;
|
727
727
|
}
|
728
728
|
});
|
729
729
|
|
730
|
-
//
|
730
|
+
// ../../node_modules/@norskvideo/norsk-studio/lib/shared/config.js
|
731
731
|
var require_config = __commonJS({
|
732
|
-
"
|
732
|
+
"../../node_modules/@norskvideo/norsk-studio/lib/shared/config.js"(exports) {
|
733
733
|
"use strict";
|
734
734
|
var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
|
735
735
|
if (k2 === void 0)
|
@@ -769,7 +769,7 @@ var require_config = __commonJS({
|
|
769
769
|
Object.defineProperty(exports, "__esModule", { value: true });
|
770
770
|
exports.RootDataDir = exports.HardwareSelection = exports.contractHardwareAcceleration = exports.GlobalIceServers = void 0;
|
771
771
|
var react_1 = __importDefault(require_react());
|
772
|
-
function
|
772
|
+
function GlobalIceServers3(f) {
|
773
773
|
const GlobalIceServerView = react_1.default.lazy(async () => {
|
774
774
|
const views = await Promise.resolve().then(() => __importStar(require_shared_views()));
|
775
775
|
return { default: views.GlobalIceServerView };
|
@@ -784,7 +784,14 @@ var require_config = __commonJS({
|
|
784
784
|
type: "form-list",
|
785
785
|
form: {
|
786
786
|
url: {
|
787
|
-
help: "URL of the STUN/TURN server (with turn:/stun: prefix)",
|
787
|
+
help: "URL of the STUN/TURN server (with turn:/stun: prefix) as accessed by Norsk Studio",
|
788
|
+
hint: {
|
789
|
+
type: "text",
|
790
|
+
validation: f.validation.IceServer
|
791
|
+
}
|
792
|
+
},
|
793
|
+
reportedUrl: {
|
794
|
+
help: "Optional URL of the STUN/TURN server as accessed by the client (if different to the above)",
|
788
795
|
hint: {
|
789
796
|
type: "text",
|
790
797
|
validation: f.validation.IceServer
|
@@ -797,7 +804,7 @@ var require_config = __commonJS({
|
|
797
804
|
validation: Z.string()
|
798
805
|
}
|
799
806
|
},
|
800
|
-
|
807
|
+
credential: {
|
801
808
|
help: "Optional password",
|
802
809
|
hint: {
|
803
810
|
type: "text",
|
@@ -813,7 +820,7 @@ var require_config = __commonJS({
|
|
813
820
|
}
|
814
821
|
};
|
815
822
|
}
|
816
|
-
exports.GlobalIceServers =
|
823
|
+
exports.GlobalIceServers = GlobalIceServers3;
|
817
824
|
function contractHardwareAcceleration(value, accepted) {
|
818
825
|
if (!value)
|
819
826
|
return void 0;
|
@@ -824,7 +831,7 @@ var require_config = __commonJS({
|
|
824
831
|
return void 0;
|
825
832
|
}
|
826
833
|
exports.contractHardwareAcceleration = contractHardwareAcceleration;
|
827
|
-
function
|
834
|
+
function HardwareSelection5() {
|
828
835
|
return {
|
829
836
|
id: "hardware-acceleration",
|
830
837
|
form: {
|
@@ -842,7 +849,7 @@ var require_config = __commonJS({
|
|
842
849
|
}
|
843
850
|
};
|
844
851
|
}
|
845
|
-
exports.HardwareSelection =
|
852
|
+
exports.HardwareSelection = HardwareSelection5;
|
846
853
|
function RootDataDir() {
|
847
854
|
return {
|
848
855
|
id: "root-data-dir",
|
@@ -966,7 +973,7 @@ var init_inline_view5 = __esm({
|
|
966
973
|
|
967
974
|
// build/output.statistics/info.js
|
968
975
|
function info_default13({ defineComponent, All }) {
|
969
|
-
const
|
976
|
+
const InlineView14 = import_react22.default.lazy(async () => Promise.resolve().then(() => (init_inline_view5(), inline_view_exports5)));
|
970
977
|
return defineComponent({
|
971
978
|
identifier: "output.statistics",
|
972
979
|
category: "output",
|
@@ -994,7 +1001,7 @@ function info_default13({ defineComponent, All }) {
|
|
994
1001
|
}
|
995
1002
|
return { ...state };
|
996
1003
|
},
|
997
|
-
inline:
|
1004
|
+
inline: InlineView14
|
998
1005
|
},
|
999
1006
|
configForm: {
|
1000
1007
|
form: {}
|
@@ -1012,363 +1019,14 @@ var init_info = __esm({
|
|
1012
1019
|
}
|
1013
1020
|
});
|
1014
1021
|
|
1015
|
-
// build/processor.actionReplay/summary.js
|
1016
|
-
var summary_exports2 = {};
|
1017
|
-
__export(summary_exports2, {
|
1018
|
-
default: () => summary_default2
|
1019
|
-
});
|
1020
|
-
function InlineView10({ state, config, sendCommand }) {
|
1021
|
-
const url = state.contentPlayerUrl;
|
1022
|
-
const id = config.id;
|
1023
|
-
const previewVideo = (0, import_react23.useRef)(null);
|
1024
|
-
const [lastSeek, setLastSeek] = (0, import_react23.useState)(void 0);
|
1025
|
-
const [playbackDuration, setPlaybackDuration] = (0, import_react23.useState)(10);
|
1026
|
-
(0, import_react23.useEffect)(() => {
|
1027
|
-
if (!url)
|
1028
|
-
return;
|
1029
|
-
if (!previewVideo.current)
|
1030
|
-
return;
|
1031
|
-
if (import_hls5.default.isSupported()) {
|
1032
|
-
const hls = new import_hls5.default();
|
1033
|
-
hls.loadSource(url);
|
1034
|
-
hls.attachMedia(previewVideo.current);
|
1035
|
-
} else if (previewVideo.current.canPlayType("application/vnd.apple.mpegurl")) {
|
1036
|
-
previewVideo.current.src = url;
|
1037
|
-
}
|
1038
|
-
}, [state.contentPlayerUrl]);
|
1039
|
-
if (!url)
|
1040
|
-
return (0, import_jsx_runtime21.jsx)(import_jsx_runtime21.Fragment, { children: "..." });
|
1041
|
-
return (0, import_jsx_runtime21.jsxs)("div", { className: "mb-5", children: [(0, import_jsx_runtime21.jsx)("h5", { children: "Preview" }), (0, import_jsx_runtime21.jsx)("video", { ref: previewVideo, controls: true, onSeeked, autoPlay: true, muted: true, className: state.replaying ? "hidden" : "", id: `${id}-video` }), state.replaying ? (0, import_jsx_runtime21.jsx)(import_jsx_runtime21.Fragment, { children: "Current Performing Replay" }) : (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [lastSeek ? (0, import_jsx_runtime21.jsxs)(import_jsx_runtime21.Fragment, { children: [(0, import_jsx_runtime21.jsxs)("p", { children: ["Replay from ", lastSeek.time.toFixed(1), "(s) "] }), (0, import_jsx_runtime21.jsxs)("p", { className: "block mb-2 text-sm font-medium text-gray-900 dark:text-white", children: ["Duration: ", playbackDuration, "s"] }), (0, import_jsx_runtime21.jsx)("input", { id: "duration-range", type: "range", min: currentMinDuration(), max: currentMaxDuration(), defaultValue: playbackDuration, className: "w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700", onChange: onDurationChange, onInput: onDurationChange })] }) : (0, import_jsx_runtime21.jsx)(import_jsx_runtime21.Fragment, {}), (0, import_jsx_runtime21.jsx)("button", { onClick: sendReplayCommand, 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", children: "Replay" })] })] });
|
1042
|
-
function sendReplayCommand() {
|
1043
|
-
if (!previewVideo.current)
|
1044
|
-
return;
|
1045
|
-
if (!lastSeek)
|
1046
|
-
return;
|
1047
|
-
const fromHead = previewVideo.current.duration - lastSeek.time;
|
1048
|
-
sendCommand({
|
1049
|
-
type: "do-replay",
|
1050
|
-
from: fromHead,
|
1051
|
-
duration: playbackDuration
|
1052
|
-
});
|
1053
|
-
}
|
1054
|
-
function onDurationChange(e) {
|
1055
|
-
const v = parseInt(e.currentTarget.value, 10);
|
1056
|
-
setPlaybackDuration(v);
|
1057
|
-
}
|
1058
|
-
function currentMinDuration() {
|
1059
|
-
if (!previewVideo.current || !lastSeek)
|
1060
|
-
return 10;
|
1061
|
-
return Math.min(10, previewVideo.current.duration - lastSeek.time);
|
1062
|
-
}
|
1063
|
-
function currentMaxDuration() {
|
1064
|
-
if (!previewVideo.current || !lastSeek)
|
1065
|
-
return 30;
|
1066
|
-
return Math.min(30, previewVideo.current.duration - lastSeek.time);
|
1067
|
-
}
|
1068
|
-
function onSeeked() {
|
1069
|
-
if (changingDuration) {
|
1070
|
-
changingDuration = false;
|
1071
|
-
return;
|
1072
|
-
}
|
1073
|
-
const v = previewVideo.current;
|
1074
|
-
if (v?.currentTime && v.duration)
|
1075
|
-
setLastSeek({ time: v?.currentTime, end: v?.duration });
|
1076
|
-
else
|
1077
|
-
setLastSeek(void 0);
|
1078
|
-
}
|
1079
|
-
}
|
1080
|
-
var import_jsx_runtime21, import_react23, import_hls5, changingDuration, summary_default2;
|
1081
|
-
var init_summary2 = __esm({
|
1082
|
-
"build/processor.actionReplay/summary.js"() {
|
1083
|
-
"use strict";
|
1084
|
-
import_jsx_runtime21 = __toESM(require_jsx_runtime());
|
1085
|
-
import_react23 = __toESM(require_react());
|
1086
|
-
import_hls5 = __toESM(require_hls());
|
1087
|
-
changingDuration = false;
|
1088
|
-
summary_default2 = InlineView10;
|
1089
|
-
}
|
1090
|
-
});
|
1091
|
-
|
1092
|
-
// build/processor.audioLevel/inline-view.js
|
1093
|
-
var inline_view_exports6 = {};
|
1094
|
-
__export(inline_view_exports6, {
|
1095
|
-
default: () => inline_view_default6
|
1096
|
-
});
|
1097
|
-
function InlineView11({ state }) {
|
1098
|
-
function percentage(levels) {
|
1099
|
-
if (!levels) {
|
1100
|
-
return 0;
|
1101
|
-
}
|
1102
|
-
if (levels.peak == 0 && levels.rms == 0) {
|
1103
|
-
return 0;
|
1104
|
-
}
|
1105
|
-
const rebase = levels.rms - 12;
|
1106
|
-
const capped = 0 - rebase / 112;
|
1107
|
-
const snapped = Math.floor(capped * 10) * 10;
|
1108
|
-
return Math.max(0, 100 - snapped);
|
1109
|
-
}
|
1110
|
-
if (!state.levels) {
|
1111
|
-
return (0, import_jsx_runtime22.jsx)(import_jsx_runtime22.Fragment, {});
|
1112
|
-
}
|
1113
|
-
return (0, import_jsx_runtime22.jsx)("div", { className: "audio-level-container-inline", children: (0, import_jsx_runtime22.jsx)("div", { className: "preview-levels-inline", children: (0, import_jsx_runtime22.jsx)("div", { className: `preview-level clip-${percentage(state.levels)}` }) }) });
|
1114
|
-
}
|
1115
|
-
var import_jsx_runtime22, inline_view_default6;
|
1116
|
-
var init_inline_view6 = __esm({
|
1117
|
-
"build/processor.audioLevel/inline-view.js"() {
|
1118
|
-
"use strict";
|
1119
|
-
import_jsx_runtime22 = __toESM(require_jsx_runtime());
|
1120
|
-
inline_view_default6 = InlineView11;
|
1121
|
-
}
|
1122
|
-
});
|
1123
|
-
|
1124
|
-
// build/processor.audioLevel/summary-view.js
|
1125
|
-
var summary_view_exports3 = {};
|
1126
|
-
__export(summary_view_exports3, {
|
1127
|
-
default: () => summary_view_default3
|
1128
|
-
});
|
1129
|
-
function SummaryView5({ state, sendCommand }) {
|
1130
|
-
const [sliderValue, setSliderValue] = (0, import_react25.useState)(state.sliderGain || "0");
|
1131
|
-
const [canSetVolume, setCanSetVolume] = (0, import_react25.useState)(true);
|
1132
|
-
const throttleDelay = 100;
|
1133
|
-
function percentage(levels) {
|
1134
|
-
if (!levels) {
|
1135
|
-
return 0;
|
1136
|
-
}
|
1137
|
-
if (levels.peak == 0 && levels.rms == 0) {
|
1138
|
-
return 0;
|
1139
|
-
}
|
1140
|
-
const rebase = levels.rms - 12;
|
1141
|
-
const capped = 0 - rebase / 112;
|
1142
|
-
const snapped = Math.floor(capped * 10) * 10;
|
1143
|
-
return Math.max(0, 100 - snapped);
|
1144
|
-
}
|
1145
|
-
const gainClasses = state.levels ? "col-start-2 self-end" : "col-start-1 col-end-3 self-end justify-self-start";
|
1146
|
-
return (0, import_jsx_runtime23.jsxs)("div", { className: "audio-level-container grid mb-6 relative justify-items-center", children: [(0, import_jsx_runtime23.jsxs)("div", { className: `preview-levels-summary ${state.levels ? "" : "opacity-30"}`, children: [(0, import_jsx_runtime23.jsx)("div", { className: "relative w-full h-full", children: (0, import_jsx_runtime23.jsx)("div", { className: `preview-level absolute h-full w-4/6 clip-${percentage(state.levels)}` }) }), (0, import_jsx_runtime23.jsxs)("div", { className: "relative", children: [(0, import_jsx_runtime23.jsx)("div", { className: "text-sm absolute -top-1", children: "0dB" }), (0, import_jsx_runtime23.jsx)("div", { className: "text-sm absolute top-14", children: "-50dB" }), (0, import_jsx_runtime23.jsx)("div", { className: "text-sm absolute -bottom-2", children: "-100dB" })] })] }), (0, import_jsx_runtime23.jsx)("div", { className: "h-full flex items-center", children: (0, import_jsx_runtime23.jsx)("input", { id: "audio-slider", className: `-rotate-90 h-2.5 ${state.levels ? "" : "opacity-20"}`, type: "range", name: "gain", min: "-40", max: "40", step: "1", defaultValue: state.sliderGain || "0", disabled: !state.levels, onChange: (e) => {
|
1147
|
-
setSliderValue(e.target.value);
|
1148
|
-
if (canSetVolume) {
|
1149
|
-
setCanSetVolume(false);
|
1150
|
-
sendCommand({ type: "set-gain", value: Number(e.target.value) });
|
1151
|
-
setTimeout(() => {
|
1152
|
-
setCanSetVolume(true);
|
1153
|
-
}, throttleDelay);
|
1154
|
-
}
|
1155
|
-
}, onMouseUp: (_e) => {
|
1156
|
-
sendCommand({ type: "set-gain", value: Number(sliderValue) });
|
1157
|
-
} }) }), (0, import_jsx_runtime23.jsx)("div", { className: gainClasses, children: state.levels ? "Gain:" : "No incoming audio" }), (0, import_jsx_runtime23.jsx)("div", { className: "col-start-2", children: state.levels ? `${Number(sliderValue) > 0 ? "+" : ""} ${sliderValue} dB` : "" })] });
|
1158
|
-
}
|
1159
|
-
var import_jsx_runtime23, import_react25, summary_view_default3;
|
1160
|
-
var init_summary_view3 = __esm({
|
1161
|
-
"build/processor.audioLevel/summary-view.js"() {
|
1162
|
-
"use strict";
|
1163
|
-
import_jsx_runtime23 = __toESM(require_jsx_runtime());
|
1164
|
-
import_react25 = __toESM(require_react());
|
1165
|
-
summary_view_default3 = SummaryView5;
|
1166
|
-
}
|
1167
|
-
});
|
1168
|
-
|
1169
|
-
// build/processor.audioMixer/inline-view.js
|
1170
|
-
var inline_view_exports7 = {};
|
1171
|
-
__export(inline_view_exports7, {
|
1172
|
-
default: () => inline_view_default7,
|
1173
|
-
mkSourceKey: () => mkSourceKey
|
1174
|
-
});
|
1175
|
-
function mkSourceKey(sourceId, key) {
|
1176
|
-
return key ? sourceId + "-" + key : sourceId;
|
1177
|
-
}
|
1178
|
-
function InlineView12({ state }) {
|
1179
|
-
function percentage(levels) {
|
1180
|
-
if (!levels) {
|
1181
|
-
return 0;
|
1182
|
-
}
|
1183
|
-
if (levels.peak == 0 && levels.rms == 0) {
|
1184
|
-
return 0;
|
1185
|
-
}
|
1186
|
-
const rebase = levels.rms - 12;
|
1187
|
-
const capped = 0 - rebase / 112;
|
1188
|
-
const snapped = Math.floor(capped * 10) * 10;
|
1189
|
-
return Math.max(0, 100 - snapped);
|
1190
|
-
}
|
1191
|
-
const sourcesOrdered = state.knownSources.filter(({ id }) => id !== "mixer-output");
|
1192
|
-
const mixerOutput = state.knownSources.find(({ id }) => id === "mixer-output");
|
1193
|
-
if (mixerOutput) {
|
1194
|
-
sourcesOrdered.push(mixerOutput);
|
1195
|
-
}
|
1196
|
-
function mkGridColumns() {
|
1197
|
-
const gridRows = Array(Math.ceil((sourcesOrdered.length - 1) / 3)).fill("108px");
|
1198
|
-
return {
|
1199
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
1200
|
-
["gridTemplateRows"]: gridRows.join(" ")
|
1201
|
-
};
|
1202
|
-
}
|
1203
|
-
return !state.displayInlineChannels ? (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {}) : (0, import_jsx_runtime24.jsx)("div", { id: "mixer-level-container-inline", className: "grid mt-4", style: mkGridColumns(), children: sourcesOrdered.map((s, i) => {
|
1204
|
-
const source = state.sources[mkSourceKey(s.id, s.key)];
|
1205
|
-
const isMasterOutput = i == sourcesOrdered.length - 1;
|
1206
|
-
if (source) {
|
1207
|
-
return (0, import_jsx_runtime24.jsx)("div", { className: `grid justify-start w-full ${isMasterOutput ? "inline-master-channel" : ""}`, children: (0, import_jsx_runtime24.jsxs)("div", { title: s.key ?? s.id, className: `preview-levels dark:text-slate-100 text-black relative ${isMasterOutput ? "inline-master-border" : ""}`, children: [(0, import_jsx_runtime24.jsx)("div", { className: "inline-channel-name absolute", children: isMasterOutput ? "Master" : s.key ?? s.id }), (0, import_jsx_runtime24.jsx)("div", { className: `preview-level clip-${percentage(source.levels)}` })] }) }, mkSourceKey(s.id, s.key));
|
1208
|
-
}
|
1209
|
-
return (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
|
1210
|
-
}) });
|
1211
|
-
}
|
1212
|
-
var import_jsx_runtime24, inline_view_default7;
|
1213
|
-
var init_inline_view7 = __esm({
|
1214
|
-
"build/processor.audioMixer/inline-view.js"() {
|
1215
|
-
"use strict";
|
1216
|
-
import_jsx_runtime24 = __toESM(require_jsx_runtime());
|
1217
|
-
inline_view_default7 = InlineView12;
|
1218
|
-
}
|
1219
|
-
});
|
1220
|
-
|
1221
|
-
// build/processor.audioMixer/fullscreen-view.js
|
1222
|
-
var fullscreen_view_exports = {};
|
1223
|
-
__export(fullscreen_view_exports, {
|
1224
|
-
default: () => fullscreen_view_default,
|
1225
|
-
mkSourceKey: () => mkSourceKey2
|
1226
|
-
});
|
1227
|
-
function mkSourceKey2(sourceId, key) {
|
1228
|
-
return key ? sourceId + "-" + key : sourceId;
|
1229
|
-
}
|
1230
|
-
function FullScreen({ state, sendCommand }) {
|
1231
|
-
const initialSliders = {};
|
1232
|
-
const initialPreMuteSliders = {};
|
1233
|
-
Object.keys(state.sources).forEach((k) => {
|
1234
|
-
if (state.sources[k]) {
|
1235
|
-
initialSliders[k] = state.sources[k].sliderGain || 0;
|
1236
|
-
initialPreMuteSliders[k] = state.sources[k].preMuteSliderGain || 0;
|
1237
|
-
}
|
1238
|
-
});
|
1239
|
-
const initialCanSetVolume = {};
|
1240
|
-
state.knownSources.forEach(({ id, key }) => initialCanSetVolume[mkSourceKey2(id, key)] = true);
|
1241
|
-
const [canSetVolume, setCanSetVolume] = (0, import_react27.useState)(initialCanSetVolume);
|
1242
|
-
const [sliderValues, setSliderValue] = (0, import_react27.useState)(initialSliders);
|
1243
|
-
const [preMuteValues, setPreMuteValues] = (0, import_react27.useState)(initialPreMuteSliders);
|
1244
|
-
const throttleDelay = 100;
|
1245
|
-
function percentage(levels) {
|
1246
|
-
if (!levels) {
|
1247
|
-
return 0;
|
1248
|
-
}
|
1249
|
-
if (levels.peak == 0 && levels.rms == 0) {
|
1250
|
-
return 0;
|
1251
|
-
}
|
1252
|
-
const rebase = levels.rms - 12;
|
1253
|
-
const capped = 0 - rebase / 112;
|
1254
|
-
const snapped = Math.floor(capped * 10) * 10;
|
1255
|
-
return Math.max(0, 100 - snapped);
|
1256
|
-
}
|
1257
|
-
function mkFader(sourceId, key) {
|
1258
|
-
const source = mkSourceKey2(sourceId, key);
|
1259
|
-
const levels = state.sources[source];
|
1260
|
-
return (0, import_jsx_runtime25.jsxs)("div", { id: `audio-slider-${sourceId}${key ? "-" + key : ""}`, className: `${!levels?.levels ? "opacity-20" : ""} audio-mixer-fader-container grid content-center justify-center w-full relative`, children: [(0, import_jsx_runtime25.jsx)("input", { className: "-rotate-90 audio-mixer-fader", type: "range", name: "gain", min: state.gainRange.minGain - 0.1, max: state.gainRange.maxGain, step: "0.1", value: levels?.sliderGain || 0, disabled: !levels?.levels, onChange: (e) => {
|
1261
|
-
sliderValues[source] = Number(e.target.value);
|
1262
|
-
if (Number(e.target.value) < state.gainRange.minGain) {
|
1263
|
-
preMuteValues[source] = state.gainRange.minGain;
|
1264
|
-
} else {
|
1265
|
-
preMuteValues[source] = Number(e.target.value);
|
1266
|
-
}
|
1267
|
-
setSliderValue(sliderValues);
|
1268
|
-
setPreMuteValues(sliderValues);
|
1269
|
-
if (state.sources[source].isMuted) {
|
1270
|
-
sendCommand({ type: "switch-mute-cmd", sourceId, key, preMuteSliderValue: preMuteValues[source] || 0, muted: false });
|
1271
|
-
}
|
1272
|
-
if (Number(e.target.value) < state.gainRange.minGain) {
|
1273
|
-
sendCommand({ type: "switch-mute-cmd", sourceId, key, preMuteSliderValue: state.gainRange.minGain, muted: true });
|
1274
|
-
}
|
1275
|
-
if (canSetVolume[source] === true) {
|
1276
|
-
canSetVolume[source] = false;
|
1277
|
-
setCanSetVolume(canSetVolume);
|
1278
|
-
sendCommand({ type: "set-gain-cmd", sourceId, key, value: Number(e.target.value) });
|
1279
|
-
setTimeout(() => {
|
1280
|
-
canSetVolume[source] = true;
|
1281
|
-
setCanSetVolume(canSetVolume);
|
1282
|
-
}, throttleDelay);
|
1283
|
-
}
|
1284
|
-
}, onMouseUp: (_e) => {
|
1285
|
-
sendCommand({ type: "set-gain-cmd", sourceId, key, value: sliderValues[source] || 0 });
|
1286
|
-
} }), (0, import_jsx_runtime25.jsxs)("div", { className: "grid mixer-gain-db ml-2.5 absolute self-center", children: [(0, import_jsx_runtime25.jsxs)("div", { className: "text-xs absolute border-t w-12", children: [state.gainRange.maxGain, "dB"] }), (0, import_jsx_runtime25.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime25.jsxs)("div", { className: "text-xs self-end border-b w-12", children: [state.gainRange.maxGain * 0.75, "dB"] }), (0, import_jsx_runtime25.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime25.jsxs)("div", { className: "text-xs self-end border-b w-12", children: [state.gainRange.maxGain * 0.5, "dB"] }), (0, import_jsx_runtime25.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime25.jsxs)("div", { className: "text-xs self-end border-b w-12", children: [state.gainRange.maxGain * 0.25, "dB"] }), (0, import_jsx_runtime25.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime25.jsx)("div", { className: "text-xs self-end border-b w-12", children: "0dB" }), (0, import_jsx_runtime25.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime25.jsxs)("div", { className: "text-xs self-end border-b w-12", children: [state.gainRange.minGain * 0.25, "dB"] }), (0, import_jsx_runtime25.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime25.jsxs)("div", { className: "text-xs self-end border-b w-12", children: [state.gainRange.minGain * 0.5, "dB"] }), (0, import_jsx_runtime25.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime25.jsxs)("div", { className: "text-xs self-end border-b w-12", children: [state.gainRange.minGain * 0.75, "dB"] }), (0, import_jsx_runtime25.jsx)("div", { className: "text-xs self-end border-b w-4 h-4" }), (0, import_jsx_runtime25.jsxs)("div", { className: "text-xs self-end border-b w-12", children: [state.gainRange.minGain, "dB"] })] })] });
|
1287
|
-
}
|
1288
|
-
function mkLevels(sourceId, key) {
|
1289
|
-
const sourceKey = mkSourceKey2(sourceId, key);
|
1290
|
-
const levels = state.sources[sourceKey];
|
1291
|
-
const mutedClass = sliderValues[sourceKey] < state.gainRange.minGain || state.sources[sourceKey]?.isMuted ? "level-muted" : "";
|
1292
|
-
return (0, import_jsx_runtime25.jsxs)("div", { id: `level-${sourceId}${key ? "-" + key : ""}`, className: `preview-levels-mixer ${!state.sources[sourceKey]?.levels ? "opacity-30" : ""}`, children: [(0, import_jsx_runtime25.jsx)("div", { className: "relative w-full h-full", children: (0, import_jsx_runtime25.jsx)("div", { className: `preview-level-mixer absolute h-full w-4/6 clip-${percentage(levels?.levels)} ${mutedClass}` }) }), (0, import_jsx_runtime25.jsxs)("div", { className: "grid mixer-level-db ml-2.5 relative", children: [(0, import_jsx_runtime25.jsx)("div", { className: "text-xs absolute border-t w-12 -right-3.5", children: "0dB" }), (0, import_jsx_runtime25.jsx)("div", { className: "text-xs self-end border-b w-12", children: "-25dB" }), (0, import_jsx_runtime25.jsx)("div", { className: "text-xs self-end border-b w-12", children: "-50dB" }), (0, import_jsx_runtime25.jsx)("div", { className: "text-xs self-end border-b w-12", children: "-75dB" }), (0, import_jsx_runtime25.jsx)("div", { className: "text-xs self-end border-b w-12", children: "-100dB" })] })] });
|
1293
|
-
}
|
1294
|
-
function mkGainValue(sourceId, key) {
|
1295
|
-
const sourceKey = mkSourceKey2(sourceId, key);
|
1296
|
-
const sliderValue = sliderValues[sourceKey];
|
1297
|
-
const sliderValueText = sliderValue === void 0 ? "- dB" : sliderValue < state.gainRange.minGain || state.sources[sourceKey]?.isMuted ? "muted" : sliderValue + "dB";
|
1298
|
-
return (0, import_jsx_runtime25.jsx)("div", { id: `gain-value-${sourceId}${key ? "-" + key : ""}`, className: `${!state.sources[sourceKey]?.levels ? "opacity-20" : ""} text-m`, children: sliderValueText });
|
1299
|
-
}
|
1300
|
-
function muteIcon(sourceId, key) {
|
1301
|
-
const sourceKey = mkSourceKey2(sourceId, key);
|
1302
|
-
const mute = (0, import_jsx_runtime25.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "w-6 h-6", children: (0, import_jsx_runtime25.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M17.25 9.75 19.5 12m0 0 2.25 2.25M19.5 12l2.25-2.25M19.5 12l-2.25 2.25m-10.5-6 4.72-4.72a.75.75 0 0 1 1.28.53v15.88a.75.75 0 0 1-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.009 9.009 0 0 1 2.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25H6.75Z" }) });
|
1303
|
-
const unMute = (0, import_jsx_runtime25.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: "1.5", stroke: "currentColor", className: "w-6 h-6", children: (0, import_jsx_runtime25.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.114 5.636a9 9 0 0 1 0 12.728M16.463 8.288a5.25 5.25 0 0 1 0 7.424M6.75 8.25l4.72-4.72a.75.75 0 0 1 1.28.53v15.88a.75.75 0 0 1-1.28.53l-4.72-4.72H4.51c-.88 0-1.704-.507-1.938-1.354A9.009 9.009 0 0 1 2.25 12c0-.83.112-1.633.322-2.396C2.806 8.756 3.63 8.25 4.51 8.25H6.75Z" }) });
|
1304
|
-
return (0, import_jsx_runtime25.jsx)("div", { className: `${!state.sources[sourceKey]?.levels ? "opacity-20" : ""} mute-icon self-center`, onClick: (_e) => {
|
1305
|
-
if (state.sources[sourceKey]) {
|
1306
|
-
if (state.sources[sourceKey].isMuted) {
|
1307
|
-
sendCommand({ type: "switch-mute-cmd", sourceId, key, preMuteSliderValue: preMuteValues[sourceKey] || 0, muted: false });
|
1308
|
-
} else {
|
1309
|
-
sendCommand({ type: "switch-mute-cmd", sourceId, key, preMuteSliderValue: preMuteValues[sourceKey] || 0, muted: true });
|
1310
|
-
}
|
1311
|
-
} else {
|
1312
|
-
console.warn("Could not find source with source key: " + sourceKey);
|
1313
|
-
}
|
1314
|
-
}, children: state.sources[sourceKey]?.isMuted ? mute : unMute });
|
1315
|
-
}
|
1316
|
-
const sourcesOrdered = state.knownSources.filter(({ id }) => id !== "mixer-output");
|
1317
|
-
const mixerOutput = state.knownSources.find(({ id }) => id === "mixer-output");
|
1318
|
-
if (mixerOutput) {
|
1319
|
-
sourcesOrdered.push(mixerOutput);
|
1320
|
-
}
|
1321
|
-
function mkGridColumns() {
|
1322
|
-
const gridColumns = Array(state.knownSources.length).fill("140px");
|
1323
|
-
return {
|
1324
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
1325
|
-
["gridTemplateColumns"]: gridColumns.join(" ")
|
1326
|
-
};
|
1327
|
-
}
|
1328
|
-
return (0, import_jsx_runtime25.jsx)("div", { className: "audio-mixer grid gap-x-8 justify-items-center", style: mkGridColumns(), children: sourcesOrdered.map((s, i) => {
|
1329
|
-
const isMasterOutput = i == sourcesOrdered.length - 1;
|
1330
|
-
const divKey = `${s.id}${s.key ? "-" + s.key : ""}`;
|
1331
|
-
return (0, import_jsx_runtime25.jsxs)("div", { className: `channel-container grid justify-items-center ${isMasterOutput ? "bg-gray-700 ml-12" : ""} `, children: [(0, import_jsx_runtime25.jsx)("div", { id: `channel-title-${divKey}`, children: isMasterOutput ? "Master" : s.key ?? s.id }), mkLevels(s.id, s.key), muteIcon(s.id, s.key), mkFader(s.id, s.key), mkGainValue(s.id, s.key)] }, divKey);
|
1332
|
-
}) });
|
1333
|
-
}
|
1334
|
-
var import_jsx_runtime25, import_react27, fullscreen_view_default;
|
1335
|
-
var init_fullscreen_view = __esm({
|
1336
|
-
"build/processor.audioMixer/fullscreen-view.js"() {
|
1337
|
-
"use strict";
|
1338
|
-
import_jsx_runtime25 = __toESM(require_jsx_runtime());
|
1339
|
-
import_react27 = __toESM(require_react());
|
1340
|
-
fullscreen_view_default = FullScreen;
|
1341
|
-
}
|
1342
|
-
});
|
1343
|
-
|
1344
|
-
// build/processor.audioMixer/summary-view.js
|
1345
|
-
var summary_view_exports4 = {};
|
1346
|
-
__export(summary_view_exports4, {
|
1347
|
-
default: () => summary_view_default4
|
1348
|
-
});
|
1349
|
-
function SummaryView6({ state, sendCommand }) {
|
1350
|
-
return (0, import_jsx_runtime26.jsxs)("div", { className: "mb-8", children: [(0, import_jsx_runtime26.jsx)("label", { className: "mr-2.5", htmlFor: "disable-inline", children: "Display inline channels" }), (0, import_jsx_runtime26.jsx)("input", { checked: state.displayInlineChannels, type: "checkbox", id: "disable-inline", onChange: (e) => {
|
1351
|
-
const display = e.target.checked;
|
1352
|
-
sendCommand({ type: "display-inline-channels-cmd", display });
|
1353
|
-
} })] });
|
1354
|
-
}
|
1355
|
-
var import_jsx_runtime26, summary_view_default4;
|
1356
|
-
var init_summary_view4 = __esm({
|
1357
|
-
"build/processor.audioMixer/summary-view.js"() {
|
1358
|
-
"use strict";
|
1359
|
-
import_jsx_runtime26 = __toESM(require_jsx_runtime());
|
1360
|
-
summary_view_default4 = SummaryView6;
|
1361
|
-
}
|
1362
|
-
});
|
1363
|
-
|
1364
1022
|
// build/processor.aws-transcribe/transcribe-language-selection.js
|
1365
1023
|
var transcribe_language_selection_exports = {};
|
1366
1024
|
__export(transcribe_language_selection_exports, {
|
1367
1025
|
default: () => transcribe_language_selection_default
|
1368
1026
|
});
|
1369
1027
|
function TranscribeLanguageSelection(props) {
|
1370
|
-
const [loading, setLoading] = (0,
|
1371
|
-
(0,
|
1028
|
+
const [loading, setLoading] = (0, import_react23.useState)(true);
|
1029
|
+
(0, import_react23.useEffect)(() => {
|
1372
1030
|
const fn = async () => {
|
1373
1031
|
const result2 = await fetch("components/processor.aws-transcribe/languages");
|
1374
1032
|
if (result2.ok && result2.body) {
|
@@ -1384,27 +1042,27 @@ function TranscribeLanguageSelection(props) {
|
|
1384
1042
|
};
|
1385
1043
|
fn().catch(console.error);
|
1386
1044
|
}, []);
|
1387
|
-
const [languages, setLanguages] = (0,
|
1045
|
+
const [languages, setLanguages] = (0, import_react23.useState)([]);
|
1388
1046
|
if (loading) {
|
1389
|
-
return (0,
|
1047
|
+
return (0, import_jsx_runtime21.jsx)("div", { children: "Loading.." });
|
1390
1048
|
}
|
1391
1049
|
if (languages.length == 0) {
|
1392
|
-
return (0,
|
1050
|
+
return (0, import_jsx_runtime21.jsx)("div", { children: "No flows loaded" });
|
1393
1051
|
}
|
1394
|
-
return (0,
|
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) => {
|
1395
1053
|
const val = o.code;
|
1396
|
-
return (0,
|
1054
|
+
return (0, import_jsx_runtime21.jsxs)("option", { value: val, children: [o.name, " (", o.code, ")"] }, i);
|
1397
1055
|
})] }) });
|
1398
1056
|
function myOnChange(e) {
|
1399
1057
|
props.onChanged(e.target.value);
|
1400
1058
|
}
|
1401
1059
|
}
|
1402
|
-
var
|
1060
|
+
var import_jsx_runtime21, import_react23, transcribe_language_selection_default;
|
1403
1061
|
var init_transcribe_language_selection = __esm({
|
1404
1062
|
"build/processor.aws-transcribe/transcribe-language-selection.js"() {
|
1405
1063
|
"use strict";
|
1406
|
-
|
1407
|
-
|
1064
|
+
import_jsx_runtime21 = __toESM(require_jsx_runtime());
|
1065
|
+
import_react23 = __toESM(require_react());
|
1408
1066
|
transcribe_language_selection_default = TranscribeLanguageSelection;
|
1409
1067
|
}
|
1410
1068
|
});
|
@@ -1415,8 +1073,8 @@ __export(translate_language_selection_exports, {
|
|
1415
1073
|
default: () => translate_language_selection_default
|
1416
1074
|
});
|
1417
1075
|
function TranslateLanguageSelection(props) {
|
1418
|
-
const [loading, setLoading] = (0,
|
1419
|
-
(0,
|
1076
|
+
const [loading, setLoading] = (0, import_react24.useState)(true);
|
1077
|
+
(0, import_react24.useEffect)(() => {
|
1420
1078
|
const fn = async () => {
|
1421
1079
|
const result2 = await fetch("components/processor.aws-transcribe/languages");
|
1422
1080
|
if (result2.ok && result2.body) {
|
@@ -1432,27 +1090,27 @@ function TranslateLanguageSelection(props) {
|
|
1432
1090
|
};
|
1433
1091
|
fn().catch(console.error);
|
1434
1092
|
}, []);
|
1435
|
-
const [languages, setLanguages] = (0,
|
1093
|
+
const [languages, setLanguages] = (0, import_react24.useState)([]);
|
1436
1094
|
if (loading) {
|
1437
|
-
return (0,
|
1095
|
+
return (0, import_jsx_runtime22.jsx)("div", { children: "Loading.." });
|
1438
1096
|
}
|
1439
1097
|
if (languages.length == 0) {
|
1440
|
-
return (0,
|
1098
|
+
return (0, import_jsx_runtime22.jsx)("div", { children: "No flows loaded" });
|
1441
1099
|
}
|
1442
|
-
return (0,
|
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) => {
|
1443
1101
|
const val = o.code;
|
1444
|
-
return (0,
|
1102
|
+
return (0, import_jsx_runtime22.jsxs)("option", { value: val, children: [o.name, " (", o.code, ")"] }, i);
|
1445
1103
|
})] }) });
|
1446
1104
|
function myOnChange(e) {
|
1447
1105
|
props.onChanged(e.target.value);
|
1448
1106
|
}
|
1449
1107
|
}
|
1450
|
-
var
|
1108
|
+
var import_jsx_runtime22, import_react24, translate_language_selection_default;
|
1451
1109
|
var init_translate_language_selection = __esm({
|
1452
1110
|
"build/processor.aws-transcribe/translate-language-selection.js"() {
|
1453
1111
|
"use strict";
|
1454
|
-
|
1455
|
-
|
1112
|
+
import_jsx_runtime22 = __toESM(require_jsx_runtime());
|
1113
|
+
import_react24 = __toESM(require_react());
|
1456
1114
|
translate_language_selection_default = TranslateLanguageSelection;
|
1457
1115
|
}
|
1458
1116
|
});
|
@@ -1463,15 +1121,15 @@ __export(source_selection_exports, {
|
|
1463
1121
|
default: () => source_selection_default
|
1464
1122
|
});
|
1465
1123
|
function OrderInput(props) {
|
1466
|
-
(0,
|
1124
|
+
(0, import_react26.useEffect)(() => {
|
1467
1125
|
props.onChanged(props.defaultValue ?? []);
|
1468
1126
|
}, [props.defaultValue]);
|
1469
|
-
const [value, setValue] = (0,
|
1127
|
+
const [value, setValue] = (0, import_react26.useState)(props.defaultValue ?? []);
|
1470
1128
|
if (value.length == 0) {
|
1471
|
-
return (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" });
|
1472
1130
|
} else {
|
1473
|
-
return (0,
|
1474
|
-
return (0,
|
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);
|
1475
1133
|
}) }) });
|
1476
1134
|
}
|
1477
1135
|
function moveUp(ix) {
|
@@ -1493,33 +1151,33 @@ function OrderInput(props) {
|
|
1493
1151
|
};
|
1494
1152
|
}
|
1495
1153
|
}
|
1496
|
-
var
|
1154
|
+
var import_jsx_runtime23, import_react26, source_selection_default;
|
1497
1155
|
var init_source_selection = __esm({
|
1498
1156
|
"build/processor.cascadingSwitch/source-selection.js"() {
|
1499
1157
|
"use strict";
|
1500
|
-
|
1501
|
-
|
1158
|
+
import_jsx_runtime23 = __toESM(require_jsx_runtime());
|
1159
|
+
import_react26 = __toESM(require_react());
|
1502
1160
|
source_selection_default = OrderInput;
|
1503
1161
|
}
|
1504
1162
|
});
|
1505
1163
|
|
1506
1164
|
// build/processor.cascadingSwitch/inline-view.js
|
1507
|
-
var
|
1508
|
-
__export(
|
1509
|
-
default: () =>
|
1165
|
+
var inline_view_exports6 = {};
|
1166
|
+
__export(inline_view_exports6, {
|
1167
|
+
default: () => inline_view_default6
|
1510
1168
|
});
|
1511
|
-
function
|
1512
|
-
return (0,
|
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")] })] });
|
1513
1171
|
}
|
1514
|
-
var
|
1515
|
-
var
|
1172
|
+
var import_jsx_runtime24, activeClasses, availableClasses, inactiveClasses, inline_view_default6;
|
1173
|
+
var init_inline_view6 = __esm({
|
1516
1174
|
"build/processor.cascadingSwitch/inline-view.js"() {
|
1517
1175
|
"use strict";
|
1518
|
-
|
1176
|
+
import_jsx_runtime24 = __toESM(require_jsx_runtime());
|
1519
1177
|
activeClasses = "active text-green-300 dark:text-green-300";
|
1520
1178
|
availableClasses = "available text-green-300 dark:text-green-300";
|
1521
1179
|
inactiveClasses = "inactive text-orange-300 dark:text-orange-300";
|
1522
|
-
|
1180
|
+
inline_view_default6 = InlineView10;
|
1523
1181
|
}
|
1524
1182
|
});
|
1525
1183
|
|
@@ -1529,8 +1187,8 @@ __export(bug_selection_exports, {
|
|
1529
1187
|
default: () => bug_selection_default
|
1530
1188
|
});
|
1531
1189
|
function BugSelection(props) {
|
1532
|
-
const [loading, setLoading] = (0,
|
1533
|
-
(0,
|
1190
|
+
const [loading, setLoading] = (0, import_react27.useState)(true);
|
1191
|
+
(0, import_react27.useEffect)(() => {
|
1534
1192
|
const fn = async () => {
|
1535
1193
|
const result2 = await fetch("components/processor.dynamicBug/bugs");
|
1536
1194
|
if (result2.ok && result2.body) {
|
@@ -1546,40 +1204,40 @@ function BugSelection(props) {
|
|
1546
1204
|
};
|
1547
1205
|
fn().catch(console.error);
|
1548
1206
|
}, []);
|
1549
|
-
const [bugs, setBugs] = (0,
|
1207
|
+
const [bugs, setBugs] = (0, import_react27.useState)([]);
|
1550
1208
|
if (loading) {
|
1551
|
-
return (0,
|
1209
|
+
return (0, import_jsx_runtime25.jsx)("div", { children: "Loading.." });
|
1552
1210
|
}
|
1553
1211
|
if (bugs.length == 0) {
|
1554
|
-
return (0,
|
1212
|
+
return (0, import_jsx_runtime25.jsx)("div", { children: "No bugs loaded" });
|
1555
1213
|
}
|
1556
|
-
return (0,
|
1557
|
-
return (0,
|
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);
|
1558
1216
|
})] }) });
|
1559
1217
|
function myOnChange(e) {
|
1560
1218
|
props.onChanged(e.target.value);
|
1561
1219
|
}
|
1562
1220
|
}
|
1563
|
-
var
|
1221
|
+
var import_jsx_runtime25, import_react27, bug_selection_default;
|
1564
1222
|
var init_bug_selection = __esm({
|
1565
1223
|
"build/processor.dynamicBug/bug-selection.js"() {
|
1566
1224
|
"use strict";
|
1567
|
-
|
1568
|
-
|
1225
|
+
import_jsx_runtime25 = __toESM(require_jsx_runtime());
|
1226
|
+
import_react27 = __toESM(require_react());
|
1569
1227
|
bug_selection_default = BugSelection;
|
1570
1228
|
}
|
1571
1229
|
});
|
1572
1230
|
|
1573
1231
|
// build/processor.dynamicBug/summary-view.js
|
1574
|
-
var
|
1575
|
-
__export(
|
1576
|
-
default: () =>
|
1232
|
+
var summary_view_exports3 = {};
|
1233
|
+
__export(summary_view_exports3, {
|
1234
|
+
default: () => summary_view_default3
|
1577
1235
|
});
|
1578
|
-
function
|
1579
|
-
const [bug, setBug] = (0,
|
1580
|
-
const [position, setPosition] = (0,
|
1581
|
-
const [bugs, setBugs] = (0,
|
1582
|
-
const [fileToUpload, setFileToUpload] = (0,
|
1236
|
+
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);
|
1583
1241
|
async function updateBugs() {
|
1584
1242
|
const result2 = await fetch("components/processor.dynamicBug/bugs");
|
1585
1243
|
if (result2.ok && result2.body) {
|
@@ -1590,7 +1248,7 @@ function SummaryView7({ state, sendCommand, httpApi }) {
|
|
1590
1248
|
throw new Error(text);
|
1591
1249
|
}
|
1592
1250
|
}
|
1593
|
-
(0,
|
1251
|
+
(0, import_react28.useEffect)(() => {
|
1594
1252
|
const fn = async () => {
|
1595
1253
|
await updateBugs();
|
1596
1254
|
};
|
@@ -1600,11 +1258,11 @@ function SummaryView7({ state, sendCommand, httpApi }) {
|
|
1600
1258
|
if (e.target.files?.[0])
|
1601
1259
|
setFileToUpload(e.target.files[0]);
|
1602
1260
|
}
|
1603
|
-
return (0,
|
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) => {
|
1604
1262
|
setBug(e.currentTarget.value === "" ? void 0 : e.currentTarget.value);
|
1605
|
-
}, children: [(0,
|
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) => {
|
1606
1264
|
setPosition(e.currentTarget.value);
|
1607
|
-
}, children: [(0,
|
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) => {
|
1608
1266
|
e.preventDefault();
|
1609
1267
|
if (fileToUpload && bug === "new") {
|
1610
1268
|
const form = new FormData();
|
@@ -1624,15 +1282,15 @@ function SummaryView7({ state, sendCommand, httpApi }) {
|
|
1624
1282
|
} else {
|
1625
1283
|
sendCommand({ type: "change-bug", file: bug, position });
|
1626
1284
|
}
|
1627
|
-
}, children: "Commit" }) : (0,
|
1285
|
+
}, children: "Commit" }) : (0, import_jsx_runtime26.jsx)(import_jsx_runtime26.Fragment, {})] });
|
1628
1286
|
}
|
1629
|
-
var
|
1630
|
-
var
|
1287
|
+
var import_jsx_runtime26, import_react28, summary_view_default3;
|
1288
|
+
var init_summary_view3 = __esm({
|
1631
1289
|
"build/processor.dynamicBug/summary-view.js"() {
|
1632
1290
|
"use strict";
|
1633
|
-
|
1634
|
-
|
1635
|
-
|
1291
|
+
import_jsx_runtime26 = __toESM(require_jsx_runtime());
|
1292
|
+
import_react28 = __toESM(require_react());
|
1293
|
+
summary_view_default3 = SummaryView5;
|
1636
1294
|
}
|
1637
1295
|
});
|
1638
1296
|
|
@@ -1642,13 +1300,13 @@ __export(rung_view_exports, {
|
|
1642
1300
|
default: () => rung_view_default
|
1643
1301
|
});
|
1644
1302
|
function rung_view_default(rung) {
|
1645
|
-
return (0,
|
1303
|
+
return (0, import_jsx_runtime27.jsx)("div", { className: "", children: rung.name });
|
1646
1304
|
}
|
1647
|
-
var
|
1305
|
+
var import_jsx_runtime27;
|
1648
1306
|
var init_rung_view = __esm({
|
1649
1307
|
"build/processor.fixedLadder/rung-view.js"() {
|
1650
1308
|
"use strict";
|
1651
|
-
|
1309
|
+
import_jsx_runtime27 = __toESM(require_jsx_runtime());
|
1652
1310
|
}
|
1653
1311
|
});
|
1654
1312
|
|
@@ -1658,20 +1316,20 @@ __export(codec_editor_exports, {
|
|
1658
1316
|
default: () => CodecEditor
|
1659
1317
|
});
|
1660
1318
|
function CodecEditor(props) {
|
1661
|
-
(0,
|
1319
|
+
(0, import_react30.useEffect)(() => {
|
1662
1320
|
if (props.defaultValue)
|
1663
1321
|
props.onChanged(props.defaultValue);
|
1664
1322
|
}, [props.defaultValue]);
|
1665
|
-
const textAreaRef = (0,
|
1666
|
-
const [value, setValue] = (0,
|
1667
|
-
(0,
|
1323
|
+
const textAreaRef = (0, import_react30.useRef)(null);
|
1324
|
+
const [value, setValue] = (0, import_react30.useState)(props.defaultValue);
|
1325
|
+
(0, import_react30.useEffect)(() => {
|
1668
1326
|
if (textAreaRef.current) {
|
1669
1327
|
const target = textAreaRef.current;
|
1670
1328
|
target.style.height = "";
|
1671
1329
|
target.style.height = target.scrollHeight + "px";
|
1672
1330
|
}
|
1673
1331
|
}, []);
|
1674
|
-
return (0,
|
1332
|
+
return (0, import_jsx_runtime28.jsx)("textarea", { ref: textAreaRef, className: "w-full min-h-fit dark:text-white dark:bg-black", onChange: (e) => {
|
1675
1333
|
const target = e.currentTarget;
|
1676
1334
|
try {
|
1677
1335
|
const codec = JSON.parse(target.value);
|
@@ -1681,12 +1339,12 @@ function CodecEditor(props) {
|
|
1681
1339
|
}
|
1682
1340
|
}, defaultValue: JSON.stringify(value, void 0, 2) });
|
1683
1341
|
}
|
1684
|
-
var
|
1342
|
+
var import_jsx_runtime28, import_react30;
|
1685
1343
|
var init_codec_editor = __esm({
|
1686
1344
|
"build/processor.fixedLadder/codec-editor.js"() {
|
1687
1345
|
"use strict";
|
1688
|
-
|
1689
|
-
|
1346
|
+
import_jsx_runtime28 = __toESM(require_jsx_runtime());
|
1347
|
+
import_react30 = __toESM(require_react());
|
1690
1348
|
}
|
1691
1349
|
});
|
1692
1350
|
|
@@ -1696,60 +1354,13 @@ __export(codec_view_exports, {
|
|
1696
1354
|
default: () => CodecEditor2
|
1697
1355
|
});
|
1698
1356
|
function CodecEditor2(props) {
|
1699
|
-
return (0,
|
1357
|
+
return (0, import_jsx_runtime29.jsxs)(import_jsx_runtime29.Fragment, { children: [props.width, "x", props.height] });
|
1700
1358
|
}
|
1701
|
-
var
|
1359
|
+
var import_jsx_runtime29;
|
1702
1360
|
var init_codec_view = __esm({
|
1703
1361
|
"build/processor.fixedLadder/codec-view.js"() {
|
1704
1362
|
"use strict";
|
1705
|
-
|
1706
|
-
}
|
1707
|
-
});
|
1708
|
-
|
1709
|
-
// build/processor.monetise/summary.js
|
1710
|
-
var summary_exports3 = {};
|
1711
|
-
__export(summary_exports3, {
|
1712
|
-
default: () => summary_default3
|
1713
|
-
});
|
1714
|
-
function InlineView14({ state, config, sendCommand }) {
|
1715
|
-
const url = state.url;
|
1716
|
-
const id = config.id;
|
1717
|
-
const previewVideo = (0, import_react38.useRef)(null);
|
1718
|
-
const durationSlider = (0, import_react38.useRef)(null);
|
1719
|
-
(0, import_react38.useEffect)(() => {
|
1720
|
-
if (!url)
|
1721
|
-
return;
|
1722
|
-
setTimeout(() => {
|
1723
|
-
if (!url)
|
1724
|
-
return;
|
1725
|
-
if (!previewVideo.current)
|
1726
|
-
return;
|
1727
|
-
const client = new import_webrtc_client2.WhepClient({ url, container: previewVideo.current });
|
1728
|
-
void client.start();
|
1729
|
-
}, 1e3);
|
1730
|
-
}, [state.url]);
|
1731
|
-
if (!url)
|
1732
|
-
return (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, { children: "Starting up..." });
|
1733
|
-
return (0, import_jsx_runtime36.jsxs)("div", { className: "mb-5", children: [(0, import_jsx_runtime36.jsx)("div", { ref: previewVideo, className: "", id: `preview-${id}` }), state.currentAdvert ? (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: ["Advert currently playing: ", Math.floor(state.currentAdvert.timeLeftMs / 1e3), "s"] }) : (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [(0, import_jsx_runtime36.jsxs)("label", { htmlFor: "default-range", className: "block mb-2 text-sm font-medium text-gray-900 dark:text-white", children: ["Advert Duration (", durationSlider.current?.value ?? 16, "s)"] }), (0, import_jsx_runtime36.jsx)("input", { ref: durationSlider, id: "default-range", type: "range", defaultValue: "16", min: "16", max: "120", className: "w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer dark:bg-gray-700" }), (0, import_jsx_runtime36.jsx)("button", { onClick: sendAdvertCommand, 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", children: "Inject Advert" })] })] });
|
1734
|
-
function sendAdvertCommand() {
|
1735
|
-
if (!previewVideo.current)
|
1736
|
-
return;
|
1737
|
-
if (!durationSlider.current)
|
1738
|
-
return;
|
1739
|
-
sendCommand({
|
1740
|
-
type: "inject-advert",
|
1741
|
-
durationMs: parseInt(durationSlider.current.value, 10) * 1e3
|
1742
|
-
});
|
1743
|
-
}
|
1744
|
-
}
|
1745
|
-
var import_jsx_runtime36, import_react38, import_webrtc_client2, summary_default3;
|
1746
|
-
var init_summary3 = __esm({
|
1747
|
-
"build/processor.monetise/summary.js"() {
|
1748
|
-
"use strict";
|
1749
|
-
import_jsx_runtime36 = __toESM(require_jsx_runtime());
|
1750
|
-
import_react38 = __toESM(require_react());
|
1751
|
-
import_webrtc_client2 = __toESM(require_webrtc_client());
|
1752
|
-
summary_default3 = InlineView14;
|
1363
|
+
import_jsx_runtime29 = __toESM(require_jsx_runtime());
|
1753
1364
|
}
|
1754
1365
|
});
|
1755
1366
|
|
@@ -16072,13 +15683,13 @@ var init_auto = __esm({
|
|
16072
15683
|
});
|
16073
15684
|
|
16074
15685
|
// build/util.latency/inline-view.js
|
16075
|
-
var
|
16076
|
-
__export(
|
16077
|
-
default: () =>
|
15686
|
+
var inline_view_exports7 = {};
|
15687
|
+
__export(inline_view_exports7, {
|
15688
|
+
default: () => inline_view_default7
|
16078
15689
|
});
|
16079
|
-
function
|
16080
|
-
const chartContainer = (0,
|
16081
|
-
const [chartControl, setChartControl] = (0,
|
15690
|
+
function InlineView11({ state, config: _2 }) {
|
15691
|
+
const chartContainer = (0, import_react32.useRef)(null);
|
15692
|
+
const [chartControl, setChartControl] = (0, import_react32.useState)(void 0);
|
16082
15693
|
function makeDataSet(key, color2, values) {
|
16083
15694
|
return {
|
16084
15695
|
label: key,
|
@@ -16095,7 +15706,7 @@ function InlineView15({ state, config: _2 }) {
|
|
16095
15706
|
datasets: [makeDataSet("latency", "rgba(255, 0, 0, 255)", state2.values)]
|
16096
15707
|
};
|
16097
15708
|
}
|
16098
|
-
(0,
|
15709
|
+
(0, import_react32.useEffect)(() => {
|
16099
15710
|
if (!chartContainer.current)
|
16100
15711
|
return;
|
16101
15712
|
auto_default.defaults.color = "#FFF";
|
@@ -16133,21 +15744,21 @@ function InlineView15({ state, config: _2 }) {
|
|
16133
15744
|
chart.update();
|
16134
15745
|
}, 100);
|
16135
15746
|
}, [chartContainer]);
|
16136
|
-
(0,
|
15747
|
+
(0, import_react32.useEffect)(() => {
|
16137
15748
|
if (!chartControl)
|
16138
15749
|
return;
|
16139
15750
|
chartControl.data = makeData(state);
|
16140
15751
|
}, [state]);
|
16141
|
-
return (0,
|
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 }) });
|
16142
15753
|
}
|
16143
|
-
var
|
16144
|
-
var
|
15754
|
+
var import_jsx_runtime30, import_react32, inline_view_default7;
|
15755
|
+
var init_inline_view7 = __esm({
|
16145
15756
|
"build/util.latency/inline-view.js"() {
|
16146
15757
|
"use strict";
|
16147
|
-
|
16148
|
-
|
15758
|
+
import_jsx_runtime30 = __toESM(require_jsx_runtime());
|
15759
|
+
import_react32 = __toESM(require_react());
|
16149
15760
|
init_auto();
|
16150
|
-
|
15761
|
+
inline_view_default7 = InlineView11;
|
16151
15762
|
}
|
16152
15763
|
});
|
16153
15764
|
|
@@ -16157,34 +15768,34 @@ __export(source_node_selection_exports, {
|
|
16157
15768
|
default: () => source_node_selection_default
|
16158
15769
|
});
|
16159
15770
|
function SourceNodeSelection(props) {
|
16160
|
-
return (0,
|
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) => {
|
16161
15772
|
if (o.id == props.id)
|
16162
|
-
return (0,
|
15773
|
+
return (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, {});
|
16163
15774
|
if (o.info.category === "output")
|
16164
15775
|
return;
|
16165
|
-
return (0,
|
15776
|
+
return (0, import_jsx_runtime31.jsx)("option", { value: o.id, children: o.config.displayName }, i);
|
16166
15777
|
})] }) });
|
16167
15778
|
function myOnChange(e) {
|
16168
15779
|
props.onChanged(e.target.value);
|
16169
15780
|
}
|
16170
15781
|
}
|
16171
|
-
var
|
15782
|
+
var import_jsx_runtime31, source_node_selection_default;
|
16172
15783
|
var init_source_node_selection = __esm({
|
16173
15784
|
"build/util.latency/source-node-selection.js"() {
|
16174
15785
|
"use strict";
|
16175
|
-
|
15786
|
+
import_jsx_runtime31 = __toESM(require_jsx_runtime());
|
16176
15787
|
source_node_selection_default = SourceNodeSelection;
|
16177
15788
|
}
|
16178
15789
|
});
|
16179
15790
|
|
16180
15791
|
// build/util.ma35d/inline-view.js
|
16181
|
-
var
|
16182
|
-
__export(
|
16183
|
-
default: () =>
|
15792
|
+
var inline_view_exports8 = {};
|
15793
|
+
__export(inline_view_exports8, {
|
15794
|
+
default: () => inline_view_default8
|
16184
15795
|
});
|
16185
|
-
function
|
16186
|
-
const chartContainer = (0,
|
16187
|
-
const [chartControl, setChartControl] = (0,
|
15796
|
+
function InlineView12({ state, config: _2 }) {
|
15797
|
+
const chartContainer = (0, import_react34.useRef)(null);
|
15798
|
+
const [chartControl, setChartControl] = (0, import_react34.useState)(void 0);
|
16188
15799
|
function makeDataSet(key, color2, values) {
|
16189
15800
|
return {
|
16190
15801
|
label: key,
|
@@ -16205,7 +15816,7 @@ function InlineView16({ state, config: _2 }) {
|
|
16205
15816
|
]
|
16206
15817
|
};
|
16207
15818
|
}
|
16208
|
-
(0,
|
15819
|
+
(0, import_react34.useEffect)(() => {
|
16209
15820
|
if (!chartContainer.current)
|
16210
15821
|
return;
|
16211
15822
|
auto_default.defaults.color = "#FFF";
|
@@ -16243,33 +15854,33 @@ function InlineView16({ state, config: _2 }) {
|
|
16243
15854
|
chart.update();
|
16244
15855
|
}, 100);
|
16245
15856
|
}, [chartContainer]);
|
16246
|
-
(0,
|
15857
|
+
(0, import_react34.useEffect)(() => {
|
16247
15858
|
if (!chartControl)
|
16248
15859
|
return;
|
16249
15860
|
chartControl.data = makeData(state);
|
16250
15861
|
}, [state]);
|
16251
|
-
return (0,
|
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 }) });
|
16252
15863
|
}
|
16253
|
-
var
|
16254
|
-
var
|
15864
|
+
var import_jsx_runtime32, import_react34, inline_view_default8;
|
15865
|
+
var init_inline_view8 = __esm({
|
16255
15866
|
"build/util.ma35d/inline-view.js"() {
|
16256
15867
|
"use strict";
|
16257
|
-
|
16258
|
-
|
15868
|
+
import_jsx_runtime32 = __toESM(require_jsx_runtime());
|
15869
|
+
import_react34 = __toESM(require_react());
|
16259
15870
|
init_auto();
|
16260
|
-
|
15871
|
+
inline_view_default8 = InlineView12;
|
16261
15872
|
}
|
16262
15873
|
});
|
16263
15874
|
|
16264
15875
|
// build/util.timestamps/inline-view.js
|
16265
|
-
var
|
16266
|
-
__export(
|
16267
|
-
default: () =>
|
15876
|
+
var inline_view_exports9 = {};
|
15877
|
+
__export(inline_view_exports9, {
|
15878
|
+
default: () => inline_view_default9
|
16268
15879
|
});
|
16269
|
-
function
|
16270
|
-
const chartContainer = (0,
|
16271
|
-
const [chartControl, setChartControl] = (0,
|
16272
|
-
(0,
|
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)(() => {
|
16273
15884
|
if (!chartContainer.current)
|
16274
15885
|
return;
|
16275
15886
|
if (state.timestamps.length < 2)
|
@@ -16331,7 +15942,7 @@ function InlineView17({ state, config: _2 }) {
|
|
16331
15942
|
chart.update();
|
16332
15943
|
}, 100);
|
16333
15944
|
}, [chartContainer]);
|
16334
|
-
(0,
|
15945
|
+
(0, import_react36.useEffect)(() => {
|
16335
15946
|
if (!chartControl)
|
16336
15947
|
return;
|
16337
15948
|
chartControl.data = {
|
@@ -16354,16 +15965,16 @@ function InlineView17({ state, config: _2 }) {
|
|
16354
15965
|
})
|
16355
15966
|
};
|
16356
15967
|
}, [state]);
|
16357
|
-
return (0,
|
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 }) });
|
16358
15969
|
}
|
16359
|
-
var
|
16360
|
-
var
|
15970
|
+
var import_jsx_runtime33, import_react36, inline_view_default9;
|
15971
|
+
var init_inline_view9 = __esm({
|
16361
15972
|
"build/util.timestamps/inline-view.js"() {
|
16362
15973
|
"use strict";
|
16363
|
-
|
16364
|
-
|
15974
|
+
import_jsx_runtime33 = __toESM(require_jsx_runtime());
|
15975
|
+
import_react36 = __toESM(require_react());
|
16365
15976
|
init_auto();
|
16366
|
-
|
15977
|
+
inline_view_default9 = InlineView13;
|
16367
15978
|
}
|
16368
15979
|
});
|
16369
15980
|
|
@@ -16813,7 +16424,7 @@ function info_default7({ defineComponent, Video, validation: { SourceName }, com
|
|
16813
16424
|
// build/output.autoCmaf/info.js
|
16814
16425
|
var import_react10 = __toESM(require_react());
|
16815
16426
|
function info_default8({ defineComponent, All, validation: { Z, Hostname } }) {
|
16816
|
-
const
|
16427
|
+
const SummaryView6 = import_react10.default.lazy(async () => Promise.resolve().then(() => (init_summary(), summary_exports)));
|
16817
16428
|
const FullscreenView3 = import_react10.default.lazy(async () => Promise.resolve().then(() => (init_fullscreen(), fullscreen_exports)));
|
16818
16429
|
const SegmentConfiguration2 = import_react10.default.lazy(async () => {
|
16819
16430
|
const views = await Promise.resolve().then(() => (init_form_views(), form_views_exports));
|
@@ -16860,7 +16471,7 @@ function info_default8({ defineComponent, All, validation: { Z, Hostname } }) {
|
|
16860
16471
|
}
|
16861
16472
|
return { ...state };
|
16862
16473
|
},
|
16863
|
-
summary:
|
16474
|
+
summary: SummaryView6,
|
16864
16475
|
fullscreen: FullscreenView3
|
16865
16476
|
},
|
16866
16477
|
configForm: {
|
@@ -16991,7 +16602,7 @@ function info_default9({ defineComponent, validation: { Z }, All }) {
|
|
16991
16602
|
const InputSelection = import_react17.default.lazy(async () => Promise.resolve().then(() => (init_input_selection(), input_selection_exports)));
|
16992
16603
|
const UrlSelection2 = import_react17.default.lazy(async () => Promise.resolve().then(() => (init_url_selection(), url_selection_exports)));
|
16993
16604
|
const NodeView3 = import_react17.default.lazy(async () => Promise.resolve().then(() => (init_node_view2(), node_view_exports2)));
|
16994
|
-
const
|
16605
|
+
const InlineView14 = import_react17.default.lazy(async () => Promise.resolve().then(() => (init_inline(), inline_exports)));
|
16995
16606
|
const FullscreenView3 = import_react17.default.lazy(async () => Promise.resolve().then(() => (init_fullscreen2(), fullscreen_exports2)));
|
16996
16607
|
return defineComponent({
|
16997
16608
|
identifier: "output.medialive",
|
@@ -17037,7 +16648,7 @@ function info_default9({ defineComponent, validation: { Z }, All }) {
|
|
17037
16648
|
assertUnreachable4(evType);
|
17038
16649
|
}
|
17039
16650
|
},
|
17040
|
-
inline:
|
16651
|
+
inline: InlineView14,
|
17041
16652
|
fullscreen: FullscreenView3
|
17042
16653
|
},
|
17043
16654
|
configForm: {
|
@@ -17080,7 +16691,7 @@ var import_react19 = __toESM(require_react());
|
|
17080
16691
|
var import_config = __toESM(require_config());
|
17081
16692
|
function info_default10(R) {
|
17082
16693
|
const { defineComponent, Av, validation: { JitterBuffer } } = R;
|
17083
|
-
const
|
16694
|
+
const InlineView14 = import_react19.default.lazy(async () => Promise.resolve().then(() => (init_inline_view3(), inline_view_exports3)));
|
17084
16695
|
return defineComponent({
|
17085
16696
|
identifier: "output.preview",
|
17086
16697
|
category: "output",
|
@@ -17130,7 +16741,7 @@ function info_default10(R) {
|
|
17130
16741
|
}
|
17131
16742
|
return { ...state };
|
17132
16743
|
},
|
17133
|
-
inline:
|
16744
|
+
inline: InlineView14
|
17134
16745
|
},
|
17135
16746
|
configForm: {
|
17136
16747
|
global: {
|
@@ -17150,7 +16761,7 @@ function assertUnreachable5(_) {
|
|
17150
16761
|
// build/output.rtmp/info.js
|
17151
16762
|
var import_react20 = __toESM(require_react());
|
17152
16763
|
function info_default11({ defineComponent, Av, validation: { Z, JitterBuffer } }) {
|
17153
|
-
const
|
16764
|
+
const InlineView14 = import_react20.default.lazy(async () => Promise.resolve().then(() => (init_inline_view4(), inline_view_exports4)));
|
17154
16765
|
return defineComponent({
|
17155
16766
|
identifier: "output.rtmp",
|
17156
16767
|
category: "output",
|
@@ -17188,7 +16799,7 @@ function info_default11({ defineComponent, Av, validation: { Z, JitterBuffer } }
|
|
17188
16799
|
}
|
17189
16800
|
return { ...state };
|
17190
16801
|
},
|
17191
|
-
inline:
|
16802
|
+
inline: InlineView14
|
17192
16803
|
},
|
17193
16804
|
configForm: {
|
17194
16805
|
form: {
|
@@ -17352,265 +16963,11 @@ function info_default15(R) {
|
|
17352
16963
|
});
|
17353
16964
|
}
|
17354
16965
|
|
17355
|
-
// build/processor.actionReplay/info.js
|
17356
|
-
var import_react24 = __toESM(require_react());
|
17357
|
-
var import_config3 = __toESM(require_config());
|
17358
|
-
function info_default16({ defineComponent, assertUnreachable: assertUnreachable17, Av }) {
|
17359
|
-
const SummaryView8 = import_react24.default.lazy(async () => Promise.resolve().then(() => (init_summary2(), summary_exports2)));
|
17360
|
-
return defineComponent({
|
17361
|
-
identifier: "processor.transform.actionReplay",
|
17362
|
-
category: "processor",
|
17363
|
-
name: "Action Replay",
|
17364
|
-
subscription: {
|
17365
|
-
accepts: {
|
17366
|
-
type: "single-stream",
|
17367
|
-
media: Av
|
17368
|
-
},
|
17369
|
-
produces: {
|
17370
|
-
type: "single-stream",
|
17371
|
-
media: Av
|
17372
|
-
}
|
17373
|
-
},
|
17374
|
-
extraValidation: (ctx) => {
|
17375
|
-
if (ctx.subscriptions.length == 0) {
|
17376
|
-
return;
|
17377
|
-
}
|
17378
|
-
if (ctx.subscriptions.length > 1) {
|
17379
|
-
ctx.addError("Action replay can only subscribe to a single source");
|
17380
|
-
return;
|
17381
|
-
}
|
17382
|
-
if (!ctx.subscriptions[0].streams.select.includes("audio")) {
|
17383
|
-
ctx.addError("Action replay requires audio in the subscription");
|
17384
|
-
}
|
17385
|
-
if (!ctx.subscriptions[0].streams.select.includes("video")) {
|
17386
|
-
ctx.addError("Action replay requires video in the subscription");
|
17387
|
-
}
|
17388
|
-
},
|
17389
|
-
runtime: {
|
17390
|
-
summary: SummaryView8,
|
17391
|
-
initialState: () => ({
|
17392
|
-
replaying: false,
|
17393
|
-
contentPlayerUrl: void 0
|
17394
|
-
}),
|
17395
|
-
handleEvent: (ev, state) => {
|
17396
|
-
const evType = ev.type;
|
17397
|
-
switch (evType) {
|
17398
|
-
case "content-player-created":
|
17399
|
-
return { ...state, contentPlayerUrl: ev.url };
|
17400
|
-
case "replay-started":
|
17401
|
-
return { ...state, replaying: true };
|
17402
|
-
case "replay-finished":
|
17403
|
-
return { ...state, replaying: false };
|
17404
|
-
default:
|
17405
|
-
return assertUnreachable17(evType);
|
17406
|
-
}
|
17407
|
-
}
|
17408
|
-
},
|
17409
|
-
display: (desc) => {
|
17410
|
-
const { __global: _, ...rem } = desc.config;
|
17411
|
-
return rem;
|
17412
|
-
},
|
17413
|
-
configForm: {
|
17414
|
-
global: {
|
17415
|
-
hardware: (0, import_config3.HardwareSelection)()
|
17416
|
-
},
|
17417
|
-
form: {}
|
17418
|
-
}
|
17419
|
-
});
|
17420
|
-
}
|
17421
|
-
|
17422
|
-
// build/processor.audioLevel/info.js
|
17423
|
-
var import_react26 = __toESM(require_react());
|
17424
|
-
function info_default17({ defineComponent, Audio, validation: { Z } }) {
|
17425
|
-
const InlineView18 = import_react26.default.lazy(async () => Promise.resolve().then(() => (init_inline_view6(), inline_view_exports6)));
|
17426
|
-
const SummaryView8 = import_react26.default.lazy(async () => Promise.resolve().then(() => (init_summary_view3(), summary_view_exports3)));
|
17427
|
-
return defineComponent({
|
17428
|
-
identifier: "processor.audioLevel",
|
17429
|
-
category: "processor",
|
17430
|
-
name: "Audio Levels",
|
17431
|
-
subscription: {
|
17432
|
-
// Only accept a single audio stream
|
17433
|
-
accepts: {
|
17434
|
-
type: "single-stream",
|
17435
|
-
media: Audio
|
17436
|
-
},
|
17437
|
-
produces: {
|
17438
|
-
type: "single-stream",
|
17439
|
-
media: Audio
|
17440
|
-
}
|
17441
|
-
},
|
17442
|
-
extraValidation: function(ctx) {
|
17443
|
-
ctx.requireAudio(1);
|
17444
|
-
},
|
17445
|
-
display: (_desc) => {
|
17446
|
-
return {};
|
17447
|
-
},
|
17448
|
-
css: ["styles.css"],
|
17449
|
-
runtime: {
|
17450
|
-
initialState: () => ({}),
|
17451
|
-
handleEvent(ev, state) {
|
17452
|
-
const evType = ev.type;
|
17453
|
-
switch (evType) {
|
17454
|
-
case "audio-levels":
|
17455
|
-
state.levels = ev.levels;
|
17456
|
-
break;
|
17457
|
-
case "set-gain":
|
17458
|
-
state.sliderGain = ev.sliderGain;
|
17459
|
-
state.nodeGain = ev.nodeGain;
|
17460
|
-
break;
|
17461
|
-
default:
|
17462
|
-
assertUnreachable8(evType);
|
17463
|
-
}
|
17464
|
-
return { ...state };
|
17465
|
-
},
|
17466
|
-
inline: InlineView18,
|
17467
|
-
summary: SummaryView8
|
17468
|
-
},
|
17469
|
-
configForm: {
|
17470
|
-
form: {
|
17471
|
-
defaultGain: { help: "The default gain for audio dB", hint: { type: "numeric", validation: Z.number().gte(-40).lte(40), defaultValue: 0 } }
|
17472
|
-
}
|
17473
|
-
}
|
17474
|
-
});
|
17475
|
-
}
|
17476
|
-
function assertUnreachable8(_) {
|
17477
|
-
throw new Error("Didn't expect to get here");
|
17478
|
-
}
|
17479
|
-
|
17480
|
-
// build/processor.audioMixer/info.js
|
17481
|
-
var import_react28 = __toESM(require_react());
|
17482
|
-
function mkSourceKey3(sourceId, key) {
|
17483
|
-
return key ? sourceId + "-" + key : sourceId;
|
17484
|
-
}
|
17485
|
-
function info_default18({ defineComponent, Audio, validation: { Z } }) {
|
17486
|
-
const InlineView18 = import_react28.default.lazy(async () => Promise.resolve().then(() => (init_inline_view7(), inline_view_exports7)));
|
17487
|
-
const FullscreenView3 = import_react28.default.lazy(async () => Promise.resolve().then(() => (init_fullscreen_view(), fullscreen_view_exports)));
|
17488
|
-
const SummaryView8 = import_react28.default.lazy(async () => Promise.resolve().then(() => (init_summary_view4(), summary_view_exports4)));
|
17489
|
-
return defineComponent({
|
17490
|
-
identifier: "processor.audioMixer",
|
17491
|
-
category: "processor",
|
17492
|
-
name: "Audio Mixer",
|
17493
|
-
subscription: {
|
17494
|
-
accepts: {
|
17495
|
-
type: "multi-stream",
|
17496
|
-
media: Audio
|
17497
|
-
},
|
17498
|
-
produces: {
|
17499
|
-
type: "single-stream",
|
17500
|
-
media: Audio
|
17501
|
-
}
|
17502
|
-
},
|
17503
|
-
extraValidation: function(ctx) {
|
17504
|
-
ctx.requireAudio(1);
|
17505
|
-
},
|
17506
|
-
display: (_desc) => {
|
17507
|
-
return {};
|
17508
|
-
},
|
17509
|
-
css: ["styles.css"],
|
17510
|
-
runtime: {
|
17511
|
-
initialState: () => ({
|
17512
|
-
sources: {},
|
17513
|
-
knownSources: [],
|
17514
|
-
gainRange: { minGain: -40, maxGain: 40 },
|
17515
|
-
displayInlineChannels: true
|
17516
|
-
}),
|
17517
|
-
handleEvent(ev, state) {
|
17518
|
-
const evType = ev.type;
|
17519
|
-
switch (evType) {
|
17520
|
-
case "audio-levels": {
|
17521
|
-
const source = state.sources[mkSourceKey3(ev.sourceId, ev.key)] || { isMuted: false, sliderGain: 0 };
|
17522
|
-
state.sources[mkSourceKey3(ev.sourceId, ev.key)] = { ...source, levels: ev.levels };
|
17523
|
-
break;
|
17524
|
-
}
|
17525
|
-
case "set-gain": {
|
17526
|
-
const source = state.sources[mkSourceKey3(ev.sourceId, ev.key)] || { isMuted: false, sliderGain: 0 };
|
17527
|
-
let isMuted = ev.nodeGain === null ? true : source.isMuted;
|
17528
|
-
if (source.isMuted && typeof ev.nodeGain === "number") {
|
17529
|
-
isMuted = false;
|
17530
|
-
}
|
17531
|
-
state.sources[mkSourceKey3(ev.sourceId, ev.key)] = { ...source, sliderGain: ev.sliderGain, nodeGain: ev.nodeGain, isMuted };
|
17532
|
-
break;
|
17533
|
-
}
|
17534
|
-
case "sources-discovered": {
|
17535
|
-
state.knownSources = ev.sources;
|
17536
|
-
break;
|
17537
|
-
}
|
17538
|
-
case "switch-mute": {
|
17539
|
-
const source = state.sources[mkSourceKey3(ev.sourceId, ev.key)] || { isMuted: false, sliderGain: 0 };
|
17540
|
-
source.preMuteSliderGain = ev.preMuteSliderValue;
|
17541
|
-
if (source) {
|
17542
|
-
if (ev.muted) {
|
17543
|
-
source.sliderGain = -99;
|
17544
|
-
} else {
|
17545
|
-
source.sliderGain = ev.preMuteSliderValue;
|
17546
|
-
}
|
17547
|
-
}
|
17548
|
-
state.sources[mkSourceKey3(ev.sourceId, ev.key)] = { ...source, isMuted: ev.muted };
|
17549
|
-
break;
|
17550
|
-
}
|
17551
|
-
case "source-dropped": {
|
17552
|
-
const keyToDelete = mkSourceKey3(ev.sourceId, ev.key);
|
17553
|
-
const newSources = {};
|
17554
|
-
Object.keys(state.sources).forEach((s) => {
|
17555
|
-
if (s !== keyToDelete) {
|
17556
|
-
newSources[s] = state.sources[s];
|
17557
|
-
}
|
17558
|
-
});
|
17559
|
-
state.sources = newSources;
|
17560
|
-
break;
|
17561
|
-
}
|
17562
|
-
case "display-inline-channels": {
|
17563
|
-
state.displayInlineChannels = ev.display;
|
17564
|
-
break;
|
17565
|
-
}
|
17566
|
-
default:
|
17567
|
-
assertUnreachable9(evType);
|
17568
|
-
}
|
17569
|
-
return { ...state };
|
17570
|
-
},
|
17571
|
-
inline: InlineView18,
|
17572
|
-
fullscreen: FullscreenView3,
|
17573
|
-
summary: SummaryView8
|
17574
|
-
},
|
17575
|
-
configForm: {
|
17576
|
-
form: {
|
17577
|
-
defaultGain: { help: "The default gain for audio dB", hint: { type: "numeric", validation: Z.number().gte(-40).lte(40), defaultValue: 0 } },
|
17578
|
-
channelLayout: {
|
17579
|
-
help: "Channel layout for audio output",
|
17580
|
-
hint: {
|
17581
|
-
type: "select",
|
17582
|
-
options: channelLayouts().map((ch) => {
|
17583
|
-
return { value: ch, display: ch };
|
17584
|
-
})
|
17585
|
-
}
|
17586
|
-
}
|
17587
|
-
}
|
17588
|
-
}
|
17589
|
-
});
|
17590
|
-
}
|
17591
|
-
var channelLayouts = () => {
|
17592
|
-
const ch = [
|
17593
|
-
"mono",
|
17594
|
-
"stereo",
|
17595
|
-
"surround",
|
17596
|
-
"4.0",
|
17597
|
-
"5.0",
|
17598
|
-
"5.1",
|
17599
|
-
"7.1",
|
17600
|
-
"5.1.4",
|
17601
|
-
"7.1.4"
|
17602
|
-
];
|
17603
|
-
return ch;
|
17604
|
-
};
|
17605
|
-
function assertUnreachable9(_) {
|
17606
|
-
throw new Error("Didn't expect to get here");
|
17607
|
-
}
|
17608
|
-
|
17609
16966
|
// build/processor.aws-transcribe/info.js
|
17610
|
-
var
|
17611
|
-
function
|
17612
|
-
const TranscribeLanguageSelection2 =
|
17613
|
-
const TranslateLanguageSelection2 =
|
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)));
|
17614
16971
|
return defineComponent({
|
17615
16972
|
identifier: "processor.aws-transcribe",
|
17616
16973
|
category: "processor",
|
@@ -17664,8 +17021,8 @@ function info_default19({ defineComponent, Av, Subtitle, validation: { LanguageT
|
|
17664
17021
|
}
|
17665
17022
|
|
17666
17023
|
// build/processor.browserOverlay/info.js
|
17667
|
-
var
|
17668
|
-
function
|
17024
|
+
var import_config3 = __toESM(require_config());
|
17025
|
+
function info_default17({ defineComponent, Video, validation: { Z } }) {
|
17669
17026
|
return defineComponent({
|
17670
17027
|
identifier: "processor.transform.browserOverlay",
|
17671
17028
|
category: "processor",
|
@@ -17691,7 +17048,7 @@ function info_default20({ defineComponent, Video, validation: { Z } }) {
|
|
17691
17048
|
},
|
17692
17049
|
configForm: {
|
17693
17050
|
global: {
|
17694
|
-
hardware: (0,
|
17051
|
+
hardware: (0, import_config3.HardwareSelection)()
|
17695
17052
|
},
|
17696
17053
|
form: {
|
17697
17054
|
url: { help: "URL to render on top of the video", hint: { type: "text", validation: Z.string().url(), defaultValue: "" } }
|
@@ -17701,9 +17058,9 @@ function info_default20({ defineComponent, Video, validation: { Z } }) {
|
|
17701
17058
|
}
|
17702
17059
|
|
17703
17060
|
// build/processor.cascadingSwitch/info.js
|
17704
|
-
function
|
17705
|
-
const SourceSelection =
|
17706
|
-
const
|
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)));
|
17707
17064
|
return defineComponent({
|
17708
17065
|
identifier: "processor.control.cascadingSwitch",
|
17709
17066
|
category: "processor",
|
@@ -17781,12 +17138,12 @@ function info_default21({ defineComponent, Av, React: React21, common: { Resolut
|
|
17781
17138
|
state.availableSources.splice(state.availableSources.indexOf(ev.source), 1);
|
17782
17139
|
return { ...state };
|
17783
17140
|
default:
|
17784
|
-
|
17141
|
+
assertUnreachable8(evType);
|
17785
17142
|
}
|
17786
17143
|
},
|
17787
|
-
inline:
|
17788
|
-
summary:
|
17789
|
-
fullscreen:
|
17144
|
+
inline: InlineView14,
|
17145
|
+
summary: InlineView14,
|
17146
|
+
fullscreen: InlineView14
|
17790
17147
|
},
|
17791
17148
|
configForm: {
|
17792
17149
|
form: {
|
@@ -17832,16 +17189,16 @@ function info_default21({ defineComponent, Av, React: React21, common: { Resolut
|
|
17832
17189
|
}
|
17833
17190
|
});
|
17834
17191
|
}
|
17835
|
-
function
|
17192
|
+
function assertUnreachable8(_) {
|
17836
17193
|
throw new Error("Didn't expect to get here");
|
17837
17194
|
}
|
17838
17195
|
|
17839
17196
|
// build/processor.dynamicBug/info.js
|
17840
|
-
var
|
17841
|
-
var
|
17842
|
-
function
|
17843
|
-
const BugSelection2 =
|
17844
|
-
const
|
17197
|
+
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)));
|
17845
17202
|
return defineComponent({
|
17846
17203
|
identifier: "processor.dynamicBug",
|
17847
17204
|
category: "processor",
|
@@ -17866,7 +17223,7 @@ function info_default22({ defineComponent, Video }) {
|
|
17866
17223
|
};
|
17867
17224
|
},
|
17868
17225
|
runtime: {
|
17869
|
-
summary:
|
17226
|
+
summary: SummaryView6,
|
17870
17227
|
initialState: () => ({}),
|
17871
17228
|
handleEvent: (ev, state) => {
|
17872
17229
|
const evType = ev.type;
|
@@ -17874,13 +17231,13 @@ function info_default22({ defineComponent, Video }) {
|
|
17874
17231
|
case "bug-changed":
|
17875
17232
|
return { ...state, activeBug: { file: ev.file, position: ev.position } };
|
17876
17233
|
default:
|
17877
|
-
|
17234
|
+
assertUnreachable9(evType);
|
17878
17235
|
}
|
17879
17236
|
}
|
17880
17237
|
},
|
17881
17238
|
configForm: {
|
17882
17239
|
global: {
|
17883
|
-
hardware: (0,
|
17240
|
+
hardware: (0, import_config4.HardwareSelection)()
|
17884
17241
|
},
|
17885
17242
|
form: {
|
17886
17243
|
defaultBug: {
|
@@ -17907,17 +17264,17 @@ function info_default22({ defineComponent, Video }) {
|
|
17907
17264
|
}
|
17908
17265
|
});
|
17909
17266
|
}
|
17910
|
-
function
|
17267
|
+
function assertUnreachable9(_) {
|
17911
17268
|
throw new Error("Didn't expect to get here");
|
17912
17269
|
}
|
17913
17270
|
|
17914
17271
|
// build/processor.fixedLadder/info.js
|
17915
|
-
var
|
17916
|
-
var
|
17917
|
-
function
|
17918
|
-
const RungView =
|
17919
|
-
const CodecEditor3 =
|
17920
|
-
const CodecView =
|
17272
|
+
var import_react31 = __toESM(require_react());
|
17273
|
+
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)));
|
17921
17278
|
return defineComponent({
|
17922
17279
|
identifier: "processor.transform.fixedLadder",
|
17923
17280
|
category: "processor",
|
@@ -17957,7 +17314,7 @@ function info_default23({ defineComponent, Video }) {
|
|
17957
17314
|
},
|
17958
17315
|
configForm: {
|
17959
17316
|
global: {
|
17960
|
-
hardware: (0,
|
17317
|
+
hardware: (0, import_config5.HardwareSelection)()
|
17961
17318
|
},
|
17962
17319
|
form: {
|
17963
17320
|
rungs: {
|
@@ -18079,7 +17436,7 @@ function createSoftwareRung(rung) {
|
|
18079
17436
|
case "h264_320x180":
|
18080
17437
|
return createRungImpl({ name: rung, threads: 1, bitrate: 800 });
|
18081
17438
|
default:
|
18082
|
-
return
|
17439
|
+
return assertUnreachable10(rung);
|
18083
17440
|
}
|
18084
17441
|
}
|
18085
17442
|
function createMa35dRung(rung) {
|
@@ -18093,7 +17450,7 @@ function createMa35dRung(rung) {
|
|
18093
17450
|
case "h264_320x180":
|
18094
17451
|
return createMa35DH264RungImpl({ name: rung, bitrate: 1e3 });
|
18095
17452
|
default:
|
18096
|
-
return
|
17453
|
+
return assertUnreachable10(rung);
|
18097
17454
|
}
|
18098
17455
|
}
|
18099
17456
|
function createNvidiaRung(rung) {
|
@@ -18107,7 +17464,7 @@ function createNvidiaRung(rung) {
|
|
18107
17464
|
case "h264_320x180":
|
18108
17465
|
return createNvidiaRungImpl({ name: rung, bitrate: 8e5 });
|
18109
17466
|
default:
|
18110
|
-
return
|
17467
|
+
return assertUnreachable10(rung);
|
18111
17468
|
}
|
18112
17469
|
}
|
18113
17470
|
function createQuadraRung(rung) {
|
@@ -18121,7 +17478,7 @@ function createQuadraRung(rung) {
|
|
18121
17478
|
case "h264_320x180":
|
18122
17479
|
return createQuadraRungImpl({ name: rung, bitrate: 8e5 });
|
18123
17480
|
default:
|
18124
|
-
return
|
17481
|
+
return assertUnreachable10(rung);
|
18125
17482
|
}
|
18126
17483
|
}
|
18127
17484
|
function createLoganRung(rung) {
|
@@ -18135,7 +17492,7 @@ function createLoganRung(rung) {
|
|
18135
17492
|
case "h264_320x180":
|
18136
17493
|
return createLoganRungImpl({ name: rung, bitrate: 8e5 });
|
18137
17494
|
default:
|
18138
|
-
return
|
17495
|
+
return assertUnreachable10(rung);
|
18139
17496
|
}
|
18140
17497
|
}
|
18141
17498
|
function createRungImpl({ name, threads, bitrate }) {
|
@@ -18233,76 +17590,12 @@ function rungWidth(rungName) {
|
|
18233
17590
|
function rungHeight(rungName) {
|
18234
17591
|
return parseInt(rungName.split("_")[1].split(`x`)[1]);
|
18235
17592
|
}
|
18236
|
-
function
|
18237
|
-
throw new Error("Didn't expect to get here");
|
18238
|
-
}
|
18239
|
-
|
18240
|
-
// build/processor.monetise/info.js
|
18241
|
-
var import_react39 = __toESM(require_react());
|
18242
|
-
var import_config7 = __toESM(require_config());
|
18243
|
-
function info_default24(R) {
|
18244
|
-
const { defineComponent, Av } = R;
|
18245
|
-
const SummaryView8 = import_react39.default.lazy(async () => Promise.resolve().then(() => (init_summary3(), summary_exports3)));
|
18246
|
-
return defineComponent({
|
18247
|
-
identifier: "processor.monetise",
|
18248
|
-
category: "output",
|
18249
|
-
name: "Monetise",
|
18250
|
-
subscription: {
|
18251
|
-
accepts: {
|
18252
|
-
type: "single-stream",
|
18253
|
-
media: Av
|
18254
|
-
},
|
18255
|
-
produces: {
|
18256
|
-
type: "single-stream",
|
18257
|
-
media: ["audio", "video", "ancillary"]
|
18258
|
-
}
|
18259
|
-
},
|
18260
|
-
extraValidation: (ctx) => {
|
18261
|
-
ctx.requireVideo(1);
|
18262
|
-
ctx.requireAudio(1);
|
18263
|
-
},
|
18264
|
-
display: (_desc) => {
|
18265
|
-
return {};
|
18266
|
-
},
|
18267
|
-
runtime: {
|
18268
|
-
initialState: () => ({}),
|
18269
|
-
handleEvent(ev, state) {
|
18270
|
-
const evType = ev.type;
|
18271
|
-
switch (evType) {
|
18272
|
-
case "url-published":
|
18273
|
-
state.url = ev.url;
|
18274
|
-
break;
|
18275
|
-
case "advert-started":
|
18276
|
-
state.currentAdvert = { timeLeftMs: ev.durationMs };
|
18277
|
-
break;
|
18278
|
-
case "advert-tick":
|
18279
|
-
state.currentAdvert = { timeLeftMs: ev.timeLeftMs };
|
18280
|
-
break;
|
18281
|
-
case "advert-finished":
|
18282
|
-
state.currentAdvert = void 0;
|
18283
|
-
break;
|
18284
|
-
default:
|
18285
|
-
assertUnreachable13(evType);
|
18286
|
-
}
|
18287
|
-
return { ...state };
|
18288
|
-
},
|
18289
|
-
summary: SummaryView8
|
18290
|
-
},
|
18291
|
-
configForm: {
|
18292
|
-
global: {
|
18293
|
-
iceServers: (0, import_config7.GlobalIceServers)(R),
|
18294
|
-
hardware: (0, import_config7.HardwareSelection)()
|
18295
|
-
},
|
18296
|
-
form: {}
|
18297
|
-
}
|
18298
|
-
});
|
18299
|
-
}
|
18300
|
-
function assertUnreachable13(_) {
|
17593
|
+
function assertUnreachable10(_) {
|
18301
17594
|
throw new Error("Didn't expect to get here");
|
18302
17595
|
}
|
18303
17596
|
|
18304
17597
|
// build/processor.whisper-transcribe/info.js
|
18305
|
-
function
|
17598
|
+
function info_default21({ defineComponent, Av, Subtitle, validation: { Z } }) {
|
18306
17599
|
return defineComponent({
|
18307
17600
|
identifier: "processor.whisper-transcribe",
|
18308
17601
|
category: "processor",
|
@@ -18344,11 +17637,11 @@ function info_default25({ defineComponent, Av, Subtitle, validation: { Z } }) {
|
|
18344
17637
|
}
|
18345
17638
|
|
18346
17639
|
// build/util.latency/info.js
|
18347
|
-
var
|
18348
|
-
function
|
17640
|
+
var import_react33 = __toESM(require_react());
|
17641
|
+
function info_default22(R) {
|
18349
17642
|
const { defineComponent } = R;
|
18350
|
-
const
|
18351
|
-
const SourceNodeSelection2 =
|
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)));
|
18352
17645
|
return defineComponent({
|
18353
17646
|
identifier: "util.latency-stats",
|
18354
17647
|
category: "output",
|
@@ -18375,11 +17668,11 @@ function info_default26(R) {
|
|
18375
17668
|
break;
|
18376
17669
|
}
|
18377
17670
|
default:
|
18378
|
-
|
17671
|
+
assertUnreachable11(evType);
|
18379
17672
|
}
|
18380
17673
|
return { ...state };
|
18381
17674
|
},
|
18382
|
-
inline:
|
17675
|
+
inline: InlineView14
|
18383
17676
|
},
|
18384
17677
|
configForm: {
|
18385
17678
|
form: {
|
@@ -18429,15 +17722,15 @@ function info_default26(R) {
|
|
18429
17722
|
}
|
18430
17723
|
});
|
18431
17724
|
}
|
18432
|
-
function
|
17725
|
+
function assertUnreachable11(_) {
|
18433
17726
|
throw new Error("Didn't expect to get here");
|
18434
17727
|
}
|
18435
17728
|
|
18436
17729
|
// build/util.ma35d/info.js
|
18437
|
-
var
|
18438
|
-
function
|
17730
|
+
var import_react35 = __toESM(require_react());
|
17731
|
+
function info_default23(R) {
|
18439
17732
|
const { defineComponent } = R;
|
18440
|
-
const
|
17733
|
+
const InlineView14 = import_react35.default.lazy(async () => Promise.resolve().then(() => (init_inline_view8(), inline_view_exports8)));
|
18441
17734
|
return defineComponent({
|
18442
17735
|
identifier: "util.ma35d-stats",
|
18443
17736
|
category: "output",
|
@@ -18470,26 +17763,26 @@ function info_default27(R) {
|
|
18470
17763
|
break;
|
18471
17764
|
}
|
18472
17765
|
default:
|
18473
|
-
|
17766
|
+
assertUnreachable12(evType);
|
18474
17767
|
}
|
18475
17768
|
return { ...state };
|
18476
17769
|
},
|
18477
|
-
inline:
|
17770
|
+
inline: InlineView14
|
18478
17771
|
},
|
18479
17772
|
configForm: {
|
18480
17773
|
form: {}
|
18481
17774
|
}
|
18482
17775
|
});
|
18483
17776
|
}
|
18484
|
-
function
|
17777
|
+
function assertUnreachable12(_) {
|
18485
17778
|
throw new Error("Didn't expect to get here");
|
18486
17779
|
}
|
18487
17780
|
|
18488
17781
|
// build/util.timestamps/info.js
|
18489
|
-
var
|
18490
|
-
function
|
17782
|
+
var import_react37 = __toESM(require_react());
|
17783
|
+
function info_default24(R) {
|
18491
17784
|
const { defineComponent, All } = R;
|
18492
|
-
const
|
17785
|
+
const InlineView14 = import_react37.default.lazy(async () => Promise.resolve().then(() => (init_inline_view9(), inline_view_exports9)));
|
18493
17786
|
return defineComponent({
|
18494
17787
|
identifier: "util.timestamps",
|
18495
17788
|
category: "output",
|
@@ -18524,18 +17817,18 @@ function info_default28(R) {
|
|
18524
17817
|
break;
|
18525
17818
|
}
|
18526
17819
|
default:
|
18527
|
-
|
17820
|
+
assertUnreachable13(evType);
|
18528
17821
|
}
|
18529
17822
|
return { ...state };
|
18530
17823
|
},
|
18531
|
-
inline:
|
17824
|
+
inline: InlineView14
|
18532
17825
|
},
|
18533
17826
|
configForm: {
|
18534
17827
|
form: {}
|
18535
17828
|
}
|
18536
17829
|
});
|
18537
17830
|
}
|
18538
|
-
function
|
17831
|
+
function assertUnreachable13(_) {
|
18539
17832
|
throw new Error("Didn't expect to get here");
|
18540
17833
|
}
|
18541
17834
|
|
@@ -18577,10 +17870,6 @@ AllComponents.push((r) => info_default21(r));
|
|
18577
17870
|
AllComponents.push((r) => info_default22(r));
|
18578
17871
|
AllComponents.push((r) => info_default23(r));
|
18579
17872
|
AllComponents.push((r) => info_default24(r));
|
18580
|
-
AllComponents.push((r) => info_default25(r));
|
18581
|
-
AllComponents.push((r) => info_default26(r));
|
18582
|
-
AllComponents.push((r) => info_default27(r));
|
18583
|
-
AllComponents.push((r) => info_default28(r));
|
18584
17873
|
export {
|
18585
17874
|
getNodeInfo as default
|
18586
17875
|
};
|