@needle-tools/engine 2.63.3-pre → 2.64.0-pre
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/CHANGELOG.md +13 -0
- package/dist/needle-engine.js +9760 -9635
- package/dist/needle-engine.umd.cjs +237 -236
- package/lib/engine/engine_application.d.ts +7 -1
- package/lib/engine/engine_application.js +11 -0
- package/lib/engine/engine_application.js.map +1 -1
- package/lib/engine/engine_constants.d.ts +1 -1
- package/lib/engine/engine_constants.js +1 -1
- package/lib/engine/engine_constants.js.map +1 -1
- package/lib/engine/engine_gameobject.js +2 -2
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_instancing.d.ts +1 -0
- package/lib/engine/engine_instancing.js +3 -2
- package/lib/engine/engine_instancing.js.map +1 -1
- package/lib/engine/engine_license.js +14 -13
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_mainloop_utils.js +27 -52
- package/lib/engine/engine_mainloop_utils.js.map +1 -1
- package/lib/engine/engine_physics.d.ts +1 -0
- package/lib/engine/engine_physics.js +30 -0
- package/lib/engine/engine_physics.js.map +1 -1
- package/lib/engine/engine_serialization_builtin_serializer.d.ts +1 -0
- package/lib/engine/engine_serialization_builtin_serializer.js +30 -25
- package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
- package/lib/engine/engine_serialization_core.js +8 -0
- package/lib/engine/engine_serialization_core.js.map +1 -1
- package/lib/engine/engine_setup.d.ts +1 -1
- package/lib/engine/engine_setup.js.map +1 -1
- package/lib/engine/engine_time.d.ts +1 -0
- package/lib/engine/engine_time.js +5 -1
- package/lib/engine/engine_time.js.map +1 -1
- package/lib/engine/engine_types.d.ts +12 -0
- package/lib/engine/engine_types.js.map +1 -1
- package/lib/engine-components/Animation.js +6 -6
- package/lib/engine-components/Animation.js.map +1 -1
- package/lib/engine-components/AnimatorController.js +2 -0
- package/lib/engine-components/AnimatorController.js.map +1 -1
- package/lib/engine-components/AudioListener.js +2 -0
- package/lib/engine-components/AudioListener.js.map +1 -1
- package/lib/engine-components/AudioSource.d.ts +2 -1
- package/lib/engine-components/AudioSource.js +19 -4
- package/lib/engine-components/AudioSource.js.map +1 -1
- package/lib/engine-components/Component.d.ts +1 -0
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/GridHelper.d.ts +1 -0
- package/lib/engine-components/GridHelper.js +7 -0
- package/lib/engine-components/GridHelper.js.map +1 -1
- package/lib/engine-components/ParticleSystem.js +13 -1
- package/lib/engine-components/ParticleSystem.js.map +1 -1
- package/lib/engine-components/Renderer.d.ts +5 -1
- package/lib/engine-components/Renderer.js +78 -29
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/WebARSessionRoot.d.ts +1 -0
- package/lib/engine-components/WebARSessionRoot.js +10 -0
- package/lib/engine-components/WebARSessionRoot.js.map +1 -1
- package/lib/engine-components/js-extensions/Object3D.js +11 -1
- package/lib/engine-components/js-extensions/Object3D.js.map +1 -1
- package/lib/engine-components/timeline/PlayableDirector.d.ts +5 -0
- package/lib/engine-components/timeline/PlayableDirector.js +36 -23
- package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
- package/lib/engine-components/timeline/TimelineTracks.d.ts +9 -0
- package/lib/engine-components/timeline/TimelineTracks.js +121 -21
- package/lib/engine-components/timeline/TimelineTracks.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/engine/engine_application.ts +14 -3
- package/src/engine/engine_constants.ts +1 -1
- package/src/engine/engine_gameobject.ts +2 -2
- package/src/engine/engine_instancing.ts +3 -3
- package/src/engine/engine_license.ts +14 -13
- package/src/engine/engine_mainloop_utils.ts +32 -58
- package/src/engine/engine_physics.ts +23 -0
- package/src/engine/engine_serialization_builtin_serializer.ts +36 -27
- package/src/engine/engine_serialization_core.ts +8 -1
- package/src/engine/engine_setup.ts +1 -1
- package/src/engine/engine_time.ts +9 -4
- package/src/engine/engine_types.ts +36 -22
- package/src/engine-components/Animation.ts +6 -5
- package/src/engine-components/AnimatorController.ts +1 -0
- package/src/engine-components/AudioListener.ts +1 -0
- package/src/engine-components/AudioSource.ts +20 -6
- package/src/engine-components/Component.ts +3 -0
- package/src/engine-components/GridHelper.ts +10 -2
- package/src/engine-components/ParticleSystem.ts +15 -2
- package/src/engine-components/Renderer.ts +92 -33
- package/src/engine-components/WebARSessionRoot.ts +14 -0
- package/src/engine-components/js-extensions/Object3D.ts +11 -3
- package/src/engine-components/timeline/PlayableDirector.ts +35 -24
- package/src/engine-components/timeline/TimelineTracks.ts +132 -22
- package/src/tsconfig.json +33 -0
- package/src/engine/codegen/license.js +0 -1
- /package/{src/plugins → plugins}/vite/build.js +0 -0
- /package/{src/plugins → plugins}/vite/config.js +0 -0
- /package/{src/plugins → plugins}/vite/gzip.js +0 -0
- /package/{src/plugins → plugins}/vite/index.js +0 -0
- /package/{src/plugins → plugins}/vite/meta.js +0 -0
- /package/{src/plugins → plugins}/vite/poster-client.js +0 -0
- /package/{src/plugins → plugins}/vite/poster.js +0 -0
- /package/{src/plugins → plugins}/vite/reload-client.js +0 -0
- /package/{src/plugins → plugins}/vite/reload.js +0 -0
|
@@ -29,8 +29,11 @@ export declare class PlayableDirector extends Behaviour {
|
|
|
29
29
|
set duration(value: number);
|
|
30
30
|
get weight(): number;
|
|
31
31
|
set weight(value: number);
|
|
32
|
+
get speed(): number;
|
|
33
|
+
set speed(value: number);
|
|
32
34
|
private _visibilityChangeEvt?;
|
|
33
35
|
private _clonedPlayableAsset;
|
|
36
|
+
private _speed;
|
|
34
37
|
awake(): void;
|
|
35
38
|
onEnable(): void;
|
|
36
39
|
onDisable(): void;
|
|
@@ -57,6 +60,8 @@ export declare class PlayableDirector extends Behaviour {
|
|
|
57
60
|
private _controlTracks;
|
|
58
61
|
private _customTracks;
|
|
59
62
|
private _allTracks;
|
|
63
|
+
/** should be called after evaluate if the director was playing */
|
|
64
|
+
private invokePauseChangedMethodsOnTracks;
|
|
60
65
|
private internalUpdate;
|
|
61
66
|
private internalEvaluate;
|
|
62
67
|
private resolveBindings;
|
|
@@ -2,7 +2,6 @@ import { Animator } from '../Animator';
|
|
|
2
2
|
import { Behaviour, GameObject } from '../Component';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { AudioListener } from '../AudioListener';
|
|
5
|
-
import { AudioSource } from '../AudioSource';
|
|
6
5
|
import { SignalReceiver } from './SignalAsset';
|
|
7
6
|
import * as Models from "./TimelineModels";
|
|
8
7
|
import * as Tracks from "./TimelineTracks";
|
|
@@ -79,8 +78,11 @@ export class PlayableDirector extends Behaviour {
|
|
|
79
78
|
get weight() { return this._weight; }
|
|
80
79
|
;
|
|
81
80
|
set weight(value) { this._weight = value; }
|
|
81
|
+
get speed() { return this._speed; }
|
|
82
|
+
set speed(value) { this._speed = value; }
|
|
82
83
|
_visibilityChangeEvt;
|
|
83
84
|
_clonedPlayableAsset = false;
|
|
85
|
+
_speed = 1;
|
|
84
86
|
awake() {
|
|
85
87
|
if (debug)
|
|
86
88
|
console.log(this, this.playableAsset?.tracks);
|
|
@@ -138,7 +140,10 @@ export class PlayableDirector extends Behaviour {
|
|
|
138
140
|
play() {
|
|
139
141
|
if (!this.isValid())
|
|
140
142
|
return;
|
|
143
|
+
const pauseChanged = this._isPaused == true;
|
|
141
144
|
this._isPaused = false;
|
|
145
|
+
if (pauseChanged)
|
|
146
|
+
this.invokePauseChangedMethodsOnTracks();
|
|
142
147
|
if (this._isPlaying)
|
|
143
148
|
return;
|
|
144
149
|
this._isPlaying = true;
|
|
@@ -152,18 +157,25 @@ export class PlayableDirector extends Behaviour {
|
|
|
152
157
|
return;
|
|
153
158
|
this._isPaused = true;
|
|
154
159
|
this.evaluate();
|
|
160
|
+
this.invokePauseChangedMethodsOnTracks();
|
|
155
161
|
}
|
|
156
162
|
stop() {
|
|
157
163
|
for (const track of this._audioTracks)
|
|
158
164
|
track.stop();
|
|
165
|
+
const pauseChanged = this._isPaused == true;
|
|
166
|
+
const wasPlaying = this._isPlaying;
|
|
159
167
|
if (this._isPlaying) {
|
|
160
168
|
this._time = 0;
|
|
161
169
|
this._isPlaying = false;
|
|
162
170
|
this._isPaused = false;
|
|
163
171
|
this.evaluate();
|
|
172
|
+
if (pauseChanged)
|
|
173
|
+
this.invokePauseChangedMethodsOnTracks();
|
|
164
174
|
}
|
|
165
175
|
this._isPlaying = false;
|
|
166
176
|
this._isPaused = false;
|
|
177
|
+
if (pauseChanged && !wasPlaying)
|
|
178
|
+
this.invokePauseChangedMethodsOnTracks();
|
|
167
179
|
if (this._internalUpdateRoutine)
|
|
168
180
|
this.stopCoroutine(this._internalUpdateRoutine);
|
|
169
181
|
this._internalUpdateRoutine = null;
|
|
@@ -174,10 +186,15 @@ export class PlayableDirector extends Behaviour {
|
|
|
174
186
|
let t = this._time;
|
|
175
187
|
switch (this.extrapolationMode) {
|
|
176
188
|
case DirectorWrapMode.Hold:
|
|
177
|
-
|
|
189
|
+
if (this._speed > 0)
|
|
190
|
+
t = Math.min(t, this._duration);
|
|
191
|
+
else if (this._speed < 0)
|
|
192
|
+
t = Math.max(t, 0);
|
|
193
|
+
this._time = t;
|
|
178
194
|
break;
|
|
179
195
|
case DirectorWrapMode.Loop:
|
|
180
196
|
t %= this._duration;
|
|
197
|
+
this._time = t;
|
|
181
198
|
break;
|
|
182
199
|
case DirectorWrapMode.None:
|
|
183
200
|
if (t > this._duration) {
|
|
@@ -223,10 +240,16 @@ export class PlayableDirector extends Behaviour {
|
|
|
223
240
|
this._controlTracks,
|
|
224
241
|
this._customTracks
|
|
225
242
|
];
|
|
243
|
+
/** should be called after evaluate if the director was playing */
|
|
244
|
+
invokePauseChangedMethodsOnTracks() {
|
|
245
|
+
for (const track of this.forEachTrack()) {
|
|
246
|
+
track.onPauseChanged?.call(track);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
226
249
|
*internalUpdate() {
|
|
227
250
|
while (this._isPlaying && this.activeAndEnabled) {
|
|
228
251
|
if (!this._isPaused && this._isPlaying) {
|
|
229
|
-
this._time += this.context.time.deltaTime;
|
|
252
|
+
this._time += this.context.time.deltaTime * this.speed;
|
|
230
253
|
this.evaluate();
|
|
231
254
|
}
|
|
232
255
|
// for (let i = 0; i < 5; i++)
|
|
@@ -259,10 +282,8 @@ export class PlayableDirector extends Behaviour {
|
|
|
259
282
|
for (const handler of this._animationTracks) {
|
|
260
283
|
handler.evaluate(time);
|
|
261
284
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
handler.evaluate(time);
|
|
265
|
-
}
|
|
285
|
+
for (const handler of this._audioTracks) {
|
|
286
|
+
handler.evaluate(time);
|
|
266
287
|
}
|
|
267
288
|
for (const sig of this._signalTracks) {
|
|
268
289
|
sig.evaluate(time);
|
|
@@ -346,8 +367,7 @@ export class PlayableDirector extends Behaviour {
|
|
|
346
367
|
this._signalTracks.length = 0;
|
|
347
368
|
if (!this.playableAsset)
|
|
348
369
|
return;
|
|
349
|
-
const
|
|
350
|
-
const audioAllowedCallbacks = [];
|
|
370
|
+
const audioListener = GameObject.findObjectOfType(AudioListener, this.context);
|
|
351
371
|
for (const track of this.playableAsset.tracks) {
|
|
352
372
|
const type = track.type;
|
|
353
373
|
const registered = PlayableDirector.createTrackFunctions[type];
|
|
@@ -423,16 +443,13 @@ export class PlayableDirector extends Behaviour {
|
|
|
423
443
|
audio.director = this;
|
|
424
444
|
audio.track = track;
|
|
425
445
|
this._audioTracks.push(audio);
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
audio.addModel(clipModel);
|
|
434
|
-
}
|
|
435
|
-
});
|
|
446
|
+
if (!audioListener)
|
|
447
|
+
continue;
|
|
448
|
+
audio.listener = audioListener.listener;
|
|
449
|
+
for (let i = 0; i < track.clips.length; i++) {
|
|
450
|
+
const clipModel = track.clips[i];
|
|
451
|
+
audio.addModel(clipModel);
|
|
452
|
+
}
|
|
436
453
|
}
|
|
437
454
|
else if (track.type === Models.TrackType.Marker) {
|
|
438
455
|
const signalHandler = new Tracks.SignalTrackHandler();
|
|
@@ -478,10 +495,6 @@ export class PlayableDirector extends Behaviour {
|
|
|
478
495
|
this._controlTracks.push(handler);
|
|
479
496
|
}
|
|
480
497
|
}
|
|
481
|
-
AudioSource.registerWaitForAllowAudio(() => {
|
|
482
|
-
audioAllowedCallbacks.forEach((cb) => cb());
|
|
483
|
-
audioAllowedCallbacks.length = 0;
|
|
484
|
-
});
|
|
485
498
|
}
|
|
486
499
|
setAudioTracksAllowPlaying(allow) {
|
|
487
500
|
for (const track of this._audioTracks) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayableDirector.js","sourceRoot":"","sources":["../../../../engine-components/timeline/PlayableDirector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlayableDirector.js","sourceRoot":"","sources":["../../../../engine-components/timeline/PlayableDirector.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export declare abstract class TrackHandler {
|
|
|
14
14
|
onDestroy?(): any;
|
|
15
15
|
abstract evaluate(time: number): any;
|
|
16
16
|
onMuteChanged?(): any;
|
|
17
|
+
onPauseChanged?(): any;
|
|
17
18
|
getClipTime(time: number, model: Models.ClipModel): number;
|
|
18
19
|
getClipTimeNormalized(time: number, model: Models.ClipModel): number;
|
|
19
20
|
evaluateWeight(time: number, index: number, models: Array<Models.ClipModel>, isActive?: boolean): number;
|
|
@@ -28,6 +29,9 @@ export declare class AnimationTrackHandler extends TrackHandler {
|
|
|
28
29
|
/** holds data/info about clips differences */
|
|
29
30
|
private _actionOffsets;
|
|
30
31
|
private _didBind;
|
|
32
|
+
private _animator;
|
|
33
|
+
private _animatorWasEnabled?;
|
|
34
|
+
onPauseChanged(): void;
|
|
31
35
|
createHooks(clipModel: Models.AnimationClipModel, clip: any): void;
|
|
32
36
|
bind(): void;
|
|
33
37
|
private ensureTrackOffsets;
|
|
@@ -51,6 +55,7 @@ export declare class AudioTrackHandler extends TrackHandler {
|
|
|
51
55
|
audio: Array<THREE.Audio>;
|
|
52
56
|
audioContextTimeOffset: Array<number>;
|
|
53
57
|
lastTime: number;
|
|
58
|
+
private _audioLoader;
|
|
54
59
|
private getAudioFilePath;
|
|
55
60
|
onAllowAudioChanged(allow: boolean): void;
|
|
56
61
|
addModel(model: Models.ClipModel): void;
|
|
@@ -58,6 +63,10 @@ export declare class AudioTrackHandler extends TrackHandler {
|
|
|
58
63
|
onMuteChanged(): void;
|
|
59
64
|
stop(): void;
|
|
60
65
|
evaluate(time: number): void;
|
|
66
|
+
/** Call to load audio buffer for a specific time in the track. Can be used to preload the timeline audio */
|
|
67
|
+
loadAudio(time: number, lookAhead?: number, lookBehind?: number): Promise<(AudioBuffer | null)[]> | null;
|
|
68
|
+
private isInTimeRange;
|
|
69
|
+
private handleAudioLoading;
|
|
61
70
|
}
|
|
62
71
|
export declare class SignalTrackHandler extends TrackHandler {
|
|
63
72
|
models: Models.SignalMarkerModel[];
|
|
@@ -4,6 +4,8 @@ import * as THREE from 'three';
|
|
|
4
4
|
import { GameObject } from "../Component";
|
|
5
5
|
import { Quaternion, Vector3 } from "three";
|
|
6
6
|
import { getParam, getPath } from "../../engine/engine_utils";
|
|
7
|
+
import { AudioSource } from "../AudioSource";
|
|
8
|
+
import { Animator } from "../Animator";
|
|
7
9
|
const debug = getParam("debugtimeline");
|
|
8
10
|
export class TrackHandler {
|
|
9
11
|
director;
|
|
@@ -114,6 +116,14 @@ export class AnimationTrackHandler extends TrackHandler {
|
|
|
114
116
|
/** holds data/info about clips differences */
|
|
115
117
|
_actionOffsets = [];
|
|
116
118
|
_didBind = false;
|
|
119
|
+
_animator = null;
|
|
120
|
+
_animatorWasEnabled = false;
|
|
121
|
+
onPauseChanged() {
|
|
122
|
+
// When the timeline is paused the original animator will be enabled again if it was before
|
|
123
|
+
if (this._animator && this._animatorWasEnabled !== undefined) {
|
|
124
|
+
this._animator.enabled = this.director.isPaused ? this._animatorWasEnabled : false;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
117
127
|
createHooks(clipModel, clip) {
|
|
118
128
|
if (clip.tracks?.length <= 0) {
|
|
119
129
|
console.warn("No tracks in AnimationClip", clip);
|
|
@@ -184,6 +194,12 @@ export class AnimationTrackHandler extends TrackHandler {
|
|
|
184
194
|
const off = new AnimationClipOffsetData(action);
|
|
185
195
|
this._actionOffsets.push(off);
|
|
186
196
|
}
|
|
197
|
+
if (this.target) {
|
|
198
|
+
// We need to disable the animator component in case it also animates
|
|
199
|
+
// which overrides the timeline
|
|
200
|
+
this._animator = GameObject.getComponent(this.target, Animator) ?? null;
|
|
201
|
+
this._animatorWasEnabled = this._animator?.enabled;
|
|
202
|
+
}
|
|
187
203
|
// Clip Offsets
|
|
188
204
|
for (const model of this.models) {
|
|
189
205
|
const clipData = model.asset;
|
|
@@ -232,6 +248,8 @@ export class AnimationTrackHandler extends TrackHandler {
|
|
|
232
248
|
if (!this.mixer)
|
|
233
249
|
return;
|
|
234
250
|
this.bind();
|
|
251
|
+
if (this._animator && this.director.isPlaying && this.director.weight > 0)
|
|
252
|
+
this._animator.enabled = false;
|
|
235
253
|
this._totalOffsetPosition.set(0, 0, 0);
|
|
236
254
|
this._totalOffsetRotation.set(0, 0, 0, 1);
|
|
237
255
|
this._totalOffsetPosition2.set(0, 0, 0);
|
|
@@ -239,37 +257,53 @@ export class AnimationTrackHandler extends TrackHandler {
|
|
|
239
257
|
let activeClips = 0;
|
|
240
258
|
let blend = 0;
|
|
241
259
|
let didPostExtrapolate = false;
|
|
260
|
+
let didPreExtrapolate = false;
|
|
242
261
|
for (let i = 0; i < this.clips.length; i++) {
|
|
243
262
|
const model = this.models[i];
|
|
244
263
|
const action = this.actions[i];
|
|
245
264
|
const clipModel = model.asset;
|
|
246
265
|
action.weight = 0;
|
|
247
266
|
const isInTimeRange = time >= model.start && time <= model.end;
|
|
267
|
+
const preExtrapolation = model.preExtrapolationMode;
|
|
248
268
|
const postExtrapolation = model.postExtrapolationMode;
|
|
269
|
+
const nextClip = i < this.clips.length - 1 ? this.models[i + 1] : null;
|
|
249
270
|
let isActive = isInTimeRange;
|
|
271
|
+
let doPreExtrapolate = false;
|
|
250
272
|
if (!isActive && !didPostExtrapolate && model.end < time && postExtrapolation !== Models.ClipExtrapolation.None) {
|
|
251
|
-
const nextClip = i < this.clips.length - 1 ? this.models[i + 1] : null;
|
|
252
273
|
// use post extrapolate if its the last clip of the next clip has not yet started
|
|
253
274
|
if (!nextClip || nextClip.start > time) {
|
|
254
275
|
isActive = true;
|
|
255
276
|
didPostExtrapolate = true;
|
|
256
277
|
}
|
|
257
278
|
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
279
|
+
else if (i == 0 && !isActive && !didPreExtrapolate && model.start > time && preExtrapolation !== Models.ClipExtrapolation.None) {
|
|
280
|
+
if (!nextClip || nextClip.start < time) {
|
|
281
|
+
isActive = true;
|
|
282
|
+
doPreExtrapolate = true;
|
|
283
|
+
didPreExtrapolate = true;
|
|
284
|
+
}
|
|
263
285
|
}
|
|
264
286
|
if (isActive) {
|
|
265
287
|
// const clip = this.clips[i];
|
|
266
288
|
let weight = 1;
|
|
267
289
|
weight *= this.evaluateWeight(time, i, this.models, isActive);
|
|
290
|
+
let handleLoop = isInTimeRange;
|
|
291
|
+
if (doPreExtrapolate) {
|
|
292
|
+
if (preExtrapolation !== Models.ClipExtrapolation.Hold) {
|
|
293
|
+
time += model.start;
|
|
294
|
+
handleLoop = true;
|
|
295
|
+
}
|
|
296
|
+
}
|
|
268
297
|
// TODO: handle clipIn again
|
|
269
298
|
let t = this.getClipTime(time, model);
|
|
270
299
|
let loops = 0;
|
|
271
300
|
const duration = clipModel.duration;
|
|
272
|
-
if (
|
|
301
|
+
if (doPreExtrapolate) {
|
|
302
|
+
if (preExtrapolation === Models.ClipExtrapolation.Hold) {
|
|
303
|
+
t = 0;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
if (handleLoop) {
|
|
273
307
|
if (clipModel.loop) {
|
|
274
308
|
// const t0 = t - .001;
|
|
275
309
|
loops += Math.floor(t / (duration + .000001));
|
|
@@ -424,6 +458,7 @@ export class AudioTrackHandler extends TrackHandler {
|
|
|
424
458
|
audio = [];
|
|
425
459
|
audioContextTimeOffset = [];
|
|
426
460
|
lastTime = 0;
|
|
461
|
+
_audioLoader = null;
|
|
427
462
|
getAudioFilePath(path) {
|
|
428
463
|
// TODO: this should be the timeline asset location probably which MIGHT be different
|
|
429
464
|
const glbLocation = this.director.sourceId;
|
|
@@ -437,18 +472,9 @@ export class AudioTrackHandler extends TrackHandler {
|
|
|
437
472
|
}
|
|
438
473
|
}
|
|
439
474
|
addModel(model) {
|
|
440
|
-
const path = this.getAudioFilePath(model.asset.clip);
|
|
441
475
|
const audio = new THREE.Audio(this.listener);
|
|
442
|
-
audio.
|
|
443
|
-
|
|
444
|
-
if (debug)
|
|
445
|
-
console.log(path, this.director.sourceId);
|
|
446
|
-
loader.load(path, (buffer) => {
|
|
447
|
-
audio.setBuffer(buffer);
|
|
448
|
-
audio.loop = model.asset.loop;
|
|
449
|
-
this.audio.push(audio);
|
|
450
|
-
this.models.push(model);
|
|
451
|
-
});
|
|
476
|
+
this.audio.push(audio);
|
|
477
|
+
this.models.push(model);
|
|
452
478
|
}
|
|
453
479
|
onDisable() {
|
|
454
480
|
for (const audio of this.audio) {
|
|
@@ -477,10 +503,29 @@ export class AudioTrackHandler extends TrackHandler {
|
|
|
477
503
|
return;
|
|
478
504
|
if (this.track.muted)
|
|
479
505
|
return;
|
|
506
|
+
if (this.director.speed < 0) {
|
|
507
|
+
// Reversed audio playback is currently not supported
|
|
508
|
+
return;
|
|
509
|
+
}
|
|
510
|
+
const isMuted = this.director.context.application.muted;
|
|
511
|
+
// this is just so that we dont hear the very first beat when the audio starts but is muted
|
|
512
|
+
// if we dont add a delay we hear a little bit of the audio before it shuts down
|
|
513
|
+
// MAYBE instead of doing it like this we should connect a custom audio node (or disconnect the output node?)
|
|
514
|
+
const playTimeOffset = isMuted ? .1 : 0;
|
|
480
515
|
for (let i = 0; i < this.models.length; i++) {
|
|
481
516
|
const model = this.models[i];
|
|
482
517
|
const audio = this.audio[i];
|
|
483
|
-
|
|
518
|
+
// only trigger loading for tracks that are CLOSE to being played
|
|
519
|
+
if ((!audio || !audio.buffer) && this.isInTimeRange(model, time - 1, time + 1)) {
|
|
520
|
+
this.handleAudioLoading(model, audio);
|
|
521
|
+
}
|
|
522
|
+
if (AudioSource.userInteractionRegistered === false)
|
|
523
|
+
continue;
|
|
524
|
+
if (audio === null || !audio.buffer)
|
|
525
|
+
continue;
|
|
526
|
+
audio.playbackRate = this.director.context.time.timeScale;
|
|
527
|
+
audio.loop = model.asset.loop;
|
|
528
|
+
if (time >= model.start && time <= model.end && time < this.director.duration) {
|
|
484
529
|
if (this.director.isPlaying == false) {
|
|
485
530
|
if (audio.isPlaying)
|
|
486
531
|
audio.stop();
|
|
@@ -489,7 +534,7 @@ export class AudioTrackHandler extends TrackHandler {
|
|
|
489
534
|
}
|
|
490
535
|
else if (!audio.isPlaying) {
|
|
491
536
|
audio.offset = model.clipIn + (time - model.start) * model.timeScale;
|
|
492
|
-
audio.play();
|
|
537
|
+
audio.play(playTimeOffset);
|
|
493
538
|
}
|
|
494
539
|
else {
|
|
495
540
|
const targetOffset = model.clipIn + (time - model.start) * model.timeScale;
|
|
@@ -500,10 +545,12 @@ export class AudioTrackHandler extends TrackHandler {
|
|
|
500
545
|
if (diff > 0.3) {
|
|
501
546
|
audio.offset = targetOffset;
|
|
502
547
|
audio.stop();
|
|
503
|
-
audio.play();
|
|
548
|
+
audio.play(playTimeOffset);
|
|
504
549
|
}
|
|
505
550
|
}
|
|
506
551
|
let vol = model.asset.volume;
|
|
552
|
+
if (isMuted)
|
|
553
|
+
vol = 0;
|
|
507
554
|
if (model.easeInDuration > 0) {
|
|
508
555
|
const easeIn = Math.min((time - model.start) / model.easeInDuration, 1);
|
|
509
556
|
vol *= easeIn;
|
|
@@ -521,6 +568,59 @@ export class AudioTrackHandler extends TrackHandler {
|
|
|
521
568
|
}
|
|
522
569
|
this.lastTime = time;
|
|
523
570
|
}
|
|
571
|
+
/** Call to load audio buffer for a specific time in the track. Can be used to preload the timeline audio */
|
|
572
|
+
loadAudio(time, lookAhead = 0, lookBehind = 0) {
|
|
573
|
+
let promises = null;
|
|
574
|
+
const rangeStart = time - lookBehind;
|
|
575
|
+
const rangeEnd = time + lookAhead;
|
|
576
|
+
for (const model of this.models) {
|
|
577
|
+
if (this.isInTimeRange(model, rangeStart, rangeEnd)) {
|
|
578
|
+
const audio = this.audio[this.models.indexOf(model)];
|
|
579
|
+
const promise = this.handleAudioLoading(model, audio);
|
|
580
|
+
if (promise !== null) {
|
|
581
|
+
if (promises === null)
|
|
582
|
+
promises = [];
|
|
583
|
+
promises.push(promise);
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
}
|
|
587
|
+
if (promises !== null) {
|
|
588
|
+
return Promise.all(promises);
|
|
589
|
+
}
|
|
590
|
+
return null;
|
|
591
|
+
}
|
|
592
|
+
isInTimeRange(model, start, end) {
|
|
593
|
+
// Range surrounds clip range
|
|
594
|
+
if (start <= model.start && end >= model.end)
|
|
595
|
+
return true;
|
|
596
|
+
// Range start is in clip range
|
|
597
|
+
if (start >= model.start && start <= model.end)
|
|
598
|
+
return true;
|
|
599
|
+
// Range end is in clip range
|
|
600
|
+
if (end >= model.start && end <= model.end)
|
|
601
|
+
return true;
|
|
602
|
+
return false;
|
|
603
|
+
}
|
|
604
|
+
handleAudioLoading(model, audio) {
|
|
605
|
+
if (!this._audioLoader) {
|
|
606
|
+
const path = this.getAudioFilePath(model.asset.clip);
|
|
607
|
+
this._audioLoader = new THREE.AudioLoader();
|
|
608
|
+
// TODO: maybe we should cache the loaders / buffers here by path
|
|
609
|
+
if (debug)
|
|
610
|
+
console.warn("LOAD audio track", path, this.director.sourceId);
|
|
611
|
+
const loadingPromise = new Promise((resolve, _reject) => {
|
|
612
|
+
this._audioLoader.load(path, buffer => {
|
|
613
|
+
audio.setBuffer(buffer);
|
|
614
|
+
resolve(buffer);
|
|
615
|
+
}, undefined, err => {
|
|
616
|
+
console.error("Error loading audio", err);
|
|
617
|
+
resolve(null);
|
|
618
|
+
});
|
|
619
|
+
});
|
|
620
|
+
return loadingPromise;
|
|
621
|
+
}
|
|
622
|
+
return null;
|
|
623
|
+
}
|
|
524
624
|
}
|
|
525
625
|
export class SignalTrackHandler extends TrackHandler {
|
|
526
626
|
models = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimelineTracks.js","sourceRoot":"","sources":["../../../../engine-components/timeline/TimelineTracks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TimelineTracks.js","sourceRoot":"","sources":["../../../../engine-components/timeline/TimelineTracks.ts"],"names":[],"mappings":"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"}
|