waa-play 0.1.0

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.
Files changed (125) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +163 -0
  3. package/dist/adapters.cjs +28 -0
  4. package/dist/adapters.cjs.map +1 -0
  5. package/dist/adapters.d.cts +42 -0
  6. package/dist/adapters.d.ts +42 -0
  7. package/dist/adapters.js +3 -0
  8. package/dist/adapters.js.map +1 -0
  9. package/dist/buffer.cjs +24 -0
  10. package/dist/buffer.cjs.map +1 -0
  11. package/dist/buffer.d.cts +34 -0
  12. package/dist/buffer.d.ts +34 -0
  13. package/dist/buffer.js +3 -0
  14. package/dist/buffer.js.map +1 -0
  15. package/dist/chunk-2DL7CAEP.js +69 -0
  16. package/dist/chunk-2DL7CAEP.js.map +1 -0
  17. package/dist/chunk-37CPPRLV.js +24 -0
  18. package/dist/chunk-37CPPRLV.js.map +1 -0
  19. package/dist/chunk-4LNVRSTM.cjs +72 -0
  20. package/dist/chunk-4LNVRSTM.cjs.map +1 -0
  21. package/dist/chunk-5J7S6QV3.cjs +44 -0
  22. package/dist/chunk-5J7S6QV3.cjs.map +1 -0
  23. package/dist/chunk-6UTN73HG.cjs +29 -0
  24. package/dist/chunk-6UTN73HG.cjs.map +1 -0
  25. package/dist/chunk-AGP2IRC6.js +63 -0
  26. package/dist/chunk-AGP2IRC6.js.map +1 -0
  27. package/dist/chunk-C2ASIYN5.js +67 -0
  28. package/dist/chunk-C2ASIYN5.js.map +1 -0
  29. package/dist/chunk-CJJC6ASU.js +73 -0
  30. package/dist/chunk-CJJC6ASU.js.map +1 -0
  31. package/dist/chunk-CPAT75WD.cjs +60 -0
  32. package/dist/chunk-CPAT75WD.cjs.map +1 -0
  33. package/dist/chunk-CRODJ4KS.js +71 -0
  34. package/dist/chunk-CRODJ4KS.js.map +1 -0
  35. package/dist/chunk-D5CD5KQZ.cjs +72 -0
  36. package/dist/chunk-D5CD5KQZ.cjs.map +1 -0
  37. package/dist/chunk-GYH2JSCY.js +42 -0
  38. package/dist/chunk-GYH2JSCY.js.map +1 -0
  39. package/dist/chunk-HTGOHC73.cjs +69 -0
  40. package/dist/chunk-HTGOHC73.cjs.map +1 -0
  41. package/dist/chunk-LETS7FKB.js +33 -0
  42. package/dist/chunk-LETS7FKB.js.map +1 -0
  43. package/dist/chunk-M5PDY5EZ.cjs +84 -0
  44. package/dist/chunk-M5PDY5EZ.cjs.map +1 -0
  45. package/dist/chunk-PZE6HTZR.cjs +358 -0
  46. package/dist/chunk-PZE6HTZR.cjs.map +1 -0
  47. package/dist/chunk-QFFQQMU4.cjs +75 -0
  48. package/dist/chunk-QFFQQMU4.cjs.map +1 -0
  49. package/dist/chunk-QWNV2BZ5.cjs +37 -0
  50. package/dist/chunk-QWNV2BZ5.cjs.map +1 -0
  51. package/dist/chunk-RWJ4EWJT.js +356 -0
  52. package/dist/chunk-RWJ4EWJT.js.map +1 -0
  53. package/dist/chunk-T74FBKTY.js +55 -0
  54. package/dist/chunk-T74FBKTY.js.map +1 -0
  55. package/dist/chunk-TULV7V5M.cjs +1710 -0
  56. package/dist/chunk-TULV7V5M.cjs.map +1 -0
  57. package/dist/chunk-V2QX5K42.js +1708 -0
  58. package/dist/chunk-V2QX5K42.js.map +1 -0
  59. package/dist/context.cjs +24 -0
  60. package/dist/context.cjs.map +1 -0
  61. package/dist/context.d.cts +27 -0
  62. package/dist/context.d.ts +27 -0
  63. package/dist/context.js +3 -0
  64. package/dist/context.js.map +1 -0
  65. package/dist/emitter.cjs +12 -0
  66. package/dist/emitter.cjs.map +1 -0
  67. package/dist/emitter.d.cts +24 -0
  68. package/dist/emitter.d.ts +24 -0
  69. package/dist/emitter.js +3 -0
  70. package/dist/emitter.js.map +1 -0
  71. package/dist/engine-5JK2FCNL.cjs +13 -0
  72. package/dist/engine-5JK2FCNL.cjs.map +1 -0
  73. package/dist/engine-M2U4LE3F.js +4 -0
  74. package/dist/engine-M2U4LE3F.js.map +1 -0
  75. package/dist/fade.cjs +24 -0
  76. package/dist/fade.cjs.map +1 -0
  77. package/dist/fade.d.cts +21 -0
  78. package/dist/fade.d.ts +21 -0
  79. package/dist/fade.js +3 -0
  80. package/dist/fade.js.map +1 -0
  81. package/dist/index.cjs +165 -0
  82. package/dist/index.cjs.map +1 -0
  83. package/dist/index.d.cts +11 -0
  84. package/dist/index.d.ts +11 -0
  85. package/dist/index.js +12 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/nodes.cjs +48 -0
  88. package/dist/nodes.cjs.map +1 -0
  89. package/dist/nodes.d.cts +61 -0
  90. package/dist/nodes.d.ts +61 -0
  91. package/dist/nodes.js +3 -0
  92. package/dist/nodes.js.map +1 -0
  93. package/dist/play.cjs +13 -0
  94. package/dist/play.cjs.map +1 -0
  95. package/dist/play.d.cts +19 -0
  96. package/dist/play.d.ts +19 -0
  97. package/dist/play.js +4 -0
  98. package/dist/play.js.map +1 -0
  99. package/dist/scheduler.cjs +16 -0
  100. package/dist/scheduler.cjs.map +1 -0
  101. package/dist/scheduler.d.cts +39 -0
  102. package/dist/scheduler.d.ts +39 -0
  103. package/dist/scheduler.js +3 -0
  104. package/dist/scheduler.js.map +1 -0
  105. package/dist/stretcher.cjs +13 -0
  106. package/dist/stretcher.cjs.map +1 -0
  107. package/dist/stretcher.d.cts +171 -0
  108. package/dist/stretcher.d.ts +171 -0
  109. package/dist/stretcher.js +4 -0
  110. package/dist/stretcher.js.map +1 -0
  111. package/dist/synth.cjs +20 -0
  112. package/dist/synth.cjs.map +1 -0
  113. package/dist/synth.d.cts +15 -0
  114. package/dist/synth.d.ts +15 -0
  115. package/dist/synth.js +3 -0
  116. package/dist/synth.js.map +1 -0
  117. package/dist/types-DUrbEbPl.d.cts +177 -0
  118. package/dist/types-DUrbEbPl.d.ts +177 -0
  119. package/dist/waveform.cjs +20 -0
  120. package/dist/waveform.cjs.map +1 -0
  121. package/dist/waveform.d.cts +22 -0
  122. package/dist/waveform.d.ts +22 -0
  123. package/dist/waveform.js +3 -0
  124. package/dist/waveform.js.map +1 -0
  125. package/package.json +123 -0
package/dist/index.cjs ADDED
@@ -0,0 +1,165 @@
1
+ 'use strict';
2
+
3
+ var chunkD5CD5KQZ_cjs = require('./chunk-D5CD5KQZ.cjs');
4
+ var chunkQWNV2BZ5_cjs = require('./chunk-QWNV2BZ5.cjs');
5
+ var chunkHTGOHC73_cjs = require('./chunk-HTGOHC73.cjs');
6
+ var chunk6UTN73HG_cjs = require('./chunk-6UTN73HG.cjs');
7
+ var chunkCPAT75WD_cjs = require('./chunk-CPAT75WD.cjs');
8
+ var chunkPZE6HTZR_cjs = require('./chunk-PZE6HTZR.cjs');
9
+ var chunk5J7S6QV3_cjs = require('./chunk-5J7S6QV3.cjs');
10
+ var chunkM5PDY5EZ_cjs = require('./chunk-M5PDY5EZ.cjs');
11
+ var chunkQFFQQMU4_cjs = require('./chunk-QFFQQMU4.cjs');
12
+ var chunk4LNVRSTM_cjs = require('./chunk-4LNVRSTM.cjs');
13
+
14
+
15
+
16
+ Object.defineProperty(exports, "createClock", {
17
+ enumerable: true,
18
+ get: function () { return chunkD5CD5KQZ_cjs.createClock; }
19
+ });
20
+ Object.defineProperty(exports, "createScheduler", {
21
+ enumerable: true,
22
+ get: function () { return chunkD5CD5KQZ_cjs.createScheduler; }
23
+ });
24
+ Object.defineProperty(exports, "createClickBuffer", {
25
+ enumerable: true,
26
+ get: function () { return chunkQWNV2BZ5_cjs.createClickBuffer; }
27
+ });
28
+ Object.defineProperty(exports, "createNoiseBuffer", {
29
+ enumerable: true,
30
+ get: function () { return chunkQWNV2BZ5_cjs.createNoiseBuffer; }
31
+ });
32
+ Object.defineProperty(exports, "createSineBuffer", {
33
+ enumerable: true,
34
+ get: function () { return chunkQWNV2BZ5_cjs.createSineBuffer; }
35
+ });
36
+ Object.defineProperty(exports, "getSnapshot", {
37
+ enumerable: true,
38
+ get: function () { return chunkHTGOHC73_cjs.getSnapshot; }
39
+ });
40
+ Object.defineProperty(exports, "onFrame", {
41
+ enumerable: true,
42
+ get: function () { return chunkHTGOHC73_cjs.onFrame; }
43
+ });
44
+ Object.defineProperty(exports, "subscribeSnapshot", {
45
+ enumerable: true,
46
+ get: function () { return chunkHTGOHC73_cjs.subscribeSnapshot; }
47
+ });
48
+ Object.defineProperty(exports, "whenEnded", {
49
+ enumerable: true,
50
+ get: function () { return chunkHTGOHC73_cjs.whenEnded; }
51
+ });
52
+ Object.defineProperty(exports, "whenPosition", {
53
+ enumerable: true,
54
+ get: function () { return chunkHTGOHC73_cjs.whenPosition; }
55
+ });
56
+ Object.defineProperty(exports, "createContext", {
57
+ enumerable: true,
58
+ get: function () { return chunk6UTN73HG_cjs.createContext; }
59
+ });
60
+ Object.defineProperty(exports, "ensureRunning", {
61
+ enumerable: true,
62
+ get: function () { return chunk6UTN73HG_cjs.ensureRunning; }
63
+ });
64
+ Object.defineProperty(exports, "now", {
65
+ enumerable: true,
66
+ get: function () { return chunk6UTN73HG_cjs.now; }
67
+ });
68
+ Object.defineProperty(exports, "resumeContext", {
69
+ enumerable: true,
70
+ get: function () { return chunk6UTN73HG_cjs.resumeContext; }
71
+ });
72
+ Object.defineProperty(exports, "getBufferInfo", {
73
+ enumerable: true,
74
+ get: function () { return chunkCPAT75WD_cjs.getBufferInfo; }
75
+ });
76
+ Object.defineProperty(exports, "loadBuffer", {
77
+ enumerable: true,
78
+ get: function () { return chunkCPAT75WD_cjs.loadBuffer; }
79
+ });
80
+ Object.defineProperty(exports, "loadBufferFromBlob", {
81
+ enumerable: true,
82
+ get: function () { return chunkCPAT75WD_cjs.loadBufferFromBlob; }
83
+ });
84
+ Object.defineProperty(exports, "loadBuffers", {
85
+ enumerable: true,
86
+ get: function () { return chunkCPAT75WD_cjs.loadBuffers; }
87
+ });
88
+ Object.defineProperty(exports, "play", {
89
+ enumerable: true,
90
+ get: function () { return chunkPZE6HTZR_cjs.play; }
91
+ });
92
+ Object.defineProperty(exports, "createEmitter", {
93
+ enumerable: true,
94
+ get: function () { return chunk5J7S6QV3_cjs.createEmitter; }
95
+ });
96
+ Object.defineProperty(exports, "chain", {
97
+ enumerable: true,
98
+ get: function () { return chunkM5PDY5EZ_cjs.chain; }
99
+ });
100
+ Object.defineProperty(exports, "createAnalyser", {
101
+ enumerable: true,
102
+ get: function () { return chunkM5PDY5EZ_cjs.createAnalyser; }
103
+ });
104
+ Object.defineProperty(exports, "createCompressor", {
105
+ enumerable: true,
106
+ get: function () { return chunkM5PDY5EZ_cjs.createCompressor; }
107
+ });
108
+ Object.defineProperty(exports, "createFilter", {
109
+ enumerable: true,
110
+ get: function () { return chunkM5PDY5EZ_cjs.createFilter; }
111
+ });
112
+ Object.defineProperty(exports, "createGain", {
113
+ enumerable: true,
114
+ get: function () { return chunkM5PDY5EZ_cjs.createGain; }
115
+ });
116
+ Object.defineProperty(exports, "createPanner", {
117
+ enumerable: true,
118
+ get: function () { return chunkM5PDY5EZ_cjs.createPanner; }
119
+ });
120
+ Object.defineProperty(exports, "disconnectChain", {
121
+ enumerable: true,
122
+ get: function () { return chunkM5PDY5EZ_cjs.disconnectChain; }
123
+ });
124
+ Object.defineProperty(exports, "getFrequencyData", {
125
+ enumerable: true,
126
+ get: function () { return chunkM5PDY5EZ_cjs.getFrequencyData; }
127
+ });
128
+ Object.defineProperty(exports, "getFrequencyDataByte", {
129
+ enumerable: true,
130
+ get: function () { return chunkM5PDY5EZ_cjs.getFrequencyDataByte; }
131
+ });
132
+ Object.defineProperty(exports, "rampGain", {
133
+ enumerable: true,
134
+ get: function () { return chunkM5PDY5EZ_cjs.rampGain; }
135
+ });
136
+ Object.defineProperty(exports, "extractPeakPairs", {
137
+ enumerable: true,
138
+ get: function () { return chunkQFFQQMU4_cjs.extractPeakPairs; }
139
+ });
140
+ Object.defineProperty(exports, "extractPeaks", {
141
+ enumerable: true,
142
+ get: function () { return chunkQFFQQMU4_cjs.extractPeaks; }
143
+ });
144
+ Object.defineProperty(exports, "extractRMS", {
145
+ enumerable: true,
146
+ get: function () { return chunkQFFQQMU4_cjs.extractRMS; }
147
+ });
148
+ Object.defineProperty(exports, "autoFade", {
149
+ enumerable: true,
150
+ get: function () { return chunk4LNVRSTM_cjs.autoFade; }
151
+ });
152
+ Object.defineProperty(exports, "crossfade", {
153
+ enumerable: true,
154
+ get: function () { return chunk4LNVRSTM_cjs.crossfade; }
155
+ });
156
+ Object.defineProperty(exports, "fadeIn", {
157
+ enumerable: true,
158
+ get: function () { return chunk4LNVRSTM_cjs.fadeIn; }
159
+ });
160
+ Object.defineProperty(exports, "fadeOut", {
161
+ enumerable: true,
162
+ get: function () { return chunk4LNVRSTM_cjs.fadeOut; }
163
+ });
164
+ //# sourceMappingURL=index.cjs.map
165
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.cjs"}
@@ -0,0 +1,11 @@
1
+ export { A as AutoFadeOptions, B as BufferInfo, C as ClockOptions, a as CreateContextOptions, b as CrossfadeOptions, E as ExtractPeaksOptions, F as FadeCurve, c as FadeOptions, L as LoadBufferOptions, P as PeakPair, d as PlayOptions, e as Playback, f as PlaybackEventMap, g as PlaybackSnapshot, h as PlaybackState, S as ScheduledEvent, i as SchedulerOptions, j as StretcherSnapshotExtension } from './types-DUrbEbPl.cjs';
2
+ export { createContext, ensureRunning, now, resumeContext } from './context.cjs';
3
+ export { getBufferInfo, loadBuffer, loadBufferFromBlob, loadBuffers } from './buffer.cjs';
4
+ export { play } from './play.cjs';
5
+ export { Emitter, createEmitter } from './emitter.cjs';
6
+ export { chain, createAnalyser, createCompressor, createFilter, createGain, createPanner, disconnectChain, getFrequencyData, getFrequencyDataByte, rampGain } from './nodes.cjs';
7
+ export { extractPeakPairs, extractPeaks, extractRMS } from './waveform.cjs';
8
+ export { autoFade, crossfade, fadeIn, fadeOut } from './fade.cjs';
9
+ export { Clock, Scheduler, createClock, createScheduler } from './scheduler.cjs';
10
+ export { createClickBuffer, createNoiseBuffer, createSineBuffer } from './synth.cjs';
11
+ export { getSnapshot, onFrame, subscribeSnapshot, whenEnded, whenPosition } from './adapters.cjs';
@@ -0,0 +1,11 @@
1
+ export { A as AutoFadeOptions, B as BufferInfo, C as ClockOptions, a as CreateContextOptions, b as CrossfadeOptions, E as ExtractPeaksOptions, F as FadeCurve, c as FadeOptions, L as LoadBufferOptions, P as PeakPair, d as PlayOptions, e as Playback, f as PlaybackEventMap, g as PlaybackSnapshot, h as PlaybackState, S as ScheduledEvent, i as SchedulerOptions, j as StretcherSnapshotExtension } from './types-DUrbEbPl.js';
2
+ export { createContext, ensureRunning, now, resumeContext } from './context.js';
3
+ export { getBufferInfo, loadBuffer, loadBufferFromBlob, loadBuffers } from './buffer.js';
4
+ export { play } from './play.js';
5
+ export { Emitter, createEmitter } from './emitter.js';
6
+ export { chain, createAnalyser, createCompressor, createFilter, createGain, createPanner, disconnectChain, getFrequencyData, getFrequencyDataByte, rampGain } from './nodes.js';
7
+ export { extractPeakPairs, extractPeaks, extractRMS } from './waveform.js';
8
+ export { autoFade, crossfade, fadeIn, fadeOut } from './fade.js';
9
+ export { Clock, Scheduler, createClock, createScheduler } from './scheduler.js';
10
+ export { createClickBuffer, createNoiseBuffer, createSineBuffer } from './synth.js';
11
+ export { getSnapshot, onFrame, subscribeSnapshot, whenEnded, whenPosition } from './adapters.js';
package/dist/index.js ADDED
@@ -0,0 +1,12 @@
1
+ export { createClock, createScheduler } from './chunk-2DL7CAEP.js';
2
+ export { createClickBuffer, createNoiseBuffer, createSineBuffer } from './chunk-LETS7FKB.js';
3
+ export { getSnapshot, onFrame, subscribeSnapshot, whenEnded, whenPosition } from './chunk-AGP2IRC6.js';
4
+ export { createContext, ensureRunning, now, resumeContext } from './chunk-37CPPRLV.js';
5
+ export { getBufferInfo, loadBuffer, loadBufferFromBlob, loadBuffers } from './chunk-T74FBKTY.js';
6
+ export { play } from './chunk-RWJ4EWJT.js';
7
+ export { createEmitter } from './chunk-GYH2JSCY.js';
8
+ export { chain, createAnalyser, createCompressor, createFilter, createGain, createPanner, disconnectChain, getFrequencyData, getFrequencyDataByte, rampGain } from './chunk-CJJC6ASU.js';
9
+ export { extractPeakPairs, extractPeaks, extractRMS } from './chunk-CRODJ4KS.js';
10
+ export { autoFade, crossfade, fadeIn, fadeOut } from './chunk-C2ASIYN5.js';
11
+ //# sourceMappingURL=index.js.map
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
package/dist/nodes.cjs ADDED
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ var chunkM5PDY5EZ_cjs = require('./chunk-M5PDY5EZ.cjs');
4
+
5
+
6
+
7
+ Object.defineProperty(exports, "chain", {
8
+ enumerable: true,
9
+ get: function () { return chunkM5PDY5EZ_cjs.chain; }
10
+ });
11
+ Object.defineProperty(exports, "createAnalyser", {
12
+ enumerable: true,
13
+ get: function () { return chunkM5PDY5EZ_cjs.createAnalyser; }
14
+ });
15
+ Object.defineProperty(exports, "createCompressor", {
16
+ enumerable: true,
17
+ get: function () { return chunkM5PDY5EZ_cjs.createCompressor; }
18
+ });
19
+ Object.defineProperty(exports, "createFilter", {
20
+ enumerable: true,
21
+ get: function () { return chunkM5PDY5EZ_cjs.createFilter; }
22
+ });
23
+ Object.defineProperty(exports, "createGain", {
24
+ enumerable: true,
25
+ get: function () { return chunkM5PDY5EZ_cjs.createGain; }
26
+ });
27
+ Object.defineProperty(exports, "createPanner", {
28
+ enumerable: true,
29
+ get: function () { return chunkM5PDY5EZ_cjs.createPanner; }
30
+ });
31
+ Object.defineProperty(exports, "disconnectChain", {
32
+ enumerable: true,
33
+ get: function () { return chunkM5PDY5EZ_cjs.disconnectChain; }
34
+ });
35
+ Object.defineProperty(exports, "getFrequencyData", {
36
+ enumerable: true,
37
+ get: function () { return chunkM5PDY5EZ_cjs.getFrequencyData; }
38
+ });
39
+ Object.defineProperty(exports, "getFrequencyDataByte", {
40
+ enumerable: true,
41
+ get: function () { return chunkM5PDY5EZ_cjs.getFrequencyDataByte; }
42
+ });
43
+ Object.defineProperty(exports, "rampGain", {
44
+ enumerable: true,
45
+ get: function () { return chunkM5PDY5EZ_cjs.rampGain; }
46
+ });
47
+ //# sourceMappingURL=nodes.cjs.map
48
+ //# sourceMappingURL=nodes.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"nodes.cjs"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Create a `GainNode` with an optional initial value.
3
+ */
4
+ declare function createGain(ctx: AudioContext, initialValue?: number): GainNode;
5
+ /**
6
+ * Smoothly ramp a `GainNode` to a target value over `duration` seconds using
7
+ * `linearRampToValueAtTime`. This avoids audible clicks when changing volume.
8
+ */
9
+ declare function rampGain(gain: GainNode, target: number, duration: number): void;
10
+ /**
11
+ * Create an `AnalyserNode`.
12
+ */
13
+ declare function createAnalyser(ctx: AudioContext, options?: {
14
+ fftSize?: number;
15
+ smoothingTimeConstant?: number;
16
+ }): AnalyserNode;
17
+ /**
18
+ * Get the current frequency data from an `AnalyserNode` as `Float32Array`.
19
+ */
20
+ declare function getFrequencyData(analyser: AnalyserNode): Float32Array;
21
+ /**
22
+ * Get the current frequency data from an `AnalyserNode` as `Uint8Array`.
23
+ */
24
+ declare function getFrequencyDataByte(analyser: AnalyserNode): Uint8Array;
25
+ /**
26
+ * Create a `BiquadFilterNode`.
27
+ */
28
+ declare function createFilter(ctx: AudioContext, options?: {
29
+ type?: BiquadFilterType;
30
+ frequency?: number;
31
+ Q?: number;
32
+ gain?: number;
33
+ }): BiquadFilterNode;
34
+ /**
35
+ * Create a `StereoPannerNode`.
36
+ */
37
+ declare function createPanner(ctx: AudioContext, pan?: number): StereoPannerNode;
38
+ /**
39
+ * Create a `DynamicsCompressorNode`.
40
+ */
41
+ declare function createCompressor(ctx: AudioContext, options?: {
42
+ threshold?: number;
43
+ knee?: number;
44
+ ratio?: number;
45
+ attack?: number;
46
+ release?: number;
47
+ }): DynamicsCompressorNode;
48
+ /**
49
+ * Connect a series of `AudioNode`s in order (serial chain).
50
+ *
51
+ * ```ts
52
+ * chain(source, gain, analyser, ctx.destination);
53
+ * ```
54
+ */
55
+ declare function chain(...nodes: AudioNode[]): void;
56
+ /**
57
+ * Disconnect a series of `AudioNode`s that were previously chained.
58
+ */
59
+ declare function disconnectChain(...nodes: AudioNode[]): void;
60
+
61
+ export { chain, createAnalyser, createCompressor, createFilter, createGain, createPanner, disconnectChain, getFrequencyData, getFrequencyDataByte, rampGain };
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Create a `GainNode` with an optional initial value.
3
+ */
4
+ declare function createGain(ctx: AudioContext, initialValue?: number): GainNode;
5
+ /**
6
+ * Smoothly ramp a `GainNode` to a target value over `duration` seconds using
7
+ * `linearRampToValueAtTime`. This avoids audible clicks when changing volume.
8
+ */
9
+ declare function rampGain(gain: GainNode, target: number, duration: number): void;
10
+ /**
11
+ * Create an `AnalyserNode`.
12
+ */
13
+ declare function createAnalyser(ctx: AudioContext, options?: {
14
+ fftSize?: number;
15
+ smoothingTimeConstant?: number;
16
+ }): AnalyserNode;
17
+ /**
18
+ * Get the current frequency data from an `AnalyserNode` as `Float32Array`.
19
+ */
20
+ declare function getFrequencyData(analyser: AnalyserNode): Float32Array;
21
+ /**
22
+ * Get the current frequency data from an `AnalyserNode` as `Uint8Array`.
23
+ */
24
+ declare function getFrequencyDataByte(analyser: AnalyserNode): Uint8Array;
25
+ /**
26
+ * Create a `BiquadFilterNode`.
27
+ */
28
+ declare function createFilter(ctx: AudioContext, options?: {
29
+ type?: BiquadFilterType;
30
+ frequency?: number;
31
+ Q?: number;
32
+ gain?: number;
33
+ }): BiquadFilterNode;
34
+ /**
35
+ * Create a `StereoPannerNode`.
36
+ */
37
+ declare function createPanner(ctx: AudioContext, pan?: number): StereoPannerNode;
38
+ /**
39
+ * Create a `DynamicsCompressorNode`.
40
+ */
41
+ declare function createCompressor(ctx: AudioContext, options?: {
42
+ threshold?: number;
43
+ knee?: number;
44
+ ratio?: number;
45
+ attack?: number;
46
+ release?: number;
47
+ }): DynamicsCompressorNode;
48
+ /**
49
+ * Connect a series of `AudioNode`s in order (serial chain).
50
+ *
51
+ * ```ts
52
+ * chain(source, gain, analyser, ctx.destination);
53
+ * ```
54
+ */
55
+ declare function chain(...nodes: AudioNode[]): void;
56
+ /**
57
+ * Disconnect a series of `AudioNode`s that were previously chained.
58
+ */
59
+ declare function disconnectChain(...nodes: AudioNode[]): void;
60
+
61
+ export { chain, createAnalyser, createCompressor, createFilter, createGain, createPanner, disconnectChain, getFrequencyData, getFrequencyDataByte, rampGain };
package/dist/nodes.js ADDED
@@ -0,0 +1,3 @@
1
+ export { chain, createAnalyser, createCompressor, createFilter, createGain, createPanner, disconnectChain, getFrequencyData, getFrequencyDataByte, rampGain } from './chunk-CJJC6ASU.js';
2
+ //# sourceMappingURL=nodes.js.map
3
+ //# sourceMappingURL=nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"nodes.js"}
package/dist/play.cjs ADDED
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var chunkPZE6HTZR_cjs = require('./chunk-PZE6HTZR.cjs');
4
+ require('./chunk-5J7S6QV3.cjs');
5
+
6
+
7
+
8
+ Object.defineProperty(exports, "play", {
9
+ enumerable: true,
10
+ get: function () { return chunkPZE6HTZR_cjs.play; }
11
+ });
12
+ //# sourceMappingURL=play.cjs.map
13
+ //# sourceMappingURL=play.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"play.cjs"}
@@ -0,0 +1,19 @@
1
+ import { d as PlayOptions, e as Playback } from './types-DUrbEbPl.cjs';
2
+
3
+ /**
4
+ * Play an `AudioBuffer` through an `AudioContext` and return a controllable
5
+ * `Playback` handle.
6
+ *
7
+ * ```ts
8
+ * const pb = play(ctx, buffer, { loop: true });
9
+ * pb.on("timeupdate", ({ position }) => console.log(position));
10
+ * pb.pause();
11
+ * pb.resume();
12
+ * pb.seek(10);
13
+ * pb.stop();
14
+ * pb.dispose();
15
+ * ```
16
+ */
17
+ declare function play(ctx: AudioContext, buffer: AudioBuffer, options?: PlayOptions): Playback;
18
+
19
+ export { play };
package/dist/play.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import { d as PlayOptions, e as Playback } from './types-DUrbEbPl.js';
2
+
3
+ /**
4
+ * Play an `AudioBuffer` through an `AudioContext` and return a controllable
5
+ * `Playback` handle.
6
+ *
7
+ * ```ts
8
+ * const pb = play(ctx, buffer, { loop: true });
9
+ * pb.on("timeupdate", ({ position }) => console.log(position));
10
+ * pb.pause();
11
+ * pb.resume();
12
+ * pb.seek(10);
13
+ * pb.stop();
14
+ * pb.dispose();
15
+ * ```
16
+ */
17
+ declare function play(ctx: AudioContext, buffer: AudioBuffer, options?: PlayOptions): Playback;
18
+
19
+ export { play };
package/dist/play.js ADDED
@@ -0,0 +1,4 @@
1
+ export { play } from './chunk-RWJ4EWJT.js';
2
+ import './chunk-GYH2JSCY.js';
3
+ //# sourceMappingURL=play.js.map
4
+ //# sourceMappingURL=play.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"play.js"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var chunkD5CD5KQZ_cjs = require('./chunk-D5CD5KQZ.cjs');
4
+
5
+
6
+
7
+ Object.defineProperty(exports, "createClock", {
8
+ enumerable: true,
9
+ get: function () { return chunkD5CD5KQZ_cjs.createClock; }
10
+ });
11
+ Object.defineProperty(exports, "createScheduler", {
12
+ enumerable: true,
13
+ get: function () { return chunkD5CD5KQZ_cjs.createScheduler; }
14
+ });
15
+ //# sourceMappingURL=scheduler.cjs.map
16
+ //# sourceMappingURL=scheduler.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"scheduler.cjs"}
@@ -0,0 +1,39 @@
1
+ import { C as ClockOptions, i as SchedulerOptions } from './types-DUrbEbPl.cjs';
2
+
3
+ interface Scheduler {
4
+ /** Schedule a callback at a specific AudioContext time. */
5
+ schedule(id: string, time: number, callback: (time: number) => void): void;
6
+ /** Remove a scheduled event by id. */
7
+ cancel(id: string): void;
8
+ /** Start the scheduler loop. */
9
+ start(): void;
10
+ /** Stop the scheduler loop. */
11
+ stop(): void;
12
+ /** Dispose of all resources. */
13
+ dispose(): void;
14
+ }
15
+ /**
16
+ * Create a lookahead-based event scheduler.
17
+ *
18
+ * Uses `setInterval` to check upcoming events and fire callbacks
19
+ * slightly before their scheduled time, enabling sample-accurate timing.
20
+ */
21
+ declare function createScheduler(ctx: AudioContext, options?: SchedulerOptions): Scheduler;
22
+ interface Clock {
23
+ /** Convert a beat number to AudioContext time (seconds). */
24
+ beatToTime(beat: number): number;
25
+ /** Get the current beat based on AudioContext time. */
26
+ getCurrentBeat(): number;
27
+ /** Get the AudioContext time of the next beat boundary. */
28
+ getNextBeatTime(): number;
29
+ /** Update BPM. */
30
+ setBpm(bpm: number): void;
31
+ /** Get current BPM. */
32
+ getBpm(): number;
33
+ }
34
+ /**
35
+ * Create a BPM-based clock tied to an `AudioContext`.
36
+ */
37
+ declare function createClock(ctx: AudioContext, options?: ClockOptions): Clock;
38
+
39
+ export { type Clock, type Scheduler, createClock, createScheduler };
@@ -0,0 +1,39 @@
1
+ import { C as ClockOptions, i as SchedulerOptions } from './types-DUrbEbPl.js';
2
+
3
+ interface Scheduler {
4
+ /** Schedule a callback at a specific AudioContext time. */
5
+ schedule(id: string, time: number, callback: (time: number) => void): void;
6
+ /** Remove a scheduled event by id. */
7
+ cancel(id: string): void;
8
+ /** Start the scheduler loop. */
9
+ start(): void;
10
+ /** Stop the scheduler loop. */
11
+ stop(): void;
12
+ /** Dispose of all resources. */
13
+ dispose(): void;
14
+ }
15
+ /**
16
+ * Create a lookahead-based event scheduler.
17
+ *
18
+ * Uses `setInterval` to check upcoming events and fire callbacks
19
+ * slightly before their scheduled time, enabling sample-accurate timing.
20
+ */
21
+ declare function createScheduler(ctx: AudioContext, options?: SchedulerOptions): Scheduler;
22
+ interface Clock {
23
+ /** Convert a beat number to AudioContext time (seconds). */
24
+ beatToTime(beat: number): number;
25
+ /** Get the current beat based on AudioContext time. */
26
+ getCurrentBeat(): number;
27
+ /** Get the AudioContext time of the next beat boundary. */
28
+ getNextBeatTime(): number;
29
+ /** Update BPM. */
30
+ setBpm(bpm: number): void;
31
+ /** Get current BPM. */
32
+ getBpm(): number;
33
+ }
34
+ /**
35
+ * Create a BPM-based clock tied to an `AudioContext`.
36
+ */
37
+ declare function createClock(ctx: AudioContext, options?: ClockOptions): Clock;
38
+
39
+ export { type Clock, type Scheduler, createClock, createScheduler };
@@ -0,0 +1,3 @@
1
+ export { createClock, createScheduler } from './chunk-2DL7CAEP.js';
2
+ //# sourceMappingURL=scheduler.js.map
3
+ //# sourceMappingURL=scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"scheduler.js"}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var chunkTULV7V5M_cjs = require('./chunk-TULV7V5M.cjs');
4
+ require('./chunk-5J7S6QV3.cjs');
5
+
6
+
7
+
8
+ Object.defineProperty(exports, "createStretcherEngine", {
9
+ enumerable: true,
10
+ get: function () { return chunkTULV7V5M_cjs.createStretcherEngine; }
11
+ });
12
+ //# sourceMappingURL=stretcher.cjs.map
13
+ //# sourceMappingURL=stretcher.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"stretcher.cjs"}