taglib-wasm 1.1.2 → 1.2.1

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 (61) hide show
  1. package/README.md +512 -38
  2. package/dist/index.browser.js +293 -3
  3. package/dist/index.d.ts +2 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +2 -0
  6. package/dist/simple.browser.js +293 -3
  7. package/dist/src/bwf/bext.d.ts +28 -0
  8. package/dist/src/bwf/bext.d.ts.map +1 -0
  9. package/dist/src/bwf/bext.js +126 -0
  10. package/dist/src/constants/complex-properties.d.ts +1 -14
  11. package/dist/src/constants/complex-properties.d.ts.map +1 -1
  12. package/dist/src/msgpack/encoder.d.ts.map +1 -1
  13. package/dist/src/msgpack/encoder.js +11 -1
  14. package/dist/src/msgpack/index.d.ts +0 -1
  15. package/dist/src/msgpack/index.d.ts.map +1 -1
  16. package/dist/src/msgpack/index.js +1 -11
  17. package/dist/src/runtime/unified-loader/module-loading.js +1 -1
  18. package/dist/src/runtime/wasi-adapter/file-handle.d.ts +15 -1
  19. package/dist/src/runtime/wasi-adapter/file-handle.d.ts.map +1 -1
  20. package/dist/src/runtime/wasi-adapter/file-handle.js +62 -2
  21. package/dist/src/runtime/wasi-host-loader.d.ts +1 -1
  22. package/dist/src/runtime/wasi-host-loader.js +1 -1
  23. package/dist/src/taglib/audio-file-bwf.d.ts +14 -0
  24. package/dist/src/taglib/audio-file-bwf.d.ts.map +1 -0
  25. package/dist/src/taglib/audio-file-bwf.js +41 -0
  26. package/dist/src/taglib/audio-file-impl.d.ts +18 -0
  27. package/dist/src/taglib/audio-file-impl.d.ts.map +1 -1
  28. package/dist/src/taglib/audio-file-impl.js +74 -1
  29. package/dist/src/taglib/audio-file-interface.d.ts +44 -0
  30. package/dist/src/taglib/audio-file-interface.d.ts.map +1 -1
  31. package/dist/src/taglib/embind-adapter.d.ts +2 -0
  32. package/dist/src/taglib/embind-adapter.d.ts.map +1 -1
  33. package/dist/src/taglib/embind-adapter.js +36 -2
  34. package/dist/src/types/audio-formats.d.ts +18 -0
  35. package/dist/src/types/audio-formats.d.ts.map +1 -1
  36. package/dist/src/types/bwf.d.ts +43 -0
  37. package/dist/src/types/bwf.d.ts.map +1 -0
  38. package/dist/src/types/bwf.js +0 -0
  39. package/dist/src/types/chapters.d.ts +47 -0
  40. package/dist/src/types/chapters.d.ts.map +1 -0
  41. package/dist/src/types/chapters.js +0 -0
  42. package/dist/src/types/index.d.ts +2 -0
  43. package/dist/src/types/index.d.ts.map +1 -1
  44. package/dist/src/types/index.js +2 -0
  45. package/dist/src/types/metadata-mappings.d.ts +1 -1
  46. package/dist/src/types/metadata-mappings.d.ts.map +1 -1
  47. package/dist/src/types/tags.d.ts +11 -7
  48. package/dist/src/types/tags.d.ts.map +1 -1
  49. package/dist/src/version.d.ts +1 -1
  50. package/dist/src/version.js +1 -1
  51. package/dist/src/wasm.d.ts +22 -52
  52. package/dist/src/wasm.d.ts.map +1 -1
  53. package/dist/taglib-wasi.wasm +0 -0
  54. package/dist/taglib-web.wasm +0 -0
  55. package/dist/taglib-wrapper.d.ts +0 -2
  56. package/dist/taglib-wrapper.js +1 -1
  57. package/package.json +5 -6
  58. package/dist/src/msgpack/processor.d.ts +0 -37
  59. package/dist/src/msgpack/processor.d.ts.map +0 -1
  60. package/dist/src/msgpack/processor.js +0 -69
  61. package/dist/taglib_wasi.wasm +0 -0
@@ -88,6 +88,20 @@ var init_pictures = __esm({
88
88
  }
89
89
  });
90
90
 
91
+ // src/types/chapters.ts
92
+ var init_chapters = __esm({
93
+ "src/types/chapters.ts"() {
94
+ "use strict";
95
+ }
96
+ });
97
+
98
+ // src/types/bwf.ts
99
+ var init_bwf = __esm({
100
+ "src/types/bwf.ts"() {
101
+ "use strict";
102
+ }
103
+ });
104
+
91
105
  // src/types/config.ts
92
106
  var init_config = __esm({
93
107
  "src/types/config.ts"() {
@@ -110,6 +124,8 @@ var init_types = __esm({
110
124
  init_tags();
111
125
  init_metadata_mappings();
112
126
  init_pictures();
127
+ init_chapters();
128
+ init_bwf();
113
129
  init_config();
114
130
  init_format_property_keys();
115
131
  }
@@ -123,6 +139,136 @@ var init_types2 = __esm({
123
139
  }
124
140
  });
125
141
 
142
+ // src/bwf/bext.ts
143
+ function readFixedString(bytes, offset, len) {
144
+ let end = offset;
145
+ const max = Math.min(offset + len, bytes.length);
146
+ while (end < max && bytes[end] !== 0) end++;
147
+ let s = "";
148
+ for (let i = offset; i < end; i++) s += String.fromCharCode(bytes[i]);
149
+ return s;
150
+ }
151
+ function writeFixedString(bytes, offset, len, value) {
152
+ for (let i = 0; i < len; i++) {
153
+ bytes[offset + i] = i < value.length ? value.charCodeAt(i) & 255 : 0;
154
+ }
155
+ }
156
+ function clampInt16(n) {
157
+ return Math.max(-32768, Math.min(32767, Math.round(n)));
158
+ }
159
+ function loudnessRaw(v) {
160
+ return v === void 0 ? LOUDNESS_UNSET : clampInt16(v * 100);
161
+ }
162
+ function loudnessFromRaw(raw) {
163
+ return raw === LOUDNESS_UNSET ? void 0 : raw / 100;
164
+ }
165
+ function bytesToHex(bytes) {
166
+ let s = "";
167
+ for (const b of bytes) s += b.toString(16).padStart(2, "0");
168
+ return s;
169
+ }
170
+ function hexToBytes(hex, outLen) {
171
+ const clean = hex.replace(/[^0-9a-fA-F]/g, "");
172
+ const out = new Uint8Array(outLen);
173
+ for (let i = 0; i + 1 < clean.length + 1 && i / 2 < outLen; i += 2) {
174
+ const pair = clean.slice(i, i + 2);
175
+ if (pair.length === 2) out[i / 2] = parseInt(pair, 16);
176
+ }
177
+ return out;
178
+ }
179
+ function decodeBext(bytes) {
180
+ if (bytes.length < VERSION_OFFSET + 2) return void 0;
181
+ const dv = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
182
+ const timeRefLow = dv.getUint32(338, true);
183
+ const timeRefHigh = dv.getUint32(342, true);
184
+ const version = dv.getUint16(VERSION_OFFSET, true);
185
+ const result = {
186
+ description: readFixedString(bytes, 0, 256),
187
+ originator: readFixedString(bytes, 256, 32),
188
+ originatorReference: readFixedString(bytes, 288, 32),
189
+ originationDate: readFixedString(bytes, 320, 10),
190
+ originationTime: readFixedString(bytes, 330, 8),
191
+ timeReferenceSamples: BigInt(timeRefHigh) << 32n | BigInt(timeRefLow),
192
+ version,
193
+ codingHistory: bytes.length > FIXED_PREFIX_LEN ? readFixedString(
194
+ bytes,
195
+ FIXED_PREFIX_LEN,
196
+ bytes.length - FIXED_PREFIX_LEN
197
+ ) : ""
198
+ };
199
+ if (version >= 1 && bytes.length >= UMID_OFFSET + UMID_LEN) {
200
+ result.umid = bytesToHex(
201
+ bytes.subarray(UMID_OFFSET, UMID_OFFSET + UMID_LEN)
202
+ );
203
+ }
204
+ if (version >= 2 && bytes.length >= LOUDNESS_OFFSET + 10) {
205
+ const lv = loudnessFromRaw(dv.getInt16(LOUDNESS_OFFSET, true));
206
+ const lr = loudnessFromRaw(dv.getInt16(LOUDNESS_OFFSET + 2, true));
207
+ const mtp = loudnessFromRaw(dv.getInt16(LOUDNESS_OFFSET + 4, true));
208
+ const mml = loudnessFromRaw(dv.getInt16(LOUDNESS_OFFSET + 6, true));
209
+ const msl = loudnessFromRaw(dv.getInt16(LOUDNESS_OFFSET + 8, true));
210
+ if (lv !== void 0) result.loudnessValueDb = lv;
211
+ if (lr !== void 0) result.loudnessRangeDb = lr;
212
+ if (mtp !== void 0) result.maxTruePeakLevelDbtp = mtp;
213
+ if (mml !== void 0) result.maxMomentaryLoudnessDb = mml;
214
+ if (msl !== void 0) result.maxShortTermLoudnessDb = msl;
215
+ }
216
+ return result;
217
+ }
218
+ function encodeBext(b) {
219
+ const codingHistory = b.codingHistory ?? "";
220
+ const bytes = new Uint8Array(FIXED_PREFIX_LEN + codingHistory.length);
221
+ const dv = new DataView(bytes.buffer);
222
+ const hasLoudness = b.loudnessValueDb !== void 0 || b.loudnessRangeDb !== void 0 || b.maxTruePeakLevelDbtp !== void 0 || b.maxMomentaryLoudnessDb !== void 0 || b.maxShortTermLoudnessDb !== void 0;
223
+ const version = Number.isInteger(b.version) ? b.version : hasLoudness ? 2 : b.umid ? 1 : 0;
224
+ writeFixedString(bytes, 0, 256, b.description ?? "");
225
+ writeFixedString(bytes, 256, 32, b.originator ?? "");
226
+ writeFixedString(bytes, 288, 32, b.originatorReference ?? "");
227
+ writeFixedString(bytes, 320, 10, b.originationDate ?? "");
228
+ writeFixedString(bytes, 330, 8, b.originationTime ?? "");
229
+ const tr = b.timeReferenceSamples ?? 0n;
230
+ dv.setUint32(338, Number(tr & 0xffffffffn), true);
231
+ dv.setUint32(342, Number(tr >> 32n & 0xffffffffn), true);
232
+ dv.setUint16(VERSION_OFFSET, version, true);
233
+ if (version >= 1 && b.umid) {
234
+ bytes.set(hexToBytes(b.umid, UMID_LEN), UMID_OFFSET);
235
+ }
236
+ if (version >= 2) {
237
+ dv.setInt16(LOUDNESS_OFFSET, loudnessRaw(b.loudnessValueDb), true);
238
+ dv.setInt16(LOUDNESS_OFFSET + 2, loudnessRaw(b.loudnessRangeDb), true);
239
+ dv.setInt16(LOUDNESS_OFFSET + 4, loudnessRaw(b.maxTruePeakLevelDbtp), true);
240
+ dv.setInt16(
241
+ LOUDNESS_OFFSET + 6,
242
+ loudnessRaw(b.maxMomentaryLoudnessDb),
243
+ true
244
+ );
245
+ dv.setInt16(
246
+ LOUDNESS_OFFSET + 8,
247
+ loudnessRaw(b.maxShortTermLoudnessDb),
248
+ true
249
+ );
250
+ }
251
+ writeFixedString(
252
+ bytes,
253
+ FIXED_PREFIX_LEN,
254
+ codingHistory.length,
255
+ codingHistory
256
+ );
257
+ return bytes;
258
+ }
259
+ var FIXED_PREFIX_LEN, VERSION_OFFSET, UMID_OFFSET, UMID_LEN, LOUDNESS_OFFSET, LOUDNESS_UNSET;
260
+ var init_bext = __esm({
261
+ "src/bwf/bext.ts"() {
262
+ "use strict";
263
+ FIXED_PREFIX_LEN = 602;
264
+ VERSION_OFFSET = 346;
265
+ UMID_OFFSET = 348;
266
+ UMID_LEN = 64;
267
+ LOUDNESS_OFFSET = 412;
268
+ LOUDNESS_UNSET = 32767;
269
+ }
270
+ });
271
+
126
272
  // src/errors/base.ts
127
273
  var SUPPORTED_FORMATS, TagLibError;
128
274
  var init_base = __esm({
@@ -365,6 +511,47 @@ var init_errors2 = __esm({
365
511
  }
366
512
  });
367
513
 
514
+ // src/taglib/audio-file-bwf.ts
515
+ function requireBwf(format) {
516
+ if (!BWF_FORMATS.has(format)) {
517
+ throw new UnsupportedFormatError(format, ["WAV", "FLAC"], {
518
+ operation: "BWF metadata"
519
+ });
520
+ }
521
+ }
522
+ function getBextData(handle) {
523
+ const raw = handle.getBextData();
524
+ return raw && raw.length > 0 ? raw : void 0;
525
+ }
526
+ function setBextData(handle, format, data) {
527
+ requireBwf(format);
528
+ handle.setBextData(data);
529
+ }
530
+ function getBext(handle) {
531
+ const raw = handle.getBextData();
532
+ return raw && raw.length > 0 ? decodeBext(raw) : void 0;
533
+ }
534
+ function setBext(handle, format, bext) {
535
+ requireBwf(format);
536
+ handle.setBextData(encodeBext(bext));
537
+ }
538
+ function getIxml(handle) {
539
+ return handle.getIxml();
540
+ }
541
+ function setIxml(handle, format, data) {
542
+ requireBwf(format);
543
+ handle.setIxml(data);
544
+ }
545
+ var BWF_FORMATS;
546
+ var init_audio_file_bwf = __esm({
547
+ "src/taglib/audio-file-bwf.ts"() {
548
+ "use strict";
549
+ init_bext();
550
+ init_errors2();
551
+ BWF_FORMATS = /* @__PURE__ */ new Set(["WAV", "FLAC"]);
552
+ }
553
+ });
554
+
368
555
  // browser-stub:platform-io-browser-stub
369
556
  function getPlatformIO() {
370
557
  throw new Error("Filesystem operations are not available in the browser.");
@@ -1347,6 +1534,9 @@ var init_audio_file_base = __esm({
1347
1534
  });
1348
1535
 
1349
1536
  // src/taglib/embind-adapter.ts
1537
+ function isValidBitrateMode(value) {
1538
+ return value === "CBR" || value === "VBR" || value === "ABR";
1539
+ }
1350
1540
  function wrapEmbindHandle(raw) {
1351
1541
  const overrides = {
1352
1542
  getTagData() {
@@ -1371,12 +1561,41 @@ function wrapEmbindHandle(raw) {
1371
1561
  if (data.year !== void 0) tw.setYear(data.year);
1372
1562
  if (data.track !== void 0) tw.setTrack(data.track);
1373
1563
  },
1564
+ getBextData() {
1565
+ const v = raw.getBextData();
1566
+ if (v === void 0 || v === null) return void 0;
1567
+ const u8 = v instanceof Uint8Array ? v : new Uint8Array(v);
1568
+ return u8.length > 0 ? u8 : void 0;
1569
+ },
1570
+ setBextData(data) {
1571
+ raw.setBextData(data ?? null);
1572
+ },
1573
+ getIxml() {
1574
+ const v = raw.getIxml();
1575
+ return typeof v === "string" && v.length > 0 ? v : void 0;
1576
+ },
1577
+ setIxml(data) {
1578
+ raw.setIxml(
1579
+ data ?? null
1580
+ );
1581
+ },
1582
+ hasId3Tags() {
1583
+ const v = raw.hasId3Tags();
1584
+ if (!v || typeof v !== "object") return { v1: false, v2: false };
1585
+ const o = v;
1586
+ return { v1: o.v1 === true, v2: o.v2 === true };
1587
+ },
1588
+ stripId3Tags(opts) {
1589
+ raw.stripId3Tags(opts);
1590
+ },
1374
1591
  getAudioProperties() {
1375
1592
  const pw = raw.getAudioProperties();
1376
1593
  if (!pw) return null;
1377
1594
  const containerFormat = pw.containerFormat() || "unknown";
1595
+ const codec = pw.codec() || "unknown";
1378
1596
  const mpegVersion = pw.mpegVersion();
1379
1597
  const formatVersion = pw.formatVersion();
1598
+ const bitrateMode = pw.bitrateMode();
1380
1599
  return {
1381
1600
  duration: pw.lengthInSeconds(),
1382
1601
  durationMs: pw.lengthInMilliseconds(),
@@ -1384,12 +1603,14 @@ function wrapEmbindHandle(raw) {
1384
1603
  sampleRate: pw.sampleRate(),
1385
1604
  channels: pw.channels(),
1386
1605
  bitsPerSample: pw.bitsPerSample(),
1387
- codec: pw.codec() || "unknown",
1606
+ codec,
1388
1607
  containerFormat,
1389
1608
  isLossless: pw.isLossless(),
1390
1609
  ...mpegVersion > 0 ? { mpegVersion, mpegLayer: pw.mpegLayer() } : {},
1391
1610
  ...containerFormat === "MP4" || containerFormat === "ASF" ? { isEncrypted: pw.isEncrypted() } : {},
1392
- ...formatVersion > 0 ? { formatVersion } : {}
1611
+ ...formatVersion > 0 ? { formatVersion } : {},
1612
+ ...isValidBitrateMode(bitrateMode) ? { bitrateMode } : {},
1613
+ ...codec === "Opus" ? { outputGainDb: pw.outputGainDb() } : {}
1393
1614
  };
1394
1615
  }
1395
1616
  };
@@ -1408,6 +1629,15 @@ var init_embind_adapter = __esm({
1408
1629
  });
1409
1630
 
1410
1631
  // src/taglib/audio-file-impl.ts
1632
+ function sortChapters(list) {
1633
+ return [...list].sort((a, b) => a.startTimeMs - b.startTimeMs);
1634
+ }
1635
+ function inferEndTimeMs(sorted, index, trackEndMs) {
1636
+ const own = sorted[index].endTimeMs;
1637
+ if (own !== void 0) return own;
1638
+ const next = sorted[index + 1];
1639
+ return next ? next.startTimeMs : trackEndMs;
1640
+ }
1411
1641
  function readFileSync(path) {
1412
1642
  if (typeof Deno !== "undefined") return Deno.readFileSync(path);
1413
1643
  if (_nodeFs === void 0) {
@@ -1425,6 +1655,7 @@ var init_audio_file_impl = __esm({
1425
1655
  "src/taglib/audio-file-impl.ts"() {
1426
1656
  "use strict";
1427
1657
  init_types2();
1658
+ init_audio_file_bwf();
1428
1659
  init_errors2();
1429
1660
  init_file();
1430
1661
  init_write();
@@ -1490,6 +1721,10 @@ var init_audio_file_impl = __esm({
1490
1721
  fullFileHandle.setTagData(this.handle.getTagData());
1491
1722
  fullFileHandle.setProperties(this.handle.getProperties());
1492
1723
  fullFileHandle.setPictures(this.handle.getPictures());
1724
+ const bextBytes = this.handle.getBextData();
1725
+ if (bextBytes !== void 0) fullFileHandle.setBextData(bextBytes);
1726
+ const ixmlStr = this.handle.getIxml();
1727
+ if (ixmlStr !== void 0) fullFileHandle.setIxml(ixmlStr);
1493
1728
  if (!fullFileHandle.save()) {
1494
1729
  throw new FileOperationError(
1495
1730
  "save",
@@ -1544,6 +1779,52 @@ var init_audio_file_impl = __esm({
1544
1779
  removePictures() {
1545
1780
  this.handle.removePictures();
1546
1781
  }
1782
+ getChapters() {
1783
+ const sorted = sortChapters(this.handle.getChapters());
1784
+ const trackEndMs = this.audioProperties()?.durationMs;
1785
+ return sorted.map((c, i) => ({
1786
+ startTimeMs: c.startTimeMs,
1787
+ endTimeMs: inferEndTimeMs(sorted, i, trackEndMs),
1788
+ title: c.title || void 0,
1789
+ id: c.id || void 0,
1790
+ source: c.source
1791
+ }));
1792
+ }
1793
+ setChapters(chapters, options) {
1794
+ const fmt = this.getFormat();
1795
+ if (fmt !== "MP3" && fmt !== "MP4") {
1796
+ throw new UnsupportedFormatError(fmt, ["MP3", "MP4"], {
1797
+ operation: "setChapters"
1798
+ });
1799
+ }
1800
+ const sorted = sortChapters(chapters);
1801
+ const trackEndMs = this.audioProperties()?.durationMs;
1802
+ const raw = sorted.map((c, i) => ({
1803
+ id: c.id,
1804
+ startTimeMs: c.startTimeMs,
1805
+ endTimeMs: inferEndTimeMs(sorted, i, trackEndMs) ?? c.startTimeMs,
1806
+ title: c.title
1807
+ }));
1808
+ this.handle.setChapters(raw, options?.mp4ChapterStyle ?? "quicktime");
1809
+ }
1810
+ getBext() {
1811
+ return getBext(this.handle);
1812
+ }
1813
+ setBext(bext) {
1814
+ setBext(this.handle, this.getFormat(), bext);
1815
+ }
1816
+ getBextData() {
1817
+ return getBextData(this.handle);
1818
+ }
1819
+ setBextData(data) {
1820
+ setBextData(this.handle, this.getFormat(), data);
1821
+ }
1822
+ getIxml() {
1823
+ return getIxml(this.handle);
1824
+ }
1825
+ setIxml(data) {
1826
+ setIxml(this.handle, this.getFormat(), data);
1827
+ }
1547
1828
  getRatings() {
1548
1829
  return this.handle.getRatings().map(
1549
1830
  (r) => ({
@@ -1567,6 +1848,15 @@ var init_audio_file_impl = __esm({
1567
1848
  setRating(rating, email) {
1568
1849
  this.setRatings([{ rating, email, counter: 0 }]);
1569
1850
  }
1851
+ hasId3Tags() {
1852
+ return this.handle.hasId3Tags();
1853
+ }
1854
+ stripId3Tags(opts) {
1855
+ this.handle.stripId3Tags({
1856
+ v1: opts?.v1 ?? true,
1857
+ v2: opts?.v2 ?? true
1858
+ });
1859
+ }
1570
1860
  };
1571
1861
  }
1572
1862
  });
@@ -1717,7 +2007,7 @@ var VERSION;
1717
2007
  var init_version = __esm({
1718
2008
  "src/version.ts"() {
1719
2009
  "use strict";
1720
- VERSION = "1.1.2";
2010
+ VERSION = "1.2.1";
1721
2011
  }
1722
2012
  });
1723
2013
 
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @fileoverview EBU Tech 3285 BWF `bext` chunk codec. Pure functions — no Wasm
3
+ * or TagLib dependency. The fixed prefix is 602 bytes for all versions; the
4
+ * `version` field selects which optional fields are meaningful (0 = none,
5
+ * 1 = UMID, 2 = UMID + loudness). Fixed-width string fields are NUL-padded
6
+ * ASCII; `codingHistory` is exposed verbatim (the spec uses CR/LF lines) and
7
+ * is not promised to preserve embedded NUL bytes. Loudness fields use the EBU
8
+ * "value not set" sentinel `0x7FFF`: a sentinel decodes to `undefined`, and an
9
+ * `undefined` loudness field on a v2 encode is written as the sentinel.
10
+ */
11
+ import type { BroadcastAudioExtension } from "../types/bwf.js";
12
+ /**
13
+ * Parse a raw `bext` chunk. Returns `undefined` only if `bytes` is shorter than
14
+ * 348 (cannot even read the `Version` field). Optional fields are populated per
15
+ * the chunk's declared version and the available length, so compact/legacy v0
16
+ * chunks parse into a partial struct.
17
+ */
18
+ export declare function decodeBext(bytes: Uint8Array): BroadcastAudioExtension | undefined;
19
+ /**
20
+ * Serialize a `bext` chunk. The result is always `602 + codingHistory.length`
21
+ * bytes. `version` defaults to 2 when any loudness field is present (else 1 if
22
+ * `umid` is set, else 0). Over-long string fields are truncated to their widths;
23
+ * loudness values are clamped to the Int16 range after ×100, with `undefined`
24
+ * written as the EBU `0x7FFF` "not set" sentinel; UMID is written only for
25
+ * version ≥ 1.
26
+ */
27
+ export declare function encodeBext(b: BroadcastAudioExtension): Uint8Array;
28
+ //# sourceMappingURL=bext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bext.d.ts","sourceRoot":"","sources":["../../../src/bwf/bext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AA6D/D;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,UAAU,GAChB,uBAAuB,GAAG,SAAS,CAwCrC;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,uBAAuB,GAAG,UAAU,CA6CjE"}
@@ -0,0 +1,126 @@
1
+ const FIXED_PREFIX_LEN = 602;
2
+ const VERSION_OFFSET = 346;
3
+ const UMID_OFFSET = 348;
4
+ const UMID_LEN = 64;
5
+ const LOUDNESS_OFFSET = 412;
6
+ const LOUDNESS_UNSET = 32767;
7
+ function readFixedString(bytes, offset, len) {
8
+ let end = offset;
9
+ const max = Math.min(offset + len, bytes.length);
10
+ while (end < max && bytes[end] !== 0) end++;
11
+ let s = "";
12
+ for (let i = offset; i < end; i++) s += String.fromCharCode(bytes[i]);
13
+ return s;
14
+ }
15
+ function writeFixedString(bytes, offset, len, value) {
16
+ for (let i = 0; i < len; i++) {
17
+ bytes[offset + i] = i < value.length ? value.charCodeAt(i) & 255 : 0;
18
+ }
19
+ }
20
+ function clampInt16(n) {
21
+ return Math.max(-32768, Math.min(32767, Math.round(n)));
22
+ }
23
+ function loudnessRaw(v) {
24
+ return v === void 0 ? LOUDNESS_UNSET : clampInt16(v * 100);
25
+ }
26
+ function loudnessFromRaw(raw) {
27
+ return raw === LOUDNESS_UNSET ? void 0 : raw / 100;
28
+ }
29
+ function bytesToHex(bytes) {
30
+ let s = "";
31
+ for (const b of bytes) s += b.toString(16).padStart(2, "0");
32
+ return s;
33
+ }
34
+ function hexToBytes(hex, outLen) {
35
+ const clean = hex.replace(/[^0-9a-fA-F]/g, "");
36
+ const out = new Uint8Array(outLen);
37
+ for (let i = 0; i + 1 < clean.length + 1 && i / 2 < outLen; i += 2) {
38
+ const pair = clean.slice(i, i + 2);
39
+ if (pair.length === 2) out[i / 2] = parseInt(pair, 16);
40
+ }
41
+ return out;
42
+ }
43
+ function decodeBext(bytes) {
44
+ if (bytes.length < VERSION_OFFSET + 2) return void 0;
45
+ const dv = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
46
+ const timeRefLow = dv.getUint32(338, true);
47
+ const timeRefHigh = dv.getUint32(342, true);
48
+ const version = dv.getUint16(VERSION_OFFSET, true);
49
+ const result = {
50
+ description: readFixedString(bytes, 0, 256),
51
+ originator: readFixedString(bytes, 256, 32),
52
+ originatorReference: readFixedString(bytes, 288, 32),
53
+ originationDate: readFixedString(bytes, 320, 10),
54
+ originationTime: readFixedString(bytes, 330, 8),
55
+ timeReferenceSamples: BigInt(timeRefHigh) << 32n | BigInt(timeRefLow),
56
+ version,
57
+ codingHistory: bytes.length > FIXED_PREFIX_LEN ? readFixedString(
58
+ bytes,
59
+ FIXED_PREFIX_LEN,
60
+ bytes.length - FIXED_PREFIX_LEN
61
+ ) : ""
62
+ };
63
+ if (version >= 1 && bytes.length >= UMID_OFFSET + UMID_LEN) {
64
+ result.umid = bytesToHex(
65
+ bytes.subarray(UMID_OFFSET, UMID_OFFSET + UMID_LEN)
66
+ );
67
+ }
68
+ if (version >= 2 && bytes.length >= LOUDNESS_OFFSET + 10) {
69
+ const lv = loudnessFromRaw(dv.getInt16(LOUDNESS_OFFSET, true));
70
+ const lr = loudnessFromRaw(dv.getInt16(LOUDNESS_OFFSET + 2, true));
71
+ const mtp = loudnessFromRaw(dv.getInt16(LOUDNESS_OFFSET + 4, true));
72
+ const mml = loudnessFromRaw(dv.getInt16(LOUDNESS_OFFSET + 6, true));
73
+ const msl = loudnessFromRaw(dv.getInt16(LOUDNESS_OFFSET + 8, true));
74
+ if (lv !== void 0) result.loudnessValueDb = lv;
75
+ if (lr !== void 0) result.loudnessRangeDb = lr;
76
+ if (mtp !== void 0) result.maxTruePeakLevelDbtp = mtp;
77
+ if (mml !== void 0) result.maxMomentaryLoudnessDb = mml;
78
+ if (msl !== void 0) result.maxShortTermLoudnessDb = msl;
79
+ }
80
+ return result;
81
+ }
82
+ function encodeBext(b) {
83
+ const codingHistory = b.codingHistory ?? "";
84
+ const bytes = new Uint8Array(FIXED_PREFIX_LEN + codingHistory.length);
85
+ const dv = new DataView(bytes.buffer);
86
+ const hasLoudness = b.loudnessValueDb !== void 0 || b.loudnessRangeDb !== void 0 || b.maxTruePeakLevelDbtp !== void 0 || b.maxMomentaryLoudnessDb !== void 0 || b.maxShortTermLoudnessDb !== void 0;
87
+ const version = Number.isInteger(b.version) ? b.version : hasLoudness ? 2 : b.umid ? 1 : 0;
88
+ writeFixedString(bytes, 0, 256, b.description ?? "");
89
+ writeFixedString(bytes, 256, 32, b.originator ?? "");
90
+ writeFixedString(bytes, 288, 32, b.originatorReference ?? "");
91
+ writeFixedString(bytes, 320, 10, b.originationDate ?? "");
92
+ writeFixedString(bytes, 330, 8, b.originationTime ?? "");
93
+ const tr = b.timeReferenceSamples ?? 0n;
94
+ dv.setUint32(338, Number(tr & 0xffffffffn), true);
95
+ dv.setUint32(342, Number(tr >> 32n & 0xffffffffn), true);
96
+ dv.setUint16(VERSION_OFFSET, version, true);
97
+ if (version >= 1 && b.umid) {
98
+ bytes.set(hexToBytes(b.umid, UMID_LEN), UMID_OFFSET);
99
+ }
100
+ if (version >= 2) {
101
+ dv.setInt16(LOUDNESS_OFFSET, loudnessRaw(b.loudnessValueDb), true);
102
+ dv.setInt16(LOUDNESS_OFFSET + 2, loudnessRaw(b.loudnessRangeDb), true);
103
+ dv.setInt16(LOUDNESS_OFFSET + 4, loudnessRaw(b.maxTruePeakLevelDbtp), true);
104
+ dv.setInt16(
105
+ LOUDNESS_OFFSET + 6,
106
+ loudnessRaw(b.maxMomentaryLoudnessDb),
107
+ true
108
+ );
109
+ dv.setInt16(
110
+ LOUDNESS_OFFSET + 8,
111
+ loudnessRaw(b.maxShortTermLoudnessDb),
112
+ true
113
+ );
114
+ }
115
+ writeFixedString(
116
+ bytes,
117
+ FIXED_PREFIX_LEN,
118
+ codingHistory.length,
119
+ codingHistory
120
+ );
121
+ return bytes;
122
+ }
123
+ export {
124
+ decodeBext,
125
+ encodeBext
126
+ };
@@ -18,6 +18,7 @@
18
18
  * ```
19
19
  */
20
20
  import type { Picture } from "../types.js";
21
+ import type { Chapter } from "../types/chapters.js";
21
22
  /**
22
23
  * Rating metadata representing track popularity/rating.
23
24
  * Uses normalized 0.0-1.0 scale for cross-format compatibility.
@@ -72,20 +73,6 @@ export type VariantMap = Record<string, unknown>;
72
73
  * }
73
74
  * ```
74
75
  */
75
- /**
76
- * Chapter marker metadata (ID3v2 CHAP frames).
77
- * Describes a time range within an audio file.
78
- */
79
- export interface Chapter {
80
- /** Unique element ID for the chapter */
81
- id: string;
82
- /** Start time in milliseconds */
83
- startTimeMs: number;
84
- /** End time in milliseconds */
85
- endTimeMs: number;
86
- /** Optional chapter title */
87
- title?: string;
88
- }
89
76
  export interface ComplexPropertyValueMap {
90
77
  /** Cover art and embedded images */
91
78
  PICTURE: Picture;
@@ -1 +1 @@
1
- {"version":3,"file":"complex-properties.d.ts","sourceRoot":"","sources":["../../../src/constants/complex-properties.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;;;;;GAQG;AACH,MAAM,WAAW,MAAM;IACrB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;GAmBG;AACH;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,wCAAwC;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,uBAAuB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,EAAE,MAAM,CACd,MAAM,EACN,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CACjE,CAAC;CACH;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CrB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,CAAC,IAAI,kBAAkB,GAAG,CAAC;CACtC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,EAAE,qBAKzB,CAAC"}
1
+ {"version":3,"file":"complex-properties.d.ts","sourceRoot":"","sources":["../../../src/constants/complex-properties.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,WAAW,MAAM;IACrB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,uBAAuB;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,uBAAuB;IACtC,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,0CAA0C;IAC1C,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,uBAAuB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,EAAE,MAAM,CACd,MAAM,EACN,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CACjE,CAAC;CACH;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4CrB,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,CAAC,IAAI,kBAAkB,GAAG,CAAC;CACtC,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,EAAE,qBAKzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../../src/msgpack/encoder.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,OAAO,EACP,WAAW,EACZ,MAAM,aAAa,CAAC;AAcrB,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAiB9D;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,eAAe,GAAG,UAAU,CAS7E;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,UAAU,CAStE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAe1D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,UAAU,CAelE;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,IAAI,EAAE,CAAC,EACP,OAAO,GAAE,OAAO,CAAC,cAAc,CAAM,GACpC,UAAU,CAUZ;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,CAe/D;AAqBD,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,UAAU,CAc1E;AAED,wBAAiB,uBAAuB,CAAC,CAAC,EACxC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CActC;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAS7D;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,GAC1E,UAAU,CAeZ;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAW7D;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG;IACxD,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAaA"}
1
+ {"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../../../src/msgpack/encoder.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAE/D,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,OAAO,EACP,WAAW,EACZ,MAAM,aAAa,CAAC;AAwBrB,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,CAiB9D;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,eAAe,GAAG,UAAU,CAS7E;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,UAAU,CAStE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAe1D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,UAAU,CAelE;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,IAAI,EAAE,CAAC,EACP,OAAO,GAAE,OAAO,CAAC,cAAc,CAAM,GACpC,UAAU,CAUZ;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,UAAU,CAe/D;AAqBD,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,UAAU,CAc1E;AAED,wBAAiB,uBAAuB,CAAC,CAAC,EACxC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CActC;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAS7D;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,GAC1E,UAAU,CAeZ;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAW7D;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,GAAG;IACxD,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAaA"}
@@ -1,7 +1,17 @@
1
1
  import { encode } from "@msgpack/msgpack";
2
2
  import { errorMessage, MetadataError } from "../errors/classes.js";
3
3
  import { toTagLibKey } from "../constants/properties.js";
4
- const PASSTHROUGH_KEYS = /* @__PURE__ */ new Set(["pictures", "ratings", "lyrics", "chapters"]);
4
+ const PASSTHROUGH_KEYS = /* @__PURE__ */ new Set([
5
+ "pictures",
6
+ "ratings",
7
+ "lyrics",
8
+ "chapters",
9
+ "_mp4ChapterStyle",
10
+ "bextData",
11
+ "ixml",
12
+ "id3Tags",
13
+ "_stripId3"
14
+ ]);
5
15
  const MSGPACK_ENCODE_OPTIONS = {
6
16
  sortKeys: false,
7
17
  forceFloat32: false,
@@ -24,5 +24,4 @@ export { canEncodeToMessagePack, compareEncodingEfficiency, encodeAudioPropertie
24
24
  export type { AutoDetectionConfig, AutoDetectionResult, BatchProcessingResult, DecodingResult, EncodingResult, FormatComparison, FormatVersion, MessagePackCompatible, MessagePackData, MessagePackDataType, MessagePackError, MessagePackErrorInfo, MessagePackMetrics, MessagePackValue, StreamingConfig, TagLibMessagePackData, TagLibMessagePackMarker, ValidationResult, } from "./types.js";
25
25
  export { TAGLIB_MSGPACK_MARKERS } from "./types.js";
26
26
  export { MessagePackUtils } from "./utils.js";
27
- export { createMessagePackProcessor, debugMessagePackProcessor, defaultMessagePackProcessor, performanceMessagePackProcessor, } from "./processor.js";
28
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/msgpack/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,2BAA2B,EAC3B,+BAA+B,GAChC,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/msgpack/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,uBAAuB,GACxB,MAAM,cAAc,CAAC;AAGtB,YAAY,EACV,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC"}
@@ -27,19 +27,11 @@ import {
27
27
  } from "./encoder.js";
28
28
  import { TAGLIB_MSGPACK_MARKERS } from "./types.js";
29
29
  import { MessagePackUtils } from "./utils.js";
30
- import {
31
- createMessagePackProcessor,
32
- debugMessagePackProcessor,
33
- defaultMessagePackProcessor,
34
- performanceMessagePackProcessor
35
- } from "./processor.js";
36
30
  export {
37
31
  MessagePackUtils,
38
32
  TAGLIB_MSGPACK_MARKERS,
39
33
  canEncodeToMessagePack,
40
34
  compareEncodingEfficiency,
41
- createMessagePackProcessor,
42
- debugMessagePackProcessor,
43
35
  decodeAudioProperties,
44
36
  decodeFastTagData,
45
37
  decodeMessagePack,
@@ -48,7 +40,6 @@ export {
48
40
  decodePictureArray,
49
41
  decodePropertyMap,
50
42
  decodeTagData,
51
- defaultMessagePackProcessor,
52
43
  encodeAudioProperties,
53
44
  encodeBatchTagData,
54
45
  encodeFastTagData,
@@ -61,6 +52,5 @@ export {
61
52
  encodeTagData,
62
53
  estimateMessagePackSize,
63
54
  getMessagePackInfo,
64
- isValidMessagePack,
65
- performanceMessagePackProcessor
55
+ isValidMessagePack
66
56
  };
@@ -38,7 +38,7 @@ async function loadModule(wasmType, runtime, options) {
38
38
  }
39
39
  }
40
40
  async function loadWasiModuleWithFallback(runtime, options) {
41
- const defaultWasmPath = resolveWasmPath("../../../taglib_wasi.wasm");
41
+ const defaultWasmPath = resolveWasmPath("../../../taglib-wasi.wasm");
42
42
  try {
43
43
  const { loadWasiHost } = await import("../wasi-host-loader.js");
44
44
  const wasiModule = await loadWasiHost({