@norskvideo/norsk-studio-built-ins 1.14.0 → 1.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/client/info.js +725 -456
- package/client/style.css +321 -112
- package/lib/info.js +2 -2
- package/lib/info.js.map +1 -1
- package/lib/input.rtmp/info.js +1 -1
- package/lib/input.rtmp/info.js.map +1 -1
- package/lib/input.silence/info.js +1 -0
- package/lib/input.silence/info.js.map +1 -1
- package/lib/input.srt-caller/info.js +6 -5
- package/lib/input.srt-caller/info.js.map +1 -1
- package/lib/input.srt-caller/runtime.d.ts +1 -1
- package/lib/input.srt-listener/info.js +7 -5
- package/lib/input.srt-listener/info.js.map +1 -1
- package/lib/input.srt-listener/runtime.d.ts +1 -1
- package/lib/input.udp-ts/info.d.ts +1 -1
- package/lib/input.udp-ts/info.js +5 -4
- package/lib/input.udp-ts/info.js.map +1 -1
- package/lib/input.udp-ts/runtime.d.ts +1 -1
- package/lib/input.videoTestCard/info.js +1 -0
- package/lib/input.videoTestCard/info.js.map +1 -1
- package/lib/output.autoCmaf/info.d.ts +1 -1
- package/lib/output.autoCmaf/info.js +54 -1
- package/lib/output.autoCmaf/info.js.map +1 -1
- package/lib/output.autoCmaf/runtime.d.ts +10 -0
- package/lib/output.autoCmaf/runtime.js +35 -4
- package/lib/output.autoCmaf/runtime.js.map +1 -1
- package/lib/output.autoCmaf/summary.js +23 -1
- package/lib/output.autoCmaf/summary.js.map +1 -1
- package/lib/output.preview/info.js +1 -0
- package/lib/output.preview/info.js.map +1 -1
- package/lib/output.preview/runtime.js +8 -4
- package/lib/output.preview/runtime.js.map +1 -1
- package/lib/output.rtmp/info.js +1 -0
- package/lib/output.rtmp/info.js.map +1 -1
- package/lib/output.srt/info.js +6 -5
- package/lib/output.srt/info.js.map +1 -1
- package/lib/output.srt/runtime.d.ts +1 -1
- package/lib/output.statistics/info.js +1 -0
- package/lib/output.statistics/info.js.map +1 -1
- package/lib/output.udpTs/info.d.ts +1 -1
- package/lib/output.udpTs/info.js +4 -3
- package/lib/output.udpTs/info.js.map +1 -1
- package/lib/output.udpTs/runtime.d.ts +1 -1
- package/lib/output.whep/info.js +1 -0
- package/lib/output.whep/info.js.map +1 -1
- package/lib/processor.browserOverlay/info.d.ts +2 -2
- package/lib/processor.browserOverlay/info.js +55 -1
- package/lib/processor.browserOverlay/info.js.map +1 -1
- package/lib/processor.browserOverlay/inline-view.d.ts +6 -0
- package/lib/processor.browserOverlay/inline-view.js +8 -0
- package/lib/processor.browserOverlay/inline-view.js.map +1 -0
- package/lib/processor.browserOverlay/openApi.d.ts +174 -0
- package/lib/processor.browserOverlay/openApi.js +3 -0
- package/lib/processor.browserOverlay/openApi.js.map +1 -0
- package/lib/processor.browserOverlay/runtime.d.ts +40 -6
- package/lib/processor.browserOverlay/runtime.js +147 -18
- package/lib/processor.browserOverlay/runtime.js.map +1 -1
- package/lib/processor.browserOverlay/summary-view.d.ts +4 -0
- package/lib/processor.browserOverlay/summary-view.js +27 -0
- package/lib/processor.browserOverlay/summary-view.js.map +1 -0
- package/lib/processor.browserOverlay/types.yaml +65 -0
- package/lib/processor.cascadingSwitch/info.js +1 -0
- package/lib/processor.cascadingSwitch/info.js.map +1 -1
- package/lib/processor.fixedLadder/codec-editor.js +1 -1
- package/lib/processor.fixedLadder/codec-editor.js.map +1 -1
- package/lib/processor.fixedLadder/codec-view.js +1 -1
- package/lib/processor.fixedLadder/codec-view.js.map +1 -1
- package/lib/processor.fixedLadder/info.js +1 -0
- package/lib/processor.fixedLadder/info.js.map +1 -1
- package/lib/processor.fixedLadder/rung-view.js +1 -1
- package/lib/processor.fixedLadder/rung-view.js.map +1 -1
- package/lib/processor.onscreenGraphic/image-selection.d.ts +9 -0
- package/lib/{processor.dynamicBug/bug-selection.js → processor.onscreenGraphic/image-selection.js} +10 -10
- package/lib/processor.onscreenGraphic/image-selection.js.map +1 -0
- package/lib/processor.onscreenGraphic/info.d.ts +3 -0
- package/lib/{processor.dynamicBug → processor.onscreenGraphic}/info.js +12 -12
- package/lib/processor.onscreenGraphic/info.js.map +1 -0
- package/lib/processor.onscreenGraphic/runtime.d.ts +67 -0
- package/lib/{processor.dynamicBug → processor.onscreenGraphic}/runtime.js +109 -161
- package/lib/processor.onscreenGraphic/runtime.js.map +1 -0
- package/lib/processor.onscreenGraphic/summary-view.d.ts +4 -0
- package/lib/processor.onscreenGraphic/summary-view.js +128 -0
- package/lib/processor.onscreenGraphic/summary-view.js.map +1 -0
- package/lib/processor.onscreenGraphic/types.d.ts +257 -0
- package/lib/processor.onscreenGraphic/types.js.map +1 -0
- package/lib/processor.onscreenGraphic/types.yaml +162 -0
- package/lib/processor.whisper-transcribe/info.js +3 -2
- package/lib/processor.whisper-transcribe/info.js.map +1 -1
- package/lib/shared/drm/axinom.d.ts +2 -0
- package/lib/shared/drm/axinom.js +120 -0
- package/lib/shared/drm/axinom.js.map +1 -0
- package/lib/shared/drm/cpix.d.ts +24 -0
- package/lib/shared/drm/cpix.js +97 -0
- package/lib/shared/drm/cpix.js.map +1 -0
- package/lib/shared/drm/ezdrm.d.ts +2 -0
- package/lib/shared/drm/ezdrm.js +26 -0
- package/lib/shared/drm/ezdrm.js.map +1 -0
- package/lib/shared/srt-socket-options.js +6 -6
- package/lib/shared/srt-socket-options.js.map +1 -1
- package/lib/test/{dynamic-bug.js → onscreen-graphic.js} +79 -79
- package/lib/test/onscreen-graphic.js.map +1 -0
- package/lib/test/srt-input-caller.js +5 -5
- package/lib/test/srt-input-caller.js.map +1 -1
- package/lib/test/srt-input-listener.js +18 -18
- package/lib/test/srt-input-listener.js.map +1 -1
- package/lib/test/srt-output.js +2 -2
- package/lib/test/srt-output.js.map +1 -1
- package/lib/test/udp-output.js +2 -2
- package/lib/test/udp-output.js.map +1 -1
- package/lib/test/udp-ts-input.js +2 -2
- package/lib/test/udp-ts-input.js.map +1 -1
- package/lib/util.stats.latency/info.js +1 -0
- package/lib/util.stats.latency/info.js.map +1 -1
- package/lib/util.stats.ma35d/info.js +1 -0
- package/lib/util.stats.ma35d/info.js.map +1 -1
- package/lib/util.timestamps/info.js +1 -0
- package/lib/util.timestamps/info.js.map +1 -1
- package/package.json +10 -6
- package/Readme.adoc +0 -16
- package/lib/processor.dynamicBug/bug-selection.d.ts +0 -9
- package/lib/processor.dynamicBug/bug-selection.js.map +0 -1
- package/lib/processor.dynamicBug/info.d.ts +0 -3
- package/lib/processor.dynamicBug/info.js.map +0 -1
- package/lib/processor.dynamicBug/runtime.d.ts +0 -67
- package/lib/processor.dynamicBug/runtime.js.map +0 -1
- package/lib/processor.dynamicBug/summary-view.d.ts +0 -4
- package/lib/processor.dynamicBug/summary-view.js +0 -128
- package/lib/processor.dynamicBug/summary-view.js.map +0 -1
- package/lib/processor.dynamicBug/types.d.ts +0 -19
- package/lib/processor.dynamicBug/types.js.map +0 -1
- package/lib/processor.dynamicBug/types.yaml +0 -25
- package/lib/test/dynamic-bug.js.map +0 -1
- /package/lib/{processor.dynamicBug → processor.onscreenGraphic}/types.js +0 -0
- /package/lib/test/{dynamic-bug.d.ts → onscreen-graphic.d.ts} +0 -0
@@ -0,0 +1,128 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
4
|
+
const react_1 = require("react");
|
5
|
+
function SummaryView({ state, sendCommand, urls }) {
|
6
|
+
const [graphic, setGraphic] = (0, react_1.useState)(state.activeGraphic?.file);
|
7
|
+
const [position, setPosition] = (0, react_1.useState)(state.activeGraphic?.position);
|
8
|
+
const [graphics, setGraphics] = (0, react_1.useState)([]);
|
9
|
+
const [fileToUpload, setFileToUpload] = (0, react_1.useState)(undefined);
|
10
|
+
const [showFileInput, setShowFileInput] = (0, react_1.useState)(false);
|
11
|
+
const [showUploadButton, setShowUploadButton] = (0, react_1.useState)(false);
|
12
|
+
const [uploadStatus, setUploadStatus] = (0, react_1.useState)({ success: false, message: null });
|
13
|
+
const [showDeleteDropdown, setShowDeleteDropdown] = (0, react_1.useState)(false);
|
14
|
+
const [graphicToDelete, setGraphicToDelete] = (0, react_1.useState)("");
|
15
|
+
const updateGraphics = (0, react_1.useCallback)(async () => {
|
16
|
+
try {
|
17
|
+
const result = await fetch(`${urls.componentUrl}/graphics`);
|
18
|
+
if (result.ok) {
|
19
|
+
const newGraphics = (await result.json());
|
20
|
+
setGraphics(newGraphics);
|
21
|
+
}
|
22
|
+
else {
|
23
|
+
throw new Error(await result.text());
|
24
|
+
}
|
25
|
+
}
|
26
|
+
catch (error) {
|
27
|
+
console.error("Failed to update graphics:", error);
|
28
|
+
setUploadStatus({
|
29
|
+
success: false,
|
30
|
+
message: "Failed to update graphic list.",
|
31
|
+
});
|
32
|
+
}
|
33
|
+
}, [urls.componentUrl]);
|
34
|
+
(0, react_1.useEffect)(() => {
|
35
|
+
updateGraphics().catch(console.error);
|
36
|
+
}, [updateGraphics]);
|
37
|
+
const onFileChange = (e) => {
|
38
|
+
const file = e.target.files?.[0];
|
39
|
+
setFileToUpload(file);
|
40
|
+
setShowUploadButton(!!file);
|
41
|
+
setUploadStatus({ success: false, message: null });
|
42
|
+
};
|
43
|
+
const uploadFile = async () => {
|
44
|
+
if (!fileToUpload)
|
45
|
+
return;
|
46
|
+
try {
|
47
|
+
const form = new FormData();
|
48
|
+
form.append("file", fileToUpload);
|
49
|
+
const response = await fetch(`${urls.componentUrl}/graphics`, {
|
50
|
+
method: "POST",
|
51
|
+
body: form,
|
52
|
+
});
|
53
|
+
if (response.status === 409) {
|
54
|
+
const errorData = await response.json();
|
55
|
+
setUploadStatus({
|
56
|
+
success: false,
|
57
|
+
message: `${errorData.error}. Delete the existing graphic first if you want to replace it.`,
|
58
|
+
});
|
59
|
+
}
|
60
|
+
else if (!response.ok) {
|
61
|
+
throw new Error("Upload failed");
|
62
|
+
}
|
63
|
+
else {
|
64
|
+
setFileToUpload(undefined);
|
65
|
+
setShowFileInput(false);
|
66
|
+
setUploadStatus({
|
67
|
+
success: true,
|
68
|
+
message: "Graphic uploaded successfully!",
|
69
|
+
});
|
70
|
+
await updateGraphics();
|
71
|
+
}
|
72
|
+
}
|
73
|
+
catch (error) {
|
74
|
+
console.error("Failed to upload file:", error);
|
75
|
+
setUploadStatus({ success: false, message: "Failed to upload graphic." });
|
76
|
+
}
|
77
|
+
setTimeout(() => setUploadStatus({ success: false, message: null }), 5000);
|
78
|
+
};
|
79
|
+
const deleteBug = async () => {
|
80
|
+
if (!graphicToDelete)
|
81
|
+
return;
|
82
|
+
try {
|
83
|
+
const response = await fetch(`${urls.componentUrl}/graphic`, {
|
84
|
+
method: "DELETE",
|
85
|
+
headers: {
|
86
|
+
'Content-Type': 'application/json',
|
87
|
+
},
|
88
|
+
body: JSON.stringify({ filename: graphicToDelete }),
|
89
|
+
});
|
90
|
+
if (response.ok) {
|
91
|
+
setUploadStatus({
|
92
|
+
success: true,
|
93
|
+
message: "Graphic deleted successfully!",
|
94
|
+
});
|
95
|
+
await updateGraphics();
|
96
|
+
if (graphic === graphicToDelete) {
|
97
|
+
setGraphic(undefined);
|
98
|
+
sendCommand({
|
99
|
+
type: "change-graphic",
|
100
|
+
file: undefined,
|
101
|
+
position: undefined,
|
102
|
+
});
|
103
|
+
}
|
104
|
+
setGraphicToDelete("");
|
105
|
+
setShowDeleteDropdown(false);
|
106
|
+
}
|
107
|
+
else {
|
108
|
+
const errorData = await response.json();
|
109
|
+
setUploadStatus({
|
110
|
+
success: false,
|
111
|
+
message: errorData.error || "Failed to delete graphic",
|
112
|
+
});
|
113
|
+
}
|
114
|
+
}
|
115
|
+
catch (error) {
|
116
|
+
console.error("Failed to delete graphic:", error);
|
117
|
+
setUploadStatus({ success: false, message: "Failed to delete graphic" });
|
118
|
+
}
|
119
|
+
setTimeout(() => setUploadStatus({ success: false, message: null }), 3000);
|
120
|
+
};
|
121
|
+
const buttonClass = "mt-2 mb-5 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";
|
122
|
+
const deleteButtonClass = "mt-2 text-white w-full justify-center bg-red-600 hover:bg-red-700 focus:ring-4 focus:outline-none focus:ring-red-300 font-medium rounded-lg text-sm px-5 py-2.5 text-center dark:bg-red-700 dark:hover:bg-red-800 dark:focus:ring-red-900";
|
123
|
+
const fileInputClass = "block w-full text-gray-900 border border-gray-300 rounded-lg cursor-pointer bg-gray-50 dark:text-gray-400 focus:outline-none dark:bg-gray-700 dark:border-gray-600 dark:placeholder-gray-400";
|
124
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "space-y-3", children: [(0, jsx_runtime_1.jsx)("h2", { className: "text-xl font-bold text-gray-900 dark:text-white", children: "Controls" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: "select-graphic", className: "block text-gray-900 dark:text-white mb-1", children: "Source" }), (0, jsx_runtime_1.jsxs)("select", { id: "select-graphic", className: "w-full node-editor-select-input", value: graphic || "", onChange: (e) => setGraphic(e.target.value || undefined), children: [(0, jsx_runtime_1.jsx)("option", { value: "", children: "---" }), graphics.map((s) => ((0, jsx_runtime_1.jsx)("option", { value: s, children: s }, s)))] })] }), graphic && ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("label", { htmlFor: "select-position", className: "block text-gray-900 dark:text-white mb-1", children: "Position" }), (0, jsx_runtime_1.jsxs)("select", { id: "select-position", className: "w-full node-editor-select-input", value: position, onChange: (e) => setPosition(e.target.value), children: [(0, jsx_runtime_1.jsx)("option", { value: "topleft", children: "Top Left" }), (0, jsx_runtime_1.jsx)("option", { value: "topright", children: "Top Right" }), (0, jsx_runtime_1.jsx)("option", { value: "bottomleft", children: "Bottom Left" }), (0, jsx_runtime_1.jsx)("option", { value: "bottomright", children: "Bottom Right" })] })] })), (graphic !== state.activeGraphic?.file ||
|
125
|
+
position !== state.activeGraphic?.position) && ((0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonClass, onClick: () => sendCommand({ type: "change-graphic", file: graphic, position }), children: "Commit" })), !showFileInput && !uploadStatus.success && ((0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonClass, onClick: () => setShowFileInput(true), style: { marginBottom: "1rem" }, children: "Upload Graphic" })), showFileInput && ((0, jsx_runtime_1.jsxs)("form", { style: { display: "block", marginBottom: "1rem" }, children: [(0, jsx_runtime_1.jsx)("input", { type: "file", id: "file", name: "filename", onChange: onFileChange, className: fileInputClass }), showUploadButton && ((0, jsx_runtime_1.jsx)("button", { type: "button", className: buttonClass, onClick: uploadFile, children: "Upload" }))] })), (0, jsx_runtime_1.jsx)("button", { type: "button", className: deleteButtonClass, onClick: () => setShowDeleteDropdown(!showDeleteDropdown), style: { marginBottom: "1rem" }, children: showDeleteDropdown ? "Hide Delete Options" : "Delete Graphics" }), showDeleteDropdown && ((0, jsx_runtime_1.jsxs)("div", { className: "mt-2 p-2 bg-gray-100 dark:bg-gray-800 rounded-lg", children: [(0, jsx_runtime_1.jsx)("h3", { className: "text-lg font-semibold mb-2 text-gray-900 dark:text-white", children: "Select Graphic to Delete" }), (0, jsx_runtime_1.jsxs)("select", { className: "w-full mb-2 node-editor-select-input", value: graphicToDelete, onChange: (e) => setGraphicToDelete(e.target.value), children: [(0, jsx_runtime_1.jsx)("option", { value: "", children: " Select a graphic" }), graphics.map((graphicName) => ((0, jsx_runtime_1.jsx)("option", { value: graphicName, children: graphicName }, graphicName)))] }), (0, jsx_runtime_1.jsx)("button", { onClick: deleteBug, disabled: !graphicToDelete, className: `${deleteButtonClass} ${!graphicToDelete ? 'opacity-50 cursor-not-allowed' : ''}`, children: "Delete Selected Graphic" })] })), uploadStatus.message && ((0, jsx_runtime_1.jsx)("div", { className: `mt-2 text-center ${uploadStatus.success ? "text-green-600" : "text-red-600"}`, children: uploadStatus.message }))] }));
|
126
|
+
}
|
127
|
+
exports.default = SummaryView;
|
128
|
+
//# sourceMappingURL=summary-view.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"summary-view.js","sourceRoot":"","sources":["../../src/processor.onscreenGraphic/summary-view.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,257 @@
|
|
1
|
+
export interface paths {
|
2
|
+
"/graphics": {
|
3
|
+
parameters: {
|
4
|
+
query?: never;
|
5
|
+
header?: never;
|
6
|
+
path?: never;
|
7
|
+
cookie?: never;
|
8
|
+
};
|
9
|
+
get: {
|
10
|
+
parameters: {
|
11
|
+
query?: never;
|
12
|
+
header?: never;
|
13
|
+
path?: never;
|
14
|
+
cookie?: never;
|
15
|
+
};
|
16
|
+
requestBody?: never;
|
17
|
+
responses: {
|
18
|
+
200: {
|
19
|
+
headers: {
|
20
|
+
[name: string]: unknown;
|
21
|
+
};
|
22
|
+
content: {
|
23
|
+
"application/json": components["schemas"]["graphic"][];
|
24
|
+
};
|
25
|
+
};
|
26
|
+
};
|
27
|
+
};
|
28
|
+
put?: never;
|
29
|
+
post: {
|
30
|
+
parameters: {
|
31
|
+
query?: never;
|
32
|
+
header?: never;
|
33
|
+
path?: never;
|
34
|
+
cookie?: never;
|
35
|
+
};
|
36
|
+
requestBody?: {
|
37
|
+
content: {
|
38
|
+
"multipart/form-data": {
|
39
|
+
file?: string;
|
40
|
+
};
|
41
|
+
};
|
42
|
+
};
|
43
|
+
responses: {
|
44
|
+
204: {
|
45
|
+
headers: {
|
46
|
+
[name: string]: unknown;
|
47
|
+
};
|
48
|
+
content?: never;
|
49
|
+
};
|
50
|
+
400: {
|
51
|
+
headers: {
|
52
|
+
[name: string]: unknown;
|
53
|
+
};
|
54
|
+
content?: never;
|
55
|
+
};
|
56
|
+
404: {
|
57
|
+
headers: {
|
58
|
+
[name: string]: unknown;
|
59
|
+
};
|
60
|
+
content?: never;
|
61
|
+
};
|
62
|
+
409: {
|
63
|
+
headers: {
|
64
|
+
[name: string]: unknown;
|
65
|
+
};
|
66
|
+
content?: never;
|
67
|
+
};
|
68
|
+
500: {
|
69
|
+
headers: {
|
70
|
+
[name: string]: unknown;
|
71
|
+
};
|
72
|
+
content?: never;
|
73
|
+
};
|
74
|
+
};
|
75
|
+
};
|
76
|
+
delete?: never;
|
77
|
+
options?: never;
|
78
|
+
head?: never;
|
79
|
+
patch?: never;
|
80
|
+
trace?: never;
|
81
|
+
};
|
82
|
+
"/graphic": {
|
83
|
+
parameters: {
|
84
|
+
query?: never;
|
85
|
+
header?: never;
|
86
|
+
path?: never;
|
87
|
+
cookie?: never;
|
88
|
+
};
|
89
|
+
get?: never;
|
90
|
+
put?: never;
|
91
|
+
post?: never;
|
92
|
+
delete: {
|
93
|
+
parameters: {
|
94
|
+
query?: never;
|
95
|
+
header?: never;
|
96
|
+
path?: never;
|
97
|
+
cookie?: never;
|
98
|
+
};
|
99
|
+
requestBody?: {
|
100
|
+
content: {
|
101
|
+
"application/json": {
|
102
|
+
filename: string;
|
103
|
+
};
|
104
|
+
};
|
105
|
+
};
|
106
|
+
responses: {
|
107
|
+
204: {
|
108
|
+
headers: {
|
109
|
+
[name: string]: unknown;
|
110
|
+
};
|
111
|
+
content?: never;
|
112
|
+
};
|
113
|
+
404: {
|
114
|
+
headers: {
|
115
|
+
[name: string]: unknown;
|
116
|
+
};
|
117
|
+
content?: never;
|
118
|
+
};
|
119
|
+
500: {
|
120
|
+
headers: {
|
121
|
+
[name: string]: unknown;
|
122
|
+
};
|
123
|
+
content?: never;
|
124
|
+
};
|
125
|
+
};
|
126
|
+
};
|
127
|
+
options?: never;
|
128
|
+
head?: never;
|
129
|
+
patch?: never;
|
130
|
+
trace?: never;
|
131
|
+
};
|
132
|
+
"/active-graphic": {
|
133
|
+
parameters: {
|
134
|
+
query?: never;
|
135
|
+
header?: never;
|
136
|
+
path?: never;
|
137
|
+
cookie?: never;
|
138
|
+
};
|
139
|
+
get: {
|
140
|
+
parameters: {
|
141
|
+
query?: never;
|
142
|
+
header?: never;
|
143
|
+
path?: never;
|
144
|
+
cookie?: never;
|
145
|
+
};
|
146
|
+
requestBody?: never;
|
147
|
+
responses: {
|
148
|
+
200: {
|
149
|
+
headers: {
|
150
|
+
[name: string]: unknown;
|
151
|
+
};
|
152
|
+
content: {
|
153
|
+
"application/json": components["schemas"]["config"];
|
154
|
+
};
|
155
|
+
};
|
156
|
+
204: {
|
157
|
+
headers: {
|
158
|
+
[name: string]: unknown;
|
159
|
+
};
|
160
|
+
content?: never;
|
161
|
+
};
|
162
|
+
404: {
|
163
|
+
headers: {
|
164
|
+
[name: string]: unknown;
|
165
|
+
};
|
166
|
+
content?: never;
|
167
|
+
};
|
168
|
+
};
|
169
|
+
};
|
170
|
+
put?: never;
|
171
|
+
post: {
|
172
|
+
parameters: {
|
173
|
+
query?: never;
|
174
|
+
header?: never;
|
175
|
+
path?: never;
|
176
|
+
cookie?: never;
|
177
|
+
};
|
178
|
+
requestBody?: {
|
179
|
+
content: {
|
180
|
+
"application/json": components["schemas"]["config"] | components["schemas"]["emptyObject"];
|
181
|
+
};
|
182
|
+
};
|
183
|
+
responses: {
|
184
|
+
204: {
|
185
|
+
headers: {
|
186
|
+
[name: string]: unknown;
|
187
|
+
};
|
188
|
+
content?: never;
|
189
|
+
};
|
190
|
+
400: {
|
191
|
+
headers: {
|
192
|
+
[name: string]: unknown;
|
193
|
+
};
|
194
|
+
content: {
|
195
|
+
"application/json": components["schemas"]["errorResponse"];
|
196
|
+
};
|
197
|
+
};
|
198
|
+
404: {
|
199
|
+
headers: {
|
200
|
+
[name: string]: unknown;
|
201
|
+
};
|
202
|
+
content?: never;
|
203
|
+
};
|
204
|
+
};
|
205
|
+
};
|
206
|
+
delete: {
|
207
|
+
parameters: {
|
208
|
+
query?: never;
|
209
|
+
header?: never;
|
210
|
+
path?: never;
|
211
|
+
cookie?: never;
|
212
|
+
};
|
213
|
+
requestBody?: never;
|
214
|
+
responses: {
|
215
|
+
204: {
|
216
|
+
headers: {
|
217
|
+
[name: string]: unknown;
|
218
|
+
};
|
219
|
+
content?: never;
|
220
|
+
};
|
221
|
+
404: {
|
222
|
+
headers: {
|
223
|
+
[name: string]: unknown;
|
224
|
+
};
|
225
|
+
content?: never;
|
226
|
+
};
|
227
|
+
};
|
228
|
+
};
|
229
|
+
options?: never;
|
230
|
+
head?: never;
|
231
|
+
patch?: never;
|
232
|
+
trace?: never;
|
233
|
+
};
|
234
|
+
}
|
235
|
+
export type webhooks = Record<string, never>;
|
236
|
+
export interface components {
|
237
|
+
schemas: {
|
238
|
+
position: "topleft" | "topright" | "bottomleft" | "bottomright";
|
239
|
+
graphic: string;
|
240
|
+
config: {
|
241
|
+
graphic?: components["schemas"]["graphic"];
|
242
|
+
position?: components["schemas"]["position"];
|
243
|
+
};
|
244
|
+
emptyObject: Record<string, never>;
|
245
|
+
errorResponse: {
|
246
|
+
error?: string;
|
247
|
+
details?: string;
|
248
|
+
};
|
249
|
+
};
|
250
|
+
responses: never;
|
251
|
+
parameters: never;
|
252
|
+
requestBodies: never;
|
253
|
+
headers: never;
|
254
|
+
pathItems: never;
|
255
|
+
}
|
256
|
+
export type $defs = Record<string, never>;
|
257
|
+
export type operations = Record<string, never>;
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/processor.onscreenGraphic/types.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,162 @@
|
|
1
|
+
openapi: 3.0.0
|
2
|
+
info:
|
3
|
+
title: Onscreen Graphics Overlay Component
|
4
|
+
version: 1.0.0
|
5
|
+
|
6
|
+
paths:
|
7
|
+
# Static paths (available at runtime and design time)
|
8
|
+
/graphics:
|
9
|
+
get:
|
10
|
+
summary: Return the currently available graphic files
|
11
|
+
description: Returns all the graphics files on the server
|
12
|
+
x-route-type: static
|
13
|
+
responses:
|
14
|
+
200:
|
15
|
+
description: Successful operation
|
16
|
+
content:
|
17
|
+
application/json:
|
18
|
+
schema:
|
19
|
+
type: array
|
20
|
+
description: A list of the graphic files available
|
21
|
+
items:
|
22
|
+
$ref: "#/components/schemas/graphic"
|
23
|
+
post:
|
24
|
+
summary: Upload a new graphic
|
25
|
+
description: Upload a new graphic as a multi-part form POST
|
26
|
+
x-route-type: static
|
27
|
+
requestBody:
|
28
|
+
description: A multipart form containing the file to upload)
|
29
|
+
content:
|
30
|
+
multipart/form-data:
|
31
|
+
schema:
|
32
|
+
type: object
|
33
|
+
properties:
|
34
|
+
# The property name 'file' will be used for all files.
|
35
|
+
file:
|
36
|
+
type: string
|
37
|
+
format: binary
|
38
|
+
required: [file]
|
39
|
+
responses:
|
40
|
+
204:
|
41
|
+
description: The file was uploaded successfully
|
42
|
+
400:
|
43
|
+
description: No file was uploaded
|
44
|
+
404:
|
45
|
+
description: Not Found
|
46
|
+
409:
|
47
|
+
description: A graphic with the same name already exists
|
48
|
+
500:
|
49
|
+
description: File upload failed
|
50
|
+
/graphic:
|
51
|
+
delete:
|
52
|
+
summary: Delete a graphic file from the server
|
53
|
+
description: Deletes the passed filename from the server if present
|
54
|
+
x-route-type: static
|
55
|
+
tags: [foo]
|
56
|
+
requestBody:
|
57
|
+
description: The graphic to delete
|
58
|
+
content:
|
59
|
+
application/json:
|
60
|
+
schema:
|
61
|
+
type: object
|
62
|
+
properties:
|
63
|
+
filename:
|
64
|
+
type: string
|
65
|
+
description: 'The name of the graphic file to delete'
|
66
|
+
example: graphic.png
|
67
|
+
required: ['filename']
|
68
|
+
responses:
|
69
|
+
204:
|
70
|
+
description: The graphic was successfully deleted
|
71
|
+
404:
|
72
|
+
description: The specified graphic was not found
|
73
|
+
500:
|
74
|
+
description: Failed to delete the graphic
|
75
|
+
|
76
|
+
# Component instance paths (available at runtime only)
|
77
|
+
/active-graphic:
|
78
|
+
get:
|
79
|
+
summary: Info about the current graphic
|
80
|
+
description: Returns the configuration for current the onscreen graphic is any
|
81
|
+
x-route-type: instance
|
82
|
+
responses:
|
83
|
+
200:
|
84
|
+
description: Details of the configured graphic
|
85
|
+
content:
|
86
|
+
application/json:
|
87
|
+
schema:
|
88
|
+
$ref: "#/components/schemas/config"
|
89
|
+
204:
|
90
|
+
description: No graphic configured
|
91
|
+
404:
|
92
|
+
description: Component not found
|
93
|
+
post:
|
94
|
+
summary: Change the current graphic file and/or position
|
95
|
+
description: Change the current graphic file and/or position
|
96
|
+
x-route-type: instance
|
97
|
+
requestBody:
|
98
|
+
description: The graphic filename and location (sending an empty JSON object will delete the graphic)
|
99
|
+
content:
|
100
|
+
application/json:
|
101
|
+
schema:
|
102
|
+
oneOf:
|
103
|
+
- $ref: "#/components/schemas/config"
|
104
|
+
- $ref: "#/components/schemas/emptyObject"
|
105
|
+
responses:
|
106
|
+
204:
|
107
|
+
description: The active graphic was successfully updated
|
108
|
+
400:
|
109
|
+
description: Invalid request
|
110
|
+
content:
|
111
|
+
application/json:
|
112
|
+
schema:
|
113
|
+
$ref: '#/components/schemas/errorResponse'
|
114
|
+
404:
|
115
|
+
description: Component not found
|
116
|
+
delete:
|
117
|
+
summary: Stop displaying the current graphic
|
118
|
+
x-route-type: instance
|
119
|
+
responses:
|
120
|
+
204:
|
121
|
+
description: The active graphic was successfully hidden
|
122
|
+
404:
|
123
|
+
description: Component not found
|
124
|
+
|
125
|
+
|
126
|
+
components:
|
127
|
+
schemas:
|
128
|
+
position:
|
129
|
+
type: string
|
130
|
+
description: Where the graphic is to be displayed
|
131
|
+
example: "topright"
|
132
|
+
enum:
|
133
|
+
- topleft
|
134
|
+
- topright
|
135
|
+
- bottomleft
|
136
|
+
- bottomright
|
137
|
+
graphic:
|
138
|
+
type: string
|
139
|
+
description: The name of the image file
|
140
|
+
example: Norsk.png
|
141
|
+
config:
|
142
|
+
type: object
|
143
|
+
description: The configuration for the onscreen graphic
|
144
|
+
properties:
|
145
|
+
graphic:
|
146
|
+
$ref: "#/components/schemas/graphic"
|
147
|
+
position:
|
148
|
+
$ref: "#/components/schemas/position"
|
149
|
+
emptyObject:
|
150
|
+
type: object
|
151
|
+
example: {}
|
152
|
+
errorResponse:
|
153
|
+
type: object
|
154
|
+
description: Details of why the request failed
|
155
|
+
properties:
|
156
|
+
error:
|
157
|
+
type: string
|
158
|
+
description: A description of the error
|
159
|
+
details:
|
160
|
+
type: string
|
161
|
+
description: The unacceptable data
|
162
|
+
|
@@ -6,6 +6,7 @@ function default_1({ defineComponent, Av, Subtitle, validation: { Z } }) {
|
|
6
6
|
identifier: 'processor.whisper-transcribe',
|
7
7
|
category: 'processor',
|
8
8
|
name: "Whisper Transcribe",
|
9
|
+
description: "This component transcribes audio from a video stream.",
|
9
10
|
subscription: {
|
10
11
|
accepts: {
|
11
12
|
type: 'single-stream',
|
@@ -34,8 +35,8 @@ function default_1({ defineComponent, Av, Subtitle, validation: { Z } }) {
|
|
34
35
|
configForm: {
|
35
36
|
form: {
|
36
37
|
model: { help: "The ggml model path", hint: { type: 'text', validation: Z.string().min(1, "Choosing a model is mandatory") } },
|
37
|
-
translate: { help: "Whether to translate the output to English", hint: { type: 'boolean', defaultValue: false } },
|
38
|
-
language: { help: "Source language (otherwise automatic)", hint: { type: 'text', validation: Z.union([Z.string().length(0), Z.string().min(1)]) } }
|
38
|
+
translate: { help: "Whether to translate the output to English", hint: { type: 'boolean', optional: true, defaultValue: false } },
|
39
|
+
language: { help: "Source language (otherwise automatic)", hint: { type: 'text', optional: true, validation: Z.union([Z.string().length(0), Z.string().min(1)]) } }
|
39
40
|
}
|
40
41
|
}
|
41
42
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.whisper-transcribe/info.ts"],"names":[],"mappings":";;AAGA,
|
1
|
+
{"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/processor.whisper-transcribe/info.ts"],"names":[],"mappings":";;AAGA,4BA4CC;AA5CD,mBAAwB,EACtB,eAAe,EACf,EAAE,EACF,QAAQ,EACR,UAAU,EAAE,EAAE,CAAC,EAAE,EACJ;IACb,OAAO,eAAe,CAA0B;QAC9C,UAAU,EAAE,8BAA8B;QAC1C,QAAQ,EAAE,WAAW;QACrB,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,uDAAuD;QACpE,YAAY,EAAE;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE;aACV;YACD,QAAQ,EAAE;gBACR,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,eAAe;aACtB;SACF;QACD,eAAe,EAAE,UAAS,GAAG;YAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,QAAQ,CAAC,yEAAyE,CAAC,CAAA;YACzF,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,GAAG,CAAC,QAAQ,CAAC,iEAAiE,CAAC,CAAA;YACjF,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;aACzB,CAAA;QACH,CAAC;QACD,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,KAAK,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC,EAAE,EAAE;gBAC9H,SAAS,EAAE,EAAE,IAAI,EAAE,4CAA4C,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE;gBACjI,QAAQ,EAAE,EAAE,IAAI,EAAE,uCAAuC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;aACpK;SACF;KACF,CAAC,CAAC;AACL,CAAC"}
|