taglib-wasm 1.1.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +512 -38
  2. package/dist/index.browser.js +366 -56
  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 +366 -56
  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/msgpack/encoder.d.ts.map +1 -1
  11. package/dist/src/msgpack/encoder.js +9 -1
  12. package/dist/src/runtime/unified-loader/module-loading.js +1 -1
  13. package/dist/src/runtime/wasi-adapter/adapter.d.ts +0 -2
  14. package/dist/src/runtime/wasi-adapter/adapter.d.ts.map +1 -1
  15. package/dist/src/runtime/wasi-adapter/adapter.js +0 -12
  16. package/dist/src/runtime/wasi-adapter/file-handle.d.ts +12 -4
  17. package/dist/src/runtime/wasi-adapter/file-handle.d.ts.map +1 -1
  18. package/dist/src/runtime/wasi-adapter/file-handle.js +73 -54
  19. package/dist/src/runtime/wasi-host-loader.d.ts +1 -1
  20. package/dist/src/runtime/wasi-host-loader.js +1 -1
  21. package/dist/src/taglib/audio-file-base.d.ts.map +1 -1
  22. package/dist/src/taglib/audio-file-base.js +25 -42
  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 +10 -0
  27. package/dist/src/taglib/audio-file-impl.d.ts.map +1 -1
  28. package/dist/src/taglib/audio-file-impl.js +69 -13
  29. package/dist/src/taglib/audio-file-interface.d.ts +27 -0
  30. package/dist/src/taglib/audio-file-interface.d.ts.map +1 -1
  31. package/dist/src/taglib/embind-adapter.d.ts +53 -0
  32. package/dist/src/taglib/embind-adapter.d.ts.map +1 -0
  33. package/dist/src/taglib/embind-adapter.js +82 -0
  34. package/dist/src/taglib/taglib-class.d.ts.map +1 -1
  35. package/dist/src/taglib/taglib-class.js +3 -1
  36. package/dist/src/types/audio-formats.d.ts +20 -0
  37. package/dist/src/types/audio-formats.d.ts.map +1 -1
  38. package/dist/src/types/bwf.d.ts +43 -0
  39. package/dist/src/types/bwf.d.ts.map +1 -0
  40. package/dist/src/types/bwf.js +0 -0
  41. package/dist/src/types/chapters.d.ts +47 -0
  42. package/dist/src/types/chapters.d.ts.map +1 -0
  43. package/dist/src/types/chapters.js +0 -0
  44. package/dist/src/types/index.d.ts +2 -0
  45. package/dist/src/types/index.d.ts.map +1 -1
  46. package/dist/src/types/index.js +2 -0
  47. package/dist/src/types/metadata-mappings.d.ts +1 -1
  48. package/dist/src/types/metadata-mappings.d.ts.map +1 -1
  49. package/dist/src/types/tags.d.ts +25 -7
  50. package/dist/src/types/tags.d.ts.map +1 -1
  51. package/dist/src/version.d.ts +1 -1
  52. package/dist/src/version.js +1 -1
  53. package/dist/src/wasm.d.ts +17 -39
  54. package/dist/src/wasm.d.ts.map +1 -1
  55. package/dist/taglib-wasi.wasm +0 -0
  56. package/dist/taglib-web.wasm +0 -0
  57. package/dist/taglib-wrapper.d.ts +0 -2
  58. package/dist/taglib-wrapper.js +1 -1
  59. package/package.json +5 -5
  60. package/dist/taglib_wasi.wasm +0 -0
@@ -2,11 +2,26 @@ var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
3
  var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
4
  import { PICTURE_TYPE_NAMES, PICTURE_TYPE_VALUES } from "../types.js";
5
- import { FileOperationError, InvalidFormatError } from "../errors.js";
5
+ import * as bwf from "./audio-file-bwf.js";
6
+ import {
7
+ FileOperationError,
8
+ InvalidFormatError,
9
+ UnsupportedFormatError
10
+ } from "../errors.js";
6
11
  import { readFileData } from "../utils/file.js";
7
12
  import { writeFileData } from "../utils/write.js";
8
13
  import { BaseAudioFileImpl } from "./audio-file-base.js";
14
+ import { wrapEmbindHandle } from "./embind-adapter.js";
9
15
  let _nodeFs;
16
+ function sortChapters(list) {
17
+ return [...list].sort((a, b) => a.startTimeMs - b.startTimeMs);
18
+ }
19
+ function inferEndTimeMs(sorted, index, trackEndMs) {
20
+ const own = sorted[index].endTimeMs;
21
+ if (own !== void 0) return own;
22
+ const next = sorted[index + 1];
23
+ return next ? next.startTimeMs : trackEndMs;
24
+ }
10
25
  function readFileSync(path) {
11
26
  if (typeof Deno !== "undefined") return Deno.readFileSync(path);
12
27
  if (_nodeFs === void 0) {
@@ -64,7 +79,8 @@ class AudioFileImpl extends BaseAudioFileImpl {
64
79
  );
65
80
  }
66
81
  if (this.isPartiallyLoaded && this.originalSource) {
67
- const fullFileHandle = this.module.createFileHandle();
82
+ const rawFullHandle = this.module.createFileHandle();
83
+ const fullFileHandle = this.module.isWasi ? rawFullHandle : wrapEmbindHandle(rawFullHandle);
68
84
  try {
69
85
  const success = await (async () => {
70
86
  const data = await readFileData(this.originalSource);
@@ -75,19 +91,13 @@ class AudioFileImpl extends BaseAudioFileImpl {
75
91
  "Failed to load full audio file for saving"
76
92
  );
77
93
  }
78
- const partialTag = this.handle.getTag();
79
- const fullTag = fullFileHandle.getTag();
80
- if (partialTag && fullTag) {
81
- fullTag.setTitle(partialTag.title());
82
- fullTag.setArtist(partialTag.artist());
83
- fullTag.setAlbum(partialTag.album());
84
- fullTag.setComment(partialTag.comment());
85
- fullTag.setGenre(partialTag.genre());
86
- fullTag.setYear(partialTag.year());
87
- fullTag.setTrack(partialTag.track());
88
- }
94
+ fullFileHandle.setTagData(this.handle.getTagData());
89
95
  fullFileHandle.setProperties(this.handle.getProperties());
90
96
  fullFileHandle.setPictures(this.handle.getPictures());
97
+ const bextBytes = this.handle.getBextData();
98
+ if (bextBytes !== void 0) fullFileHandle.setBextData(bextBytes);
99
+ const ixmlStr = this.handle.getIxml();
100
+ if (ixmlStr !== void 0) fullFileHandle.setIxml(ixmlStr);
91
101
  if (!fullFileHandle.save()) {
92
102
  throw new FileOperationError(
93
103
  "save",
@@ -142,6 +152,52 @@ class AudioFileImpl extends BaseAudioFileImpl {
142
152
  removePictures() {
143
153
  this.handle.removePictures();
144
154
  }
155
+ getChapters() {
156
+ const sorted = sortChapters(this.handle.getChapters());
157
+ const trackEndMs = this.audioProperties()?.durationMs;
158
+ return sorted.map((c, i) => ({
159
+ startTimeMs: c.startTimeMs,
160
+ endTimeMs: inferEndTimeMs(sorted, i, trackEndMs),
161
+ title: c.title || void 0,
162
+ id: c.id || void 0,
163
+ source: c.source
164
+ }));
165
+ }
166
+ setChapters(chapters, options) {
167
+ const fmt = this.getFormat();
168
+ if (fmt !== "MP3" && fmt !== "MP4") {
169
+ throw new UnsupportedFormatError(fmt, ["MP3", "MP4"], {
170
+ operation: "setChapters"
171
+ });
172
+ }
173
+ const sorted = sortChapters(chapters);
174
+ const trackEndMs = this.audioProperties()?.durationMs;
175
+ const raw = sorted.map((c, i) => ({
176
+ id: c.id,
177
+ startTimeMs: c.startTimeMs,
178
+ endTimeMs: inferEndTimeMs(sorted, i, trackEndMs) ?? c.startTimeMs,
179
+ title: c.title
180
+ }));
181
+ this.handle.setChapters(raw, options?.mp4ChapterStyle ?? "quicktime");
182
+ }
183
+ getBext() {
184
+ return bwf.getBext(this.handle);
185
+ }
186
+ setBext(bext) {
187
+ bwf.setBext(this.handle, this.getFormat(), bext);
188
+ }
189
+ getBextData() {
190
+ return bwf.getBextData(this.handle);
191
+ }
192
+ setBextData(data) {
193
+ bwf.setBextData(this.handle, this.getFormat(), data);
194
+ }
195
+ getIxml() {
196
+ return bwf.getIxml(this.handle);
197
+ }
198
+ setIxml(data) {
199
+ bwf.setIxml(this.handle, this.getFormat(), data);
200
+ }
145
201
  getRatings() {
146
202
  return this.handle.getRatings().map(
147
203
  (r) => ({
@@ -56,6 +56,33 @@ export interface AudioFile {
56
56
  addPicture(picture: Picture): void;
57
57
  /** Remove all pictures from the audio file. */
58
58
  removePictures(): void;
59
+ /**
60
+ * Get all chapter markers, ordered by start time. Empty array if the file
61
+ * has none. Read from ID3v2 CHAP frames (MP3) or, for MP4, QuickTime chapter
62
+ * tracks (preferred) or Nero `chpl` atoms.
63
+ */
64
+ getChapters(): import("../types/chapters.js").Chapter[];
65
+ /**
66
+ * Replace all chapter markers in the file with `chapters`. Only MP3 (ID3v2
67
+ * CHAP) and MP4 are supported; other formats throw. See
68
+ * {@link import("../types/chapters.js").SetChaptersOptions} for MP4 options.
69
+ */
70
+ setChapters(chapters: import("../types/chapters.js").Chapter[], options?: import("../types/chapters.js").SetChaptersOptions): void;
71
+ /**
72
+ * Parsed BWF `bext` (Broadcast Audio Extension) chunk, or `undefined` if the
73
+ * file has none / the chunk is too short to parse. WAV and FLAC only.
74
+ */
75
+ getBext(): import("../types/bwf.js").BroadcastAudioExtension | undefined;
76
+ /** Encode and write a `bext` chunk. Throws UnsupportedFormatError for non-WAV/FLAC. */
77
+ setBext(bext: import("../types/bwf.js").BroadcastAudioExtension): void;
78
+ /** Raw `bext` chunk bytes (escape hatch for vendor extensions), or `undefined` if absent. */
79
+ getBextData(): Uint8Array | undefined;
80
+ /** Write raw `bext` chunk bytes; `null` removes the chunk. Throws for non-WAV/FLAC. */
81
+ setBextData(data: Uint8Array | null): void;
82
+ /** Raw iXML chunk as a string, or `undefined` if absent. WAV and FLAC only. */
83
+ getIxml(): string | undefined;
84
+ /** Write the iXML chunk; `null` removes it. Throws for non-WAV/FLAC. */
85
+ setIxml(data: string | null): void;
59
86
  /** Get all ratings (normalized 0.0-1.0) from the audio file. */
60
87
  getRatings(): Rating[];
61
88
  /** Set ratings in the audio file (replaces all existing). */
@@ -1 +1 @@
1
- {"version":3,"file":"audio-file-interface.d.ts","sourceRoot":"","sources":["../../../src/taglib/audio-file-interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audio-file-interface.d.ts","sourceRoot":"","sources":["../../../src/taglib/audio-file-interface.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * @fileoverview Adapts Embind-generated FileHandle to the data-oriented interface.
3
+ *
4
+ * Embind objects store methods on the prototype, so `{ ...raw }` won't copy them.
5
+ * A Proxy forwards all property access to the raw Embind object by default,
6
+ * overriding only getTagData, setTagData, and getAudioProperties.
7
+ */
8
+ import type { FileHandle } from "../wasm.js";
9
+ /** @internal Embind-generated TagWrapper — methods on C++ prototype. */
10
+ interface EmbindTagWrapper {
11
+ title(): string;
12
+ artist(): string;
13
+ album(): string;
14
+ comment(): string;
15
+ genre(): string;
16
+ year(): number;
17
+ track(): number;
18
+ setTitle(v: string): void;
19
+ setArtist(v: string): void;
20
+ setAlbum(v: string): void;
21
+ setComment(v: string): void;
22
+ setGenre(v: string): void;
23
+ setYear(v: number): void;
24
+ setTrack(v: number): void;
25
+ }
26
+ /** @internal Embind-generated AudioPropertiesWrapper — methods on C++ prototype. */
27
+ interface EmbindAudioPropertiesWrapper {
28
+ lengthInSeconds(): number;
29
+ lengthInMilliseconds(): number;
30
+ bitrate(): number;
31
+ sampleRate(): number;
32
+ channels(): number;
33
+ bitsPerSample(): number;
34
+ codec(): string;
35
+ containerFormat(): string;
36
+ isLossless(): boolean;
37
+ mpegVersion(): number;
38
+ mpegLayer(): number;
39
+ isEncrypted(): boolean;
40
+ formatVersion(): number;
41
+ bitrateMode(): string;
42
+ outputGainDb(): number;
43
+ }
44
+ /** @internal The raw Embind FileHandle before adaptation. */
45
+ export interface EmbindFileHandle {
46
+ getTag(): EmbindTagWrapper;
47
+ getAudioProperties(): EmbindAudioPropertiesWrapper | null;
48
+ [key: string]: unknown;
49
+ }
50
+ /** @internal Wrap an Embind FileHandle with a Proxy for the data-oriented interface. */
51
+ export declare function wrapEmbindHandle(raw: EmbindFileHandle): FileHandle;
52
+ export {};
53
+ //# sourceMappingURL=embind-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embind-adapter.d.ts","sourceRoot":"","sources":["../../../src/taglib/embind-adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAc7C,wEAAwE;AACxE,UAAU,gBAAgB;IACxB,KAAK,IAAI,MAAM,CAAC;IAChB,MAAM,IAAI,MAAM,CAAC;IACjB,KAAK,IAAI,MAAM,CAAC;IAChB,OAAO,IAAI,MAAM,CAAC;IAClB,KAAK,IAAI,MAAM,CAAC;IAChB,IAAI,IAAI,MAAM,CAAC;IACf,KAAK,IAAI,MAAM,CAAC;IAChB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,oFAAoF;AACpF,UAAU,4BAA4B;IACpC,eAAe,IAAI,MAAM,CAAC;IAC1B,oBAAoB,IAAI,MAAM,CAAC;IAC/B,OAAO,IAAI,MAAM,CAAC;IAClB,UAAU,IAAI,MAAM,CAAC;IACrB,QAAQ,IAAI,MAAM,CAAC;IACnB,aAAa,IAAI,MAAM,CAAC;IACxB,KAAK,IAAI,MAAM,CAAC;IAChB,eAAe,IAAI,MAAM,CAAC;IAC1B,UAAU,IAAI,OAAO,CAAC;IACtB,WAAW,IAAI,MAAM,CAAC;IACtB,SAAS,IAAI,MAAM,CAAC;IACpB,WAAW,IAAI,OAAO,CAAC;IACvB,aAAa,IAAI,MAAM,CAAC;IACxB,WAAW,IAAI,MAAM,CAAC;IACtB,YAAY,IAAI,MAAM,CAAC;CACxB;AAED,6DAA6D;AAC7D,MAAM,WAAW,gBAAgB;IAC/B,MAAM,IAAI,gBAAgB,CAAC;IAC3B,kBAAkB,IAAI,4BAA4B,GAAG,IAAI,CAAC;IAC1D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,wFAAwF;AACxF,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,gBAAgB,GAAG,UAAU,CAkFlE"}
@@ -0,0 +1,82 @@
1
+ function isValidBitrateMode(value) {
2
+ return value === "CBR" || value === "VBR" || value === "ABR";
3
+ }
4
+ function wrapEmbindHandle(raw) {
5
+ const overrides = {
6
+ getTagData() {
7
+ const tw = raw.getTag();
8
+ return {
9
+ title: tw.title(),
10
+ artist: tw.artist(),
11
+ album: tw.album(),
12
+ comment: tw.comment(),
13
+ genre: tw.genre(),
14
+ year: tw.year(),
15
+ track: tw.track()
16
+ };
17
+ },
18
+ setTagData(data) {
19
+ const tw = raw.getTag();
20
+ if (data.title !== void 0) tw.setTitle(data.title);
21
+ if (data.artist !== void 0) tw.setArtist(data.artist);
22
+ if (data.album !== void 0) tw.setAlbum(data.album);
23
+ if (data.comment !== void 0) tw.setComment(data.comment);
24
+ if (data.genre !== void 0) tw.setGenre(data.genre);
25
+ if (data.year !== void 0) tw.setYear(data.year);
26
+ if (data.track !== void 0) tw.setTrack(data.track);
27
+ },
28
+ getBextData() {
29
+ const v = raw.getBextData();
30
+ if (v === void 0 || v === null) return void 0;
31
+ const u8 = v instanceof Uint8Array ? v : new Uint8Array(v);
32
+ return u8.length > 0 ? u8 : void 0;
33
+ },
34
+ setBextData(data) {
35
+ raw.setBextData(data ?? null);
36
+ },
37
+ getIxml() {
38
+ const v = raw.getIxml();
39
+ return typeof v === "string" && v.length > 0 ? v : void 0;
40
+ },
41
+ setIxml(data) {
42
+ raw.setIxml(
43
+ data ?? null
44
+ );
45
+ },
46
+ getAudioProperties() {
47
+ const pw = raw.getAudioProperties();
48
+ if (!pw) return null;
49
+ const containerFormat = pw.containerFormat() || "unknown";
50
+ const codec = pw.codec() || "unknown";
51
+ const mpegVersion = pw.mpegVersion();
52
+ const formatVersion = pw.formatVersion();
53
+ const bitrateMode = pw.bitrateMode();
54
+ return {
55
+ duration: pw.lengthInSeconds(),
56
+ durationMs: pw.lengthInMilliseconds(),
57
+ bitrate: pw.bitrate(),
58
+ sampleRate: pw.sampleRate(),
59
+ channels: pw.channels(),
60
+ bitsPerSample: pw.bitsPerSample(),
61
+ codec,
62
+ containerFormat,
63
+ isLossless: pw.isLossless(),
64
+ ...mpegVersion > 0 ? { mpegVersion, mpegLayer: pw.mpegLayer() } : {},
65
+ ...containerFormat === "MP4" || containerFormat === "ASF" ? { isEncrypted: pw.isEncrypted() } : {},
66
+ ...formatVersion > 0 ? { formatVersion } : {},
67
+ ...isValidBitrateMode(bitrateMode) ? { bitrateMode } : {},
68
+ ...codec === "Opus" ? { outputGainDb: pw.outputGainDb() } : {}
69
+ };
70
+ }
71
+ };
72
+ return new Proxy(raw, {
73
+ get(target, prop, receiver) {
74
+ if (prop in overrides) return overrides[prop];
75
+ const value = Reflect.get(target, prop, receiver);
76
+ return typeof value === "function" ? value.bind(target) : value;
77
+ }
78
+ });
79
+ }
80
+ export {
81
+ wrapEmbindHandle
82
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"taglib-class.d.ts","sourceRoot":"","sources":["../../../src/taglib/taglib-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,UAAU,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA2C3D;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,MAAM,EAAE,UAAU;IAI9B;;;;;OAKG;WACU,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAMrE;;;;;;;OAOG;IACG,IAAI,CACR,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,SAAS,CAAC;IA8FrB;;;;;;;;;OASG;IACG,IAAI,CACR,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC;IACV,IAAI,CACR,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,GAAG,eAAe,EACxD,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC5C,OAAO,CAAC,UAAU,CAAC;IAmBtB;;;;;;OAMG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtE;;;;;;;OAOG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC;IAUhB,oEAAoE;IACpE,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,aAAa;CAStB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtE"}
1
+ {"version":3,"file":"taglib-class.d.ts","sourceRoot":"","sources":["../../../src/taglib/taglib-class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA4B,UAAU,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AA4C3D;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,MAAM,EAAE,UAAU;IAI9B;;;;;OAKG;WACU,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAMrE;;;;;;;OAOG;IACG,IAAI,CACR,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,SAAS,CAAC;IAiGrB;;;;;;;;;OASG;IACG,IAAI,CACR,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC5C,OAAO,CAAC,IAAI,CAAC;IACV,IAAI,CACR,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,IAAI,GAAG,eAAe,EACxD,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC5C,OAAO,CAAC,UAAU,CAAC;IAmBtB;;;;;;OAMG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtE;;;;;;;OAOG;IACG,YAAY,CAChB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC;IAUhB,oEAAoE;IACpE,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,aAAa;CAStB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtE"}
@@ -10,6 +10,7 @@ import { loadAudioData } from "./load-audio-data.js";
10
10
  import { mergeTagUpdates } from "../utils/tag-mapping.js";
11
11
  import { FileOperationError } from "../errors.js";
12
12
  import { VERSION } from "../version.js";
13
+ import { wrapEmbindHandle } from "./embind-adapter.js";
13
14
  function toWasiPath(osPath) {
14
15
  if (osPath.startsWith("\\\\") || osPath.startsWith("//")) {
15
16
  throw new FileOperationError(
@@ -109,7 +110,8 @@ class TagLib {
109
110
  audioData.byteOffset + audioData.byteLength
110
111
  )
111
112
  ) : audioData;
112
- const fileHandle = this.module.createFileHandle();
113
+ const rawHandle = this.module.createFileHandle();
114
+ const fileHandle = this.module.isWasi ? rawHandle : wrapEmbindHandle(rawHandle);
113
115
  try {
114
116
  const success = fileHandle.loadFromBuffer(uint8Array);
115
117
  if (!success) {
@@ -55,6 +55,13 @@ export type ContainerFormat = "MP3" | "MP4" | "FLAC" | "OGG" | "WAV" | "AIFF" |
55
55
  * ```
56
56
  */
57
57
  export type AudioCodec = "AAC" | "ALAC" | "MP3" | "FLAC" | "Vorbis" | "Opus" | "Speex" | "PCM" | "IEEEFloat" | "WAV" | "WMA" | "WMALossless" | "APE" | "DSD" | "WavPack" | "MPC" | "TTA" | "Shorten" | "MOD" | "S3M" | "IT" | "XM" | "unknown";
58
+ /**
59
+ * Bitrate mode for MP3 audio.
60
+ *
61
+ * Detected by parsing the LAME extension header in the first MPEG frame.
62
+ * Undefined for non-MP3 formats and for MP3 files lacking Xing/Info/VBRI headers.
63
+ */
64
+ export type BitrateMode = "CBR" | "VBR" | "ABR";
58
65
  /**
59
66
  * Audio properties containing technical information about the file.
60
67
  * All properties are read-only and represent the actual audio stream data.
@@ -73,6 +80,8 @@ export type AudioCodec = "AAC" | "ALAC" | "MP3" | "FLAC" | "Vorbis" | "Opus" | "
73
80
  export interface AudioProperties {
74
81
  /** Duration of the audio in seconds */
75
82
  readonly duration: number;
83
+ /** Duration of the audio in milliseconds (more precise than `duration`) */
84
+ readonly durationMs?: number;
76
85
  /** Bitrate in kb/s */
77
86
  readonly bitrate: number;
78
87
  /** Sample rate in Hz */
@@ -95,6 +104,14 @@ export interface AudioProperties {
95
104
  readonly isEncrypted?: boolean;
96
105
  /** Format-specific version number (APE, WavPack, TTA, etc.) */
97
106
  readonly formatVersion?: number;
107
+ /** Bitrate mode (MP3 only — undefined for formats where it is not meaningful or detectable) */
108
+ readonly bitrateMode?: BitrateMode;
109
+ /**
110
+ * OpusHead output gain in decibels (Opus only, RFC 7845 §5.1). Players apply
111
+ * this unconditionally; it is independent of, and stacks with, ReplayGain /
112
+ * R128 *tags*. Almost always 0.
113
+ */
114
+ readonly outputGainDb?: number;
98
115
  }
99
116
  /**
100
117
  * AudioProperties narrowed by file format, making format-specific fields required.
@@ -103,6 +120,7 @@ export interface AudioProperties {
103
120
  * for a given format become required:
104
121
  * - MP3: `mpegVersion`, `mpegLayer`
105
122
  * - MP4/ASF: `isEncrypted`
123
+ * - OPUS: `outputGainDb`
106
124
  * - APE/WV/TTA/MPC/SHN: `formatVersion`
107
125
  *
108
126
  * @example
@@ -118,6 +136,8 @@ export type TypedAudioProperties<F extends FileType> = F extends "MP3" ? AudioPr
118
136
  readonly mpegLayer: number;
119
137
  } : F extends "MP4" | "ASF" ? AudioProperties & {
120
138
  readonly isEncrypted: boolean;
139
+ } : F extends "OPUS" ? AudioProperties & {
140
+ readonly outputGainDb: number;
121
141
  } : F extends "APE" | "WV" | "TTA" | "MPC" | "SHN" ? AudioProperties & {
122
142
  readonly formatVersion: number;
123
143
  } : AudioProperties;
@@ -1 +1 @@
1
- {"version":3,"file":"audio-formats.d.ts","sourceRoot":"","sources":["../../../src/types/audio-formats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audio-formats.d.ts","sourceRoot":"","sources":["../../../src/types/audio-formats.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,UAAU,GACV,WAAW,GACX,IAAI,GACJ,eAAe,CAAC;AAEpB,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,cAAc,GACpB,KAAK,IAAI,eAAe,CAU1B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,QAAQ,GAChB,KAAK,GACL,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACL,QAAQ,GACR,IAAI,GACJ,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,SAAS,GACT,OAAO,GACP,UAAU,GACV,SAAS,CAAC;AAEd;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,eAAe,GACvB,KAAK,GACL,KAAK,GACL,MAAM,GACN,KAAK,GACL,KAAK,GACL,MAAM,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACL,QAAQ,GACR,SAAS,GACT,KAAK,GACL,KAAK,GACL,SAAS,GACT,KAAK,GACL,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,UAAU,GACV,SAAS,CAAC;AAEd;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,GACN,QAAQ,GACR,MAAM,GACN,OAAO,GACP,KAAK,GACL,WAAW,GACX,KAAK,GACL,KAAK,GACL,aAAa,GACb,KAAK,GACL,KAAK,GACL,SAAS,GACT,KAAK,GACL,KAAK,GACL,SAAS,GACT,KAAK,GACL,KAAK,GACL,IAAI,GACJ,IAAI,GACJ,SAAS,CAAC;AAEd;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEhD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,sBAAsB;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+BAA+B;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,wCAAwC;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,+DAA+D;IAC/D,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,+FAA+F;IAC/F,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,KAAK,GAClE,eAAe,GAAG;IAClB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B,GACC,CAAC,SAAS,KAAK,GAAG,KAAK,GACrB,eAAe,GAAG;IAAE,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAA;CAAE,GACrD,CAAC,SAAS,MAAM,GAAG,eAAe,GAAG;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACtE,CAAC,SAAS,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAC5C,eAAe,GAAG;IAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACtD,eAAe,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @fileoverview BWF (Broadcast Wave Format) metadata types — the `bext` chunk
3
+ * (EBU Tech 3285). The iXML chunk is exposed as a raw string, not modeled here.
4
+ */
5
+ /**
6
+ * Parsed BWF `bext` (Broadcast Audio Extension) chunk. Available on WAV and
7
+ * FLAC files via {@link AudioFile.getBext} / {@link AudioFile.setBext}.
8
+ *
9
+ * `version` governs which optional fields are meaningful: 0 = none; 1 = `umid`;
10
+ * 2 = `umid` plus the loudness fields. Encoding always writes the full
11
+ * 602-byte fixed prefix regardless of version (unused fields are zeroed).
12
+ */
13
+ export interface BroadcastAudioExtension {
14
+ /** Free-text description. Truncated to 256 ASCII bytes on write. */
15
+ description: string;
16
+ /** Producer / recording device. Truncated to 32 ASCII bytes on write. */
17
+ originator: string;
18
+ /** Unambiguous reference (e.g. original tape ID). 32 bytes on write. */
19
+ originatorReference: string;
20
+ /** Origination date, "YYYY-MM-DD" (10 bytes). */
21
+ originationDate: string;
22
+ /** Origination time, "HH:MM:SS" (8 bytes). */
23
+ originationTime: string;
24
+ /** Sample count from midnight to the start of the recorded sequence. */
25
+ timeReferenceSamples: bigint;
26
+ /** bext chunk version: 0, 1, or 2. */
27
+ version: number;
28
+ /** SMPTE UMID as a lowercase hex string (the 64-byte field). Present when version ≥ 1. */
29
+ umid?: string;
30
+ /** Integrated loudness (LUFS). Present when version ≥ 2. */
31
+ loudnessValueDb?: number;
32
+ /** Loudness range (LU). Present when version ≥ 2. */
33
+ loudnessRangeDb?: number;
34
+ /** Maximum true-peak level (dBTP). Present when version ≥ 2. */
35
+ maxTruePeakLevelDbtp?: number;
36
+ /** Maximum momentary loudness (LUFS). Present when version ≥ 2. */
37
+ maxMomentaryLoudnessDb?: number;
38
+ /** Maximum short-term loudness (LUFS). Present when version ≥ 2. */
39
+ maxShortTermLoudnessDb?: number;
40
+ /** Encoding history (the spec uses CR/LF-delimited lines; exposed verbatim). */
41
+ codingHistory: string;
42
+ }
43
+ //# sourceMappingURL=bwf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bwf.d.ts","sourceRoot":"","sources":["../../../src/types/bwf.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AACH,MAAM,WAAW,uBAAuB;IACtC,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iDAAiD;IACjD,eAAe,EAAE,MAAM,CAAC;IACxB,8CAA8C;IAC9C,eAAe,EAAE,MAAM,CAAC;IACxB,wEAAwE;IACxE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,0FAA0F;IAC1F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mEAAmE;IACnE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,oEAAoE;IACpE,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gFAAgF;IAChF,aAAa,EAAE,MAAM,CAAC;CACvB"}
File without changes
@@ -0,0 +1,47 @@
1
+ /**
2
+ * @fileoverview Chapter / cue-marker types.
3
+ */
4
+ /**
5
+ * A single chapter / cue marker.
6
+ *
7
+ * Read from ID3v2 `CHAP` frames (MP3), QuickTime chapter tracks, or Nero
8
+ * `chpl` atoms (MP4). On write, MP3 produces ID3v2 CHAP frames; for MP4 the
9
+ * structure(s) written are chosen via {@link SetChaptersOptions.mp4ChapterStyle}.
10
+ */
11
+ export interface Chapter {
12
+ /** Chapter start, milliseconds from the start of the file. */
13
+ startTimeMs: number;
14
+ /**
15
+ * Chapter end, milliseconds. Explicit for ID3v2 CHAP frames; inferred for
16
+ * MP4 chapters (the next chapter's start time, or the track duration for the
17
+ * last chapter). `undefined` only when the duration cannot be determined.
18
+ */
19
+ endTimeMs?: number;
20
+ /** Chapter title. */
21
+ title?: string;
22
+ /**
23
+ * ID3v2 CHAP element ID. `undefined` for MP4 chapters — Nero and QuickTime
24
+ * chapters carry no element identifiers.
25
+ */
26
+ id?: string;
27
+ /** Which container structure this chapter was read from. */
28
+ source?: "id3" | "nero" | "quicktime";
29
+ }
30
+ /** Options for {@link AudioFile.setChapters}. */
31
+ export interface SetChaptersOptions {
32
+ /**
33
+ * MP4 files only. Selects which chapter structure(s) to write (other
34
+ * structures are removed, so the file ends up with exactly what is
35
+ * requested):
36
+ * - `"quicktime"` (default): a QuickTime chapter track — the standard
37
+ * mechanism, honored by Apple Books / Podcasts / iOS and most players.
38
+ * - `"nero"`: a Nero `chpl` atom — read by ffmpeg / foobar2000 / MP4Box but
39
+ * ignored by Apple devices; hard limit of 255 chapters.
40
+ * - `"both"`: both of the above. When there are more than 255 chapters the
41
+ * QuickTime track gets all of them and the Nero atom gets the first 255.
42
+ *
43
+ * Ignored for non-MP4 files (MP3 always writes ID3v2 CHAP frames).
44
+ */
45
+ mp4ChapterStyle?: "quicktime" | "nero" | "both";
46
+ }
47
+ //# sourceMappingURL=chapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chapters.d.ts","sourceRoot":"","sources":["../../../src/types/chapters.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,OAAO;IACtB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,WAAW,CAAC;CACvC;AAED,iDAAiD;AACjD,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;CACjD"}
File without changes
@@ -6,6 +6,8 @@ export * from "./audio-formats.js";
6
6
  export * from "./tags.js";
7
7
  export * from "./metadata-mappings.js";
8
8
  export * from "./pictures.js";
9
+ export * from "./chapters.js";
10
+ export * from "./bwf.js";
9
11
  export * from "./config.js";
10
12
  export * from "./format-property-keys.js";
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,cAAc,oBAAoB,CAAC;AAGnC,cAAc,WAAW,CAAC;AAG1B,cAAc,wBAAwB,CAAC;AAGvC,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAG5B,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,cAAc,oBAAoB,CAAC;AAGnC,cAAc,WAAW,CAAC;AAG1B,cAAc,wBAAwB,CAAC;AAGvC,cAAc,eAAe,CAAC;AAG9B,cAAc,eAAe,CAAC;AAG9B,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC;AAG5B,cAAc,2BAA2B,CAAC"}
@@ -2,5 +2,7 @@ export * from "./audio-formats.js";
2
2
  export * from "./tags.js";
3
3
  export * from "./metadata-mappings.js";
4
4
  export * from "./pictures.js";
5
+ export * from "./chapters.js";
6
+ export * from "./bwf.js";
5
7
  export * from "./config.js";
6
8
  export * from "./format-property-keys.js";
@@ -42,5 +42,5 @@ export interface FieldMapping {
42
42
  * const vorbisField = METADATA_MAPPINGS.albumArtist.vorbis; // "ALBUMARTIST"
43
43
  * ```
44
44
  */
45
- export declare const METADATA_MAPPINGS: Record<Exclude<keyof ExtendedTag, "pictures" | "ratings" | "lyrics" | "chapters">, FieldMapping>;
45
+ export declare const METADATA_MAPPINGS: Record<Exclude<keyof ExtendedTag, "pictures" | "ratings" | "lyrics" | "chapters" | "bext" | "bextData" | "ixml">, FieldMapping>;
46
46
  //# sourceMappingURL=metadata-mappings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-mappings.d.ts","sourceRoot":"","sources":["../../../src/types/metadata-mappings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,OAAO,CAAC,MAAM,WAAW,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC,EAC1E,YAAY,CAwMb,CAAC"}
1
+ {"version":3,"file":"metadata-mappings.d.ts","sourceRoot":"","sources":["../../../src/types/metadata-mappings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,KAAK,CAAC,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,OAAO,CACL,MAAM,WAAW,EACf,UAAU,GACV,SAAS,GACT,QAAQ,GACR,UAAU,GACV,MAAM,GACN,UAAU,GACV,MAAM,CACT,EACD,YAAY,CAwMb,CAAC"}
@@ -31,6 +31,20 @@ export interface Tag {
31
31
  /** Track number */
32
32
  readonly track?: number;
33
33
  }
34
+ /**
35
+ * Basic tag data as returned by the internal FileHandle interface.
36
+ * Single string values (not arrays) matching TagLib's C++ Tag accessors.
37
+ * @internal
38
+ */
39
+ export interface BasicTagData {
40
+ title: string;
41
+ artist: string;
42
+ album: string;
43
+ comment: string;
44
+ genre: string;
45
+ year: number;
46
+ track: number;
47
+ }
34
48
  /**
35
49
  * Input type for writing tags. Accepts both single strings and arrays.
36
50
  *
@@ -193,13 +207,17 @@ export interface ExtendedTag extends Tag {
193
207
  description: string;
194
208
  language: string;
195
209
  }>;
196
- /** Chapter markers (ID3v2 CHAP frames, MP3 only) */
197
- readonly chapters?: Array<{
198
- id: string;
199
- startTimeMs: number;
200
- endTimeMs: number;
201
- title?: string;
202
- }>;
210
+ /**
211
+ * Chapter markers. Populated from ID3v2 CHAP frames (MP3), QuickTime chapter
212
+ * tracks, or Nero `chpl` atoms (MP4). See {@link Chapter}.
213
+ */
214
+ readonly chapters?: import("./chapters.js").Chapter[];
215
+ /** Parsed BWF `bext` (Broadcast Audio Extension) chunk. WAV and FLAC only. */
216
+ readonly bext?: import("./bwf.js").BroadcastAudioExtension;
217
+ /** Raw BWF `bext` chunk bytes. WAV and FLAC only. */
218
+ readonly bextData?: Uint8Array;
219
+ /** Raw iXML chunk as a string. WAV and FLAC only. */
220
+ readonly ixml?: string;
203
221
  }
204
222
  /**
205
223
  * Extended metadata properties map with known-key autocomplete.
@@ -1 +1 @@
1
- {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/types/tags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/types/tags.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "1.1.1";
1
+ export declare const VERSION = "1.2.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1,4 +1,4 @@
1
- const VERSION = "1.1.1";
1
+ const VERSION = "1.2.0";
2
2
  export {
3
3
  VERSION
4
4
  };