@norskvideo/norsk-sdk 0.0.322

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/src/system.ts ADDED
@@ -0,0 +1,43 @@
1
+ import { MediaClient } from "@norskvideo/norsk-api/lib/media_grpc_pb";
2
+ import { Hardware as HardwarePB } from "@norskvideo/norsk-api/lib/media_pb";
3
+ import { Empty } from "@bufbuild/protobuf";
4
+ import * as util from "util";
5
+ import {
6
+ CpuTopology,
7
+ DeckLinkCard,
8
+ fromCpuTopology,
9
+ fromDeckLinkCard,
10
+ } from "./types";
11
+ /**
12
+ * @public
13
+ *
14
+ */
15
+
16
+ /**
17
+ * @public
18
+ */
19
+ export interface HardwareInfo {
20
+ cpuTopology: CpuTopology;
21
+ systemMemory: number;
22
+ deckLinkCards: DeckLinkCard[];
23
+ }
24
+
25
+ /** @internal */
26
+ export async function hardwareInfo(client: MediaClient): Promise<HardwareInfo> {
27
+ let fn = util.promisify(client.hardwareInfo).bind(client);
28
+ return fn(new Empty()).then((info: HardwarePB) => {
29
+ return {
30
+ cpuTopology: fromCpuTopology(info.cpuTopology),
31
+ systemMemory: info.systemMemory,
32
+ deckLinkCards: info.deckLinkCards.map(fromDeckLinkCard),
33
+ };
34
+ });
35
+ }
36
+
37
+ /**
38
+ * @public
39
+ * Methods that allow you query the features of the system that Norsk is running in
40
+ */
41
+ export interface NorskSystem {
42
+ hardwareInfo(): Promise<HardwareInfo>;
43
+ }
package/src/types.ts ADDED
@@ -0,0 +1,557 @@
1
+ import {
2
+ CpuTopology as CpuTopologyPB,
3
+ DeckLinkCard as DeckLinkCardPB,
4
+ DeckLinkDisplayModeId as DeckLinkDisplayModeIdPB,
5
+ } from "@norskvideo/norsk-api/lib/media_pb";
6
+ import {
7
+ DeckLinkPixelFormat as DeckLinkPixelFormatPB,
8
+ VideoConnection as VideoConnectionPB,
9
+ VideoIOSupport as VideoIOSupportPB,
10
+ } from "@norskvideo/norsk-api/lib/media_pb";
11
+
12
+ import { exhaustiveCheck } from "./shared/utils";
13
+
14
+ ////////////////////////////////////////////////////////////////////////////////
15
+ // General
16
+
17
+ /** @public */
18
+ export interface FrameRate {
19
+ frames: number;
20
+ seconds: number;
21
+ }
22
+
23
+ /** @public */
24
+ export type LogicalCpuId = number;
25
+ /** @public */
26
+ export interface Core {
27
+ logicalCpuIds: LogicalCpuId[];
28
+ }
29
+ /** @public */
30
+ export interface Processor {
31
+ cores: Core[];
32
+ }
33
+ /** @public */
34
+ export interface NumaNode {
35
+ processors: Processor[];
36
+ }
37
+ /** @public */
38
+ export interface CpuTopology {
39
+ numaNodes: NumaNode[];
40
+ }
41
+
42
+ /** @internal */
43
+ export function fromCpuTopology(cpuTopology?: CpuTopologyPB): CpuTopology {
44
+ return cpuTopology
45
+ ? {
46
+ numaNodes: cpuTopology?.numaNodes.map((numaNode) => {
47
+ return {
48
+ processors: numaNode.processors.map((processor) => {
49
+ return {
50
+ cores: processor.cores.map((core) => {
51
+ return {
52
+ logicalCpuIds: core.logicalCpuIds.map((logicalCpuId) => {
53
+ return logicalCpuId.logicalCpuId;
54
+ }),
55
+ };
56
+ }),
57
+ };
58
+ }),
59
+ };
60
+ }),
61
+ }
62
+ : { numaNodes: [] };
63
+ }
64
+
65
+ ////////////////////////////////////////////////////////////////////////////////
66
+ // Decklink
67
+
68
+ /** @public */
69
+ export type DeckLinkVideoConnection =
70
+ | "sdi"
71
+ | "hdmi"
72
+ | "optical_sdi"
73
+ | "component"
74
+ | "composite"
75
+ | "svideo";
76
+
77
+ /** @internal */
78
+ export function toVideoConnection(
79
+ conn: DeckLinkVideoConnection
80
+ ): VideoConnectionPB {
81
+ switch (conn) {
82
+ case "sdi":
83
+ return VideoConnectionPB.SDI;
84
+ case "hdmi":
85
+ return VideoConnectionPB.HDMI;
86
+ case "optical_sdi":
87
+ return VideoConnectionPB.OPTICAL_SDI;
88
+ case "component":
89
+ return VideoConnectionPB.COMPONENT;
90
+ case "composite":
91
+ return VideoConnectionPB.COMPOSITE;
92
+ case "svideo":
93
+ return VideoConnectionPB.SVIDEO;
94
+ default:
95
+ exhaustiveCheck(conn);
96
+ }
97
+ }
98
+
99
+ /** @internal */
100
+ export function fromVideoConnection(
101
+ conn: VideoConnectionPB
102
+ ): DeckLinkVideoConnection {
103
+ switch (conn) {
104
+ case VideoConnectionPB.SDI:
105
+ return "sdi";
106
+ case VideoConnectionPB.HDMI:
107
+ return "hdmi";
108
+ case VideoConnectionPB.OPTICAL_SDI:
109
+ return "optical_sdi";
110
+ case VideoConnectionPB.COMPONENT:
111
+ return "component";
112
+ case VideoConnectionPB.COMPOSITE:
113
+ return "composite";
114
+ case VideoConnectionPB.SVIDEO:
115
+ return "svideo";
116
+ default:
117
+ exhaustiveCheck(conn);
118
+ }
119
+ }
120
+
121
+ /** @public */
122
+ export type DeckLinkVideoIOSupport = "capture" | "playback";
123
+
124
+ /** @internal */
125
+ export function toVideoIOSupport(
126
+ videoIO: DeckLinkVideoIOSupport
127
+ ): VideoIOSupportPB {
128
+ switch (videoIO) {
129
+ case "capture":
130
+ return VideoIOSupportPB.CAPTURE;
131
+ case "playback":
132
+ return VideoIOSupportPB.PLAYBACK;
133
+ default:
134
+ exhaustiveCheck(videoIO);
135
+ }
136
+ }
137
+
138
+ /** @internal */
139
+ export function fromVideoIOSupport(
140
+ videoIO: VideoIOSupportPB
141
+ ): DeckLinkVideoIOSupport {
142
+ switch (videoIO) {
143
+ case VideoIOSupportPB.CAPTURE:
144
+ return "capture";
145
+ case VideoIOSupportPB.PLAYBACK:
146
+ return "playback";
147
+ default:
148
+ exhaustiveCheck(videoIO);
149
+ }
150
+ }
151
+
152
+ /** @public */
153
+ export type DeckLinkPixelFormat = "uyvy" | "argb";
154
+
155
+ /** @internal */
156
+ export function toDeckLinkPixelFormat(
157
+ format: DeckLinkPixelFormat
158
+ ): DeckLinkPixelFormatPB {
159
+ switch (format) {
160
+ case "uyvy":
161
+ return DeckLinkPixelFormatPB.UYVY;
162
+ case "argb":
163
+ return DeckLinkPixelFormatPB.ARGB;
164
+ default:
165
+ exhaustiveCheck(format);
166
+ }
167
+ }
168
+
169
+ /** @internal */
170
+ export function fromDeckLinkPixelFormat(
171
+ format: DeckLinkPixelFormatPB
172
+ ): DeckLinkPixelFormat {
173
+ switch (format) {
174
+ case DeckLinkPixelFormatPB.UYVY:
175
+ return "uyvy";
176
+ case DeckLinkPixelFormatPB.ARGB:
177
+ return "argb";
178
+ default:
179
+ exhaustiveCheck(format);
180
+ }
181
+ }
182
+
183
+ /** @public */
184
+ export interface DeckLinkCard {
185
+ index: number;
186
+ displayName: string;
187
+ inputConnections: DeckLinkVideoConnection[];
188
+ outputConnections: DeckLinkVideoConnection[];
189
+ ioSupport: DeckLinkVideoIOSupport[];
190
+ }
191
+
192
+ /** @internal */
193
+ export function fromDeckLinkCard(deckLinkCard: DeckLinkCardPB): DeckLinkCard {
194
+ return {
195
+ index: deckLinkCard.index,
196
+ displayName: deckLinkCard.displayName,
197
+ inputConnections: deckLinkCard.inputConnections.map(fromVideoConnection),
198
+ outputConnections: deckLinkCard.outputConnections.map(fromVideoConnection),
199
+ ioSupport: deckLinkCard.ioSupport.map(fromVideoIOSupport),
200
+ };
201
+ }
202
+
203
+ /** @public */
204
+ export type DeckLinkDisplayModeId =
205
+ | "auto"
206
+ | "sd_ntsc"
207
+ | "sd_nt23"
208
+ | "sd_pal"
209
+ | "sd_ntsp"
210
+ | "sd_palp"
211
+ | "hd1080_23ps"
212
+ | "hd1080_24ps"
213
+ | "hd1080_p25"
214
+ | "hd1080_p29"
215
+ | "hd1080_p30"
216
+ | "hd1080_p47"
217
+ | "hd1080_p48"
218
+ | "hd1080_i50"
219
+ | "hd1080_i59"
220
+ | "hd1080_i60"
221
+ | "hd1080_p95"
222
+ | "hd1080_p96"
223
+ | "hd1080_p10"
224
+ | "hd1080_p11"
225
+ | "hd1080_p12"
226
+ | "hd1080_p50"
227
+ | "hd1080_p59"
228
+ | "hd1080_p60"
229
+ | "hd720_p50"
230
+ | "hd720_p59"
231
+ | "hd720_p60"
232
+ | "two_k_23"
233
+ | "two_k_24"
234
+ | "two_k_25"
235
+ | "two_k_dci_23"
236
+ | "two_k_dci_24"
237
+ | "two_k_dci_25"
238
+ | "two_k_dci_29"
239
+ | "two_k_dci_30"
240
+ | "two_k_dci_47"
241
+ | "two_k_dci_48"
242
+ | "two_k_dci_50"
243
+ | "two_k_dci_59"
244
+ | "two_k_dci_60"
245
+ | "two_k_dci_95"
246
+ | "two_k_dci_96"
247
+ | "two_k_dci_10"
248
+ | "two_k_dci_11"
249
+ | "two_k_dci_12"
250
+ | "four_k_23"
251
+ | "four_k_24"
252
+ | "four_k_25"
253
+ | "four_k_29"
254
+ | "four_k_30"
255
+ | "four_k_47"
256
+ | "four_k_48"
257
+ | "four_k_50"
258
+ | "four_k_59"
259
+ | "four_k_60"
260
+ | "four_k_95"
261
+ | "four_k_96"
262
+ | "four_k_10"
263
+ | "four_k_11"
264
+ | "four_k_12"
265
+ | "four_k_dci_23"
266
+ | "four_k_dci_24"
267
+ | "four_k_dci_25"
268
+ | "four_k_dci_29"
269
+ | "four_k_dci_30"
270
+ | "four_k_dci_47"
271
+ | "four_k_dci_48"
272
+ | "four_k_dci_50"
273
+ | "four_k_dci_59"
274
+ | "four_k_dci_60"
275
+ | "four_k_dci_95"
276
+ | "four_k_dci_96"
277
+ | "four_k_dci_10"
278
+ | "four_k_dci_11"
279
+ | "four_k_dci_12"
280
+ | "eight_k_23"
281
+ | "eight_k_24"
282
+ | "eight_k_25"
283
+ | "eight_k_29"
284
+ | "eight_k_30"
285
+ | "eight_k_47"
286
+ | "eight_k_48"
287
+ | "eight_k_50"
288
+ | "eight_k_59"
289
+ | "eight_k_60"
290
+ | "eight_k_dci_23"
291
+ | "eight_k_dci_24"
292
+ | "eight_k_dci_25"
293
+ | "eight_k_dci_29"
294
+ | "eight_k_dci_30"
295
+ | "eight_k_dci_47"
296
+ | "eight_k_dci_48"
297
+ | "eight_k_dci_50"
298
+ | "eight_k_dci_59"
299
+ | "eight_k_dci_60"
300
+ | "pc_vga6"
301
+ | "pc_svg6"
302
+ | "pc_wxg5"
303
+ | "pc_wxg6"
304
+ | "pc_sxg5"
305
+ | "pc_sxg6"
306
+ | "pc_uxg5"
307
+ | "pc_uxg6"
308
+ | "pc_wux5"
309
+ | "pc_wux6"
310
+ | "pc_1945"
311
+ | "pc_1946"
312
+ | "pc_wqh5"
313
+ | "pc_wqh6"
314
+ | "pc_wqx5"
315
+ | "pc_wqx6"
316
+ | "special_iunk";
317
+
318
+ /** @internal */
319
+ export function toDeckLinkDisplayModeId(
320
+ id: DeckLinkDisplayModeId
321
+ ): DeckLinkDisplayModeIdPB {
322
+ switch (id) {
323
+ case "auto":
324
+ return DeckLinkDisplayModeIdPB.AUTO;
325
+ case "sd_ntsc":
326
+ return DeckLinkDisplayModeIdPB.SD_NTSC;
327
+ case "sd_nt23":
328
+ return DeckLinkDisplayModeIdPB.SD_NT23;
329
+ case "sd_pal":
330
+ return DeckLinkDisplayModeIdPB.SD_PAL;
331
+ case "sd_ntsp":
332
+ return DeckLinkDisplayModeIdPB.SD_NTSP;
333
+ case "sd_palp":
334
+ return DeckLinkDisplayModeIdPB.SD_PALP;
335
+ case "hd1080_23ps":
336
+ return DeckLinkDisplayModeIdPB.HD1080_23PS;
337
+ case "hd1080_24ps":
338
+ return DeckLinkDisplayModeIdPB.HD1080_24PS;
339
+ case "hd1080_p25":
340
+ return DeckLinkDisplayModeIdPB.HD1080_P25;
341
+ case "hd1080_p29":
342
+ return DeckLinkDisplayModeIdPB.HD1080_P29;
343
+ case "hd1080_p30":
344
+ return DeckLinkDisplayModeIdPB.HD1080_P30;
345
+ case "hd1080_p47":
346
+ return DeckLinkDisplayModeIdPB.HD1080_P47;
347
+ case "hd1080_p48":
348
+ return DeckLinkDisplayModeIdPB.HD1080_P48;
349
+ case "hd1080_i50":
350
+ return DeckLinkDisplayModeIdPB.HD1080_I50;
351
+ case "hd1080_i59":
352
+ return DeckLinkDisplayModeIdPB.HD1080_I59;
353
+ case "hd1080_i60":
354
+ return DeckLinkDisplayModeIdPB.HD1080_I60;
355
+ case "hd1080_p95":
356
+ return DeckLinkDisplayModeIdPB.HD1080_P95;
357
+ case "hd1080_p96":
358
+ return DeckLinkDisplayModeIdPB.HD1080_P96;
359
+ case "hd1080_p10":
360
+ return DeckLinkDisplayModeIdPB.HD1080_P10;
361
+ case "hd1080_p11":
362
+ return DeckLinkDisplayModeIdPB.HD1080_P11;
363
+ case "hd1080_p12":
364
+ return DeckLinkDisplayModeIdPB.HD1080_P12;
365
+ case "hd1080_p50":
366
+ return DeckLinkDisplayModeIdPB.HD1080_P50;
367
+ case "hd1080_p59":
368
+ return DeckLinkDisplayModeIdPB.HD1080_P59;
369
+ case "hd1080_p60":
370
+ return DeckLinkDisplayModeIdPB.HD1080_P60;
371
+ case "hd720_p50":
372
+ return DeckLinkDisplayModeIdPB.HD720_P50;
373
+ case "hd720_p59":
374
+ return DeckLinkDisplayModeIdPB.HD720_P59;
375
+ case "hd720_p60":
376
+ return DeckLinkDisplayModeIdPB.HD720_P60;
377
+ case "two_k_23":
378
+ return DeckLinkDisplayModeIdPB.TWO_K_23;
379
+ case "two_k_24":
380
+ return DeckLinkDisplayModeIdPB.TWO_K_24;
381
+ case "two_k_25":
382
+ return DeckLinkDisplayModeIdPB.TWO_K_25;
383
+ case "two_k_dci_23":
384
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_23;
385
+ case "two_k_dci_24":
386
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_24;
387
+ case "two_k_dci_25":
388
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_25;
389
+ case "two_k_dci_29":
390
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_29;
391
+ case "two_k_dci_30":
392
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_30;
393
+ case "two_k_dci_47":
394
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_47;
395
+ case "two_k_dci_48":
396
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_48;
397
+ case "two_k_dci_50":
398
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_50;
399
+ case "two_k_dci_59":
400
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_59;
401
+ case "two_k_dci_60":
402
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_60;
403
+ case "two_k_dci_95":
404
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_95;
405
+ case "two_k_dci_96":
406
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_96;
407
+ case "two_k_dci_10":
408
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_10;
409
+ case "two_k_dci_11":
410
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_11;
411
+ case "two_k_dci_12":
412
+ return DeckLinkDisplayModeIdPB.TWO_K_DCI_12;
413
+ case "four_k_23":
414
+ return DeckLinkDisplayModeIdPB.FOUR_K_23;
415
+ case "four_k_24":
416
+ return DeckLinkDisplayModeIdPB.FOUR_K_24;
417
+ case "four_k_25":
418
+ return DeckLinkDisplayModeIdPB.FOUR_K_25;
419
+ case "four_k_29":
420
+ return DeckLinkDisplayModeIdPB.FOUR_K_29;
421
+ case "four_k_30":
422
+ return DeckLinkDisplayModeIdPB.FOUR_K_30;
423
+ case "four_k_47":
424
+ return DeckLinkDisplayModeIdPB.FOUR_K_47;
425
+ case "four_k_48":
426
+ return DeckLinkDisplayModeIdPB.FOUR_K_48;
427
+ case "four_k_50":
428
+ return DeckLinkDisplayModeIdPB.FOUR_K_50;
429
+ case "four_k_59":
430
+ return DeckLinkDisplayModeIdPB.FOUR_K_59;
431
+ case "four_k_60":
432
+ return DeckLinkDisplayModeIdPB.FOUR_K_60;
433
+ case "four_k_95":
434
+ return DeckLinkDisplayModeIdPB.FOUR_K_95;
435
+ case "four_k_96":
436
+ return DeckLinkDisplayModeIdPB.FOUR_K_96;
437
+ case "four_k_10":
438
+ return DeckLinkDisplayModeIdPB.FOUR_K_10;
439
+ case "four_k_11":
440
+ return DeckLinkDisplayModeIdPB.FOUR_K_11;
441
+ case "four_k_12":
442
+ return DeckLinkDisplayModeIdPB.FOUR_K_12;
443
+ case "four_k_dci_23":
444
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_23;
445
+ case "four_k_dci_24":
446
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_24;
447
+ case "four_k_dci_25":
448
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_25;
449
+ case "four_k_dci_29":
450
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_29;
451
+ case "four_k_dci_30":
452
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_30;
453
+ case "four_k_dci_47":
454
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_47;
455
+ case "four_k_dci_48":
456
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_48;
457
+ case "four_k_dci_50":
458
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_50;
459
+ case "four_k_dci_59":
460
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_59;
461
+ case "four_k_dci_60":
462
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_60;
463
+ case "four_k_dci_95":
464
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_95;
465
+ case "four_k_dci_96":
466
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_96;
467
+ case "four_k_dci_10":
468
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_10;
469
+ case "four_k_dci_11":
470
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_11;
471
+ case "four_k_dci_12":
472
+ return DeckLinkDisplayModeIdPB.FOUR_K_DCI_12;
473
+ case "eight_k_23":
474
+ return DeckLinkDisplayModeIdPB.EIGHT_K_23;
475
+ case "eight_k_24":
476
+ return DeckLinkDisplayModeIdPB.EIGHT_K_24;
477
+ case "eight_k_25":
478
+ return DeckLinkDisplayModeIdPB.EIGHT_K_25;
479
+ case "eight_k_29":
480
+ return DeckLinkDisplayModeIdPB.EIGHT_K_29;
481
+ case "eight_k_30":
482
+ return DeckLinkDisplayModeIdPB.EIGHT_K_30;
483
+ case "eight_k_47":
484
+ return DeckLinkDisplayModeIdPB.EIGHT_K_47;
485
+ case "eight_k_48":
486
+ return DeckLinkDisplayModeIdPB.EIGHT_K_48;
487
+ case "eight_k_50":
488
+ return DeckLinkDisplayModeIdPB.EIGHT_K_50;
489
+ case "eight_k_59":
490
+ return DeckLinkDisplayModeIdPB.EIGHT_K_59;
491
+ case "eight_k_60":
492
+ return DeckLinkDisplayModeIdPB.EIGHT_K_60;
493
+ case "eight_k_dci_23":
494
+ return DeckLinkDisplayModeIdPB.EIGHT_K_DCI_23;
495
+ case "eight_k_dci_24":
496
+ return DeckLinkDisplayModeIdPB.EIGHT_K_DCI_24;
497
+ case "eight_k_dci_25":
498
+ return DeckLinkDisplayModeIdPB.EIGHT_K_DCI_25;
499
+ case "eight_k_dci_29":
500
+ return DeckLinkDisplayModeIdPB.EIGHT_K_DCI_29;
501
+ case "eight_k_dci_30":
502
+ return DeckLinkDisplayModeIdPB.EIGHT_K_DCI_30;
503
+ case "eight_k_dci_47":
504
+ return DeckLinkDisplayModeIdPB.EIGHT_K_DCI_47;
505
+ case "eight_k_dci_48":
506
+ return DeckLinkDisplayModeIdPB.EIGHT_K_DCI_48;
507
+ case "eight_k_dci_50":
508
+ return DeckLinkDisplayModeIdPB.EIGHT_K_DCI_50;
509
+ case "eight_k_dci_59":
510
+ return DeckLinkDisplayModeIdPB.EIGHT_K_DCI_59;
511
+ case "eight_k_dci_60":
512
+ return DeckLinkDisplayModeIdPB.EIGHT_K_DCI_60;
513
+ case "pc_vga6":
514
+ return DeckLinkDisplayModeIdPB.PC_VGA6;
515
+ case "pc_svg6":
516
+ return DeckLinkDisplayModeIdPB.PC_SVG6;
517
+ case "pc_wxg5":
518
+ return DeckLinkDisplayModeIdPB.PC_WXG5;
519
+ case "pc_wxg6":
520
+ return DeckLinkDisplayModeIdPB.PC_WXG6;
521
+ case "pc_sxg5":
522
+ return DeckLinkDisplayModeIdPB.PC_SXG5;
523
+ case "pc_sxg6":
524
+ return DeckLinkDisplayModeIdPB.PC_SXG6;
525
+ case "pc_uxg5":
526
+ return DeckLinkDisplayModeIdPB.PC_UXG5;
527
+ case "pc_uxg6":
528
+ return DeckLinkDisplayModeIdPB.PC_UXG6;
529
+ case "pc_wux5":
530
+ return DeckLinkDisplayModeIdPB.PC_WUX5;
531
+ case "pc_wux6":
532
+ return DeckLinkDisplayModeIdPB.PC_WUX6;
533
+ case "pc_1945":
534
+ return DeckLinkDisplayModeIdPB.PC_1945;
535
+ case "pc_1946":
536
+ return DeckLinkDisplayModeIdPB.PC_1946;
537
+ case "pc_wqh5":
538
+ return DeckLinkDisplayModeIdPB.PC_WQH5;
539
+ case "pc_wqh6":
540
+ return DeckLinkDisplayModeIdPB.PC_WQH6;
541
+ case "pc_wqx5":
542
+ return DeckLinkDisplayModeIdPB.PC_WQX5;
543
+ case "pc_wqx6":
544
+ return DeckLinkDisplayModeIdPB.PC_WQX6;
545
+ case "special_iunk":
546
+ return DeckLinkDisplayModeIdPB.SPECIAL_IUNK;
547
+ }
548
+ }
549
+
550
+ /** @public */
551
+ export interface DeckLinkDisplayMode {
552
+ id: DeckLinkDisplayModeId;
553
+ name: string;
554
+ width: number;
555
+ height: number;
556
+ frameRate: FrameRate;
557
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "compilerOptions": {
3
+ "allowJs": true,
4
+ "composite": true,
5
+ "declaration": true,
6
+ "declarationMap": true,
7
+ "esModuleInterop": true,
8
+ "experimentalDecorators": true,
9
+ "module": "commonjs",
10
+ "noImplicitAny": true,
11
+ "outDir": "lib",
12
+ "sourceMap": true,
13
+ "sourceRoot": "src",
14
+ "strictFunctionTypes": true,
15
+ "strictNullChecks": true,
16
+ "stripInternal": true,
17
+ "target": "ES6"
18
+ },
19
+ "include": [
20
+ "./src/**/*"
21
+ ]
22
+ }