tone 14.8.35 → 14.8.38
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/Tone/component/analysis/Meter.test.ts +25 -0
- package/Tone/component/analysis/Meter.ts +7 -5
- package/Tone/core/clock/TickSource.test.ts +52 -0
- package/Tone/core/clock/TickSource.ts +70 -9
- package/Tone/core/clock/Ticker.ts +11 -5
- package/Tone/core/context/Context.test.ts +2 -0
- package/Tone/core/context/Context.ts +29 -38
- package/Tone/core/context/ToneAudioBuffer.ts +52 -27
- package/Tone/event/Pattern.test.ts +31 -5
- package/Tone/event/Pattern.ts +19 -6
- package/Tone/event/PatternGenerator.test.ts +18 -26
- package/Tone/event/PatternGenerator.ts +52 -59
- package/Tone/instrument/MetalSynth.ts +48 -21
- package/Tone/signal/ToneConstantSource.test.ts +1 -1
- package/Tone/source/OneShotSource.ts +1 -1
- package/Tone/source/buffer/Player.test.ts +25 -0
- package/Tone/source/buffer/Player.ts +1 -1
- package/Tone/source/oscillator/ToneOscillatorNode.test.ts +1 -1
- package/Tone/version.ts +1 -1
- package/build/Tone.js +1 -1
- package/build/Tone.js.map +1 -1
- package/build/esm/component/analysis/Meter.d.ts +1 -1
- package/build/esm/component/analysis/Meter.js +5 -7
- package/build/esm/component/analysis/Meter.js.map +1 -1
- package/build/esm/core/clock/TickSource.d.ts +8 -0
- package/build/esm/core/clock/TickSource.js +49 -7
- package/build/esm/core/clock/TickSource.js.map +1 -1
- package/build/esm/core/clock/Ticker.d.ts +5 -1
- package/build/esm/core/clock/Ticker.js +6 -4
- package/build/esm/core/clock/Ticker.js.map +1 -1
- package/build/esm/core/context/Context.d.ts +12 -12
- package/build/esm/core/context/Context.js +26 -29
- package/build/esm/core/context/Context.js.map +1 -1
- package/build/esm/core/context/ToneAudioBuffer.js +25 -15
- package/build/esm/core/context/ToneAudioBuffer.js.map +1 -1
- package/build/esm/event/Pattern.d.ts +8 -0
- package/build/esm/event/Pattern.js +11 -4
- package/build/esm/event/Pattern.js.map +1 -1
- package/build/esm/event/PatternGenerator.d.ts +4 -4
- package/build/esm/event/PatternGenerator.js +52 -58
- package/build/esm/event/PatternGenerator.js.map +1 -1
- package/build/esm/instrument/MetalSynth.d.ts +0 -1
- package/build/esm/instrument/MetalSynth.js +15 -13
- package/build/esm/instrument/MetalSynth.js.map +1 -1
- package/build/esm/source/OneShotSource.js +1 -1
- package/build/esm/source/OneShotSource.js.map +1 -1
- package/build/esm/source/buffer/Player.js +2 -1
- package/build/esm/source/buffer/Player.js.map +1 -1
- package/build/esm/version.js +1 -1
- package/docs/tone.json +1 -1
- package/package.json +2 -2
|
@@ -21,10 +21,6 @@ export class Meter extends MeterBase {
|
|
|
21
21
|
constructor() {
|
|
22
22
|
super(optionsFromArguments(Meter.getDefaults(), arguments, ["smoothing"]));
|
|
23
23
|
this.name = "Meter";
|
|
24
|
-
/**
|
|
25
|
-
* The previous frame's value
|
|
26
|
-
*/
|
|
27
|
-
this._rms = 0;
|
|
28
24
|
const options = optionsFromArguments(Meter.getDefaults(), arguments, ["smoothing"]);
|
|
29
25
|
this.input = this.output = this._analyser = new Analyser({
|
|
30
26
|
context: this.context,
|
|
@@ -34,6 +30,8 @@ export class Meter extends MeterBase {
|
|
|
34
30
|
});
|
|
35
31
|
this.smoothing = options.smoothing,
|
|
36
32
|
this.normalRange = options.normalRange;
|
|
33
|
+
this._rms = new Array(options.channelCount);
|
|
34
|
+
this._rms.fill(0);
|
|
37
35
|
}
|
|
38
36
|
static getDefaults() {
|
|
39
37
|
return Object.assign(MeterBase.getDefaults(), {
|
|
@@ -60,13 +58,13 @@ export class Meter extends MeterBase {
|
|
|
60
58
|
getValue() {
|
|
61
59
|
const aValues = this._analyser.getValue();
|
|
62
60
|
const channelValues = this.channels === 1 ? [aValues] : aValues;
|
|
63
|
-
const vals = channelValues.map(values => {
|
|
61
|
+
const vals = channelValues.map((values, index) => {
|
|
64
62
|
const totalSquared = values.reduce((total, current) => total + current * current, 0);
|
|
65
63
|
const rms = Math.sqrt(totalSquared / values.length);
|
|
66
64
|
// the rms can only fall at the rate of the smoothing
|
|
67
65
|
// but can jump up instantly
|
|
68
|
-
this._rms = Math.max(rms, this._rms * this.smoothing);
|
|
69
|
-
return this.normalRange ? this._rms : gainToDb(this._rms);
|
|
66
|
+
this._rms[index] = Math.max(rms, this._rms[index] * this.smoothing);
|
|
67
|
+
return this.normalRange ? this._rms[index] : gainToDb(this._rms[index]);
|
|
70
68
|
});
|
|
71
69
|
if (this.channels === 1) {
|
|
72
70
|
return vals[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Meter.js","sourceRoot":"","sources":["../../../../Tone/component/analysis/Meter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,KAAM,SAAQ,SAAuB;IA0BjD;QACC,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAzBnE,SAAI,GAAW,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Meter.js","sourceRoot":"","sources":["../../../../Tone/component/analysis/Meter.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,14 @@ export declare class TickSource<TypeName extends "bpm" | "hertz"> extends ToneWi
|
|
|
23
23
|
* The offset values of the ticks
|
|
24
24
|
*/
|
|
25
25
|
private _tickOffset;
|
|
26
|
+
/**
|
|
27
|
+
* Memoized values of getTicksAtTime at events with state other than "started"
|
|
28
|
+
*/
|
|
29
|
+
private _ticksAtTime;
|
|
30
|
+
/**
|
|
31
|
+
* Memoized values of getSecondsAtTime at events with state other than "started"
|
|
32
|
+
*/
|
|
33
|
+
private _secondsAtTime;
|
|
26
34
|
/**
|
|
27
35
|
* @param frequency The initial frequency that the signal ticks at
|
|
28
36
|
*/
|
|
@@ -21,6 +21,14 @@ export class TickSource extends ToneWithContext {
|
|
|
21
21
|
* The offset values of the ticks
|
|
22
22
|
*/
|
|
23
23
|
this._tickOffset = new Timeline();
|
|
24
|
+
/**
|
|
25
|
+
* Memoized values of getTicksAtTime at events with state other than "started"
|
|
26
|
+
*/
|
|
27
|
+
this._ticksAtTime = new Timeline();
|
|
28
|
+
/**
|
|
29
|
+
* Memoized values of getSecondsAtTime at events with state other than "started"
|
|
30
|
+
*/
|
|
31
|
+
this._secondsAtTime = new Timeline();
|
|
24
32
|
const options = optionsFromArguments(TickSource.getDefaults(), arguments, ["frequency"]);
|
|
25
33
|
this.frequency = new TickSignal({
|
|
26
34
|
context: this.context,
|
|
@@ -58,6 +66,8 @@ export class TickSource extends ToneWithContext {
|
|
|
58
66
|
if (isDefined(offset)) {
|
|
59
67
|
this.setTicksAtTime(offset, computedTime);
|
|
60
68
|
}
|
|
69
|
+
this._ticksAtTime.cancel(computedTime);
|
|
70
|
+
this._secondsAtTime.cancel(computedTime);
|
|
61
71
|
}
|
|
62
72
|
return this;
|
|
63
73
|
}
|
|
@@ -78,6 +88,8 @@ export class TickSource extends ToneWithContext {
|
|
|
78
88
|
this._state.cancel(computedTime);
|
|
79
89
|
this._state.setStateAtTime("stopped", computedTime);
|
|
80
90
|
this.setTicksAtTime(0, computedTime);
|
|
91
|
+
this._ticksAtTime.cancel(computedTime);
|
|
92
|
+
this._secondsAtTime.cancel(computedTime);
|
|
81
93
|
return this;
|
|
82
94
|
}
|
|
83
95
|
/**
|
|
@@ -88,6 +100,8 @@ export class TickSource extends ToneWithContext {
|
|
|
88
100
|
const computedTime = this.toSeconds(time);
|
|
89
101
|
if (this._state.getValueAtTime(computedTime) === "started") {
|
|
90
102
|
this._state.setStateAtTime("paused", computedTime);
|
|
103
|
+
this._ticksAtTime.cancel(computedTime);
|
|
104
|
+
this._secondsAtTime.cancel(computedTime);
|
|
91
105
|
}
|
|
92
106
|
return this;
|
|
93
107
|
}
|
|
@@ -99,6 +113,8 @@ export class TickSource extends ToneWithContext {
|
|
|
99
113
|
time = this.toSeconds(time);
|
|
100
114
|
this._state.cancel(time);
|
|
101
115
|
this._tickOffset.cancel(time);
|
|
116
|
+
this._ticksAtTime.cancel(time);
|
|
117
|
+
this._secondsAtTime.cancel(time);
|
|
102
118
|
return this;
|
|
103
119
|
}
|
|
104
120
|
/**
|
|
@@ -109,14 +125,17 @@ export class TickSource extends ToneWithContext {
|
|
|
109
125
|
getTicksAtTime(time) {
|
|
110
126
|
const computedTime = this.toSeconds(time);
|
|
111
127
|
const stopEvent = this._state.getLastState("stopped", computedTime);
|
|
128
|
+
// get previously memoized ticks if available
|
|
129
|
+
const memoizedEvent = this._ticksAtTime.get(computedTime);
|
|
112
130
|
// this event allows forEachBetween to iterate until the current time
|
|
113
131
|
const tmpEvent = { state: "paused", time: computedTime };
|
|
114
132
|
this._state.add(tmpEvent);
|
|
115
133
|
// keep track of the previous offset event
|
|
116
|
-
let lastState = stopEvent;
|
|
117
|
-
let elapsedTicks = 0;
|
|
134
|
+
let lastState = memoizedEvent ? memoizedEvent : stopEvent;
|
|
135
|
+
let elapsedTicks = memoizedEvent ? memoizedEvent.ticks : 0;
|
|
136
|
+
let eventToMemoize = null;
|
|
118
137
|
// iterate through all the events since the last stop
|
|
119
|
-
this._state.forEachBetween(
|
|
138
|
+
this._state.forEachBetween(lastState.time, computedTime + this.sampleTime, e => {
|
|
120
139
|
let periodStartTime = lastState.time;
|
|
121
140
|
// if there is an offset event in this period use that
|
|
122
141
|
const offsetEvent = this._tickOffset.get(e.time);
|
|
@@ -126,11 +145,19 @@ export class TickSource extends ToneWithContext {
|
|
|
126
145
|
}
|
|
127
146
|
if (lastState.state === "started" && e.state !== "started") {
|
|
128
147
|
elapsedTicks += this.frequency.getTicksAtTime(e.time) - this.frequency.getTicksAtTime(periodStartTime);
|
|
148
|
+
// do not memoize the temporary event
|
|
149
|
+
if (e.time != tmpEvent.time) {
|
|
150
|
+
eventToMemoize = { state: e.state, time: e.time, ticks: elapsedTicks };
|
|
151
|
+
}
|
|
129
152
|
}
|
|
130
153
|
lastState = e;
|
|
131
154
|
});
|
|
132
155
|
// remove the temporary event
|
|
133
156
|
this._state.remove(tmpEvent);
|
|
157
|
+
// memoize the ticks at the most recent event with state other than "started"
|
|
158
|
+
if (eventToMemoize) {
|
|
159
|
+
this._ticksAtTime.add(eventToMemoize);
|
|
160
|
+
}
|
|
134
161
|
// return the ticks
|
|
135
162
|
return elapsedTicks;
|
|
136
163
|
}
|
|
@@ -167,11 +194,14 @@ export class TickSource extends ToneWithContext {
|
|
|
167
194
|
// this event allows forEachBetween to iterate until the current time
|
|
168
195
|
const tmpEvent = { state: "paused", time };
|
|
169
196
|
this._state.add(tmpEvent);
|
|
197
|
+
// get previously memoized seconds if available
|
|
198
|
+
const memoizedEvent = this._secondsAtTime.get(time);
|
|
170
199
|
// keep track of the previous offset event
|
|
171
|
-
let lastState = stopEvent;
|
|
172
|
-
let elapsedSeconds = 0;
|
|
200
|
+
let lastState = memoizedEvent ? memoizedEvent : stopEvent;
|
|
201
|
+
let elapsedSeconds = memoizedEvent ? memoizedEvent.seconds : 0;
|
|
202
|
+
let eventToMemoize = null;
|
|
173
203
|
// iterate through all the events since the last stop
|
|
174
|
-
this._state.forEachBetween(
|
|
204
|
+
this._state.forEachBetween(lastState.time, time + this.sampleTime, e => {
|
|
175
205
|
let periodStartTime = lastState.time;
|
|
176
206
|
// if there is an offset event in this period use that
|
|
177
207
|
const offsetEvent = this._tickOffset.get(e.time);
|
|
@@ -181,12 +211,20 @@ export class TickSource extends ToneWithContext {
|
|
|
181
211
|
}
|
|
182
212
|
if (lastState.state === "started" && e.state !== "started") {
|
|
183
213
|
elapsedSeconds += e.time - periodStartTime;
|
|
214
|
+
// do not memoize the temporary event
|
|
215
|
+
if (e.time != tmpEvent.time) {
|
|
216
|
+
eventToMemoize = { state: e.state, time: e.time, seconds: elapsedSeconds };
|
|
217
|
+
}
|
|
184
218
|
}
|
|
185
219
|
lastState = e;
|
|
186
220
|
});
|
|
187
221
|
// remove the temporary event
|
|
188
222
|
this._state.remove(tmpEvent);
|
|
189
|
-
//
|
|
223
|
+
// memoize the seconds at the most recent event with state other than "started"
|
|
224
|
+
if (eventToMemoize) {
|
|
225
|
+
this._secondsAtTime.add(eventToMemoize);
|
|
226
|
+
}
|
|
227
|
+
// return the seconds
|
|
190
228
|
return elapsedSeconds;
|
|
191
229
|
}
|
|
192
230
|
/**
|
|
@@ -202,6 +240,8 @@ export class TickSource extends ToneWithContext {
|
|
|
202
240
|
ticks,
|
|
203
241
|
time,
|
|
204
242
|
});
|
|
243
|
+
this._ticksAtTime.cancel(time);
|
|
244
|
+
this._secondsAtTime.cancel(time);
|
|
205
245
|
return this;
|
|
206
246
|
}
|
|
207
247
|
/**
|
|
@@ -277,6 +317,8 @@ export class TickSource extends ToneWithContext {
|
|
|
277
317
|
super.dispose();
|
|
278
318
|
this._state.dispose();
|
|
279
319
|
this._tickOffset.dispose();
|
|
320
|
+
this._ticksAtTime.dispose();
|
|
321
|
+
this._secondsAtTime.dispose();
|
|
280
322
|
this.frequency.dispose();
|
|
281
323
|
return this;
|
|
282
324
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TickSource.js","sourceRoot":"","sources":["../../../../Tone/core/clock/TickSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA0B,MAAM,4BAA4B,CAAC;AAErF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAiB,aAAa,EAAsB,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"TickSource.js","sourceRoot":"","sources":["../../../../Tone/core/clock/TickSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA0B,MAAM,4BAA4B,CAAC;AAErF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAiB,aAAa,EAAsB,MAAM,uBAAuB,CAAC;AACzF,OAAO,EAAE,QAAQ,EAAiB,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAyBlC;;GAEG;AACH,MAAM,OAAO,UAA6C,SAAQ,eAAkC;IAkCnG;QACC,KAAK,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAjCxE,SAAI,GAAW,YAAY,CAAC;QAOrC;;WAEG;QACK,WAAM,GAAkB,IAAI,aAAa,EAAE,CAAC;QAEpD;;WAEG;QACK,gBAAW,GAAoC,IAAI,QAAQ,EAAE,CAAC;QAEtE;;WAEG;QACK,iBAAY,GAAyC,IAAI,QAAQ,EAA8B,CAAC;QAExG;;WAEG;QACK,mBAAc,GAA2C,IAAI,QAAQ,EAAgC,CAAC;QAS7G,MAAM,OAAO,GAAG,oBAAoB,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAEzF,IAAI,CAAC,SAAS,GAAG,IAAI,UAAU,CAAC;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,OAAO,CAAC,KAAiB;YAChC,KAAK,EAAE,OAAO,CAAC,SAAS;SACxB,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAE5B,wBAAwB;QACxB,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACzC,sBAAsB;QACtB,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,CAAC,WAAW;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC;YACpB,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,OAAgB;SACvB,EAAE,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAU,EAAE,MAAc;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE;YAC3D,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACpD,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE;gBACtB,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;aAC1C;YACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACvC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,IAAU;QACd,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,2BAA2B;QAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE;YAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE;gBAC5B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC/B;SACD;QACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QACrC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAU;QACf,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE;YAC3D,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACnD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACvC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;SACzC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,IAAU;QAChB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,IAAW;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,YAAY,CAAuB,CAAC;QAE1F,6CAA6C;QAC7C,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAE1D,qEAAqE;QACrE,MAAM,QAAQ,GAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAC7E,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE1B,0CAA0C;QAC1C,IAAI,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,IAAI,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,cAAc,GAAuC,IAAI,CAAC;QAE9D,qDAAqD;QACrD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE;YAC9E,IAAI,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC;YACrC,sDAAsD;YACtD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE;gBACtD,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC;gBACjC,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC;aACnC;YACD,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC3D,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;gBACvG,qCAAqC;gBACrC,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE;oBAC5B,cAAc,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;iBACvE;aACD;YACD,SAAS,GAAG,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE7B,6EAA6E;QAC7E,IAAI,cAAc,EAAE;YACnB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;SACtC;QAED,mBAAmB;QACnB,OAAO,YAAY,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,KAAK,CAAC,CAAQ;QACjB,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,CAAC,CAAU;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,IAAU;QAC1B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAuB,CAAC;QAClF,qEAAqE;QACrE,MAAM,QAAQ,GAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC/D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE1B,+CAA+C;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpD,0CAA0C;QAC1C,IAAI,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,IAAI,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,IAAI,cAAc,GAAyC,IAAI,CAAC;QAEhE,qDAAqD;QACrD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE;YACtE,IAAI,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC;YACrC,sDAAsD;YACtD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,EAAE;gBACtD,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC;gBACrC,eAAe,GAAG,WAAW,CAAC,IAAI,CAAC;aACnC;YACD,IAAI,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE;gBAC3D,cAAc,IAAI,CAAC,CAAC,IAAI,GAAG,eAAe,CAAC;gBAC3C,qCAAqC;gBACrC,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE;oBAC5B,cAAc,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;iBAC3E;aACD;YACD,SAAS,GAAG,CAAC,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE7B,+EAA+E;QAC/E,IAAI,cAAc,EAAE;YACnB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;SACxC;QAED,qBAAqB;QACrB,OAAO,cAAc,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,KAAY,EAAE,IAAU;QACtC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;YACpB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC;YACvD,KAAK;YACL,IAAI;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,IAAU;QACxB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;OAOG;IACH,aAAa,CAAC,IAAW,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAA0B,CAAC;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAuB,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;QACrF,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CAAC,SAAiB,EAAE,OAAe,EAAE,QAA+C;QACrG,0DAA0D;QAC1D,IAAI,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE;YACtD,IAAI,cAAc,IAAI,cAAc,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;gBACtF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC1G;YACD,cAAc,GAAG,KAAK,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,IAAI,KAAK,GAAiB,IAAI,CAAC;QAE/B,IAAI,cAAc,IAAI,cAAc,CAAC,KAAK,KAAK,SAAS,EAAE;YACzD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC9D,gEAAgE;YAChE,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,UAAU,GAAG,YAAY,CAAC;YACvC,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACpC,sCAAsC;YACtC,MAAM,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACpC,IAAI,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC;YACrE,OAAO,YAAY,GAAG,OAAO,EAAE;gBAC9B,IAAI;oBACH,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;iBACtE;gBAAC,OAAO,CAAC,EAAE;oBACX,KAAK,GAAG,CAAC,CAAC;oBACV,MAAM;iBACN;gBACD,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;aACnE;SACD;QAED,IAAI,KAAK,EAAE;YACV,MAAM,KAAK,CAAC;SACZ;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACH,OAAO;QACN,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
|
|
@@ -13,6 +13,10 @@ export declare class Ticker {
|
|
|
13
13
|
* The update interval of the worker
|
|
14
14
|
*/
|
|
15
15
|
private _updateInterval;
|
|
16
|
+
/**
|
|
17
|
+
* The lowest allowable interval, preferably calculated from context sampleRate
|
|
18
|
+
*/
|
|
19
|
+
private _minimumUpdateInterval;
|
|
16
20
|
/**
|
|
17
21
|
* The callback to invoke at regular intervals
|
|
18
22
|
*/
|
|
@@ -25,7 +29,7 @@ export declare class Ticker {
|
|
|
25
29
|
* private reference to the worker
|
|
26
30
|
*/
|
|
27
31
|
private _worker;
|
|
28
|
-
constructor(callback: () => void, type: TickerClockSource, updateInterval: Seconds);
|
|
32
|
+
constructor(callback: () => void, type: TickerClockSource, updateInterval: Seconds, contextSampleRate?: number);
|
|
29
33
|
/**
|
|
30
34
|
* Generate a web worker
|
|
31
35
|
*/
|
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
* a Web Worker, or if that isn't supported, falls back to setTimeout.
|
|
4
4
|
*/
|
|
5
5
|
export class Ticker {
|
|
6
|
-
constructor(callback, type, updateInterval) {
|
|
6
|
+
constructor(callback, type, updateInterval, contextSampleRate) {
|
|
7
7
|
this._callback = callback;
|
|
8
8
|
this._type = type;
|
|
9
|
-
this.
|
|
9
|
+
this._minimumUpdateInterval = Math.max(128 / (contextSampleRate || 44100), .001);
|
|
10
|
+
this.updateInterval = updateInterval;
|
|
10
11
|
// create the clock source for the first time
|
|
11
12
|
this._createClock();
|
|
12
13
|
}
|
|
@@ -83,9 +84,10 @@ export class Ticker {
|
|
|
83
84
|
return this._updateInterval;
|
|
84
85
|
}
|
|
85
86
|
set updateInterval(interval) {
|
|
86
|
-
|
|
87
|
+
var _a;
|
|
88
|
+
this._updateInterval = Math.max(interval, this._minimumUpdateInterval);
|
|
87
89
|
if (this._type === "worker") {
|
|
88
|
-
this._worker.postMessage(
|
|
90
|
+
(_a = this._worker) === null || _a === void 0 ? void 0 : _a.postMessage(this._updateInterval * 1000);
|
|
89
91
|
}
|
|
90
92
|
}
|
|
91
93
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ticker.js","sourceRoot":"","sources":["../../../../Tone/core/clock/Ticker.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,OAAO,MAAM;
|
|
1
|
+
{"version":3,"file":"Ticker.js","sourceRoot":"","sources":["../../../../Tone/core/clock/Ticker.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,12 +24,6 @@ export interface ContextTimeoutEvent {
|
|
|
24
24
|
*/
|
|
25
25
|
export declare class Context extends BaseContext {
|
|
26
26
|
readonly name: string;
|
|
27
|
-
/**
|
|
28
|
-
* The amount of time into the future events are scheduled. Giving Web Audio
|
|
29
|
-
* a short amount of time into the future to schedule events can reduce clicks and
|
|
30
|
-
* improve performance. This value can be set to 0 to get the lowest latency.
|
|
31
|
-
*/
|
|
32
|
-
lookAhead: Seconds;
|
|
33
27
|
/**
|
|
34
28
|
* private reference to the BaseAudioContext
|
|
35
29
|
*/
|
|
@@ -160,8 +154,9 @@ export declare class Context extends BaseContext {
|
|
|
160
154
|
/**
|
|
161
155
|
* How often the interval callback is invoked.
|
|
162
156
|
* This number corresponds to how responsive the scheduling
|
|
163
|
-
* can be.
|
|
164
|
-
*
|
|
157
|
+
* can be. Setting to 0 will result in the lowest practial interval
|
|
158
|
+
* based on context properties. context.updateInterval + context.lookAhead
|
|
159
|
+
* gives you the total latency between scheduling an event and hearing it.
|
|
165
160
|
*/
|
|
166
161
|
get updateInterval(): Seconds;
|
|
167
162
|
set updateInterval(interval: Seconds);
|
|
@@ -171,6 +166,15 @@ export declare class Context extends BaseContext {
|
|
|
171
166
|
*/
|
|
172
167
|
get clockSource(): TickerClockSource;
|
|
173
168
|
set clockSource(type: TickerClockSource);
|
|
169
|
+
/**
|
|
170
|
+
* The amount of time into the future events are scheduled. Giving Web Audio
|
|
171
|
+
* a short amount of time into the future to schedule events can reduce clicks and
|
|
172
|
+
* improve performance. This value can be set to 0 to get the lowest latency.
|
|
173
|
+
* Adjusting this value also affects the [[updateInterval]].
|
|
174
|
+
*/
|
|
175
|
+
get lookAhead(): Seconds;
|
|
176
|
+
set lookAhead(time: Seconds);
|
|
177
|
+
private _lookAhead;
|
|
174
178
|
/**
|
|
175
179
|
* The type of playback, which affects tradeoffs between audio
|
|
176
180
|
* output latency and responsiveness.
|
|
@@ -187,10 +191,6 @@ export declare class Context extends BaseContext {
|
|
|
187
191
|
* console.log(Tone.getContext().latencyHint);
|
|
188
192
|
*/
|
|
189
193
|
get latencyHint(): ContextLatencyHint | Seconds;
|
|
190
|
-
/**
|
|
191
|
-
* Update the lookAhead and updateInterval based on the latencyHint
|
|
192
|
-
*/
|
|
193
|
-
private _setLatencyHint;
|
|
194
194
|
/**
|
|
195
195
|
* The unwrapped AudioContext or OfflineAudioContext
|
|
196
196
|
*/
|
|
@@ -3,7 +3,7 @@ import { Ticker } from "../clock/Ticker";
|
|
|
3
3
|
import { isAudioContext } from "../util/AdvancedTypeCheck";
|
|
4
4
|
import { optionsFromArguments } from "../util/Defaults";
|
|
5
5
|
import { Timeline } from "../util/Timeline";
|
|
6
|
-
import { isDefined
|
|
6
|
+
import { isDefined } from "../util/TypeCheck";
|
|
7
7
|
import { createAudioContext, createAudioWorkletNode, } from "./AudioContext";
|
|
8
8
|
import { closeContext, initializeContext } from "./ContextInitialization";
|
|
9
9
|
import { BaseContext } from "./BaseContext";
|
|
@@ -14,6 +14,7 @@ import { assert } from "../util/Debug";
|
|
|
14
14
|
*/
|
|
15
15
|
export class Context extends BaseContext {
|
|
16
16
|
constructor() {
|
|
17
|
+
var _a, _b;
|
|
17
18
|
super();
|
|
18
19
|
this.name = "Context";
|
|
19
20
|
/**
|
|
@@ -48,20 +49,23 @@ export class Context extends BaseContext {
|
|
|
48
49
|
]);
|
|
49
50
|
if (options.context) {
|
|
50
51
|
this._context = options.context;
|
|
52
|
+
// custom context provided, latencyHint unknown (unless explicitly provided in options)
|
|
53
|
+
this._latencyHint = ((_a = arguments[0]) === null || _a === void 0 ? void 0 : _a.latencyHint) || "";
|
|
51
54
|
}
|
|
52
55
|
else {
|
|
53
56
|
this._context = createAudioContext({
|
|
54
57
|
latencyHint: options.latencyHint,
|
|
55
58
|
});
|
|
59
|
+
this._latencyHint = options.latencyHint;
|
|
56
60
|
}
|
|
57
|
-
this._ticker = new Ticker(this.emit.bind(this, "tick"), options.clockSource, options.updateInterval);
|
|
61
|
+
this._ticker = new Ticker(this.emit.bind(this, "tick"), options.clockSource, options.updateInterval, this._context.sampleRate);
|
|
58
62
|
this.on("tick", this._timeoutLoop.bind(this));
|
|
59
63
|
// fwd events from the context
|
|
60
64
|
this._context.onstatechange = () => {
|
|
61
65
|
this.emit("statechange", this.state);
|
|
62
66
|
};
|
|
63
|
-
|
|
64
|
-
this.lookAhead = options.lookAhead;
|
|
67
|
+
// if no custom updateInterval provided, updateInterval will be derived by lookAhead setter
|
|
68
|
+
this[((_b = arguments[0]) === null || _b === void 0 ? void 0 : _b.hasOwnProperty("updateInterval")) ? "_lookAhead" : "lookAhead"] = options.lookAhead;
|
|
65
69
|
}
|
|
66
70
|
static getDefaults() {
|
|
67
71
|
return {
|
|
@@ -254,8 +258,9 @@ export class Context extends BaseContext {
|
|
|
254
258
|
/**
|
|
255
259
|
* How often the interval callback is invoked.
|
|
256
260
|
* This number corresponds to how responsive the scheduling
|
|
257
|
-
* can be.
|
|
258
|
-
*
|
|
261
|
+
* can be. Setting to 0 will result in the lowest practial interval
|
|
262
|
+
* based on context properties. context.updateInterval + context.lookAhead
|
|
263
|
+
* gives you the total latency between scheduling an event and hearing it.
|
|
259
264
|
*/
|
|
260
265
|
get updateInterval() {
|
|
261
266
|
return this._ticker.updateInterval;
|
|
@@ -273,6 +278,20 @@ export class Context extends BaseContext {
|
|
|
273
278
|
set clockSource(type) {
|
|
274
279
|
this._ticker.type = type;
|
|
275
280
|
}
|
|
281
|
+
/**
|
|
282
|
+
* The amount of time into the future events are scheduled. Giving Web Audio
|
|
283
|
+
* a short amount of time into the future to schedule events can reduce clicks and
|
|
284
|
+
* improve performance. This value can be set to 0 to get the lowest latency.
|
|
285
|
+
* Adjusting this value also affects the [[updateInterval]].
|
|
286
|
+
*/
|
|
287
|
+
get lookAhead() {
|
|
288
|
+
return this._lookAhead;
|
|
289
|
+
}
|
|
290
|
+
set lookAhead(time) {
|
|
291
|
+
this._lookAhead = time;
|
|
292
|
+
// if lookAhead is 0, default to .01 updateInterval
|
|
293
|
+
this.updateInterval = time ? (time / 2) : .01;
|
|
294
|
+
}
|
|
276
295
|
/**
|
|
277
296
|
* The type of playback, which affects tradeoffs between audio
|
|
278
297
|
* output latency and responsiveness.
|
|
@@ -291,28 +310,6 @@ export class Context extends BaseContext {
|
|
|
291
310
|
get latencyHint() {
|
|
292
311
|
return this._latencyHint;
|
|
293
312
|
}
|
|
294
|
-
/**
|
|
295
|
-
* Update the lookAhead and updateInterval based on the latencyHint
|
|
296
|
-
*/
|
|
297
|
-
_setLatencyHint(hint) {
|
|
298
|
-
let lookAheadValue = 0;
|
|
299
|
-
this._latencyHint = hint;
|
|
300
|
-
if (isString(hint)) {
|
|
301
|
-
switch (hint) {
|
|
302
|
-
case "interactive":
|
|
303
|
-
lookAheadValue = 0.1;
|
|
304
|
-
break;
|
|
305
|
-
case "playback":
|
|
306
|
-
lookAheadValue = 0.5;
|
|
307
|
-
break;
|
|
308
|
-
case "balanced":
|
|
309
|
-
lookAheadValue = 0.25;
|
|
310
|
-
break;
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
this.lookAhead = lookAheadValue;
|
|
314
|
-
this.updateInterval = lookAheadValue / 2;
|
|
315
|
-
}
|
|
316
313
|
/**
|
|
317
314
|
* The unwrapped AudioContext or OfflineAudioContext
|
|
318
315
|
*/
|
|
@@ -327,7 +324,7 @@ export class Context extends BaseContext {
|
|
|
327
324
|
* }, 100);
|
|
328
325
|
*/
|
|
329
326
|
now() {
|
|
330
|
-
return this._context.currentTime + this.
|
|
327
|
+
return this._context.currentTime + this._lookAhead;
|
|
331
328
|
}
|
|
332
329
|
/**
|
|
333
330
|
* The current audio context time without the [[lookAhead]].
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../../Tone/core/context/Context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../../Tone/core/context/Context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { getContext } from "../Global";
|
|
3
3
|
import { Tone } from "../Tone";
|
|
4
|
-
import { isAudioBuffer } from "../util/AdvancedTypeCheck";
|
|
5
4
|
import { optionsFromArguments } from "../util/Defaults";
|
|
6
5
|
import { noOp } from "../util/Interface";
|
|
7
6
|
import { isArray, isNumber, isString } from "../util/TypeCheck";
|
|
@@ -27,13 +26,13 @@ export class ToneAudioBuffer extends Tone {
|
|
|
27
26
|
const options = optionsFromArguments(ToneAudioBuffer.getDefaults(), arguments, ["url", "onload", "onerror"]);
|
|
28
27
|
this.reverse = options.reverse;
|
|
29
28
|
this.onload = options.onload;
|
|
30
|
-
if (
|
|
31
|
-
this.set(options.url);
|
|
32
|
-
}
|
|
33
|
-
else if (isString(options.url)) {
|
|
29
|
+
if (isString(options.url)) {
|
|
34
30
|
// initiate the download
|
|
35
31
|
this.load(options.url).catch(options.onerror);
|
|
36
32
|
}
|
|
33
|
+
else if (options.url) {
|
|
34
|
+
this.set(options.url);
|
|
35
|
+
}
|
|
37
36
|
}
|
|
38
37
|
static getDefaults() {
|
|
39
38
|
return {
|
|
@@ -93,7 +92,7 @@ export class ToneAudioBuffer extends Tone {
|
|
|
93
92
|
*/
|
|
94
93
|
load(url) {
|
|
95
94
|
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
-
const doneLoading = ToneAudioBuffer.load(url).then(audioBuffer => {
|
|
95
|
+
const doneLoading = ToneAudioBuffer.load(url).then((audioBuffer) => {
|
|
97
96
|
this.set(audioBuffer);
|
|
98
97
|
// invoke the onload method
|
|
99
98
|
this.onload(this);
|
|
@@ -126,11 +125,14 @@ export class ToneAudioBuffer extends Tone {
|
|
|
126
125
|
fromArray(array) {
|
|
127
126
|
const isMultidimensional = isArray(array) && array[0].length > 0;
|
|
128
127
|
const channels = isMultidimensional ? array.length : 1;
|
|
129
|
-
const len = isMultidimensional
|
|
128
|
+
const len = isMultidimensional
|
|
129
|
+
? array[0].length
|
|
130
|
+
: array.length;
|
|
130
131
|
const context = getContext();
|
|
131
132
|
const buffer = context.createBuffer(channels, len, context.sampleRate);
|
|
132
|
-
const multiChannelArray = !isMultidimensional && channels === 1
|
|
133
|
-
[array]
|
|
133
|
+
const multiChannelArray = !isMultidimensional && channels === 1
|
|
134
|
+
? [array]
|
|
135
|
+
: array;
|
|
134
136
|
for (let c = 0; c < channels; c++) {
|
|
135
137
|
buffer.copyToChannel(multiChannelArray[c], c);
|
|
136
138
|
}
|
|
@@ -155,7 +157,7 @@ export class ToneAudioBuffer extends Tone {
|
|
|
155
157
|
}
|
|
156
158
|
}
|
|
157
159
|
// divide by the number of channels
|
|
158
|
-
outputArray = outputArray.map(sample => sample / numChannels);
|
|
160
|
+
outputArray = outputArray.map((sample) => sample / numChannels);
|
|
159
161
|
this.fromArray(outputArray);
|
|
160
162
|
}
|
|
161
163
|
return this;
|
|
@@ -280,7 +282,7 @@ export class ToneAudioBuffer extends Tone {
|
|
|
280
282
|
* @return A ToneAudioBuffer created from the array
|
|
281
283
|
*/
|
|
282
284
|
static fromArray(array) {
|
|
283
|
-
return
|
|
285
|
+
return new ToneAudioBuffer().fromArray(array);
|
|
284
286
|
}
|
|
285
287
|
/**
|
|
286
288
|
* Creates a ToneAudioBuffer from a URL, returns a promise which resolves to a ToneAudioBuffer
|
|
@@ -312,11 +314,17 @@ export class ToneAudioBuffer extends Tone {
|
|
|
312
314
|
url = url.replace(matches[0], extension);
|
|
313
315
|
}
|
|
314
316
|
// make sure there is a slash between the baseUrl and the url
|
|
315
|
-
const baseUrl = ToneAudioBuffer.baseUrl === "" ||
|
|
317
|
+
const baseUrl = ToneAudioBuffer.baseUrl === "" ||
|
|
318
|
+
ToneAudioBuffer.baseUrl.endsWith("/")
|
|
319
|
+
? ToneAudioBuffer.baseUrl
|
|
320
|
+
: ToneAudioBuffer.baseUrl + "/";
|
|
316
321
|
// encode special characters in file path
|
|
317
322
|
const location = document.createElement("a");
|
|
318
|
-
location.href =
|
|
319
|
-
location.pathname = (location.pathname + location.hash)
|
|
323
|
+
location.href = baseUrl + url;
|
|
324
|
+
location.pathname = (location.pathname + location.hash)
|
|
325
|
+
.split("/")
|
|
326
|
+
.map(encodeURIComponent)
|
|
327
|
+
.join("/");
|
|
320
328
|
const response = yield fetch(location.href);
|
|
321
329
|
if (!response.ok) {
|
|
322
330
|
throw new Error(`could not load url: ${url}`);
|
|
@@ -338,7 +346,9 @@ export class ToneAudioBuffer extends Tone {
|
|
|
338
346
|
static supportsType(url) {
|
|
339
347
|
const extensions = url.split(".");
|
|
340
348
|
const extension = extensions[extensions.length - 1];
|
|
341
|
-
const response = document
|
|
349
|
+
const response = document
|
|
350
|
+
.createElement("audio")
|
|
351
|
+
.canPlayType("audio/" + extension);
|
|
342
352
|
return response !== "";
|
|
343
353
|
}
|
|
344
354
|
/**
|