@clockworkdog/cogs-client 1.0.0-rc.5 → 1.0.0-rc.8

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.
@@ -17,10 +17,12 @@ export default class AudioPlayer {
17
17
  fade?: number;
18
18
  loop: boolean;
19
19
  }): void;
20
- pauseAudioClip(path: string, fade?: number): void;
20
+ pauseAudioClip(path: string, { fade }: {
21
+ fade?: number;
22
+ }, onlySoundId?: number, allowIfPauseRequested?: boolean): void;
21
23
  stopAudioClip(path: string, { fade }: {
22
24
  fade?: number;
23
- }): void;
25
+ }, onlySoundId?: number, allowIfStopRequested?: boolean): void;
24
26
  stopAllAudioClips(options: {
25
27
  fade?: number;
26
28
  }): void;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const howler_1 = require("howler");
4
4
  const urls_1 = require("./helpers/urls");
5
- const AudioState_1 = require("./types/AudioState");
5
+ const DEBUG = true;
6
6
  class AudioPlayer {
7
7
  constructor(cogsConnection) {
8
8
  this.eventTarget = new EventTarget();
@@ -17,7 +17,9 @@ class AudioPlayer {
17
17
  const message = event.detail;
18
18
  switch (message.type) {
19
19
  case 'media_config_update':
20
- this.setGlobalVolume(message.globalVolume);
20
+ if (this.globalVolume !== message.globalVolume) {
21
+ this.setGlobalVolume(message.globalVolume);
22
+ }
21
23
  this.updateConfig(message.files);
22
24
  break;
23
25
  case 'audio_play':
@@ -29,7 +31,7 @@ class AudioPlayer {
29
31
  });
30
32
  break;
31
33
  case 'audio_pause':
32
- this.pauseAudioClip(message.file, message.fade);
34
+ this.pauseAudioClip(message.file, { fade: message.fade });
33
35
  break;
34
36
  case 'audio_stop':
35
37
  if (message.file) {
@@ -49,9 +51,14 @@ class AudioPlayer {
49
51
  const sendInitialClipStates = () => {
50
52
  const files = Object.entries(this.audioClipPlayers).map(([file, player]) => {
51
53
  const activeClips = Object.values(player.activeClips);
52
- const status = activeClips.some(({ state }) => state === AudioState_1.ActiveAudioClipState.Playing)
54
+ const status = activeClips.some(({ state }) => state.type === 'playing' ||
55
+ state.type === 'pausing' ||
56
+ state.type === 'stopping' ||
57
+ state.type === 'play_requested' ||
58
+ state.type === 'pause_requested' ||
59
+ state.type === 'stop_requested')
53
60
  ? 'playing'
54
- : activeClips.some(({ state }) => state === AudioState_1.ActiveAudioClipState.Paused || state === AudioState_1.ActiveAudioClipState.Pausing)
61
+ : activeClips.some(({ state }) => state.type === 'paused')
55
62
  ? 'paused'
56
63
  : 'stopped';
57
64
  return [file, status];
@@ -67,20 +74,29 @@ class AudioPlayer {
67
74
  this.notifyStateListeners();
68
75
  }
69
76
  playAudioClip(path, { playId, volume, fade, loop }) {
77
+ log('Playing clip', { path });
70
78
  if (!(path in this.audioClipPlayers)) {
79
+ log('Creating ephemeral clip', { path });
71
80
  this.audioClipPlayers[path] = this.createClip(path, { preload: false, ephemeral: true });
72
81
  }
73
82
  this.updateAudioClipPlayer(path, (clipPlayer) => {
83
+ // Paused clips need to be played again
74
84
  const pausedSoundIds = Object.entries(clipPlayer.activeClips)
75
- .filter(([, { state }]) => state === AudioState_1.ActiveAudioClipState.Paused || state === AudioState_1.ActiveAudioClipState.Pausing)
85
+ .filter(([, { state }]) => state.type === 'paused' || state.type === 'pausing')
76
86
  .map(([id]) => parseInt(id));
77
- // Paused clips need to be played again
78
87
  pausedSoundIds.forEach((soundId) => {
88
+ log('Resuming paused clip', { soundId });
79
89
  clipPlayer.player.play(soundId);
80
90
  });
81
- // If no currently paused/pausing clips, play a new clip
82
- const newSoundIds = pausedSoundIds.length > 0 ? [] : [clipPlayer.player.play()];
83
- [...pausedSoundIds, ...newSoundIds].forEach((soundId) => {
91
+ // Clips with pause requested no longer need to pause, they can continue playing now
92
+ const pauseRequestedSoundIds = Object.entries(clipPlayer.activeClips)
93
+ .filter(([, { state }]) => state.type === 'pause_requested')
94
+ .map(([id]) => parseInt(id));
95
+ // If no currently paused/pausing/pause_requested clips, play a new clip
96
+ const newSoundIds = pausedSoundIds.length > 0 || pauseRequestedSoundIds.length > 0 ? [] : [clipPlayer.player.play()];
97
+ // paused and pause_requested clips treated the same, they should have their properties
98
+ // updated with the latest play action's properties
99
+ [...pausedSoundIds, ...pauseRequestedSoundIds, ...newSoundIds].forEach((soundId) => {
84
100
  clipPlayer.player.loop(loop, soundId);
85
101
  // Cleanup any old callbacks first
86
102
  clipPlayer.player.off('play', undefined, soundId);
@@ -88,26 +104,39 @@ class AudioPlayer {
88
104
  clipPlayer.player.off('fade', undefined, soundId);
89
105
  clipPlayer.player.off('end', undefined, soundId);
90
106
  clipPlayer.player.off('stop', undefined, soundId);
91
- clipPlayer.player.once('stop', () => {
92
- this.handleStoppedClip(path, soundId);
93
- this.notifyClipStateListeners(playId, path, 'stopped');
94
- }, soundId);
107
+ clipPlayer.player.once('stop', () => this.handleStoppedClip(path, playId, soundId), soundId);
95
108
  // Looping clips fire the 'end' callback on every loop
96
109
  clipPlayer.player.on('end', () => {
97
110
  var _a;
98
111
  if (!((_a = clipPlayer.activeClips[soundId]) === null || _a === void 0 ? void 0 : _a.loop)) {
99
- this.handleStoppedClip(path, soundId);
100
- this.notifyClipStateListeners(playId, path, 'stopped');
112
+ this.handleStoppedClip(path, playId, soundId);
101
113
  }
102
114
  }, soundId);
103
115
  const activeClip = {
104
116
  playId,
105
- state: AudioState_1.ActiveAudioClipState.Playing,
117
+ state: { type: 'play_requested' },
106
118
  loop,
107
119
  volume,
108
120
  };
109
- // Start fade when clip starts
121
+ // Once clip starts, check if it should actually be paused or stopped
122
+ // If not, then update state to 'playing'
123
+ clipPlayer.player.once('play', () => {
124
+ const clipState = clipPlayer.activeClips[soundId].state;
125
+ if (clipState.type === 'pause_requested') {
126
+ log('Clip started playing but should be paused', { path, soundId });
127
+ this.pauseAudioClip(path, { fade: clipState.fade }, soundId, true);
128
+ }
129
+ else if (clipState.type === 'stop_requested') {
130
+ log('Clip started playing but should be stopped', { path, soundId });
131
+ this.stopAudioClip(path, { fade: clipState.fade }, soundId, true);
132
+ }
133
+ else {
134
+ this.updateActiveAudioClip(path, soundId, (clip) => ({ ...clip, state: { type: 'playing' } }));
135
+ }
136
+ }, soundId);
137
+ // To fade or to no fade?
110
138
  if (isFadeValid(fade)) {
139
+ // Start fade when clip starts
111
140
  clipPlayer.player.volume(0, soundId);
112
141
  clipPlayer.player.once('play', () => {
113
142
  clipPlayer.player.fade(0, volume, fade * 1000, soundId);
@@ -116,106 +145,135 @@ class AudioPlayer {
116
145
  else {
117
146
  clipPlayer.player.volume(volume, soundId);
118
147
  }
119
- // Track new active clip
148
+ // Track new/updated active clip
120
149
  clipPlayer.activeClips = { ...clipPlayer.activeClips, [soundId]: activeClip };
121
150
  });
122
151
  return clipPlayer;
123
152
  });
124
153
  this.notifyClipStateListeners(playId, path, 'playing');
125
154
  }
126
- pauseAudioClip(path, fade) {
155
+ pauseAudioClip(path, { fade }, onlySoundId, allowIfPauseRequested) {
156
+ var _a, _b;
157
+ // No active clips to pause
158
+ if (Object.keys((_b = (_a = this.audioClipPlayers[path]) === null || _a === void 0 ? void 0 : _a.activeClips) !== null && _b !== void 0 ? _b : {}).length === 0) {
159
+ return;
160
+ }
127
161
  this.updateAudioClipPlayer(path, (clipPlayer) => {
128
- return {
129
- ...clipPlayer,
130
- activeClips: Object.fromEntries(Object.entries(clipPlayer.activeClips)
131
- .filter(([, clip]) => clip.state === AudioState_1.ActiveAudioClipState.Playing)
132
- .map(([soundIdStr, clip]) => {
133
- const soundId = parseInt(soundIdStr);
134
- if (isFadeValid(fade)) {
135
- // Fade then pause
136
- clipPlayer.player.once('fade', (soundId) => {
162
+ clipPlayer.activeClips = Object.fromEntries(Object.entries(clipPlayer.activeClips).map(([soundIdStr, clip]) => {
163
+ const soundId = parseInt(soundIdStr);
164
+ // If onlySoundId specified, only update that clip
165
+ if (onlySoundId === undefined || onlySoundId === soundId) {
166
+ if ((allowIfPauseRequested && clip.state.type === 'pause_requested') || clip.state.type === 'playing' || clip.state.type === 'pausing') {
167
+ if (isFadeValid(fade)) {
168
+ // Fade then pause
169
+ clipPlayer.player.once('fade', (soundId) => {
170
+ clipPlayer.player.pause(soundId);
171
+ this.updateActiveAudioClip(path, soundId, (clip) => ({ ...clip, state: { type: 'paused' } }));
172
+ this.notifyClipStateListeners(clip.playId, path, 'paused');
173
+ }, soundId);
174
+ clipPlayer.player.fade(clipPlayer.player.volume(soundId), 0, fade * 1000, soundId);
175
+ clip.state = { type: 'pausing' };
176
+ }
177
+ else {
178
+ // Pause now
137
179
  clipPlayer.player.pause(soundId);
138
- this.updateActiveAudioClip(path, soundId, (clip) => ({ ...clip, state: AudioState_1.ActiveAudioClipState.Paused }));
139
- }, soundId);
140
- clipPlayer.player.fade(clipPlayer.player.volume(soundId), 0, fade * 1000, soundId);
141
- return [soundIdStr, { ...clip, state: AudioState_1.ActiveAudioClipState.Pausing }];
180
+ clip.state = { type: 'paused' };
181
+ this.notifyClipStateListeners(clip.playId, path, 'paused');
182
+ }
142
183
  }
143
- else {
144
- // Pause now
145
- clipPlayer.player.pause(soundId);
146
- return [soundId, { ...clip, state: AudioState_1.ActiveAudioClipState.Paused }];
184
+ // Clip hasn't started playing yet, or has already had pause_requested (but fade may have changed so update here)
185
+ else if (clip.state.type === 'play_requested' || clip.state.type === 'pause_requested') {
186
+ clip.state = { type: 'pause_requested', fade };
147
187
  }
148
- })),
149
- };
188
+ }
189
+ return [soundIdStr, clip];
190
+ }));
191
+ return clipPlayer;
150
192
  });
151
193
  }
152
- stopAudioClip(path, { fade }) {
153
- const clipPlayer = this.audioClipPlayers[path];
154
- if (!clipPlayer) {
194
+ stopAudioClip(path, { fade }, onlySoundId, allowIfStopRequested) {
195
+ var _a, _b;
196
+ // No active clips to stop
197
+ if (Object.keys((_b = (_a = this.audioClipPlayers[path]) === null || _a === void 0 ? void 0 : _a.activeClips) !== null && _b !== void 0 ? _b : {}).length === 0) {
155
198
  return;
156
199
  }
157
- const { player, activeClips } = clipPlayer;
158
- // Cleanup any old fade callbacks first
159
- player.off('fade');
160
- if (isFadeValid(fade)) {
161
- // Start fade out for each non-paused active clip
162
- Object.entries(activeClips).forEach(([soundIdStr, clip]) => {
200
+ this.updateAudioClipPlayer(path, (clipPlayer) => {
201
+ clipPlayer.activeClips = Object.fromEntries(Object.entries(clipPlayer.activeClips).map(([soundIdStr, clip]) => {
163
202
  const soundId = parseInt(soundIdStr);
164
- if (clip.state === AudioState_1.ActiveAudioClipState.Playing || clip.state === AudioState_1.ActiveAudioClipState.Pausing) {
165
- player.fade(player.volume(soundId), 0, fade * 1000, soundId);
166
- // Set callback after starting new fade, otherwise it will fire straight away as the previous fade is cancelled
167
- player.once('fade', (soundId) => player.stop(soundId), soundId);
168
- this.updateActiveAudioClip(path, soundId, (clip) => ({ ...clip, state: AudioState_1.ActiveAudioClipState.Stopping }));
169
- }
170
- else {
171
- player.stop(soundId);
203
+ // If onlySoundId specified, only update that clip
204
+ if (onlySoundId === undefined || onlySoundId === soundId) {
205
+ if ((allowIfStopRequested && clip.state.type === 'stop_requested') ||
206
+ clip.state.type === 'playing' ||
207
+ clip.state.type === 'pausing' ||
208
+ clip.state.type === 'paused' ||
209
+ clip.state.type === 'stopping') {
210
+ if (isFadeValid(fade) && clip.state.type !== 'paused') {
211
+ // Cleanup any old fade callbacks first
212
+ // TODO: Remove cast once https://github.com/DefinitelyTyped/DefinitelyTyped/pull/59411 is merged
213
+ clipPlayer.player.off('fade', soundId);
214
+ clipPlayer.player.fade(clipPlayer.player.volume(soundId), 0, fade * 1000, soundId);
215
+ // Set callback after starting new fade, otherwise it will fire straight away as the previous fade is cancelled
216
+ clipPlayer.player.once('fade', (soundId) => clipPlayer.player.stop(soundId), soundId);
217
+ clip.state = { type: 'stopping' };
218
+ }
219
+ else {
220
+ clipPlayer.player.stop(soundId);
221
+ }
222
+ }
223
+ // Clip hasn't started playing yet, or has already had stop_requested (but fade may have changed so update here)
224
+ // or has pause_requested, but stop takes precedence
225
+ else if (clip.state.type === 'play_requested' || clip.state.type === 'pause_requested' || clip.state.type === 'stop_requested') {
226
+ log("Trying to stop clip which hasn't started playing yet", { path, soundId });
227
+ clip.state = { type: 'stop_requested', fade };
228
+ }
172
229
  }
173
- });
174
- }
175
- else {
176
- Object.keys(activeClips).forEach((soundIdStr) => {
177
- const soundId = parseInt(soundIdStr);
178
- player.stop(soundId);
179
- });
180
- }
230
+ return [soundIdStr, clip];
231
+ }));
232
+ return clipPlayer;
233
+ });
181
234
  }
182
235
  stopAllAudioClips(options) {
236
+ log('Stopping all clips');
183
237
  Object.keys(this.audioClipPlayers).forEach((path) => {
184
238
  this.stopAudioClip(path, options);
185
239
  });
186
240
  }
187
241
  setAudioClipVolume(path, { volume, fade }) {
242
+ var _a, _b;
188
243
  if (!(volume >= 0 && volume <= 1)) {
189
244
  console.warn('Invalid volume', volume);
190
245
  return;
191
246
  }
247
+ // No active clips to set volume for
248
+ if (Object.keys((_b = (_a = this.audioClipPlayers[path]) === null || _a === void 0 ? void 0 : _a.activeClips) !== null && _b !== void 0 ? _b : {}).length === 0) {
249
+ return;
250
+ }
192
251
  this.updateAudioClipPlayer(path, (clipPlayer) => {
193
- return {
194
- ...clipPlayer,
195
- activeClips: Object.fromEntries(Object.entries(clipPlayer.activeClips).map(([soundIdStr, clip]) => {
196
- // Ignored for pausing/stopping instances
197
- if (clip.state === AudioState_1.ActiveAudioClipState.Playing || clip.state === AudioState_1.ActiveAudioClipState.Paused) {
198
- const soundId = parseInt(soundIdStr);
199
- if (isFadeValid(fade)) {
200
- clipPlayer.player.fade(clipPlayer.player.volume(soundId), volume, fade * 1000);
201
- }
202
- else {
203
- clipPlayer.player.volume(volume);
204
- }
205
- return [soundIdStr, { ...clip, volume }];
252
+ clipPlayer.activeClips = Object.fromEntries(Object.entries(clipPlayer.activeClips).map(([soundIdStr, clip]) => {
253
+ // Ignored for pausing/stopping instances
254
+ if (clip.state.type !== 'pausing' && clip.state.type !== 'stopping') {
255
+ const soundId = parseInt(soundIdStr);
256
+ if (isFadeValid(fade)) {
257
+ clipPlayer.player.fade(clipPlayer.player.volume(soundId), volume, fade * 1000);
206
258
  }
207
259
  else {
208
- return [soundIdStr, clip];
260
+ clipPlayer.player.volume(volume);
209
261
  }
210
- })),
211
- };
262
+ return [soundIdStr, { ...clip, volume }];
263
+ }
264
+ else {
265
+ return [soundIdStr, clip];
266
+ }
267
+ }));
268
+ return clipPlayer;
212
269
  });
213
270
  }
214
- handleStoppedClip(path, soundId) {
271
+ handleStoppedClip(path, playId, soundId) {
215
272
  this.updateAudioClipPlayer(path, (clipPlayer) => {
216
273
  delete clipPlayer.activeClips[soundId];
217
274
  return clipPlayer;
218
275
  });
276
+ this.notifyClipStateListeners(playId, path, 'stopped');
219
277
  }
220
278
  updateActiveAudioClip(path, soundId, update) {
221
279
  this.updateAudioClipPlayer(path, (clipPlayer) => soundId in clipPlayer.activeClips
@@ -236,7 +294,8 @@ class AudioPlayer {
236
294
  this.notifyStateListeners();
237
295
  }
238
296
  updateConfig(newFiles) {
239
- const newAudioFiles = Object.fromEntries(Object.entries(newFiles).filter(([, { type }]) => {
297
+ const newAudioFiles = Object.fromEntries(Object.entries(newFiles).filter((file) => {
298
+ const type = file[1].type;
240
299
  // COGS 4.6 did not send a `type` but only reported audio files
241
300
  // so we assume audio if no `type` is given
242
301
  return type === 'audio' || !type;
@@ -270,7 +329,7 @@ class AudioPlayer {
270
329
  };
271
330
  return clips;
272
331
  }, {});
273
- const isPlaying = Object.values(this.audioClipPlayers).some(({ activeClips }) => Object.values(activeClips).some((clip) => clip.state === AudioState_1.ActiveAudioClipState.Playing));
332
+ const isPlaying = Object.values(this.audioClipPlayers).some(({ activeClips }) => Object.values(activeClips).some((clip) => clip.state.type === 'playing' || clip.state.type === 'pausing' || clip.state.type === 'stopping'));
274
333
  const audioState = {
275
334
  globalVolume: this.globalVolume,
276
335
  isPlaying,
@@ -298,7 +357,6 @@ class AudioPlayer {
298
357
  loop: false,
299
358
  volume: 1,
300
359
  html5: !config.preload,
301
- preload: config.preload,
302
360
  });
303
361
  return player;
304
362
  }
@@ -319,6 +377,11 @@ class AudioPlayer {
319
377
  }
320
378
  }
321
379
  exports.default = AudioPlayer;
380
+ function log(...data) {
381
+ if (DEBUG) {
382
+ console.log(...data);
383
+ }
384
+ }
322
385
  function isFadeValid(fade) {
323
386
  return typeof fade === 'number' && !isNaN(fade) && fade > 0;
324
387
  }
@@ -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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"}
@@ -16,7 +16,7 @@ class CogsConnection {
16
16
  this._timerState = null;
17
17
  this.currentOutputPortValues = { ...outputPortValues };
18
18
  const { useReconnectingWebsocket, path, pathParams } = websocketParametersFromUrl(document.location.href);
19
- const socketUrl = `ws://${hostname}:${port}${path}?${pathParams}`;
19
+ const socketUrl = `ws://${hostname}:${port}${path}${pathParams ? '?' + pathParams : ''}`;
20
20
  this.websocket = useReconnectingWebsocket ? new reconnecting_websocket_1.default(socketUrl) : new WebSocket(socketUrl);
21
21
  this.websocket.onopen = () => {
22
22
  this.currentConfig = {}; // Received on open connection
@@ -127,13 +127,14 @@ class CogsConnection {
127
127
  }
128
128
  exports.default = CogsConnection;
129
129
  function websocketParametersFromUrl(url) {
130
- var _a, _b, _c;
130
+ var _a, _b, _c, _d, _e;
131
131
  const parsedUrl = new URL(url);
132
132
  const pathParams = new URLSearchParams(parsedUrl.searchParams);
133
133
  const localClientId = pathParams.get('local_id');
134
134
  const isSimulator = pathParams.get('simulator') === 'true';
135
+ const display = (_a = pathParams.get('display')) !== null && _a !== void 0 ? _a : '';
135
136
  if (localClientId) {
136
- const type = (_a = pathParams.get('t')) !== null && _a !== void 0 ? _a : '';
137
+ const type = (_b = pathParams.get('t')) !== null && _b !== void 0 ? _b : '';
137
138
  pathParams.delete('local_id');
138
139
  return {
139
140
  path: `/client/local/${encodeURIComponent(localClientId)}`,
@@ -142,13 +143,19 @@ function websocketParametersFromUrl(url) {
142
143
  };
143
144
  }
144
145
  else if (isSimulator) {
145
- const name = (_b = pathParams.get('name')) !== null && _b !== void 0 ? _b : '';
146
+ const name = (_c = pathParams.get('name')) !== null && _c !== void 0 ? _c : '';
146
147
  pathParams.delete('simulator');
147
148
  pathParams.delete('name');
148
149
  return { path: `/simulator/${encodeURIComponent(name)}`, pathParams, useReconnectingWebsocket: true };
149
150
  }
151
+ else if (display) {
152
+ const displayIdIndex = (_d = pathParams.get('displayIdIndex')) !== null && _d !== void 0 ? _d : '';
153
+ pathParams.delete('display');
154
+ pathParams.delete('displayIdIndex');
155
+ return { path: `/display/${encodeURIComponent(display)}/${encodeURIComponent(displayIdIndex)}` };
156
+ }
150
157
  else {
151
- const serial = (_c = pathParams.get('serial')) !== null && _c !== void 0 ? _c : '';
158
+ const serial = (_e = pathParams.get('serial')) !== null && _e !== void 0 ? _e : '';
152
159
  pathParams.delete('serial');
153
160
  return { path: `/client/${encodeURIComponent(serial)}`, pathParams };
154
161
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CogsConnection.js","sourceRoot":"","sources":["../src/CogsConnection.ts"],"names":[],"mappings":";;;;;AAAA,mDAAkG;AAClG,oFAA2D;AAE3D,yCAAkD;AAqBlD,MAAqB,cAAc;IAqCjC,YACE,EAAE,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,GAAG,uBAAgB,KAA2C,EAAE,EAC7G,mBAA+C,SAAS;QA7BlD,gBAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAEhC,kBAAa,GAA0B,EAAwC,CAAC,CAAC,8BAA8B;QAK/G,2BAAsB,GAA8B,EAA4C,CAAC,CAAC,8BAA8B;QAKhI,4BAAuB,GAA+B,EAA6C,CAAC,CAAC,0BAA0B;QAK/H,eAAU,GAAc,sBAAS,CAAC,KAAK,CAAC;QAKxC,gBAAW,GAAsB,IAAI,CAAC;QAS5C,IAAI,CAAC,uBAAuB,GAAG,EAAE,GAAG,gBAAgB,EAAE,CAAC;QACvD,MAAM,EAAE,wBAAwB,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,0BAA0B,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1G,MAAM,SAAS,GAAG,QAAQ,QAAQ,IAAI,IAAI,GAAG,IAAI,IAAI,UAAU,EAAE,CAAC;QAClE,IAAI,CAAC,SAAS,GAAG,wBAAwB,CAAC,CAAC,CAAC,IAAI,gCAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;QAE5G,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE;YAC3B,IAAI,CAAC,aAAa,GAAG,EAA2B,CAAC,CAAC,8BAA8B;YAChF,IAAI,CAAC,sBAAsB,GAAG,EAA+B,CAAC,CAAC,8BAA8B;YAE7F,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACtC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,uBAAkE,CAAC,CAAC;QACpG,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;YAC5B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACtC,IAAI;gBACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAEhC,IAAI;oBACF,IAAI,MAAM,CAAC,MAAM,EAAE;wBACjB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;wBACnC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;qBAClD;yBAAM,IAAI,MAAM,CAAC,OAAO,EAAE;wBACzB,IAAI,CAAC,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;wBACpF,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;qBAC5D;yBAAM,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;wBAC3C,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;qBAC3C;yBAAM,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;wBAC7C,QAAQ,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE;4BAC3B,KAAK,yBAAyB;gCAC5B,IAAI,CAAC,WAAW,GAAG;oCACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oCACrB,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc;oCAC7C,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;iCAChC,CAAC;gCACF,MAAM;4BACR,KAAK,YAAY;gCACf,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;gCACvC,MAAM;yBACT;wBAED,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;qBAC/C;iBACF;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;iBAC9C;aACF;YAAC,OAAO,CAAC,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,2CAA2C,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;aACrE;QACH,CAAC,CAAC;IACJ,CAAC;IAjFD,IAAW,MAAM;QACf,OAAO,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;IAGD,IAAW,eAAe;QACxB,OAAO,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAC5C,CAAC;IAGD,IAAW,gBAAgB;QACzB,OAAO,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;IAC7C,CAAC;IAGD,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAGD,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC;IA6DD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,CAAC;IACtD,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEM,SAAS,CACd,SAAoB,EACpB,GAAG,CAAC,UAAU,CAAsG;QAEpH,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,IAAI,CAAC,SAAS,CAAC;gBACb,KAAK,EAAE;oBACL,GAAG,EAAE,SAAS;oBACd,KAAK,EAAE,UAAU;iBAClB;aACF,CAAC,CACH,CAAC;SACH;IACH,CAAC;IAEM,mBAAmB,CAAC,MAA2C;QACpE,IAAI,CAAC,uBAAuB,GAAG,EAAE,GAAG,IAAI,CAAC,uBAAuB,EAAE,GAAG,MAAM,EAAE,CAAC;QAC9E,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;SAC1D;IACH,CAAC;IAED,0BAA0B,CAAC,kBAA6C;QACtE,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;SAC7D;IACH,CAAC;IAED,kBAAkB,CAAC,cAAqC;QACtD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;SACzD;IACH,CAAC;IAED,uCAAuC;IAChC,gBAAgB,CAGrB,IAAe,EAAE,QAA+C,EAAE,OAA2C;QAC7G,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAyB,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IACM,mBAAmB,CAGxB,IAAe,EAAE,QAA+C,EAAE,OAAwC;QAC1G,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,EAAE,QAAyB,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IACO,aAAa,CACnB,IAAe,EACf,MAAwD;QAExD,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;CACF;AA9JD,iCA8JC;AAED,SAAS,0BAA0B,CAAC,GAAW;;IAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC/D,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC;IAE3D,IAAI,aAAa,EAAE;QACjB,MAAM,IAAI,SAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;QACvC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,iBAAiB,kBAAkB,CAAC,aAAa,CAAC,EAAE;YAC1D,UAAU,EAAE,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;YAC5C,wBAAwB,EAAE,IAAI;SAC/B,CAAC;KACH;SAAM,IAAI,WAAW,EAAE;QACtB,MAAM,IAAI,SAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;QAC1C,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/B,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC;KACvG;SAAM;QACL,MAAM,MAAM,SAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC;QAC9C,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,WAAW,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC;KACtE;AACH,CAAC"}
1
+ {"version":3,"file":"CogsConnection.js","sourceRoot":"","sources":["../src/CogsConnection.ts"],"names":[],"mappings":"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"}
@@ -83,7 +83,7 @@ class VideoPlayer {
83
83
  }
84
84
  else {
85
85
  if (!this.videoClipPlayers[path]) {
86
- this.videoClipPlayers[path] = this.createClipPlayer(path, { preload: false, ephemeral: true, fit });
86
+ this.videoClipPlayers[path] = this.createClipPlayer(path, { preload: 'none', ephemeral: true, fit });
87
87
  }
88
88
  }
89
89
  this.activeClip = { path, playId };
@@ -204,13 +204,17 @@ class VideoPlayer {
204
204
  });
205
205
  const addedClips = Object.entries(newVideoPaths).filter(([newFile]) => !previousClipPlayers[newFile]);
206
206
  addedClips.forEach(([path, config]) => {
207
- clipPlayers[path] = this.createClipPlayer(path, { ...config, ephemeral: false, fit: 'contain' });
207
+ clipPlayers[path] = this.createClipPlayer(path, { ...config, preload: preloadString(config.preload), ephemeral: false, fit: 'contain' });
208
208
  });
209
209
  const updatedClips = Object.entries(previousClipPlayers).filter(([previousPath]) => previousPath in newVideoPaths);
210
210
  updatedClips.forEach(([path, previousClipPlayer]) => {
211
211
  if (previousClipPlayer.config.preload !== newVideoPaths[path].preload) {
212
212
  this.updateVideoClipPlayer(path, (player) => {
213
- player.config = { ...player.config, preload: newVideoPaths[path].preload, ephemeral: false };
213
+ player.config = {
214
+ ...player.config,
215
+ preload: preloadString(newVideoPaths[path].preload),
216
+ ephemeral: false,
217
+ };
214
218
  player.videoElement.preload = player.config.preload ? 'auto' : 'none';
215
219
  return player;
216
220
  });
@@ -256,7 +260,7 @@ class VideoPlayer {
256
260
  videoElement.autoplay = false;
257
261
  videoElement.loop = false;
258
262
  videoElement.volume = this.globalVolume * volume;
259
- videoElement.preload = config.preload ? 'auto' : 'none';
263
+ videoElement.preload = config.preload;
260
264
  videoElement.addEventListener('playing', () => {
261
265
  var _a;
262
266
  if (((_a = this.activeClip) === null || _a === void 0 ? void 0 : _a.path) === path) {
@@ -298,4 +302,7 @@ class VideoPlayer {
298
302
  }
299
303
  }
300
304
  exports.default = VideoPlayer;
305
+ function preloadString(preload) {
306
+ return typeof preload === 'string' ? preload : preload ? 'metadata' : 'none';
307
+ }
301
308
  //# sourceMappingURL=VideoPlayer.js.map