tone 15.4.2 → 15.4.3

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.
@@ -1,8 +1,8 @@
1
- import { Panner } from "../component/channel/Panner.js";
2
- import { Frequency } from "../core/type/Units.js";
1
+ import { Frequency, NormalRange } from "../core/type/Units.js";
3
2
  import { LFOEffect, LFOEffectOptions } from "./LFOEffect.js";
4
3
  export interface AutoPannerOptions extends LFOEffectOptions {
5
4
  channelCount: number;
5
+ width: NormalRange;
6
6
  }
7
7
  /**
8
8
  * AutoPanner is a {@link Panner} with an {@link LFO} connected to the pan amount.
@@ -20,12 +20,22 @@ export declare class AutoPanner extends LFOEffect<AutoPannerOptions> {
20
20
  /**
21
21
  * The filter node
22
22
  */
23
- readonly _panner: Panner;
23
+ private readonly _panner;
24
+ private _width;
24
25
  /**
25
26
  * @param frequency Rate of left-right oscillation.
26
27
  */
27
28
  constructor(frequency?: Frequency);
28
29
  constructor(options?: Partial<AutoPannerOptions>);
29
30
  static getDefaults(): AutoPannerOptions;
31
+ /**
32
+ * Updates the LFO min/max based on width
33
+ */
34
+ private _updateLFORange;
35
+ /**
36
+ * The width of the panning effect. 0 = no panning, 1 = full left-right panning.
37
+ */
38
+ get width(): NormalRange;
39
+ set width(width: NormalRange);
30
40
  dispose(): this;
31
41
  }
@@ -21,17 +21,35 @@ export class AutoPanner extends LFOEffect {
21
21
  context: this.context,
22
22
  channelCount: options.channelCount,
23
23
  });
24
+ this._width = options.width;
24
25
  // connections
25
26
  this.connectEffect(this._panner);
26
27
  this._lfo.connect(this._panner.pan);
27
- this._lfo.min = -1;
28
- this._lfo.max = 1;
28
+ this._updateLFORange();
29
29
  }
30
30
  static getDefaults() {
31
31
  return Object.assign(LFOEffect.getDefaults(), {
32
32
  channelCount: 1,
33
+ width: 1,
33
34
  });
34
35
  }
36
+ /**
37
+ * Updates the LFO min/max based on width
38
+ */
39
+ _updateLFORange() {
40
+ this._lfo.min = -this._width;
41
+ this._lfo.max = this._width;
42
+ }
43
+ /**
44
+ * The width of the panning effect. 0 = no panning, 1 = full left-right panning.
45
+ */
46
+ get width() {
47
+ return this._width;
48
+ }
49
+ set width(width) {
50
+ this._width = width;
51
+ this._updateLFORange();
52
+ }
35
53
  dispose() {
36
54
  super.dispose();
37
55
  this._panner.dispose();
@@ -1 +1 @@
1
- {"version":3,"file":"AutoPanner.js","sourceRoot":"","sources":["../../../Tone/effect/AutoPanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAoB,MAAM,gBAAgB,CAAC;AAM7D;;;;;;;;;;GAUG;AACH,MAAM,OAAO,UAAW,SAAQ,SAA4B;IAa3D;QACC,MAAM,OAAO,GAAG,oBAAoB,CACnC,UAAU,CAAC,WAAW,EAAE,EACxB,SAAS,EACT,CAAC,WAAW,CAAC,CACb,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,CAAC;QAlBP,SAAI,GAAW,YAAY,CAAC;QAoBpC,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,OAAO,CAAC,YAAY;SAClC,CAAC,CAAC;QACH,cAAc;QACd,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,WAAW;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE;YAC7C,YAAY,EAAE,CAAC;SACf,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
1
+ {"version":3,"file":"AutoPanner.js","sourceRoot":"","sources":["../../../Tone/effect/AutoPanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAoB,MAAM,gBAAgB,CAAC;AAO7D;;;;;;;;;;GAUG;AACH,MAAM,OAAO,UAAW,SAAQ,SAA4B;IAe3D;QACC,MAAM,OAAO,GAAG,oBAAoB,CACnC,UAAU,CAAC,WAAW,EAAE,EACxB,SAAS,EACT,CAAC,WAAW,CAAC,CACb,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,CAAC;QApBP,SAAI,GAAW,YAAY,CAAC;QAsBpC,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,YAAY,EAAE,OAAO,CAAC,YAAY;SAClC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAE5B,cAAc;QACd,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,WAAW;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE;YAC7C,YAAY,EAAE,CAAC;YACf,KAAK,EAAE,CAAC;SACR,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,eAAe;QACtB,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,KAAkB;QAC3B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,eAAe,EAAE,CAAC;IACxB,CAAC;IAED,OAAO;QACN,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACb,CAAC;CACD"}
@@ -1,2 +1,2 @@
1
- export const version = "15.4.2";
1
+ export const version = "15.4.3";
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tone",
3
- "version": "15.4.2",
3
+ "version": "15.4.3",
4
4
  "description": "A Web Audio framework for making interactive music in the browser.",
5
5
  "type": "module",
6
6
  "main": "build/esm/index.js",