taglib-wasm 1.0.7 → 1.0.8

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 (32) hide show
  1. package/dist/index.browser.js +258 -39
  2. package/dist/index.d.ts +1 -1
  3. package/dist/simple.browser.js +238 -18
  4. package/dist/src/constants/additional-properties.d.ts +242 -0
  5. package/dist/src/constants/additional-properties.d.ts.map +1 -0
  6. package/dist/src/constants/additional-properties.js +204 -0
  7. package/dist/src/constants/general-extended-properties.d.ts +7 -3
  8. package/dist/src/constants/general-extended-properties.d.ts.map +1 -1
  9. package/dist/src/constants/general-extended-properties.js +5 -3
  10. package/dist/src/constants/properties.d.ts +239 -3
  11. package/dist/src/constants/properties.d.ts.map +1 -1
  12. package/dist/src/constants/properties.js +3 -1
  13. package/dist/src/constants/tags.d.ts +20 -21
  14. package/dist/src/constants/tags.d.ts.map +1 -1
  15. package/dist/src/constants/tags.js +20 -21
  16. package/dist/src/simple/tag-operations.d.ts.map +1 -1
  17. package/dist/src/simple/tag-operations.js +8 -4
  18. package/dist/src/simple/with-audio-file.d.ts +3 -2
  19. package/dist/src/simple/with-audio-file.d.ts.map +1 -1
  20. package/dist/src/simple/with-audio-file.js +11 -4
  21. package/dist/src/taglib/taglib-class.d.ts.map +1 -1
  22. package/dist/src/taglib/taglib-class.js +8 -7
  23. package/dist/src/types/config.d.ts +1 -1
  24. package/dist/src/types/metadata-mappings.d.ts.map +1 -1
  25. package/dist/src/types/metadata-mappings.js +20 -1
  26. package/dist/src/types/tags.d.ts +24 -0
  27. package/dist/src/types/tags.d.ts.map +1 -1
  28. package/dist/src/version.d.ts +1 -1
  29. package/dist/src/version.js +1 -1
  30. package/dist/taglib-web.wasm +0 -0
  31. package/dist/taglib-wrapper.js +1 -1
  32. package/package.json +1 -1
@@ -449,6 +449,215 @@ var init_write = __esm({
449
449
  }
450
450
  });
451
451
 
452
+ // src/constants/additional-properties.ts
453
+ var ADDITIONAL_PROPERTIES;
454
+ var init_additional_properties = __esm({
455
+ "src/constants/additional-properties.ts"() {
456
+ "use strict";
457
+ ADDITIONAL_PROPERTIES = {
458
+ albumArtistSort: {
459
+ key: "ALBUMARTISTSORT",
460
+ description: "Sort name for album artist (for alphabetization)",
461
+ type: "string",
462
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
463
+ mappings: {
464
+ id3v2: { frame: "TSO2" },
465
+ vorbis: "ALBUMARTISTSORT",
466
+ mp4: "soaa"
467
+ }
468
+ },
469
+ composerSort: {
470
+ key: "COMPOSERSORT",
471
+ description: "Sort name for composer (for alphabetization)",
472
+ type: "string",
473
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
474
+ mappings: {
475
+ id3v2: { frame: "TSOC" },
476
+ vorbis: "COMPOSERSORT",
477
+ mp4: "soco"
478
+ }
479
+ },
480
+ subtitle: {
481
+ key: "SUBTITLE",
482
+ description: "Subtitle or description refinement",
483
+ type: "string",
484
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
485
+ mappings: {
486
+ id3v2: { frame: "TIT3" },
487
+ vorbis: "SUBTITLE",
488
+ mp4: "----:com.apple.iTunes:SUBTITLE"
489
+ }
490
+ },
491
+ label: {
492
+ key: "LABEL",
493
+ description: "Record label name",
494
+ type: "string",
495
+ supportedFormats: ["ID3v2", "MP4", "Vorbis", "WAV"],
496
+ mappings: {
497
+ id3v2: { frame: "TPUB" },
498
+ vorbis: "LABEL",
499
+ mp4: "----:com.apple.iTunes:LABEL",
500
+ wav: "IPUB"
501
+ }
502
+ },
503
+ producer: {
504
+ key: "PRODUCER",
505
+ description: "Producer of the recording",
506
+ type: "string",
507
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
508
+ mappings: {
509
+ id3v2: { frame: "TXXX", description: "PRODUCER" },
510
+ vorbis: "PRODUCER",
511
+ mp4: "----:com.apple.iTunes:PRODUCER"
512
+ }
513
+ },
514
+ radioStationOwner: {
515
+ key: "RADIOSTATIONOWNER",
516
+ description: "Owner of the radio station",
517
+ type: "string",
518
+ supportedFormats: ["ID3v2"],
519
+ mappings: {
520
+ id3v2: { frame: "TRSO" }
521
+ }
522
+ },
523
+ asin: {
524
+ key: "ASIN",
525
+ description: "Amazon Standard Identification Number",
526
+ type: "string",
527
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
528
+ mappings: {
529
+ id3v2: { frame: "TXXX", description: "ASIN" },
530
+ vorbis: "ASIN",
531
+ mp4: "----:com.apple.iTunes:ASIN"
532
+ }
533
+ },
534
+ musicbrainzReleaseArtistId: {
535
+ key: "MUSICBRAINZ_ALBUMARTISTID",
536
+ description: "MusicBrainz Release Artist ID (UUID)",
537
+ type: "string",
538
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
539
+ mappings: {
540
+ id3v2: {
541
+ frame: "TXXX",
542
+ description: "MusicBrainz Album Artist Id"
543
+ },
544
+ vorbis: "MUSICBRAINZ_ALBUMARTISTID",
545
+ mp4: "----:com.apple.iTunes:MusicBrainz Album Artist Id"
546
+ }
547
+ },
548
+ musicbrainzWorkId: {
549
+ key: "MUSICBRAINZ_WORKID",
550
+ description: "MusicBrainz Work ID (UUID)",
551
+ type: "string",
552
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
553
+ mappings: {
554
+ id3v2: { frame: "TXXX", description: "MusicBrainz Work Id" },
555
+ vorbis: "MUSICBRAINZ_WORKID",
556
+ mp4: "----:com.apple.iTunes:MusicBrainz Work Id"
557
+ }
558
+ },
559
+ musicbrainzReleaseTrackId: {
560
+ key: "MUSICBRAINZ_RELEASETRACKID",
561
+ description: "MusicBrainz Release Track ID (UUID)",
562
+ type: "string",
563
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
564
+ mappings: {
565
+ id3v2: {
566
+ frame: "TXXX",
567
+ description: "MusicBrainz Release Track Id"
568
+ },
569
+ vorbis: "MUSICBRAINZ_RELEASETRACKID",
570
+ mp4: "----:com.apple.iTunes:MusicBrainz Release Track Id"
571
+ }
572
+ },
573
+ podcastId: {
574
+ key: "PODCASTID",
575
+ description: "Podcast episode identifier",
576
+ type: "string",
577
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
578
+ mappings: {
579
+ id3v2: { frame: "TGID" },
580
+ vorbis: "PODCASTID",
581
+ mp4: "egid"
582
+ }
583
+ },
584
+ podcastUrl: {
585
+ key: "PODCASTURL",
586
+ description: "Podcast feed URL",
587
+ type: "string",
588
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
589
+ mappings: {
590
+ id3v2: { frame: "WFED" },
591
+ vorbis: "PODCASTURL",
592
+ mp4: "purl"
593
+ }
594
+ },
595
+ originalArtist: {
596
+ key: "ORIGINALARTIST",
597
+ description: "Original artist of a cover or remix",
598
+ type: "string",
599
+ supportedFormats: ["ID3v2", "Vorbis"],
600
+ mappings: {
601
+ id3v2: { frame: "TOPE" },
602
+ vorbis: "ORIGINALARTIST"
603
+ }
604
+ },
605
+ originalAlbum: {
606
+ key: "ORIGINALALBUM",
607
+ description: "Original album of a cover or remix",
608
+ type: "string",
609
+ supportedFormats: ["ID3v2", "Vorbis"],
610
+ mappings: {
611
+ id3v2: { frame: "TOAL" },
612
+ vorbis: "ORIGINALALBUM"
613
+ }
614
+ },
615
+ originalDate: {
616
+ key: "ORIGINALDATE",
617
+ description: "Original release date",
618
+ type: "string",
619
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
620
+ mappings: {
621
+ id3v2: { frame: "TDOR" },
622
+ vorbis: "ORIGINALDATE",
623
+ mp4: "----:com.apple.iTunes:ORIGINALDATE"
624
+ }
625
+ },
626
+ script: {
627
+ key: "SCRIPT",
628
+ description: "Writing script used for text (e.g., Latn, Jpan)",
629
+ type: "string",
630
+ supportedFormats: ["MP4", "Vorbis"],
631
+ mappings: {
632
+ vorbis: "SCRIPT",
633
+ mp4: "----:com.apple.iTunes:SCRIPT"
634
+ }
635
+ },
636
+ involvedPeople: {
637
+ key: "INVOLVEDPEOPLE",
638
+ description: "List of involved people and their roles",
639
+ type: "string",
640
+ supportedFormats: ["ID3v2"],
641
+ mappings: {
642
+ id3v2: { frame: "TIPL" }
643
+ }
644
+ },
645
+ encoding: {
646
+ key: "ENCODING",
647
+ description: "Encoding software or settings",
648
+ type: "string",
649
+ supportedFormats: ["ID3v2", "MP4", "Vorbis", "WAV"],
650
+ mappings: {
651
+ id3v2: { frame: "TSSE" },
652
+ vorbis: "ENCODING",
653
+ mp4: "\xA9too",
654
+ wav: "ISFT"
655
+ }
656
+ }
657
+ };
658
+ }
659
+ });
660
+
452
661
  // src/constants/basic-properties.ts
453
662
  var BASIC_PROPERTIES;
454
663
  var init_basic_properties = __esm({
@@ -698,12 +907,14 @@ var init_general_extended_properties = __esm({
698
907
  }
699
908
  },
700
909
  remixedBy: {
701
- key: "REMIXEDBY",
910
+ key: "REMIXER",
702
911
  description: "Person who remixed the track",
703
912
  type: "string",
704
- supportedFormats: ["Vorbis"],
913
+ supportedFormats: ["ID3v2", "MP4", "Vorbis"],
705
914
  mappings: {
706
- vorbis: "REMIXEDBY"
915
+ id3v2: { frame: "TPE4" },
916
+ vorbis: "REMIXER",
917
+ mp4: "----:com.apple.iTunes:REMIXER"
707
918
  }
708
919
  },
709
920
  language: {
@@ -953,13 +1164,15 @@ var PROPERTIES, _toTagLib, _fromTagLib;
953
1164
  var init_properties = __esm({
954
1165
  "src/constants/properties.ts"() {
955
1166
  "use strict";
1167
+ init_additional_properties();
956
1168
  init_basic_properties();
957
1169
  init_general_extended_properties();
958
1170
  init_specialized_properties();
959
1171
  PROPERTIES = {
960
1172
  ...BASIC_PROPERTIES,
961
1173
  ...GENERAL_EXTENDED_PROPERTIES,
962
- ...SPECIALIZED_PROPERTIES
1174
+ ...SPECIALIZED_PROPERTIES,
1175
+ ...ADDITIONAL_PROPERTIES
963
1176
  };
964
1177
  _toTagLib = {};
965
1178
  _fromTagLib = {};
@@ -1441,7 +1654,7 @@ var VERSION;
1441
1654
  var init_version = __esm({
1442
1655
  "src/version.ts"() {
1443
1656
  "use strict";
1444
- VERSION = "1.0.7";
1657
+ VERSION = "1.0.8";
1445
1658
  }
1446
1659
  });
1447
1660
 
@@ -1536,7 +1749,7 @@ var init_taglib_class = __esm({
1536
1749
  const actualInput = isNamedAudioInput(input) ? input.data : input;
1537
1750
  const sourcePath = typeof actualInput === "string" ? actualInput : void 0;
1538
1751
  const opts = {
1539
- partial: false,
1752
+ partial: true,
1540
1753
  maxHeaderSize: 1024 * 1024,
1541
1754
  maxFooterSize: 128 * 1024,
1542
1755
  ...options
@@ -1545,18 +1758,19 @@ var init_taglib_class = __esm({
1545
1758
  actualInput,
1546
1759
  opts
1547
1760
  );
1548
- const buffer = audioData.buffer.slice(
1549
- audioData.byteOffset,
1550
- audioData.byteOffset + audioData.byteLength
1551
- );
1552
- const uint8Array = new Uint8Array(buffer);
1761
+ const uint8Array = actualInput instanceof Uint8Array && audioData.buffer === actualInput.buffer ? new Uint8Array(
1762
+ audioData.buffer.slice(
1763
+ audioData.byteOffset,
1764
+ audioData.byteOffset + audioData.byteLength
1765
+ )
1766
+ ) : audioData;
1553
1767
  const fileHandle = this.module.createFileHandle();
1554
1768
  try {
1555
1769
  const success = fileHandle.loadFromBuffer(uint8Array);
1556
1770
  if (!success) {
1557
1771
  throw new InvalidFormatError(
1558
1772
  "Failed to load audio file. File may be corrupted or in an unsupported format",
1559
- buffer.byteLength
1773
+ uint8Array.byteLength
1560
1774
  );
1561
1775
  }
1562
1776
  return new AudioFileImpl(
@@ -1696,21 +1910,20 @@ async function getTagLib() {
1696
1910
 
1697
1911
  // src/simple/tag-operations.ts
1698
1912
  init_errors2();
1699
- init_write();
1700
1913
  init_tag_mapping();
1701
1914
 
1702
1915
  // src/simple/with-audio-file.ts
1703
1916
  init_errors2();
1704
- async function withAudioFile(file, fn) {
1917
+ async function withAudioFile(file, fn, options) {
1705
1918
  const taglib = await getTagLib();
1706
- const audioFile = await taglib.open(file);
1919
+ const audioFile = await taglib.open(file, options);
1707
1920
  try {
1708
1921
  if (!audioFile.isValid()) {
1709
1922
  throw new InvalidFormatError(
1710
1923
  "File may be corrupted or in an unsupported format"
1711
1924
  );
1712
1925
  }
1713
- return fn(audioFile);
1926
+ return await fn(audioFile);
1714
1927
  } finally {
1715
1928
  audioFile.dispose();
1716
1929
  }
@@ -1725,6 +1938,12 @@ async function withAudioFileSave(file, fn) {
1725
1938
  );
1726
1939
  }
1727
1940
  return audioFile.getFileBuffer();
1941
+ }, { partial: false });
1942
+ }
1943
+ async function withAudioFileSaveToFile(file, fn) {
1944
+ return withAudioFile(file, async (audioFile) => {
1945
+ fn(audioFile);
1946
+ await audioFile.saveToFile(file);
1728
1947
  });
1729
1948
  }
1730
1949
 
@@ -1747,8 +1966,9 @@ async function applyTagsToFile(file, tags) {
1747
1966
  "applyTagsToFile requires a file path string to save changes"
1748
1967
  );
1749
1968
  }
1750
- const modifiedBuffer = await applyTags(file, tags);
1751
- await writeFileData(file, modifiedBuffer);
1969
+ await withAudioFileSaveToFile(file, (audioFile) => {
1970
+ mergeTagUpdates(audioFile, tags);
1971
+ });
1752
1972
  }
1753
1973
  async function readProperties(file) {
1754
1974
  return withAudioFile(file, (audioFile) => {
@@ -0,0 +1,242 @@
1
+ /**
2
+ * Additional audio metadata properties not covered by basic, general-extended,
3
+ * or specialized property files. Includes sorting extensions, identifiers,
4
+ * podcast metadata, original-release info, and miscellaneous properties.
5
+ *
6
+ * Wire names and format mappings sourced from TagLib's propertymapping.dox.
7
+ */
8
+ export declare const ADDITIONAL_PROPERTIES: {
9
+ readonly albumArtistSort: {
10
+ readonly key: "ALBUMARTISTSORT";
11
+ readonly description: "Sort name for album artist (for alphabetization)";
12
+ readonly type: "string";
13
+ readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
14
+ readonly mappings: {
15
+ readonly id3v2: {
16
+ readonly frame: "TSO2";
17
+ };
18
+ readonly vorbis: "ALBUMARTISTSORT";
19
+ readonly mp4: "soaa";
20
+ };
21
+ };
22
+ readonly composerSort: {
23
+ readonly key: "COMPOSERSORT";
24
+ readonly description: "Sort name for composer (for alphabetization)";
25
+ readonly type: "string";
26
+ readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
27
+ readonly mappings: {
28
+ readonly id3v2: {
29
+ readonly frame: "TSOC";
30
+ };
31
+ readonly vorbis: "COMPOSERSORT";
32
+ readonly mp4: "soco";
33
+ };
34
+ };
35
+ readonly subtitle: {
36
+ readonly key: "SUBTITLE";
37
+ readonly description: "Subtitle or description refinement";
38
+ readonly type: "string";
39
+ readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
40
+ readonly mappings: {
41
+ readonly id3v2: {
42
+ readonly frame: "TIT3";
43
+ };
44
+ readonly vorbis: "SUBTITLE";
45
+ readonly mp4: "----:com.apple.iTunes:SUBTITLE";
46
+ };
47
+ };
48
+ readonly label: {
49
+ readonly key: "LABEL";
50
+ readonly description: "Record label name";
51
+ readonly type: "string";
52
+ readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis", "WAV"];
53
+ readonly mappings: {
54
+ readonly id3v2: {
55
+ readonly frame: "TPUB";
56
+ };
57
+ readonly vorbis: "LABEL";
58
+ readonly mp4: "----:com.apple.iTunes:LABEL";
59
+ readonly wav: "IPUB";
60
+ };
61
+ };
62
+ readonly producer: {
63
+ readonly key: "PRODUCER";
64
+ readonly description: "Producer of the recording";
65
+ readonly type: "string";
66
+ readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
67
+ readonly mappings: {
68
+ readonly id3v2: {
69
+ readonly frame: "TXXX";
70
+ readonly description: "PRODUCER";
71
+ };
72
+ readonly vorbis: "PRODUCER";
73
+ readonly mp4: "----:com.apple.iTunes:PRODUCER";
74
+ };
75
+ };
76
+ readonly radioStationOwner: {
77
+ readonly key: "RADIOSTATIONOWNER";
78
+ readonly description: "Owner of the radio station";
79
+ readonly type: "string";
80
+ readonly supportedFormats: readonly ["ID3v2"];
81
+ readonly mappings: {
82
+ readonly id3v2: {
83
+ readonly frame: "TRSO";
84
+ };
85
+ };
86
+ };
87
+ readonly asin: {
88
+ readonly key: "ASIN";
89
+ readonly description: "Amazon Standard Identification Number";
90
+ readonly type: "string";
91
+ readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
92
+ readonly mappings: {
93
+ readonly id3v2: {
94
+ readonly frame: "TXXX";
95
+ readonly description: "ASIN";
96
+ };
97
+ readonly vorbis: "ASIN";
98
+ readonly mp4: "----:com.apple.iTunes:ASIN";
99
+ };
100
+ };
101
+ readonly musicbrainzReleaseArtistId: {
102
+ readonly key: "MUSICBRAINZ_ALBUMARTISTID";
103
+ readonly description: "MusicBrainz Release Artist ID (UUID)";
104
+ readonly type: "string";
105
+ readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
106
+ readonly mappings: {
107
+ readonly id3v2: {
108
+ readonly frame: "TXXX";
109
+ readonly description: "MusicBrainz Album Artist Id";
110
+ };
111
+ readonly vorbis: "MUSICBRAINZ_ALBUMARTISTID";
112
+ readonly mp4: "----:com.apple.iTunes:MusicBrainz Album Artist Id";
113
+ };
114
+ };
115
+ readonly musicbrainzWorkId: {
116
+ readonly key: "MUSICBRAINZ_WORKID";
117
+ readonly description: "MusicBrainz Work ID (UUID)";
118
+ readonly type: "string";
119
+ readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
120
+ readonly mappings: {
121
+ readonly id3v2: {
122
+ readonly frame: "TXXX";
123
+ readonly description: "MusicBrainz Work Id";
124
+ };
125
+ readonly vorbis: "MUSICBRAINZ_WORKID";
126
+ readonly mp4: "----:com.apple.iTunes:MusicBrainz Work Id";
127
+ };
128
+ };
129
+ readonly musicbrainzReleaseTrackId: {
130
+ readonly key: "MUSICBRAINZ_RELEASETRACKID";
131
+ readonly description: "MusicBrainz Release Track ID (UUID)";
132
+ readonly type: "string";
133
+ readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
134
+ readonly mappings: {
135
+ readonly id3v2: {
136
+ readonly frame: "TXXX";
137
+ readonly description: "MusicBrainz Release Track Id";
138
+ };
139
+ readonly vorbis: "MUSICBRAINZ_RELEASETRACKID";
140
+ readonly mp4: "----:com.apple.iTunes:MusicBrainz Release Track Id";
141
+ };
142
+ };
143
+ readonly podcastId: {
144
+ readonly key: "PODCASTID";
145
+ readonly description: "Podcast episode identifier";
146
+ readonly type: "string";
147
+ readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
148
+ readonly mappings: {
149
+ readonly id3v2: {
150
+ readonly frame: "TGID";
151
+ };
152
+ readonly vorbis: "PODCASTID";
153
+ readonly mp4: "egid";
154
+ };
155
+ };
156
+ readonly podcastUrl: {
157
+ readonly key: "PODCASTURL";
158
+ readonly description: "Podcast feed URL";
159
+ readonly type: "string";
160
+ readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
161
+ readonly mappings: {
162
+ readonly id3v2: {
163
+ readonly frame: "WFED";
164
+ };
165
+ readonly vorbis: "PODCASTURL";
166
+ readonly mp4: "purl";
167
+ };
168
+ };
169
+ readonly originalArtist: {
170
+ readonly key: "ORIGINALARTIST";
171
+ readonly description: "Original artist of a cover or remix";
172
+ readonly type: "string";
173
+ readonly supportedFormats: readonly ["ID3v2", "Vorbis"];
174
+ readonly mappings: {
175
+ readonly id3v2: {
176
+ readonly frame: "TOPE";
177
+ };
178
+ readonly vorbis: "ORIGINALARTIST";
179
+ };
180
+ };
181
+ readonly originalAlbum: {
182
+ readonly key: "ORIGINALALBUM";
183
+ readonly description: "Original album of a cover or remix";
184
+ readonly type: "string";
185
+ readonly supportedFormats: readonly ["ID3v2", "Vorbis"];
186
+ readonly mappings: {
187
+ readonly id3v2: {
188
+ readonly frame: "TOAL";
189
+ };
190
+ readonly vorbis: "ORIGINALALBUM";
191
+ };
192
+ };
193
+ readonly originalDate: {
194
+ readonly key: "ORIGINALDATE";
195
+ readonly description: "Original release date";
196
+ readonly type: "string";
197
+ readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis"];
198
+ readonly mappings: {
199
+ readonly id3v2: {
200
+ readonly frame: "TDOR";
201
+ };
202
+ readonly vorbis: "ORIGINALDATE";
203
+ readonly mp4: "----:com.apple.iTunes:ORIGINALDATE";
204
+ };
205
+ };
206
+ readonly script: {
207
+ readonly key: "SCRIPT";
208
+ readonly description: "Writing script used for text (e.g., Latn, Jpan)";
209
+ readonly type: "string";
210
+ readonly supportedFormats: readonly ["MP4", "Vorbis"];
211
+ readonly mappings: {
212
+ readonly vorbis: "SCRIPT";
213
+ readonly mp4: "----:com.apple.iTunes:SCRIPT";
214
+ };
215
+ };
216
+ readonly involvedPeople: {
217
+ readonly key: "INVOLVEDPEOPLE";
218
+ readonly description: "List of involved people and their roles";
219
+ readonly type: "string";
220
+ readonly supportedFormats: readonly ["ID3v2"];
221
+ readonly mappings: {
222
+ readonly id3v2: {
223
+ readonly frame: "TIPL";
224
+ };
225
+ };
226
+ };
227
+ readonly encoding: {
228
+ readonly key: "ENCODING";
229
+ readonly description: "Encoding software or settings";
230
+ readonly type: "string";
231
+ readonly supportedFormats: readonly ["ID3v2", "MP4", "Vorbis", "WAV"];
232
+ readonly mappings: {
233
+ readonly id3v2: {
234
+ readonly frame: "TSSE";
235
+ };
236
+ readonly vorbis: "ENCODING";
237
+ readonly mp4: "©too";
238
+ readonly wav: "ISFT";
239
+ };
240
+ };
241
+ };
242
+ //# sourceMappingURL=additional-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"additional-properties.d.ts","sourceRoot":"","sources":["../../../src/constants/additional-properties.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwMxB,CAAC"}