@clockworkdog/cogs-client 0.16.0 → 1.0.0-rc.2
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 +1 -8
- package/dist/AudioPlayer.d.ts +9 -2
- package/dist/AudioPlayer.js +82 -47
- package/dist/AudioPlayer.js.map +1 -1
- package/dist/CogsConnection.d.ts +4 -0
- package/dist/CogsConnection.js +26 -22
- package/dist/CogsConnection.js.map +1 -1
- package/dist/VideoPlayer.d.ts +48 -0
- package/dist/VideoPlayer.js +287 -0
- package/dist/VideoPlayer.js.map +1 -0
- package/dist/browser/index.js +445 -89
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/types/AllMediaClipStatesMessage.d.ts +5 -0
- package/dist/types/AllMediaClipStatesMessage.js +3 -0
- package/dist/types/AllMediaClipStatesMessage.js.map +1 -0
- package/dist/types/AudioState.d.ts +1 -0
- package/dist/types/CogsClientMessage.d.ts +10 -0
- package/dist/types/MediaClipStateMessage.d.ts +7 -0
- package/dist/types/MediaClipStateMessage.js +3 -0
- package/dist/types/MediaClipStateMessage.js.map +1 -0
- package/dist/types/VideoState.d.ts +26 -0
- package/dist/types/VideoState.js +9 -0
- package/dist/types/VideoState.js.map +1 -0
- package/package.json +4 -3
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ Create content for your COGS Media Master
|
|
|
9
9
|
### Browser
|
|
10
10
|
|
|
11
11
|
```html
|
|
12
|
-
<script src="https://unpkg.com/@clockworkdog/cogs-client@
|
|
12
|
+
<script src="https://unpkg.com/@clockworkdog/cogs-client@1"></script>
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
### NPM
|
|
@@ -98,10 +98,3 @@ audioPlayer.addEventListener('state', (audioState) => {
|
|
|
98
98
|
When developing locally you should connect to COGS in "simulator" mode by appending `?simulator=true&t=media_master&name=MEDIA_MASTER_NAME` to the URL. Replace `MEDIA_MASTER_NAME` with the name of the Media Master you set in COGS.
|
|
99
99
|
|
|
100
100
|
For example, with your custom content hosted on port 3000, http://localhost:3000?simulator=true&t=media_master&name=Timer+screen will connect as the simulator for `Timer screen`.
|
|
101
|
-
|
|
102
|
-
## Release process
|
|
103
|
-
|
|
104
|
-
1. Create a new commit with a bumped version number in `package.json`.
|
|
105
|
-
2. [Click here to create a new release on GitHub](https://github.com/clockwork-dog/cogs-client-lib/releases/new) where the Tag Version is the version from `package.json` prefixed with a `v`.
|
|
106
|
-
|
|
107
|
-
The release will be automatically built and released on npm.
|
package/dist/AudioPlayer.d.ts
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import CogsConnection from './CogsConnection';
|
|
2
2
|
import { AudioState } from './types/AudioState';
|
|
3
|
+
import MediaClipStateMessage from './types/MediaClipStateMessage';
|
|
3
4
|
declare type EventTypes = {
|
|
4
5
|
state: AudioState;
|
|
6
|
+
audioClipState: MediaClipStateMessage;
|
|
5
7
|
};
|
|
6
8
|
export default class AudioPlayer {
|
|
7
9
|
private eventTarget;
|
|
8
10
|
private globalVolume;
|
|
9
11
|
private audioClipPlayers;
|
|
10
|
-
constructor(
|
|
12
|
+
constructor(cogsConnection: CogsConnection);
|
|
11
13
|
setGlobalVolume(volume: number): void;
|
|
12
|
-
playAudioClip(path: string, { volume, fade, loop }: {
|
|
14
|
+
playAudioClip(path: string, { playId, volume, fade, loop }: {
|
|
15
|
+
playId: string;
|
|
13
16
|
volume: number;
|
|
14
17
|
fade?: number;
|
|
15
18
|
loop: boolean;
|
|
@@ -30,8 +33,12 @@ export default class AudioPlayer {
|
|
|
30
33
|
private updateAudioClipPlayer;
|
|
31
34
|
private updateConfig;
|
|
32
35
|
private notifyStateListeners;
|
|
36
|
+
private notifyClipStateListeners;
|
|
33
37
|
addEventListener<EventName extends keyof EventTypes>(type: EventName, listener: (ev: CustomEvent<EventTypes[EventName]>) => void, options?: boolean | AddEventListenerOptions): void;
|
|
34
38
|
removeEventListener<EventName extends keyof EventTypes>(type: EventName, listener: (ev: CustomEvent<EventTypes[EventName]>) => void, options?: boolean | EventListenerOptions): void;
|
|
35
39
|
private dispatchEvent;
|
|
40
|
+
private createPlayer;
|
|
41
|
+
private createClip;
|
|
42
|
+
private updatedClip;
|
|
36
43
|
}
|
|
37
44
|
export {};
|
package/dist/AudioPlayer.js
CHANGED
|
@@ -4,11 +4,16 @@ const howler_1 = require("howler");
|
|
|
4
4
|
const urls_1 = require("./helpers/urls");
|
|
5
5
|
const AudioState_1 = require("./types/AudioState");
|
|
6
6
|
class AudioPlayer {
|
|
7
|
-
constructor(
|
|
7
|
+
constructor(cogsConnection) {
|
|
8
8
|
this.eventTarget = new EventTarget();
|
|
9
9
|
this.globalVolume = 1;
|
|
10
10
|
this.audioClipPlayers = {};
|
|
11
|
-
|
|
11
|
+
// Send the current status of each clip to COGS
|
|
12
|
+
this.addEventListener('audioClipState', ({ detail }) => {
|
|
13
|
+
cogsConnection.sendMediaClipState(detail);
|
|
14
|
+
});
|
|
15
|
+
// Listen for audio control messages
|
|
16
|
+
cogsConnection.addEventListener('message', (event) => {
|
|
12
17
|
const message = event.detail;
|
|
13
18
|
switch (message.type) {
|
|
14
19
|
case 'media_config_update':
|
|
@@ -17,6 +22,7 @@ class AudioPlayer {
|
|
|
17
22
|
break;
|
|
18
23
|
case 'audio_play':
|
|
19
24
|
this.playAudioClip(message.file, {
|
|
25
|
+
playId: message.playId,
|
|
20
26
|
volume: message.volume,
|
|
21
27
|
loop: Boolean(message.loop),
|
|
22
28
|
fade: message.fade,
|
|
@@ -38,15 +44,31 @@ class AudioPlayer {
|
|
|
38
44
|
break;
|
|
39
45
|
}
|
|
40
46
|
});
|
|
47
|
+
// On connection, send the current playing state of all clips
|
|
48
|
+
// (Usually empty unless websocket is reconnecting)
|
|
49
|
+
const sendInitialClipStates = () => {
|
|
50
|
+
const files = Object.entries(this.audioClipPlayers).map(([file, player]) => {
|
|
51
|
+
const activeClips = Object.values(player.activeClips);
|
|
52
|
+
const status = activeClips.some(({ state }) => state === AudioState_1.ActiveAudioClipState.Playing)
|
|
53
|
+
? 'playing'
|
|
54
|
+
: activeClips.some(({ state }) => state === AudioState_1.ActiveAudioClipState.Paused || state === AudioState_1.ActiveAudioClipState.Pausing)
|
|
55
|
+
? 'paused'
|
|
56
|
+
: 'stopped';
|
|
57
|
+
return [file, status];
|
|
58
|
+
});
|
|
59
|
+
cogsConnection.sendInitialMediaClipStates({ mediaType: 'audio', files });
|
|
60
|
+
};
|
|
61
|
+
cogsConnection.addEventListener('open', sendInitialClipStates);
|
|
62
|
+
sendInitialClipStates();
|
|
41
63
|
}
|
|
42
64
|
setGlobalVolume(volume) {
|
|
43
65
|
this.globalVolume = volume;
|
|
44
66
|
howler_1.Howler.volume(volume);
|
|
45
67
|
this.notifyStateListeners();
|
|
46
68
|
}
|
|
47
|
-
playAudioClip(path, { volume, fade, loop }) {
|
|
69
|
+
playAudioClip(path, { playId, volume, fade, loop }) {
|
|
48
70
|
if (!(path in this.audioClipPlayers)) {
|
|
49
|
-
this.audioClipPlayers[path] = createClip(path, { preload: false, ephemeral: true });
|
|
71
|
+
this.audioClipPlayers[path] = this.createClip(path, { preload: false, ephemeral: true });
|
|
50
72
|
}
|
|
51
73
|
this.updateAudioClipPlayer(path, (clipPlayer) => {
|
|
52
74
|
const pausedSoundIds = Object.entries(clipPlayer.activeClips)
|
|
@@ -57,26 +79,29 @@ class AudioPlayer {
|
|
|
57
79
|
clipPlayer.player.play(soundId);
|
|
58
80
|
});
|
|
59
81
|
// If no currently paused/pausing clips, play a new clip
|
|
60
|
-
const newSoundIds = pausedSoundIds.length > 0
|
|
61
|
-
? []
|
|
62
|
-
: [
|
|
63
|
-
(() => {
|
|
64
|
-
const soundId = clipPlayer.player.play();
|
|
65
|
-
return soundId;
|
|
66
|
-
})(),
|
|
67
|
-
];
|
|
82
|
+
const newSoundIds = pausedSoundIds.length > 0 ? [] : [clipPlayer.player.play()];
|
|
68
83
|
[...pausedSoundIds, ...newSoundIds].forEach((soundId) => {
|
|
84
|
+
clipPlayer.player.loop(loop, soundId);
|
|
69
85
|
// Cleanup any old callbacks first
|
|
86
|
+
clipPlayer.player.off('play', undefined, soundId);
|
|
87
|
+
clipPlayer.player.off('pause', undefined, soundId);
|
|
70
88
|
clipPlayer.player.off('fade', undefined, soundId);
|
|
71
89
|
clipPlayer.player.off('end', undefined, soundId);
|
|
72
90
|
clipPlayer.player.off('stop', undefined, soundId);
|
|
73
|
-
clipPlayer.player.
|
|
74
|
-
|
|
91
|
+
clipPlayer.player.once('stop', () => {
|
|
92
|
+
this.handleStoppedClip(path, soundId);
|
|
93
|
+
this.notifyClipStateListeners(playId, path, 'stopped');
|
|
94
|
+
}, soundId);
|
|
75
95
|
// Looping clips fire the 'end' callback on every loop
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
96
|
+
clipPlayer.player.on('end', () => {
|
|
97
|
+
var _a;
|
|
98
|
+
if (!((_a = clipPlayer.activeClips[soundId]) === null || _a === void 0 ? void 0 : _a.loop)) {
|
|
99
|
+
this.handleStoppedClip(path, soundId);
|
|
100
|
+
this.notifyClipStateListeners(playId, path, 'stopped');
|
|
101
|
+
}
|
|
102
|
+
}, soundId);
|
|
79
103
|
const activeClip = {
|
|
104
|
+
playId,
|
|
80
105
|
state: AudioState_1.ActiveAudioClipState.Playing,
|
|
81
106
|
loop,
|
|
82
107
|
volume,
|
|
@@ -96,6 +121,7 @@ class AudioPlayer {
|
|
|
96
121
|
});
|
|
97
122
|
return clipPlayer;
|
|
98
123
|
});
|
|
124
|
+
this.notifyClipStateListeners(playId, path, 'playing');
|
|
99
125
|
}
|
|
100
126
|
pauseAudioClip(path, fade) {
|
|
101
127
|
this.updateAudioClipPlayer(path, (clipPlayer) => {
|
|
@@ -210,22 +236,27 @@ class AudioPlayer {
|
|
|
210
236
|
this.notifyStateListeners();
|
|
211
237
|
}
|
|
212
238
|
updateConfig(newFiles) {
|
|
239
|
+
const newAudioFiles = Object.fromEntries(Object.entries(newFiles).filter(([, { type }]) => {
|
|
240
|
+
// COGS 4.6 did not send a `type` but only reported audio files
|
|
241
|
+
// so we assume audio if no `type` is given
|
|
242
|
+
return type === 'audio' || !type;
|
|
243
|
+
}));
|
|
213
244
|
const previousClipPlayers = this.audioClipPlayers;
|
|
214
245
|
this.audioClipPlayers = (() => {
|
|
215
246
|
const clipPlayers = { ...previousClipPlayers };
|
|
216
|
-
const removedClips = Object.keys(previousClipPlayers).filter((previousFile) => !(previousFile in
|
|
247
|
+
const removedClips = Object.keys(previousClipPlayers).filter((previousFile) => !(previousFile in newAudioFiles) && !previousClipPlayers[previousFile].config.ephemeral);
|
|
217
248
|
removedClips.forEach((file) => {
|
|
218
249
|
const player = previousClipPlayers[file].player;
|
|
219
250
|
player.unload();
|
|
220
251
|
delete clipPlayers[file];
|
|
221
252
|
});
|
|
222
|
-
const addedClips = Object.entries(
|
|
253
|
+
const addedClips = Object.entries(newAudioFiles).filter(([newfile]) => !previousClipPlayers[newfile]);
|
|
223
254
|
addedClips.forEach(([path, config]) => {
|
|
224
|
-
clipPlayers[path] = createClip(path, { ...config, ephemeral: false });
|
|
255
|
+
clipPlayers[path] = this.createClip(path, { ...config, ephemeral: false });
|
|
225
256
|
});
|
|
226
|
-
const updatedClips = Object.keys(previousClipPlayers).filter((previousFile) => previousFile in
|
|
257
|
+
const updatedClips = Object.keys(previousClipPlayers).filter((previousFile) => previousFile in newAudioFiles);
|
|
227
258
|
updatedClips.forEach((path) => {
|
|
228
|
-
clipPlayers[path] = updatedClip(path, clipPlayers[path], { ...
|
|
259
|
+
clipPlayers[path] = this.updatedClip(path, clipPlayers[path], { ...newAudioFiles[path], ephemeral: false });
|
|
229
260
|
});
|
|
230
261
|
return clipPlayers;
|
|
231
262
|
})();
|
|
@@ -247,6 +278,9 @@ class AudioPlayer {
|
|
|
247
278
|
};
|
|
248
279
|
this.dispatchEvent('state', audioState);
|
|
249
280
|
}
|
|
281
|
+
notifyClipStateListeners(playId, file, status) {
|
|
282
|
+
this.dispatchEvent('audioClipState', { mediaType: 'audio', playId, file, status });
|
|
283
|
+
}
|
|
250
284
|
// Type-safe wrapper around EventTarget
|
|
251
285
|
addEventListener(type, listener, options) {
|
|
252
286
|
this.eventTarget.addEventListener(type, listener, options);
|
|
@@ -257,33 +291,34 @@ class AudioPlayer {
|
|
|
257
291
|
dispatchEvent(type, detail) {
|
|
258
292
|
this.eventTarget.dispatchEvent(new CustomEvent(type, { detail }));
|
|
259
293
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
}
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
294
|
+
createPlayer(path, config) {
|
|
295
|
+
const player = new howler_1.Howl({
|
|
296
|
+
src: urls_1.assetUrl(path),
|
|
297
|
+
autoplay: false,
|
|
298
|
+
loop: false,
|
|
299
|
+
volume: 1,
|
|
300
|
+
html5: !config.preload,
|
|
301
|
+
preload: config.preload,
|
|
302
|
+
});
|
|
303
|
+
return player;
|
|
304
|
+
}
|
|
305
|
+
createClip(file, config) {
|
|
306
|
+
return {
|
|
307
|
+
config,
|
|
308
|
+
player: this.createPlayer(file, config),
|
|
309
|
+
activeClips: {},
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
updatedClip(clipPath, previousClip, newConfig) {
|
|
313
|
+
const clip = { ...previousClip, config: newConfig };
|
|
314
|
+
if (previousClip.config.preload !== newConfig.preload) {
|
|
315
|
+
clip.player.unload();
|
|
316
|
+
clip.player = this.createPlayer(clipPath, newConfig);
|
|
317
|
+
}
|
|
318
|
+
return clip;
|
|
284
319
|
}
|
|
285
|
-
return clip;
|
|
286
320
|
}
|
|
321
|
+
exports.default = AudioPlayer;
|
|
287
322
|
function isFadeValid(fade) {
|
|
288
323
|
return typeof fade === 'number' && !isNaN(fade) && fade > 0;
|
|
289
324
|
}
|
package/dist/AudioPlayer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AudioPlayer.js","sourceRoot":"","sources":["../src/AudioPlayer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AudioPlayer.js","sourceRoot":"","sources":["../src/AudioPlayer.ts"],"names":[],"mappings":"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"}
|
package/dist/CogsConnection.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ConfigValue, EventKeyValue, EventValue, PortValue, ShowPhase } from './types/valueTypes';
|
|
2
2
|
import CogsClientMessage from './types/CogsClientMessage';
|
|
3
|
+
import MediaClipStateMessage from './types/MediaClipStateMessage';
|
|
4
|
+
import AllMediaClipStatesMessage from './types/AllMediaClipStatesMessage';
|
|
3
5
|
interface ConnectionEventListeners<CustomTypes extends {
|
|
4
6
|
config?: {
|
|
5
7
|
[configKey: string]: ConfigValue;
|
|
@@ -62,6 +64,8 @@ export default class CogsConnection<CustomTypes extends {
|
|
|
62
64
|
close(): void;
|
|
63
65
|
sendEvent<EventName extends keyof CustomTypes['outputEvents']>(eventName: EventName, ...[eventValue]: CustomTypes['outputEvents'][EventName] extends null ? [] : [CustomTypes['outputEvents'][EventName]]): void;
|
|
64
66
|
setOutputPortValues(values: Partial<CustomTypes['outputPorts']>): void;
|
|
67
|
+
sendInitialMediaClipStates(allMediaClipStates: AllMediaClipStatesMessage): void;
|
|
68
|
+
sendMediaClipState(mediaClipState: MediaClipStateMessage): void;
|
|
65
69
|
addEventListener<EventName extends keyof ConnectionEventListeners<CustomTypes>, EventValue extends ConnectionEventListeners<CustomTypes>[EventName]>(type: EventName, listener: (ev: CustomEvent<EventValue>) => void, options?: boolean | AddEventListenerOptions): void;
|
|
66
70
|
removeEventListener<EventName extends keyof ConnectionEventListeners<CustomTypes>, EventValue extends ConnectionEventListeners<CustomTypes>[EventName]>(type: EventName, listener: (ev: CustomEvent<EventValue>) => void, options?: boolean | EventListenerOptions): void;
|
|
67
71
|
private dispatchEvent;
|
package/dist/CogsConnection.js
CHANGED
|
@@ -23,26 +23,6 @@ class CogsConnection {
|
|
|
23
23
|
this.currentInputPortValues = {}; // Received on open connection
|
|
24
24
|
this.dispatchEvent('open', undefined);
|
|
25
25
|
this.setOutputPortValues(this.currentOutputPortValues);
|
|
26
|
-
this.addEventListener('config', ({ detail: config }) => {
|
|
27
|
-
this.currentConfig = config;
|
|
28
|
-
});
|
|
29
|
-
this.addEventListener('updates', ({ detail: updates }) => {
|
|
30
|
-
this.currentInputPortValues = { ...this.currentInputPortValues, ...updates };
|
|
31
|
-
});
|
|
32
|
-
this.addEventListener('message', ({ detail: message }) => {
|
|
33
|
-
switch (message.type) {
|
|
34
|
-
case 'adjustable_timer_update':
|
|
35
|
-
this._timerState = {
|
|
36
|
-
startedAt: Date.now(),
|
|
37
|
-
durationMillis: message.durationMillis,
|
|
38
|
-
ticking: message.ticking,
|
|
39
|
-
};
|
|
40
|
-
break;
|
|
41
|
-
case 'show_phase':
|
|
42
|
-
this._showPhase = message.phase;
|
|
43
|
-
break;
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
26
|
};
|
|
47
27
|
this.websocket.onclose = () => {
|
|
48
28
|
this.dispatchEvent('close', undefined);
|
|
@@ -52,15 +32,29 @@ class CogsConnection {
|
|
|
52
32
|
const parsed = JSON.parse(data);
|
|
53
33
|
try {
|
|
54
34
|
if (parsed.config) {
|
|
55
|
-
this.
|
|
35
|
+
this.currentConfig = parsed.config;
|
|
36
|
+
this.dispatchEvent('config', this.currentConfig);
|
|
56
37
|
}
|
|
57
38
|
else if (parsed.updates) {
|
|
58
|
-
this.
|
|
39
|
+
this.currentInputPortValues = { ...this.currentInputPortValues, ...parsed.updates };
|
|
40
|
+
this.dispatchEvent('updates', this.currentInputPortValues);
|
|
59
41
|
}
|
|
60
42
|
else if (parsed.event && parsed.event.key) {
|
|
61
43
|
this.dispatchEvent('event', parsed.event);
|
|
62
44
|
}
|
|
63
45
|
else if (typeof parsed.message === 'object') {
|
|
46
|
+
switch (parsed.message.type) {
|
|
47
|
+
case 'adjustable_timer_update':
|
|
48
|
+
this._timerState = {
|
|
49
|
+
startedAt: Date.now(),
|
|
50
|
+
durationMillis: parsed.message.durationMillis,
|
|
51
|
+
ticking: parsed.message.ticking,
|
|
52
|
+
};
|
|
53
|
+
break;
|
|
54
|
+
case 'show_phase':
|
|
55
|
+
this._showPhase = parsed.message.phase;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
64
58
|
this.dispatchEvent('message', parsed.message);
|
|
65
59
|
}
|
|
66
60
|
}
|
|
@@ -110,6 +104,16 @@ class CogsConnection {
|
|
|
110
104
|
this.websocket.send(JSON.stringify({ updates: values }));
|
|
111
105
|
}
|
|
112
106
|
}
|
|
107
|
+
sendInitialMediaClipStates(allMediaClipStates) {
|
|
108
|
+
if (this.isConnected) {
|
|
109
|
+
this.websocket.send(JSON.stringify({ allMediaClipStates }));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
sendMediaClipState(mediaClipState) {
|
|
113
|
+
if (this.isConnected) {
|
|
114
|
+
this.websocket.send(JSON.stringify({ mediaClipState }));
|
|
115
|
+
}
|
|
116
|
+
}
|
|
113
117
|
// Type-safe wrapper around EventTarget
|
|
114
118
|
addEventListener(type, listener, options) {
|
|
115
119
|
this.eventTarget.addEventListener(type, listener, options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CogsConnection.js","sourceRoot":"","sources":["../src/CogsConnection.ts"],"names":[],"mappings":";;;;;AAAA,mDAAkG;AAClG,oFAA2D;AAE3D,yCAAkD;
|
|
1
|
+
{"version":3,"file":"CogsConnection.js","sourceRoot":"","sources":["../src/CogsConnection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import CogsConnection from './CogsConnection';
|
|
2
|
+
import { VideoState } from './types/VideoState';
|
|
3
|
+
import MediaClipStateMessage from './types/MediaClipStateMessage';
|
|
4
|
+
import { MediaObjectFit } from '.';
|
|
5
|
+
declare type EventTypes = {
|
|
6
|
+
state: VideoState;
|
|
7
|
+
videoClipState: MediaClipStateMessage;
|
|
8
|
+
};
|
|
9
|
+
export default class VideoPlayer {
|
|
10
|
+
private eventTarget;
|
|
11
|
+
private globalVolume;
|
|
12
|
+
private videoClipPlayers;
|
|
13
|
+
private activeClip?;
|
|
14
|
+
private parentElement;
|
|
15
|
+
constructor(cogsConnection: CogsConnection, parentElement?: HTMLElement);
|
|
16
|
+
setParentElement(parentElement: HTMLElement): void;
|
|
17
|
+
resetParentElement(): void;
|
|
18
|
+
setGlobalVolume(globalVolume: number): void;
|
|
19
|
+
playVideoClip(path: string, { playId, volume, loop, fit }: {
|
|
20
|
+
playId: string;
|
|
21
|
+
volume: number;
|
|
22
|
+
loop: boolean;
|
|
23
|
+
fit: MediaObjectFit;
|
|
24
|
+
}): void;
|
|
25
|
+
pauseVideoClip(): void;
|
|
26
|
+
stopVideoClip(): void;
|
|
27
|
+
setVideoClipVolume({ volume }: {
|
|
28
|
+
volume: number;
|
|
29
|
+
}): void;
|
|
30
|
+
setVideoClipLoop({ loop }: {
|
|
31
|
+
loop: true | undefined;
|
|
32
|
+
}): void;
|
|
33
|
+
setVideoClipFit({ fit }: {
|
|
34
|
+
fit: MediaObjectFit;
|
|
35
|
+
}): void;
|
|
36
|
+
private handleStoppedClip;
|
|
37
|
+
private updateVideoClipPlayer;
|
|
38
|
+
private updateConfig;
|
|
39
|
+
private notifyStateListeners;
|
|
40
|
+
private notifyClipStateListeners;
|
|
41
|
+
addEventListener<EventName extends keyof EventTypes>(type: EventName, listener: (ev: CustomEvent<EventTypes[EventName]>) => void, options?: boolean | AddEventListenerOptions): void;
|
|
42
|
+
removeEventListener<EventName extends keyof EventTypes>(type: EventName, listener: (ev: CustomEvent<EventTypes[EventName]>) => void, options?: boolean | EventListenerOptions): void;
|
|
43
|
+
private dispatchEvent;
|
|
44
|
+
private createVideoElement;
|
|
45
|
+
private createClipPlayer;
|
|
46
|
+
private unloadClip;
|
|
47
|
+
}
|
|
48
|
+
export {};
|