carta1 1.0.0 → 1.0.2

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/bin/cli.js CHANGED
@@ -8,8 +8,8 @@
8
8
  * real-time progress tracking and streaming processing.
9
9
  *
10
10
  * Usage:
11
- * atrac1 --encode input.wav output.aea
12
- * atrac1 --decode input.aea output.wav
11
+ * carta1 --encode input.wav output.aea
12
+ * carta1 --decode input.aea output.wav
13
13
  */
14
14
 
15
15
  import { program } from 'commander'
@@ -174,15 +174,29 @@ class Carta1Worker {
174
174
  }
175
175
  }
176
176
 
177
- // Export for different module systems
178
- /* global define, window */
179
- if (typeof module !== 'undefined' && module.exports) {
180
- module.exports = Carta1Worker
181
- } else if (typeof define === 'function' && define.amd) {
182
- define([], function () {
183
- return Carta1Worker
184
- })
185
- } else if (typeof window !== 'undefined') {
186
- // Global export for browser
187
- window.Carta1Worker = Carta1Worker
177
+ let isESModule = false
178
+ try {
179
+ // This will throw in ES modules
180
+ eval('export {}')
181
+ isESModule = true
182
+ } catch {
183
+ // Pass
188
184
  }
185
+
186
+ if (!isESModule) {
187
+ /* global define, window */
188
+ if (typeof module !== 'undefined' && module.exports) {
189
+ module.exports = Carta1Worker
190
+ } else if (typeof define === 'function' && define.amd) {
191
+ define([], function () {
192
+ return Carta1Worker
193
+ })
194
+ } else if (typeof window !== 'undefined') {
195
+ // Global export for browser
196
+ window.Carta1Worker = Carta1Worker
197
+ }
198
+ }
199
+
200
+ // ES module export
201
+ export { Carta1Worker as default }
202
+ export { Carta1Worker }
@@ -35,21 +35,6 @@ export const SPECS_PER_BFU = new Int32Array([
35
35
 
36
36
  export const BFU_AMOUNTS = new Int32Array([20, 28, 32, 36, 40, 44, 48, 52])
37
37
  export const BFU_BAND_BOUNDARIES = new Int32Array([20, 36, 52])
38
- export const BFU_TO_BAND = (() => {
39
- const table = new Uint8Array(52)
40
- for (let i = 0; i < BFU_BAND_BOUNDARIES[0]; i++) table[i] = 0
41
- for (let i = BFU_BAND_BOUNDARIES[0]; i < BFU_BAND_BOUNDARIES[1]; i++)
42
- table[i] = 1
43
- for (let i = BFU_BAND_BOUNDARIES[1]; i < BFU_BAND_BOUNDARIES[2]; i++)
44
- table[i] = 2
45
- return table
46
- })()
47
-
48
- // Perceptually important bfus
49
- export const CRITICAL_BFUS = new Uint8Array([
50
- 20, 21, 22, 19, 23, 18, 24, 17, 25, 16, 26, 15, 27, 14, 28, 32, 33, 34, 35,
51
- 36, 37, 38, 31, 30, 29,
52
- ])
53
38
 
54
39
  // BFU center frequencies (Hz)
55
40
  export const BFU_FREQUENCIES = new Float32Array([
@@ -81,21 +66,6 @@ export const MDCT_SIZE_SHORT = 64
81
66
  export const MDCT_SIZE_MID = 256
82
67
  export const MDCT_SIZE_LONG = 512
83
68
 
84
- // Band sizes
85
- export const BAND_SIZE_LOW = 128
86
- export const BAND_SIZE_MID = 128
87
- export const BAND_SIZE_HIGH = 256
88
-
89
- // Window positions
90
- export const WINDOW_START_LONG_HIGH = 112
91
- export const WINDOW_START_LONG_MID = 48
92
- export const WINDOW_START_SHORT = 0
93
-
94
- // IMDCT overlap sizes
95
- export const IMDCT_OVERLAP_SIZE = 16
96
- export const IMDCT_QUARTER_SIZE = 4
97
- export const IMDCT_SHORT_BLOCK_SIZE = 32
98
-
99
69
  // Window functions
100
70
  export const WINDOW_SHORT = (() => {
101
71
  const table = new Float32Array(32)
@@ -105,11 +75,47 @@ export const WINDOW_SHORT = (() => {
105
75
  return table
106
76
  })()
107
77
 
108
- // QMF filter configuration
78
+ // QMF configuration
109
79
  export const QMF_TAPS = 48
110
80
  export const QMF_DELAY = 46
111
81
  export const QMF_HIGH_BAND_DELAY = 39
112
82
 
83
+ // QMF prototype filter coefficients
84
+ export const QMF_COEFFS = new Float32Array([
85
+ -0.00001461907, -0.00009205479, -0.000056157569, 0.00030117269, 0.0002422519,
86
+ -0.00085293897, -0.0005205574, 0.0020340169, 0.00078333891, -0.0042153862,
87
+ -0.00075614988, 0.0078402944, -0.000061169922, -0.01344162, 0.0024626821,
88
+ 0.021736089, -0.007801671, -0.034090221, 0.01880949, 0.054326009,
89
+ -0.043596379, -0.099384367, 0.13207909, 0.46424159,
90
+ ])
91
+
92
+ // QMF window function
93
+ export const QMF_WINDOW = (() => {
94
+ const window = new Float32Array(QMF_TAPS)
95
+ for (let i = 0; i < 24; i++) {
96
+ window[i] = QMF_COEFFS[i] * 2.0
97
+ window[47 - i] = QMF_COEFFS[i] * 2.0
98
+ }
99
+ return window
100
+ })()
101
+
102
+ // QMF even/odd taps for optimization
103
+ export const QMF_EVEN = (() => {
104
+ const even = new Float32Array(24)
105
+ for (let i = 0; i < 24; i++) {
106
+ even[i] = QMF_WINDOW[i * 2]
107
+ }
108
+ return even
109
+ })()
110
+
111
+ export const QMF_ODD = (() => {
112
+ const odd = new Float32Array(24)
113
+ for (let i = 0; i < 24; i++) {
114
+ odd[i] = QMF_WINDOW[i * 2 + 1]
115
+ }
116
+ return odd
117
+ })()
118
+
113
119
  // Quantization
114
120
  export const MAX_WORD_LENGTH_INDEX = 15
115
121
  export const WORD_LENGTH_BITS = new Int32Array([
@@ -155,19 +161,6 @@ export const BARK_SCALE = (() => {
155
161
  return table
156
162
  })()
157
163
 
158
- export const ATH_LINEAR = (() => {
159
- const table = new Float32Array(NUM_BFUS)
160
- for (let i = 0; i < NUM_BFUS; i++) {
161
- const freqKhz = BFU_FREQUENCIES[i] / 1000
162
- const athDb =
163
- 3.64 * Math.pow(freqKhz, -0.8) -
164
- 6.5 * Math.exp(-0.6 * Math.pow(freqKhz - 3.3, 2)) +
165
- 1e-3 * Math.pow(freqKhz, 4)
166
- table[i] = Math.pow(10, Math.max(-10, Math.min(96, athDb)) / 10)
167
- }
168
- return table
169
- })()
170
-
171
164
  export const SPREADING_MATRIX = (() => {
172
165
  const matrix = new Float32Array(NUM_BFUS * NUM_BFUS)
173
166
  for (let masker = 0; masker < NUM_BFUS; masker++) {
@@ -194,33 +187,17 @@ export const SPREADING_MATRIX = (() => {
194
187
  // ISO/IEC 11172-3:1993 Psychoacoustic Model Constants
195
188
  export const PSYMODEL_MIN_POWER_DB = -200
196
189
  export const PSYMODEL_FFT_SIZE = 2048
197
- export const PSYMODEL_INPUT_SIZE = 512
198
- export const PSYMODEL_PN = 90.302
199
-
200
- // Transient detection
201
- export const TRANSIENT_DETECTION_THRESHOLD = 0.1
202
- export const TRANSIENT_FLATNESS_EPSILON = 1e-10
203
190
 
204
191
  // FFT sizes for transient detection
205
192
  export const FFT_SIZE_LOW = 256
206
193
  export const FFT_SIZE_MID = 256
207
194
  export const FFT_SIZE_HIGH = 512
208
195
 
209
- // Bit allocation
210
- export const ALLOCATION_DIMINISHING_RETURNS_THRESHOLD = 0.1
211
- export const ALLOCATION_MAX_ITERATIONS = 100
212
-
213
196
  // Quantization
214
197
  export const QUANTIZATION_SIGN_BIT_SHIFT = 1
215
- export const QUANTIZATION_MAX_RANGE_SHIFT = 1
216
198
 
217
199
  // WAV format
218
200
  export const WAV_HEADER_SIZE = 44
219
- export const WAV_RIFF_CHUNK_ID = 0x46464952
220
- export const WAV_WAVE_FORMAT = 0x45564157
221
- export const WAV_FMT_CHUNK_ID = 0x20746d66
222
- export const WAV_DATA_CHUNK_ID = 0x61746164
223
- export const WAV_PCM_FORMAT = 1
224
201
  export const WAV_BYTES_PER_SAMPLE = 2
225
202
  export const WAV_BITS_PER_SAMPLE = 16
226
203
  export const WAV_PCM_MAX_POSITIVE = 0x7fff
@@ -232,11 +209,6 @@ export const FRAME_HEADER_BITS = 16
232
209
  export const FRAME_WORD_LENGTH_BITS = 4
233
210
  export const FRAME_SCALE_FACTOR_BITS = 6
234
211
 
235
- // Display formatting
236
- export const DISPLAY_HEADER_WIDTH = 64
237
- export const DISPLAY_FRAME_WIDTH = 32
238
- export const DISPLAY_FORMAT_WIDTH = 16
239
-
240
212
  // Tonal analysis flags
241
213
  export const PSYMODEL_NOT_EXAMINED = 0
242
214
  export const PSYMODEL_TONAL = 1
@@ -247,19 +219,6 @@ export const PSYMODEL_IRRELEVANT = 3
247
219
  export const PSYMODEL_LOG10_FACTOR = 10 / Math.LN10
248
220
  export const PSYMODEL_POW10_FACTOR = Math.LN10 / 10
249
221
 
250
- // Hann window for 512 samples (single-band psychoacoustics)
251
- export const PSYMODEL_HANN_WINDOW = (() => {
252
- const table = new Float32Array(512)
253
- const normalizationFactor = Math.sqrt(8.0 / 3.0)
254
-
255
- for (let i = 0; i < 512; i++) {
256
- const hann = 0.5 * (1 - Math.cos((2 * Math.PI * i) / 512))
257
- const normalized = hann * normalizationFactor
258
- table[i] = Math.round(normalized * 10000) / 10000
259
- }
260
- return table
261
- })()
262
-
263
222
  // Critical band boundaries (0-24)
264
223
  export const PSYMODEL_CRITICAL_BANDS = new Uint8Array([
265
224
  0, 1, 2, 4, 5, 7, 8, 10, 12, 14, 16, 19, 22, 26, 31, 36, 44, 49, 54, 60, 67,
@@ -26,7 +26,7 @@ import {
26
26
  FRAME_WORD_LENGTH_BITS,
27
27
  FRAME_SCALE_FACTOR_BITS,
28
28
  } from '../core/constants.js'
29
- import { packBits, unpackBits, unpackSignedBits } from '../core/bitstream.js'
29
+ import { packBits, unpackBits, unpackSignedBits } from './bitstream.js'
30
30
 
31
31
  /**
32
32
  * Serializes encoded frame data into binary format
@@ -6,33 +6,9 @@
6
6
  * bands for independent processing and coding.
7
7
  */
8
8
 
9
- import { QMF_TAPS, QMF_DELAY } from '../core/constants.js'
9
+ import { QMF_DELAY, QMF_EVEN, QMF_ODD } from '../core/constants.js'
10
10
  import { throwError } from '../utils.js'
11
11
 
12
- // QMF prototype filter coefficients
13
- const QMF_COEFFS = new Float32Array([
14
- -0.00001461907, -0.00009205479, -0.000056157569, 0.00030117269, 0.0002422519,
15
- -0.00085293897, -0.0005205574, 0.0020340169, 0.00078333891, -0.0042153862,
16
- -0.00075614988, 0.0078402944, -0.000061169922, -0.01344162, 0.0024626821,
17
- 0.021736089, -0.007801671, -0.034090221, 0.01880949, 0.054326009,
18
- -0.043596379, -0.099384367, 0.13207909, 0.46424159,
19
- ])
20
-
21
- // Build full window
22
- const QMF_WINDOW = new Float32Array(QMF_TAPS)
23
- for (let i = 0; i < 24; i++) {
24
- QMF_WINDOW[i] = QMF_COEFFS[i] * 2.0
25
- QMF_WINDOW[47 - i] = QMF_COEFFS[i] * 2.0
26
- }
27
-
28
- // Separate even/odd taps for optimization
29
- const QMF_EVEN = new Float32Array(24)
30
- const QMF_ODD = new Float32Array(24)
31
- for (let i = 0; i < 24; i++) {
32
- QMF_EVEN[i] = QMF_WINDOW[i * 2]
33
- QMF_ODD[i] = QMF_WINDOW[i * 2 + 1]
34
- }
35
-
36
12
  /**
37
13
  * Perform QMF analysis filtering to split input into low and high frequency bands
38
14
  * @param {Float32Array} input - Input audio samples
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Carta1Worker=t():e.Carta1Worker=t()}(this,()=>(()=>{"use strict";var e={r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function n(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},i=r.iterator||"@@iterator",u=r.toStringTag||"@@toStringTag";function a(r,n,i,u){var a=n&&n.prototype instanceof f?n:f,s=Object.create(a.prototype);return o(s,"_invoke",function(r,n,o){var i,u,a,f=0,s=o||[],l=!1,y={p:0,n:0,v:e,a:b,f:b.bind(e,4),d:function(t,r){return i=t,u=0,a=e,y.n=r,c}};function b(r,n){for(u=r,a=n,t=0;!l&&f&&!o&&t<s.length;t++){var o,i=s[t],b=y.p,p=i[2];r>3?(o=p===n)&&(a=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=e):i[0]<=b&&((o=r<2&&b<i[1])?(u=0,y.v=n,y.n=i[1]):b<p&&(o=r<3||i[0]>n||n>p)&&(i[4]=r,i[5]=n,y.n=p,u=0))}if(o||r>1)return c;throw l=!0,n}return function(o,s,p){if(f>1)throw TypeError("Generator is already running");for(l&&1===s&&b(s,p),u=s,a=p;(t=u<2?e:a)||!l;){i||(u?u<3?(u>1&&(y.n=-1),b(u,a)):y.n=a:y.v=a);try{if(f=2,i){if(u||(o="next"),t=i[o]){if(!(t=t.call(i,a)))throw TypeError("iterator result is not an object");if(!t.done)return t;a=t.value,u<2&&(u=0)}else 1===u&&(t=i.return)&&t.call(i),u<2&&(a=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=e}else if((t=(l=y.n<0)?a:r.call(n,y))!==c)break}catch(t){i=e,u=1,a=t}finally{f=1}}return{value:t,done:l}}}(r,i,u),!0),s}var c={};function f(){}function s(){}function l(){}t=Object.getPrototypeOf;var y=[][i]?t(t([][i]())):(o(t={},i,function(){return this}),t),b=l.prototype=f.prototype=Object.create(y);function p(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,l):(e.__proto__=l,o(e,u,"GeneratorFunction")),e.prototype=Object.create(b),e}return s.prototype=l,o(b,"constructor",l),o(l,"constructor",s),s.displayName="GeneratorFunction",o(l,u,"GeneratorFunction"),o(b),o(b,u,"Generator"),o(b,i,function(){return this}),o(b,"toString",function(){return"[object Generator]"}),(n=function(){return{w:a,m:p}})()}function o(e,t,r,n){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}o=function(e,t,r,n){if(t)i?i(e,t,{value:r,enumerable:!n,configurable:!n,writable:!n}):e[t]=r;else{var u=function(t,r){o(e,t,function(e){return this._invoke(t,r,e)})};u("next",0),u("throw",1),u("return",2)}},o(e,t,r,n)}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach(function(t){a(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function a(e,t,r){return(t=p(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(e,t,r,n,o,i,u){try{var a=e[i](u),c=a.value}catch(e){return void r(e)}a.done?t(c):Promise.resolve(c).then(n,o)}function f(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function u(e){c(i,n,o,u,a,"next",e)}function a(e){c(i,n,o,u,a,"throw",e)}u(void 0)})}}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,u,a=[],c=!0,f=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);c=!0);}catch(e){f=!0,o=e}finally{try{if(!c&&null!=r.return&&(u=r.return(),Object(u)!==u))return}finally{if(f)throw o}}return a}}(e,t)||l(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,t){if(e){if("string"==typeof e)return y(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?y(e,t):void 0}}function y(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function b(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,p(n.key),n)}}function p(e){var t=function(e,t){if("object"!=r(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!=r(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==r(t)?t:t+""}e.r(t);var d=function(){return e=function e(){var t=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"carta1-worker.min.js";!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.worker=new Worker(r),this.nextJobId=1,this.jobs=new Map,this.worker.onmessage=function(e){var r=e.data,n=r.jobId,o=r.error,i=r.result;if(n)if(t.jobs.has(n)){var u=t.jobs.get(n),a=u.resolve,c=u.reject;t.jobs.delete(n),o?c(new Error(o)):i?a(i):c(new Error("Worker returned no result"))}else console.warn("Received result for unknown job:",n);else console.warn("Received message without jobId:",e.data)},this.worker.onerror=function(e){console.error("Worker crashed:",e);var r,n=function(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=l(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){a=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(a)throw i}}}}(t.jobs);try{for(n.s();!(r=n.n()).done;)(0,s(r.value,2)[1].reject)(new Error("Worker crashed: "+e.message))}catch(e){n.e(e)}finally{n.f()}t.jobs.clear()}},t=[{key:"encode",value:(c=f(n().m(function e(t){var r,o,i=this,a=arguments;return n().w(function(e){for(;;)if(0===e.n)return r=a.length>1&&void 0!==a[1]?a[1]:{},o=this.nextJobId++,e.a(2,new Promise(function(e,n){i.jobs.set(o,{resolve:e,reject:n});try{var a=u({},r);i.worker.postMessage({jobId:o,type:"encode",pcmData:t,options:a})}catch(e){i.jobs.delete(o),n(e)}}))},e,this)})),function(e){return c.apply(this,arguments)})},{key:"decode",value:(a=f(n().m(function e(t){var r,o=this;return n().w(function(e){for(;;)if(0===e.n)return r=this.nextJobId++,e.a(2,new Promise(function(e,n){o.jobs.set(r,{resolve:e,reject:n});try{o.worker.postMessage({jobId:r,type:"decode",aea:t})}catch(e){o.jobs.delete(r),n(e)}}))},e,this)})),function(e){return a.apply(this,arguments)})},{key:"parseAeaBlob",value:(i=f(n().m(function e(t){var r,o=this;return n().w(function(e){for(;;)if(0===e.n)return r=this.nextJobId++,e.a(2,new Promise(function(e,n){o.jobs.set(r,{resolve:e,reject:n});try{o.worker.postMessage({jobId:r,type:"parseAea",blob:t})}catch(e){o.jobs.delete(r),n(e)}}))},e,this)})),function(e){return i.apply(this,arguments)})},{key:"getEncoderOptions",value:(o=f(n().m(function e(){var t,r=this;return n().w(function(e){for(;;)if(0===e.n)return t=this.nextJobId++,e.a(2,new Promise(function(e,n){r.jobs.set(t,{resolve:e,reject:n});try{r.worker.postMessage({jobId:t,type:"getEncoderOptions"})}catch(e){r.jobs.delete(t),n(e)}}))},e,this)})),function(){return o.apply(this,arguments)})},{key:"terminate",value:function(){this.worker&&(this.worker.terminate(),this.worker=null),this.jobs.clear()}}],t&&b(e.prototype,t),r&&b(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,t,r,o,i,a,c}();return"undefined"!=typeof module&&module.exports?module.exports=d:"function"==typeof define&&define.amd?define([],function(){return d}):"undefined"!=typeof window&&(window.Carta1Worker=d),t})());
1
+ !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports.Carta1Worker=r():e.Carta1Worker=r()}(this,()=>(()=>{"use strict";var __webpack_require__={d:(e,r)=>{for(var t in r)__webpack_require__.o(r,t)&&!__webpack_require__.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},o:(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},__webpack_exports__={};function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,r,t="function"==typeof Symbol?Symbol:{},n=t.iterator||"@@iterator",o=t.toStringTag||"@@toStringTag";function a(t,n,o,a){var u=n&&n.prototype instanceof c?n:c,f=Object.create(u.prototype);return _regeneratorDefine2(f,"_invoke",function(t,n,o){var a,c,u,f=0,s=o||[],l=!1,y={p:0,n:0,v:e,a:p,f:p.bind(e,4),d:function(r,t){return a=r,c=0,u=e,y.n=t,i}};function p(t,n){for(c=t,u=n,r=0;!l&&f&&!o&&r<s.length;r++){var o,a=s[r],p=y.p,b=a[2];t>3?(o=b===n)&&(u=a[(c=a[4])?5:(c=3,3)],a[4]=a[5]=e):a[0]<=p&&((o=t<2&&p<a[1])?(c=0,y.v=n,y.n=a[1]):p<b&&(o=t<3||a[0]>n||n>b)&&(a[4]=t,a[5]=n,y.n=b,c=0))}if(o||t>1)return i;throw l=!0,n}return function(o,s,b){if(f>1)throw TypeError("Generator is already running");for(l&&1===s&&p(s,b),c=s,u=b;(r=c<2?e:u)||!l;){a||(c?c<3?(c>1&&(y.n=-1),p(c,u)):y.n=u:y.v=u);try{if(f=2,a){if(c||(o="next"),r=a[o]){if(!(r=r.call(a,u)))throw TypeError("iterator result is not an object");if(!r.done)return r;u=r.value,c<2&&(c=0)}else 1===c&&(r=a.return)&&r.call(a),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);a=e}else if((r=(l=y.n<0)?u:t.call(n,y))!==i)break}catch(r){a=e,c=1,u=r}finally{f=1}}return{value:r,done:l}}}(t,o,a),!0),f}var i={};function c(){}function u(){}function f(){}r=Object.getPrototypeOf;var s=[][n]?r(r([][n]())):(_regeneratorDefine2(r={},n,function(){return this}),r),l=f.prototype=c.prototype=Object.create(s);function y(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,_regeneratorDefine2(e,o,"GeneratorFunction")),e.prototype=Object.create(l),e}return u.prototype=f,_regeneratorDefine2(l,"constructor",f),_regeneratorDefine2(f,"constructor",u),u.displayName="GeneratorFunction",_regeneratorDefine2(f,o,"GeneratorFunction"),_regeneratorDefine2(l),_regeneratorDefine2(l,o,"Generator"),_regeneratorDefine2(l,n,function(){return this}),_regeneratorDefine2(l,"toString",function(){return"[object Generator]"}),(_regenerator=function(){return{w:a,m:y}})()}function _regeneratorDefine2(e,r,t,n){var o=Object.defineProperty;try{o({},"",{})}catch(e){o=0}_regeneratorDefine2=function(e,r,t,n){if(r)o?o(e,r,{value:t,enumerable:!n,configurable:!n,writable:!n}):e[r]=t;else{var a=function(r,t){_regeneratorDefine2(e,r,function(e){return this._invoke(r,t,e)})};a("next",0),a("throw",1),a("return",2)}},_regeneratorDefine2(e,r,t,n)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,n)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function asyncGeneratorStep(e,r,t,n,o,a,i){try{var c=e[a](i),u=c.value}catch(e){return void t(e)}c.done?r(u):Promise.resolve(u).then(n,o)}function _asyncToGenerator(e){return function(){var r=this,t=arguments;return new Promise(function(n,o){var a=e.apply(r,t);function i(e){asyncGeneratorStep(a,n,o,i,c,"next",e)}function c(e){asyncGeneratorStep(a,n,o,i,c,"throw",e)}i(void 0)})}}function _slicedToArray(e,r){return _arrayWithHoles(e)||_iterableToArrayLimit(e,r)||_unsupportedIterableToArray(e,r)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArrayLimit(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,a,i,c=[],u=!0,f=!1;try{if(a=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;u=!1}else for(;!(u=(n=a.call(t)).done)&&(c.push(n.value),c.length!==r);u=!0);}catch(e){f=!0,o=e}finally{try{if(!u&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(f)throw o}}return c}}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _createForOfIteratorHelper(e,r){var t="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!t){if(Array.isArray(e)||(t=_unsupportedIterableToArray(e))||r&&e&&"number"==typeof e.length){t&&(e=t);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,c=!1;return{s:function(){t=t.call(e)},n:function(){var e=t.next();return i=e.done,e},e:function(e){c=!0,a=e},f:function(){try{i||null==t.return||t.return()}finally{if(c)throw a}}}}function _unsupportedIterableToArray(e,r){if(e){if("string"==typeof e)return _arrayLikeToArray(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(e,r):void 0}}function _arrayLikeToArray(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function _classCallCheck(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_toPropertyKey(n.key),n)}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function _toPropertyKey(e){var r=_toPrimitive(e,"string");return"symbol"==_typeof(r)?r:r+""}function _toPrimitive(e,r){if("object"!=_typeof(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,r||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{Carta1Worker:()=>Carta1Worker,default:()=>Carta1Worker});var Carta1Worker=function(){return _createClass(function e(){var r=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"carta1-worker.min.js";_classCallCheck(this,e),this.worker=new Worker(t),this.nextJobId=1,this.jobs=new Map,this.worker.onmessage=function(e){var t=e.data,n=t.jobId,o=t.error,a=t.result;if(n)if(r.jobs.has(n)){var i=r.jobs.get(n),c=i.resolve,u=i.reject;r.jobs.delete(n),o?u(new Error(o)):a?c(a):u(new Error("Worker returned no result"))}else console.warn("Received result for unknown job:",n);else console.warn("Received message without jobId:",e.data)},this.worker.onerror=function(e){console.error("Worker crashed:",e);var t,n=_createForOfIteratorHelper(r.jobs);try{for(n.s();!(t=n.n()).done;){(0,_slicedToArray(t.value,2)[1].reject)(new Error("Worker crashed: "+e.message))}}catch(e){n.e(e)}finally{n.f()}r.jobs.clear()}},[{key:"encode",value:(n=_asyncToGenerator(_regenerator().m(function e(r){var t,n,o=this,a=arguments;return _regenerator().w(function(e){for(;;)if(0===e.n)return t=a.length>1&&void 0!==a[1]?a[1]:{},n=this.nextJobId++,e.a(2,new Promise(function(e,a){o.jobs.set(n,{resolve:e,reject:a});try{var i=_objectSpread({},t);o.worker.postMessage({jobId:n,type:"encode",pcmData:r,options:i})}catch(e){o.jobs.delete(n),a(e)}}))},e,this)})),function(e){return n.apply(this,arguments)})},{key:"decode",value:(t=_asyncToGenerator(_regenerator().m(function e(r){var t,n=this;return _regenerator().w(function(e){for(;;)if(0===e.n)return t=this.nextJobId++,e.a(2,new Promise(function(e,o){n.jobs.set(t,{resolve:e,reject:o});try{n.worker.postMessage({jobId:t,type:"decode",aea:r})}catch(e){n.jobs.delete(t),o(e)}}))},e,this)})),function(e){return t.apply(this,arguments)})},{key:"parseAeaBlob",value:(r=_asyncToGenerator(_regenerator().m(function e(r){var t,n=this;return _regenerator().w(function(e){for(;;)if(0===e.n)return t=this.nextJobId++,e.a(2,new Promise(function(e,o){n.jobs.set(t,{resolve:e,reject:o});try{n.worker.postMessage({jobId:t,type:"parseAea",blob:r})}catch(e){n.jobs.delete(t),o(e)}}))},e,this)})),function(e){return r.apply(this,arguments)})},{key:"getEncoderOptions",value:(e=_asyncToGenerator(_regenerator().m(function e(){var r,t=this;return _regenerator().w(function(e){for(;;)if(0===e.n)return r=this.nextJobId++,e.a(2,new Promise(function(e,n){t.jobs.set(r,{resolve:e,reject:n});try{t.worker.postMessage({jobId:r,type:"getEncoderOptions"})}catch(e){t.jobs.delete(r),n(e)}}))},e,this)})),function(){return e.apply(this,arguments)})},{key:"terminate",value:function(){this.worker&&(this.worker.terminate(),this.worker=null),this.jobs.clear()}}]);var e,r,t,n}(),isESModule=!1;try{eval("export {}"),isESModule=!0}catch(e){}return isESModule||("undefined"!=typeof module&&module.exports?module.exports=Carta1Worker:"function"==typeof define&&define.amd?define([],function(){return Carta1Worker}):"undefined"!=typeof window&&(window.Carta1Worker=Carta1Worker)),__webpack_exports__})());
2
2
  //# sourceMappingURL=carta1-worker-interface.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"carta1-worker-interface.min.js","mappings":"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","sources":["webpack://Carta1Worker/webpack/universalModuleDefinition","webpack://Carta1Worker/webpack/bootstrap","webpack://Carta1Worker/webpack/runtime/make namespace object","webpack://Carta1Worker/./codec/browser/interface.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Carta1Worker\"] = factory();\n\telse\n\t\troot[\"Carta1Worker\"] = factory();\n})(this, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Carta1 Worker Interface - Client-side API\n *\n * Provides a clean async interface for encoding and decoding ATRAC1 audio\n * using Web Workers for non-blocking operation.\n *\n * Usage:\n * const codec = new Carta1Worker('carta1-worker.min.js')\n * const result = await codec.encode(pcmData, options)\n * codec.terminate()\n *\n * The worker path can be customized to match your deployment:\n * new Carta1Worker('/js/carta1-worker.min.js')\n * new Carta1Worker('https://cdn.example.com/carta1-worker.min.js')\n */\n\nclass Carta1Worker {\n /**\n * Create a new ATRAC1 codec worker\n *\n * @param {string} [workerPath='atrac1-worker.min.js'] - Path to the worker script\n */\n constructor(workerPath = 'carta1-worker.min.js') {\n this.worker = new Worker(workerPath)\n this.nextJobId = 1\n this.jobs = new Map()\n\n // Handle worker responses\n this.worker.onmessage = (e) => {\n const { jobId, error, result } = e.data\n\n if (!jobId) {\n console.warn('Received message without jobId:', e.data)\n return\n }\n\n if (this.jobs.has(jobId)) {\n const { resolve, reject } = this.jobs.get(jobId)\n this.jobs.delete(jobId)\n\n if (error) {\n reject(new Error(error))\n } else if (result) {\n resolve(result)\n } else {\n reject(new Error('Worker returned no result'))\n }\n } else {\n console.warn('Received result for unknown job:', jobId)\n }\n }\n\n // Handle worker errors\n this.worker.onerror = (error) => {\n console.error('Worker crashed:', error)\n // Reject all pending jobs\n for (const [, { reject }] of this.jobs) {\n reject(new Error('Worker crashed: ' + error.message))\n }\n this.jobs.clear()\n }\n }\n\n /**\n * Encode PCM audio to ATRAC1 format\n *\n * @param {Float32Array|Array<Float32Array>} pcmData - PCM audio data\n * - Mono: Float32Array\n * - Stereo: [left, right] Float32Arrays\n * @param {Object} [options={}] - Encoder options\n * @param {number} [options.transientThresholdLow] - Low band transient threshold\n * @param {number} [options.transientThresholdMid] - Mid band transient threshold\n * @param {number} [options.transientThresholdHigh] - High band transient threshold\n * @param {number} [options.normalizationDb] - Normalization level in dB\n * @returns {Promise<Object>} Encoding result\n * @returns {Blob} returns.aeaBlob - ATRAC1 encoded audio blob\n * @returns {Object} returns.shortBlockData - Short block frame indices\n */\n async encode(pcmData, options = {}) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n // Ensure plain object for serialization\n const plainOptions = { ...options }\n this.worker.postMessage({\n jobId,\n type: 'encode',\n pcmData,\n options: plainOptions,\n })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Decode ATRAC1 audio to PCM WAV format\n *\n * @param {Object} aea - ATRAC1 audio data\n * @param {Uint8Array} aea.header - AEA file header\n * @param {Array} aea.aeaData - Encoded frame data\n * @param {Object} [aea.info] - Optional metadata\n * @returns {Promise<Object>} Decoding result\n * @returns {Blob} returns.wavBlob - Decoded WAV audio blob\n * @returns {Object} returns.info - Audio metadata (channels, sample rate)\n */\n async decode(aea) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'decode', aea })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Parse AEA file blob to extract metadata and frame data\n *\n * @param {Blob} blob - AEA file blob\n * @returns {Promise<Object>} Parsed AEA data\n * @returns {Uint8Array} returns.header - AEA file header\n * @returns {Array} returns.aeaData - Encoded frame data\n * @returns {Object} returns.info - Metadata (title, channels, frames)\n */\n async parseAeaBlob(blob) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'parseAea', blob })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Get default encoder options metadata\n *\n * @returns {Promise<Object>} Default encoder options\n */\n async getEncoderOptions() {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'getEncoderOptions' })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Terminate the worker and clean up resources\n *\n * Call this when done using the codec to free memory\n */\n terminate() {\n if (this.worker) {\n this.worker.terminate()\n this.worker = null\n }\n this.jobs.clear()\n }\n}\n\n// Export for different module systems\n/* global define, window */\nif (typeof module !== 'undefined' && module.exports) {\n module.exports = Carta1Worker\n} else if (typeof define === 'function' && define.amd) {\n define([], function () {\n return Carta1Worker\n })\n} else if (typeof window !== 'undefined') {\n // Global export for browser\n window.Carta1Worker = Carta1Worker\n}\n"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","Symbol","toStringTag","Object","defineProperty","value","e","t","r","n","iterator","o","i","c","prototype","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","call","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","enumerable","configurable","writable","_invoke","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","_next","_throw","_slicedToArray","Array","isArray","_arrayWithHoles","next","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","constructor","name","from","test","_defineProperties","key","_typeof","toPrimitive","String","Number","_toPrimitive","Carta1Worker","_this","workerPath","undefined","_classCallCheck","worker","Worker","nextJobId","jobs","Map","onmessage","_e$data","data","jobId","error","result","has","_this$jobs$get","get","reject","Error","console","warn","onerror","_step","_iterator","_n","F","s","_createForOfIteratorHelper","message","err","clear","_encode","_callee","pcmData","options","_this2","_args","_context","set","plainOptions","postMessage","type","_x","_decode","_callee2","aea","_this3","_context2","_x2","_parseAeaBlob","_callee3","blob","_this4","_context3","_x3","_getEncoderOptions","_callee4","_this5","_context4","terminate","window"],"sourceRoot":""}
1
+ {"version":3,"file":"carta1-worker-interface.min.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAsB,aAAID,IAE1BD,EAAmB,aAAIC,GACxB,CATD,CASGK,KAAM,I,mBCRT,IAAIC,oBAAsB,CCA1BA,EAAwB,CAACL,EAASM,KACjC,IAAI,IAAIC,KAAOD,EACXD,oBAAoBG,EAAEF,EAAYC,KAASF,oBAAoBG,EAAER,EAASO,IAC5EE,OAAOC,eAAeV,EAASO,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,MCJ3EF,EAAwB,CAACQ,EAAKC,IAAUL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,GCClFT,EAAyBL,IACH,oBAAXkB,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeV,EAASkB,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeV,EAAS,aAAc,CAAEoB,OAAO,M,ycCJvD,IAAAC,EAAAC,EAAAC,EAAA,mBAAAL,OAAAA,OAAA,GAAAM,EAAAD,EAAAE,UAAA,aAAAjB,EAAAe,EAAAJ,aAAA,yBAAAO,EAAAH,EAAAC,EAAAhB,EAAAkB,GAAA,IAAAC,EAAAH,GAAAA,EAAAT,qBAAAa,EAAAJ,EAAAI,EAAAC,EAAApB,OAAAqB,OAAAH,EAAAZ,WAAA,OAAAgB,oBAAAF,EAAA,mBAAAN,EAAAC,EAAAhB,GAAA,IAAAkB,EAAAC,EAAAE,EAAAG,EAAA,EAAAC,EAAAzB,GAAA,GAAA0B,GAAA,EAAAC,EAAA,CAAAF,EAAA,EAAAT,EAAA,EAAAY,EAAAf,EAAAgB,EAAAC,EAAAN,EAAAM,EAAAC,KAAAlB,EAAA,GAAAiB,EAAA,SAAAhB,EAAAC,GAAA,OAAAG,EAAAJ,EAAAK,EAAA,EAAAE,EAAAR,EAAAc,EAAAX,EAAAD,EAAAc,CAAA,YAAAC,EAAAf,EAAAC,GAAA,IAAAG,EAAAJ,EAAAM,EAAAL,EAAAF,EAAA,GAAAY,GAAAF,IAAAxB,GAAAc,EAAAW,EAAAO,OAAAlB,IAAA,KAAAd,EAAAkB,EAAAO,EAAAX,GAAAgB,EAAAH,EAAAF,EAAAQ,EAAAf,EAAA,GAAAH,EAAA,GAAAf,EAAAiC,IAAAjB,KAAAK,EAAAH,GAAAC,EAAAD,EAAA,OAAAC,EAAA,MAAAD,EAAA,GAAAA,EAAA,GAAAL,GAAAK,EAAA,IAAAY,KAAA9B,EAAAe,EAAA,GAAAe,EAAAZ,EAAA,KAAAC,EAAA,EAAAQ,EAAAC,EAAAZ,EAAAW,EAAAX,EAAAE,EAAA,IAAAY,EAAAG,IAAAjC,EAAAe,EAAA,GAAAG,EAAA,GAAAF,GAAAA,EAAAiB,KAAAf,EAAA,GAAAH,EAAAG,EAAA,GAAAF,EAAAW,EAAAX,EAAAiB,EAAAd,EAAA,OAAAnB,GAAAe,EAAA,SAAAc,EAAA,MAAAH,GAAA,EAAAV,CAAA,iBAAAhB,EAAAyB,EAAAQ,GAAA,GAAAT,EAAA,QAAAU,UAAA,oCAAAR,GAAA,IAAAD,GAAAK,EAAAL,EAAAQ,GAAAd,EAAAM,EAAAJ,EAAAY,GAAAnB,EAAAK,EAAA,EAAAN,EAAAQ,KAAAK,GAAA,CAAAR,IAAAC,EAAAA,EAAA,GAAAA,EAAA,IAAAQ,EAAAX,GAAA,GAAAc,EAAAX,EAAAE,IAAAM,EAAAX,EAAAK,EAAAM,EAAAC,EAAAP,GAAA,OAAAG,EAAA,EAAAN,EAAA,IAAAC,IAAAnB,EAAA,QAAAc,EAAAI,EAAAlB,GAAA,MAAAc,EAAAA,EAAAL,KAAAS,EAAAG,IAAA,MAAAa,UAAA,wCAAApB,EAAAqB,KAAA,OAAArB,EAAAO,EAAAP,EAAAF,MAAAO,EAAA,IAAAA,EAAA,YAAAA,IAAAL,EAAAI,EAAA,SAAAJ,EAAAL,KAAAS,GAAAC,EAAA,IAAAE,EAAAa,UAAA,oCAAAlC,EAAA,YAAAmB,EAAA,GAAAD,EAAAL,CAAA,UAAAC,GAAAY,EAAAC,EAAAX,EAAA,GAAAK,EAAAN,EAAAN,KAAAO,EAAAW,MAAAE,EAAA,YAAAf,GAAAI,EAAAL,EAAAM,EAAA,EAAAE,EAAAP,CAAA,SAAAU,EAAA,UAAAZ,MAAAE,EAAAqB,KAAAT,EAAA,GAAAX,EAAAf,EAAAkB,IAAA,GAAAG,CAAA,KAAAQ,EAAA,YAAAT,IAAA,UAAAgB,IAAA,UAAAC,IAAA,CAAAvB,EAAAb,OAAAqC,eAAA,IAAAnB,EAAA,GAAAH,GAAAF,EAAAA,EAAA,GAAAE,QAAAO,oBAAAT,EAAA,GAAAE,EAAA,yBAAAF,GAAAO,EAAAgB,EAAA9B,UAAAa,EAAAb,UAAAN,OAAAqB,OAAAH,GAAA,SAAAK,EAAAX,GAAA,OAAAZ,OAAAsC,eAAAtC,OAAAsC,eAAA1B,EAAAwB,IAAAxB,EAAA2B,UAAAH,EAAAd,oBAAAV,EAAAb,EAAA,sBAAAa,EAAAN,UAAAN,OAAAqB,OAAAD,GAAAR,CAAA,QAAAuB,EAAA7B,UAAA8B,EAAAd,oBAAAF,EAAA,cAAAgB,GAAAd,oBAAAc,EAAA,cAAAD,GAAAA,EAAAK,YAAA,oBAAAlB,oBAAAc,EAAArC,EAAA,qBAAAuB,oBAAAF,GAAAE,oBAAAF,EAAArB,EAAA,aAAAuB,oBAAAF,EAAAL,EAAA,yBAAAO,oBAAAF,EAAA,oDAAAqB,aAAA,kBAAAC,EAAAzB,EAAA0B,EAAApB,EAAA,cAAAD,oBAAAV,EAAAE,EAAAC,EAAAF,GAAA,IAAAI,EAAAjB,OAAAC,eAAA,IAAAgB,EAAA,gBAAAL,GAAAK,EAAA,EAAAK,oBAAA,SAAAV,EAAAE,EAAAC,EAAAF,GAAA,GAAAC,EAAAG,EAAAA,EAAAL,EAAAE,EAAA,CAAAH,MAAAI,EAAAb,YAAAW,EAAA+B,cAAA/B,EAAAgC,UAAAhC,IAAAD,EAAAE,GAAAC,MAAA,KAAAhB,EAAA,SAAAe,EAAAC,GAAAO,oBAAAV,EAAAE,EAAA,SAAAF,GAAA,YAAAkC,QAAAhC,EAAAC,EAAAH,EAAA,IAAAb,EAAA,UAAAA,EAAA,WAAAA,EAAA,cAAAuB,oBAAAV,EAAAE,EAAAC,EAAAF,EAAA,UAAAkC,QAAAnC,EAAAE,GAAA,IAAAD,EAAAb,OAAAgD,KAAApC,GAAA,GAAAZ,OAAAiD,sBAAA,KAAAlD,EAAAC,OAAAiD,sBAAArC,GAAAE,IAAAf,EAAAA,EAAAmD,OAAA,SAAApC,GAAA,OAAAd,OAAAmD,yBAAAvC,EAAAE,GAAAZ,UAAA,IAAAW,EAAAuC,KAAAC,MAAAxC,EAAAd,EAAA,QAAAc,CAAA,UAAAyC,cAAA1C,GAAA,QAAAE,EAAA,EAAAA,EAAAyC,UAAAxB,OAAAjB,IAAA,KAAAD,EAAA,MAAA0C,UAAAzC,GAAAyC,UAAAzC,GAAA,GAAAA,EAAA,EAAAiC,QAAA/C,OAAAa,IAAA,GAAA2C,QAAA,SAAA1C,GAAA2C,gBAAA7C,EAAAE,EAAAD,EAAAC,GAAA,GAAAd,OAAA0D,0BAAA1D,OAAA2D,iBAAA/C,EAAAZ,OAAA0D,0BAAA7C,IAAAkC,QAAA/C,OAAAa,IAAA2C,QAAA,SAAA1C,GAAAd,OAAAC,eAAAW,EAAAE,EAAAd,OAAAmD,yBAAAtC,EAAAC,GAAA,UAAAF,CAAA,UAAA6C,gBAAA7C,EAAAE,EAAAD,GAAA,OAAAC,EAAA8C,eAAA9C,MAAAF,EAAAZ,OAAAC,eAAAW,EAAAE,EAAA,CAAAH,MAAAE,EAAAX,YAAA,EAAA0C,cAAA,EAAAC,UAAA,IAAAjC,EAAAE,GAAAD,EAAAD,CAAA,UAAAiD,mBAAA9C,EAAAF,EAAAD,EAAAE,EAAAf,EAAA6B,EAAAV,GAAA,QAAAD,EAAAF,EAAAa,GAAAV,GAAAE,EAAAH,EAAAN,KAAA,OAAAI,GAAA,YAAAH,EAAAG,EAAA,CAAAE,EAAAiB,KAAArB,EAAAO,GAAA0C,QAAAC,QAAA3C,GAAA4C,KAAAlD,EAAAf,EAAA,UAAAkE,kBAAAlD,GAAA,sBAAAF,EAAA,KAAAD,EAAA2C,UAAA,WAAAO,QAAA,SAAAhD,EAAAf,GAAA,IAAA6B,EAAAb,EAAAsC,MAAAxC,EAAAD,GAAA,SAAAsD,EAAAnD,GAAA8C,mBAAAjC,EAAAd,EAAAf,EAAAmE,EAAAC,EAAA,OAAApD,EAAA,UAAAoD,EAAApD,GAAA8C,mBAAAjC,EAAAd,EAAAf,EAAAmE,EAAAC,EAAA,QAAApD,EAAA,CAAAmD,OAAA,eAAAE,eAAAtD,EAAAF,GAAA,OAAAyD,gBAAAvD,IAAAwD,sBAAAxD,EAAAF,IAAA2D,4BAAAzD,EAAAF,IAAA4D,kBAAA,UAAAA,mBAAA,UAAAvC,UAAA,sJAAAqC,sBAAAxD,EAAAkB,GAAA,IAAAnB,EAAA,MAAAC,EAAA,yBAAAL,QAAAK,EAAAL,OAAAO,WAAAF,EAAA,uBAAAD,EAAA,KAAAD,EAAAG,EAAAE,EAAAG,EAAAQ,EAAA,GAAAL,GAAA,EAAAxB,GAAA,SAAAkB,GAAAJ,EAAAA,EAAAL,KAAAM,IAAA2D,KAAA,IAAAzC,EAAA,IAAAhC,OAAAa,KAAAA,EAAA,OAAAU,GAAA,cAAAA,GAAAX,EAAAK,EAAAT,KAAAK,IAAAqB,QAAAN,EAAAwB,KAAAxC,EAAAD,OAAAiB,EAAAG,SAAAC,GAAAT,GAAA,UAAAT,GAAAf,GAAA,EAAAgB,EAAAD,CAAA,iBAAAS,GAAA,MAAAV,EAAA,SAAAO,EAAAP,EAAA,SAAAb,OAAAoB,KAAAA,GAAA,kBAAArB,EAAA,MAAAgB,CAAA,SAAAa,CAAA,WAAAyC,gBAAAvD,GAAA,GAAA4D,MAAAC,QAAA7D,GAAA,OAAAA,CAAA,UAAA8D,2BAAA9D,EAAAF,GAAA,IAAAC,EAAA,oBAAAJ,QAAAK,EAAAL,OAAAO,WAAAF,EAAA,kBAAAD,EAAA,IAAA6D,MAAAC,QAAA7D,KAAAD,EAAA0D,4BAAAzD,KAAAF,GAAAE,GAAA,iBAAAA,EAAAiB,OAAA,CAAAlB,IAAAC,EAAAD,GAAA,IAAAgE,EAAA,EAAAC,EAAA,oBAAAC,EAAAD,EAAA/D,EAAA,kBAAA8D,GAAA/D,EAAAiB,OAAA,CAAAG,MAAA,IAAAA,MAAA,EAAAvB,MAAAG,EAAA+D,KAAA,EAAAjE,EAAA,SAAAE,GAAA,MAAAA,CAAA,EAAAS,EAAAuD,EAAA,WAAA7C,UAAA,6IAAAlC,EAAA6B,GAAA,EAAAR,GAAA,SAAA2D,EAAA,WAAAlE,EAAAA,EAAAL,KAAAM,EAAA,EAAAC,EAAA,eAAAD,EAAAD,EAAA4D,OAAA,OAAA7C,EAAAd,EAAAoB,KAAApB,CAAA,EAAAF,EAAA,SAAAE,GAAAM,GAAA,EAAArB,EAAAe,CAAA,EAAAS,EAAA,eAAAK,GAAA,MAAAf,EAAA,QAAAA,EAAA,oBAAAO,EAAA,MAAArB,CAAA,aAAAwE,4BAAAzD,EAAAc,GAAA,GAAAd,EAAA,qBAAAA,EAAA,OAAAkE,kBAAAlE,EAAAc,GAAA,IAAAf,EAAA,GAAAoE,SAAAzE,KAAAM,GAAAoE,MAAA,uBAAArE,GAAAC,EAAAqE,cAAAtE,EAAAC,EAAAqE,YAAAC,MAAA,QAAAvE,GAAA,QAAAA,EAAA6D,MAAAW,KAAAvE,GAAA,cAAAD,GAAA,2CAAAyE,KAAAzE,GAAAmE,kBAAAlE,EAAAc,QAAA,YAAAoD,kBAAAlE,EAAAc,IAAA,MAAAA,GAAAA,EAAAd,EAAAiB,UAAAH,EAAAd,EAAAiB,QAAA,QAAAnB,EAAA,EAAAG,EAAA2D,MAAA9C,GAAAhB,EAAAgB,EAAAhB,IAAAG,EAAAH,GAAAE,EAAAF,GAAA,OAAAG,CAAA,UAAAwE,gBAAA3D,EAAAb,GAAA,KAAAa,aAAAb,GAAA,UAAAkB,UAAA,8CAAAuD,kBAAA5E,EAAAE,GAAA,QAAAD,EAAA,EAAAA,EAAAC,EAAAiB,OAAAlB,IAAA,KAAAd,EAAAe,EAAAD,GAAAd,EAAAG,WAAAH,EAAAG,aAAA,EAAAH,EAAA6C,cAAA,YAAA7C,IAAAA,EAAA8C,UAAA,GAAA7C,OAAAC,eAAAW,EAAAgD,eAAA7D,EAAAD,KAAAC,EAAA,WAAA0F,aAAA7E,EAAAE,EAAAD,GAAA,OAAAC,GAAA0E,kBAAA5E,EAAAN,UAAAQ,GAAAD,GAAA2E,kBAAA5E,EAAAC,GAAAb,OAAAC,eAAAW,EAAA,aAAAiC,UAAA,IAAAjC,CAAA,UAAAgD,eAAA/C,GAAA,IAAAI,EAAAyE,aAAA7E,EAAA,0BAAA8E,QAAA1E,GAAAA,EAAAA,EAAA,YAAAyE,aAAA7E,EAAAC,GAAA,aAAA6E,QAAA9E,KAAAA,EAAA,OAAAA,EAAA,IAAAD,EAAAC,EAAAJ,OAAAmF,aAAA,YAAAhF,EAAA,KAAAK,EAAAL,EAAAJ,KAAAK,EAAAC,GAAA,wBAAA6E,QAAA1E,GAAA,OAAAA,EAAA,UAAAgB,UAAA,kEAAAnB,EAAA+E,OAAAC,QAAAjF,EAAA,C,+IADA,IAgBMkF,aAAY,WA+ChB,OAAAN,aAzCA,SAAAM,IAAiD,IAAAC,EAAA,KAArCC,EAAU1C,UAAAxB,OAAA,QAAAmE,IAAA3C,UAAA,GAAAA,UAAA,GAAG,uBAAsBgC,gBAAA,KAAAQ,GAC7CpG,KAAKwG,OAAS,IAAIC,OAAOH,GACzBtG,KAAK0G,UAAY,EACjB1G,KAAK2G,KAAO,IAAIC,IAGhB5G,KAAKwG,OAAOK,UAAY,SAAC5F,GACvB,IAAA6F,EAAiC7F,EAAE8F,KAA3BC,EAAKF,EAALE,MAAOC,EAAKH,EAALG,MAAOC,EAAMJ,EAANI,OAEtB,GAAKF,EAKL,GAAIX,EAAKM,KAAKQ,IAAIH,GAAQ,CACxB,IAAAI,EAA4Bf,EAAKM,KAAKnG,IAAIwG,GAAlC5C,EAAOgD,EAAPhD,QAASiD,EAAMD,EAANC,OACjBhB,EAAKM,KAAI,OAAQK,GAEbC,EACFI,EAAO,IAAIC,MAAML,IACRC,EACT9C,EAAQ8C,GAERG,EAAO,IAAIC,MAAM,6BAErB,MACEC,QAAQC,KAAK,mCAAoCR,QAhBjDO,QAAQC,KAAK,kCAAmCvG,EAAE8F,KAkBtD,EAGA/G,KAAKwG,OAAOiB,QAAU,SAACR,GACrBM,QAAQN,MAAM,kBAAmBA,GACjC,IACsCS,EADtCC,EAAA1C,2BAC6BoB,EAAKM,MAAI,IAAtC,IAAAgB,EAAAvC,MAAAsC,EAAAC,EAAAvG,KAAAmB,MAAwC,EACtC8E,EADsC5C,eAAAiD,EAAA1G,MAAA,GAAlB,GAANqG,QACP,IAAIC,MAAM,mBAAqBL,EAAMW,SAC9C,CAAC,OAAAC,GAAAF,EAAA1G,EAAA4G,EAAA,SAAAF,EAAA/F,GAAA,CACDyE,EAAKM,KAAKmB,OACZ,CACF,EAEA,EAAA3H,IAAA,SAAAa,OAAA+G,EAAAzD,kBAAAxB,eAAAE,EAeA,SAAAgF,EAAaC,GAAO,IAAAC,EAAAlB,EAAAmB,EAAA,KAAAC,EAAAxE,UAAA,OAAAd,eAAAC,EAAA,SAAAsF,GAAA,cAAAA,EAAAjH,EACY,OADV8G,EAAOE,EAAAhG,OAAA,QAAAmE,IAAA6B,EAAA,GAAAA,EAAA,GAAG,CAAC,EACzBpB,EAAQhH,KAAK0G,YAAW2B,EAAApG,EAAA,EACvB,IAAIkC,QAAQ,SAACC,EAASiD,GAC3Bc,EAAKxB,KAAK2B,IAAItB,EAAO,CAAE5C,QAAAA,EAASiD,OAAAA,IAChC,IAEE,IAAMkB,EAAY5E,cAAA,GAAQuE,GAC1BC,EAAK3B,OAAOgC,YAAY,CACtBxB,MAAAA,EACAyB,KAAM,SACNR,QAAAA,EACAC,QAASK,GAEb,CAAE,MAAOtB,GACPkB,EAAKxB,KAAI,OAAQK,GACjBK,EAAOJ,EACT,CACF,GAAE,EAAAe,EAAA,SACH,SAlBWU,GAAA,OAAAX,EAAArE,MAAC,KAADE,UAAA,IAoBZ,CAAAzD,IAAA,SAAAa,OAAA2H,EAAArE,kBAAAxB,eAAAE,EAWA,SAAA4F,EAAaC,GAAG,IAAA7B,EAAA8B,EAAA,YAAAhG,eAAAC,EAAA,SAAAgG,GAAA,cAAAA,EAAA3H,EACgB,OAAxB4F,EAAQhH,KAAK0G,YAAWqC,EAAA9G,EAAA,EACvB,IAAIkC,QAAQ,SAACC,EAASiD,GAC3ByB,EAAKnC,KAAK2B,IAAItB,EAAO,CAAE5C,QAAAA,EAASiD,OAAAA,IAChC,IACEyB,EAAKtC,OAAOgC,YAAY,CAAExB,MAAAA,EAAOyB,KAAM,SAAUI,IAAAA,GACnD,CAAE,MAAO5B,GACP6B,EAAKnC,KAAI,OAAQK,GACjBK,EAAOJ,EACT,CACF,GAAE,EAAA2B,EAAA,SACH,SAXWI,GAAA,OAAAL,EAAAjF,MAAC,KAADE,UAAA,IAaZ,CAAAzD,IAAA,eAAAa,OAAAiI,EAAA3E,kBAAAxB,eAAAE,EASA,SAAAkG,EAAmBC,GAAI,IAAAnC,EAAAoC,EAAA,YAAAtG,eAAAC,EAAA,SAAAsG,GAAA,cAAAA,EAAAjI,EACS,OAAxB4F,EAAQhH,KAAK0G,YAAW2C,EAAApH,EAAA,EACvB,IAAIkC,QAAQ,SAACC,EAASiD,GAC3B+B,EAAKzC,KAAK2B,IAAItB,EAAO,CAAE5C,QAAAA,EAASiD,OAAAA,IAChC,IACE+B,EAAK5C,OAAOgC,YAAY,CAAExB,MAAAA,EAAOyB,KAAM,WAAYU,KAAAA,GACrD,CAAE,MAAOlC,GACPmC,EAAKzC,KAAI,OAAQK,GACjBK,EAAOJ,EACT,CACF,GAAE,EAAAiC,EAAA,SACH,SAXiBI,GAAA,OAAAL,EAAAvF,MAAC,KAADE,UAAA,IAalB,CAAAzD,IAAA,oBAAAa,OAAAuI,EAAAjF,kBAAAxB,eAAAE,EAKA,SAAAwG,IAAA,IAAAxC,EAAAyC,EAAA,YAAA3G,eAAAC,EAAA,SAAA2G,GAAA,cAAAA,EAAAtI,EACgC,OAAxB4F,EAAQhH,KAAK0G,YAAWgD,EAAAzH,EAAA,EACvB,IAAIkC,QAAQ,SAACC,EAASiD,GAC3BoC,EAAK9C,KAAK2B,IAAItB,EAAO,CAAE5C,QAAAA,EAASiD,OAAAA,IAChC,IACEoC,EAAKjD,OAAOgC,YAAY,CAAExB,MAAAA,EAAOyB,KAAM,qBACzC,CAAE,MAAOxB,GACPwC,EAAK9C,KAAI,OAAQK,GACjBK,EAAOJ,EACT,CACF,GAAE,EAAAuC,EAAA,SACH,WAXsB,OAAAD,EAAA7F,MAAC,KAADE,UAAA,IAavB,CAAAzD,IAAA,YAAAa,MAKA,WACMhB,KAAKwG,SACPxG,KAAKwG,OAAOmD,YACZ3J,KAAKwG,OAAS,MAEhBxG,KAAK2G,KAAKmB,OACZ,KA7BA,IAAAyB,EAtBAN,EAxBAN,EAnCAZ,CA8GC,CA7Je,GAgKd6B,YAAa,EACjB,IAEEC,KAAK,aACLD,YAAa,CACf,CAAE,MAAAE,GACA,C,OAGGF,aAEmB,oBAAX/J,QAA0BA,OAAOD,QAC1CC,OAAOD,QAAUwG,aACU,mBAAXtG,QAAyBA,OAAOC,IAChDD,OAAO,GAAI,WACT,OAAOsG,YACT,GAC2B,oBAAX2D,SAEhBA,OAAO3D,aAAeA,e","sources":["webpack://Carta1Worker/webpack/universalModuleDefinition","webpack://Carta1Worker/webpack/bootstrap","webpack://Carta1Worker/webpack/runtime/define property getters","webpack://Carta1Worker/webpack/runtime/hasOwnProperty shorthand","webpack://Carta1Worker/webpack/runtime/make namespace object","webpack://Carta1Worker/./codec/browser/interface.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Carta1Worker\"] = factory();\n\telse\n\t\troot[\"Carta1Worker\"] = factory();\n})(this, () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Carta1 Worker Interface - Client-side API\n *\n * Provides a clean async interface for encoding and decoding ATRAC1 audio\n * using Web Workers for non-blocking operation.\n *\n * Usage:\n * const codec = new Carta1Worker('carta1-worker.min.js')\n * const result = await codec.encode(pcmData, options)\n * codec.terminate()\n *\n * The worker path can be customized to match your deployment:\n * new Carta1Worker('/js/carta1-worker.min.js')\n * new Carta1Worker('https://cdn.example.com/carta1-worker.min.js')\n */\n\nclass Carta1Worker {\n /**\n * Create a new ATRAC1 codec worker\n *\n * @param {string} [workerPath='atrac1-worker.min.js'] - Path to the worker script\n */\n constructor(workerPath = 'carta1-worker.min.js') {\n this.worker = new Worker(workerPath)\n this.nextJobId = 1\n this.jobs = new Map()\n\n // Handle worker responses\n this.worker.onmessage = (e) => {\n const { jobId, error, result } = e.data\n\n if (!jobId) {\n console.warn('Received message without jobId:', e.data)\n return\n }\n\n if (this.jobs.has(jobId)) {\n const { resolve, reject } = this.jobs.get(jobId)\n this.jobs.delete(jobId)\n\n if (error) {\n reject(new Error(error))\n } else if (result) {\n resolve(result)\n } else {\n reject(new Error('Worker returned no result'))\n }\n } else {\n console.warn('Received result for unknown job:', jobId)\n }\n }\n\n // Handle worker errors\n this.worker.onerror = (error) => {\n console.error('Worker crashed:', error)\n // Reject all pending jobs\n for (const [, { reject }] of this.jobs) {\n reject(new Error('Worker crashed: ' + error.message))\n }\n this.jobs.clear()\n }\n }\n\n /**\n * Encode PCM audio to ATRAC1 format\n *\n * @param {Float32Array|Array<Float32Array>} pcmData - PCM audio data\n * - Mono: Float32Array\n * - Stereo: [left, right] Float32Arrays\n * @param {Object} [options={}] - Encoder options\n * @param {number} [options.transientThresholdLow] - Low band transient threshold\n * @param {number} [options.transientThresholdMid] - Mid band transient threshold\n * @param {number} [options.transientThresholdHigh] - High band transient threshold\n * @param {number} [options.normalizationDb] - Normalization level in dB\n * @returns {Promise<Object>} Encoding result\n * @returns {Blob} returns.aeaBlob - ATRAC1 encoded audio blob\n * @returns {Object} returns.shortBlockData - Short block frame indices\n */\n async encode(pcmData, options = {}) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n // Ensure plain object for serialization\n const plainOptions = { ...options }\n this.worker.postMessage({\n jobId,\n type: 'encode',\n pcmData,\n options: plainOptions,\n })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Decode ATRAC1 audio to PCM WAV format\n *\n * @param {Object} aea - ATRAC1 audio data\n * @param {Uint8Array} aea.header - AEA file header\n * @param {Array} aea.aeaData - Encoded frame data\n * @param {Object} [aea.info] - Optional metadata\n * @returns {Promise<Object>} Decoding result\n * @returns {Blob} returns.wavBlob - Decoded WAV audio blob\n * @returns {Object} returns.info - Audio metadata (channels, sample rate)\n */\n async decode(aea) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'decode', aea })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Parse AEA file blob to extract metadata and frame data\n *\n * @param {Blob} blob - AEA file blob\n * @returns {Promise<Object>} Parsed AEA data\n * @returns {Uint8Array} returns.header - AEA file header\n * @returns {Array} returns.aeaData - Encoded frame data\n * @returns {Object} returns.info - Metadata (title, channels, frames)\n */\n async parseAeaBlob(blob) {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'parseAea', blob })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Get default encoder options metadata\n *\n * @returns {Promise<Object>} Default encoder options\n */\n async getEncoderOptions() {\n const jobId = this.nextJobId++\n return new Promise((resolve, reject) => {\n this.jobs.set(jobId, { resolve, reject })\n try {\n this.worker.postMessage({ jobId, type: 'getEncoderOptions' })\n } catch (error) {\n this.jobs.delete(jobId)\n reject(error)\n }\n })\n }\n\n /**\n * Terminate the worker and clean up resources\n *\n * Call this when done using the codec to free memory\n */\n terminate() {\n if (this.worker) {\n this.worker.terminate()\n this.worker = null\n }\n this.jobs.clear()\n }\n}\n\nlet isESModule = false\ntry {\n // This will throw in ES modules\n eval('export {}')\n isESModule = true\n} catch {\n // Pass\n}\n\nif (!isESModule) {\n /* global define, window */\n if (typeof module !== 'undefined' && module.exports) {\n module.exports = Carta1Worker\n } else if (typeof define === 'function' && define.amd) {\n define([], function () {\n return Carta1Worker\n })\n } else if (typeof window !== 'undefined') {\n // Global export for browser\n window.Carta1Worker = Carta1Worker\n }\n}\n\n// ES module export\nexport { Carta1Worker as default }\nexport { Carta1Worker }\n"],"names":["root","factory","exports","module","define","amd","this","__webpack_require__","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","e","t","r","n","iterator","i","c","Generator","u","create","_regeneratorDefine2","f","p","y","G","v","a","d","bind","length","l","TypeError","done","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","setPrototypeOf","__proto__","displayName","_regenerator","w","m","configurable","writable","_invoke","ownKeys","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","asyncGeneratorStep","Promise","resolve","then","_asyncToGenerator","_next","_throw","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","next","Array","isArray","_createForOfIteratorHelper","_n","F","s","_arrayLikeToArray","toString","slice","constructor","name","from","test","_classCallCheck","_defineProperties","_createClass","_toPrimitive","_typeof","toPrimitive","String","Number","Carta1Worker","_this","workerPath","undefined","worker","Worker","nextJobId","jobs","Map","onmessage","_e$data","data","jobId","error","result","has","_this$jobs$get","reject","Error","console","warn","onerror","_step","_iterator","message","err","clear","_encode","_callee","pcmData","options","_this2","_args","_context","set","plainOptions","postMessage","type","_x","_decode","_callee2","aea","_this3","_context2","_x2","_parseAeaBlob","_callee3","blob","_this4","_context3","_x3","_getEncoderOptions","_callee4","_this5","_context4","terminate","isESModule","eval","_unused","window"],"sourceRoot":""}