music-metadata 7.11.1 → 7.11.5

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 (152) hide show
  1. package/README.md +432 -432
  2. package/lib/ParserFactory.d.ts +49 -49
  3. package/lib/ParserFactory.js +251 -251
  4. package/lib/aiff/AiffParser.d.ts +15 -15
  5. package/lib/aiff/AiffParser.js +85 -85
  6. package/lib/aiff/AiffToken.d.ts +22 -22
  7. package/lib/aiff/AiffToken.js +43 -43
  8. package/lib/apev2/APEv2Parser.d.ts +30 -30
  9. package/lib/apev2/APEv2Parser.js +162 -162
  10. package/lib/apev2/APEv2TagMapper.d.ts +4 -4
  11. package/lib/apev2/APEv2TagMapper.js +87 -86
  12. package/lib/apev2/APEv2Token.d.ts +100 -100
  13. package/lib/apev2/APEv2Token.js +127 -126
  14. package/lib/asf/AsfObject.d.ts +319 -319
  15. package/lib/asf/AsfObject.js +384 -384
  16. package/lib/asf/AsfParser.d.ts +17 -17
  17. package/lib/asf/AsfParser.js +135 -135
  18. package/lib/asf/AsfTagMapper.d.ts +7 -7
  19. package/lib/asf/AsfTagMapper.js +96 -95
  20. package/lib/asf/AsfUtil.d.ts +13 -13
  21. package/lib/asf/AsfUtil.js +40 -40
  22. package/lib/asf/GUID.d.ts +86 -86
  23. package/lib/asf/GUID.js +123 -123
  24. package/lib/common/BasicParser.d.ts +17 -17
  25. package/lib/common/BasicParser.js +18 -18
  26. package/lib/common/CaseInsensitiveTagMap.d.ts +10 -10
  27. package/lib/common/CaseInsensitiveTagMap.js +22 -21
  28. package/lib/common/CombinedTagMapper.d.ts +19 -19
  29. package/lib/common/CombinedTagMapper.js +52 -51
  30. package/lib/common/FourCC.d.ts +6 -6
  31. package/lib/common/FourCC.js +29 -28
  32. package/lib/common/GenericTagMapper.d.ts +51 -51
  33. package/lib/common/GenericTagMapper.js +56 -55
  34. package/lib/common/GenericTagTypes.d.ts +33 -33
  35. package/lib/common/GenericTagTypes.js +132 -131
  36. package/lib/common/MetadataCollector.d.ts +76 -76
  37. package/lib/common/MetadataCollector.js +276 -274
  38. package/lib/common/RandomFileReader.d.ts +20 -20
  39. package/lib/common/RandomFileReader.js +37 -37
  40. package/lib/common/RandomUint8ArrayReader.d.ts +18 -18
  41. package/lib/common/RandomUint8ArrayReader.js +25 -25
  42. package/lib/common/Util.d.ts +57 -57
  43. package/lib/common/Util.js +170 -169
  44. package/lib/core.d.ts +48 -48
  45. package/lib/core.js +90 -90
  46. package/lib/dsdiff/DsdiffParser.d.ts +14 -14
  47. package/lib/dsdiff/DsdiffParser.js +143 -143
  48. package/lib/dsdiff/DsdiffToken.d.ts +9 -9
  49. package/lib/dsdiff/DsdiffToken.js +21 -21
  50. package/lib/dsf/DsfChunk.d.ts +86 -86
  51. package/lib/dsf/DsfChunk.js +54 -54
  52. package/lib/dsf/DsfParser.d.ts +9 -9
  53. package/lib/dsf/DsfParser.js +56 -56
  54. package/lib/flac/FlacParser.d.ts +28 -28
  55. package/lib/flac/FlacParser.js +175 -175
  56. package/lib/id3v1/ID3v1Parser.d.ts +13 -13
  57. package/lib/id3v1/ID3v1Parser.js +134 -134
  58. package/lib/id3v1/ID3v1TagMap.d.ts +4 -4
  59. package/lib/id3v1/ID3v1TagMap.js +23 -22
  60. package/lib/id3v2/AbstractID3Parser.d.ts +17 -17
  61. package/lib/id3v2/AbstractID3Parser.js +60 -60
  62. package/lib/id3v2/FrameParser.d.ts +32 -32
  63. package/lib/id3v2/FrameParser.js +323 -323
  64. package/lib/id3v2/ID3v22TagMapper.d.ts +9 -9
  65. package/lib/id3v2/ID3v22TagMapper.js +56 -54
  66. package/lib/id3v2/ID3v24TagMapper.d.ts +14 -14
  67. package/lib/id3v2/ID3v24TagMapper.js +194 -193
  68. package/lib/id3v2/ID3v2Parser.d.ts +29 -29
  69. package/lib/id3v2/ID3v2Parser.js +194 -194
  70. package/lib/id3v2/ID3v2Token.d.ts +73 -73
  71. package/lib/id3v2/ID3v2Token.js +106 -106
  72. package/lib/iff/index.d.ts +33 -33
  73. package/lib/iff/index.js +19 -19
  74. package/lib/index.d.ts +34 -34
  75. package/lib/index.js +64 -64
  76. package/lib/lyrics3/Lyrics3.d.ts +3 -3
  77. package/lib/lyrics3/Lyrics3.js +17 -17
  78. package/lib/matroska/MatroskaDtd.d.ts +8 -8
  79. package/lib/matroska/MatroskaDtd.js +279 -279
  80. package/lib/matroska/MatroskaParser.d.ts +37 -37
  81. package/lib/matroska/MatroskaParser.js +235 -234
  82. package/lib/matroska/MatroskaTagMapper.d.ts +4 -4
  83. package/lib/matroska/MatroskaTagMapper.js +36 -35
  84. package/lib/matroska/types.d.ts +175 -175
  85. package/lib/matroska/types.js +32 -32
  86. package/lib/mp4/Atom.d.ts +16 -16
  87. package/lib/mp4/Atom.js +70 -70
  88. package/lib/mp4/AtomToken.d.ts +395 -395
  89. package/lib/mp4/AtomToken.js +406 -406
  90. package/lib/mp4/MP4Parser.d.ts +30 -31
  91. package/lib/mp4/MP4Parser.js +511 -515
  92. package/lib/mp4/MP4TagMapper.d.ts +5 -5
  93. package/lib/mp4/MP4TagMapper.js +116 -115
  94. package/lib/mpeg/ExtendedLameHeader.d.ts +27 -27
  95. package/lib/mpeg/ExtendedLameHeader.js +31 -31
  96. package/lib/mpeg/MpegParser.d.ts +49 -49
  97. package/lib/mpeg/MpegParser.js +529 -529
  98. package/lib/mpeg/ReplayGainDataFormat.d.ts +55 -55
  99. package/lib/mpeg/ReplayGainDataFormat.js +69 -69
  100. package/lib/mpeg/XingTag.d.ts +45 -45
  101. package/lib/mpeg/XingTag.js +69 -69
  102. package/lib/musepack/index.d.ts +5 -5
  103. package/lib/musepack/index.js +32 -32
  104. package/lib/musepack/sv7/BitReader.d.ts +13 -13
  105. package/lib/musepack/sv7/BitReader.js +54 -54
  106. package/lib/musepack/sv7/MpcSv7Parser.d.ts +8 -8
  107. package/lib/musepack/sv7/MpcSv7Parser.js +46 -46
  108. package/lib/musepack/sv7/StreamVersion7.d.ts +28 -28
  109. package/lib/musepack/sv7/StreamVersion7.js +41 -41
  110. package/lib/musepack/sv8/MpcSv8Parser.d.ts +6 -6
  111. package/lib/musepack/sv8/MpcSv8Parser.js +55 -55
  112. package/lib/musepack/sv8/StreamVersion8.d.ts +40 -40
  113. package/lib/musepack/sv8/StreamVersion8.js +80 -80
  114. package/lib/ogg/Ogg.d.ts +72 -72
  115. package/lib/ogg/Ogg.js +2 -2
  116. package/lib/ogg/OggParser.d.ts +23 -23
  117. package/lib/ogg/OggParser.js +126 -126
  118. package/lib/ogg/opus/Opus.d.ts +48 -48
  119. package/lib/ogg/opus/Opus.js +28 -28
  120. package/lib/ogg/opus/OpusParser.d.ts +25 -25
  121. package/lib/ogg/opus/OpusParser.js +56 -56
  122. package/lib/ogg/speex/Speex.d.ts +36 -36
  123. package/lib/ogg/speex/Speex.js +31 -31
  124. package/lib/ogg/speex/SpeexParser.d.ts +22 -22
  125. package/lib/ogg/speex/SpeexParser.js +35 -35
  126. package/lib/ogg/theora/Theora.d.ts +20 -20
  127. package/lib/ogg/theora/Theora.js +23 -23
  128. package/lib/ogg/theora/TheoraParser.d.ts +28 -28
  129. package/lib/ogg/theora/TheoraParser.js +44 -44
  130. package/lib/ogg/vorbis/Vorbis.d.ts +79 -79
  131. package/lib/ogg/vorbis/Vorbis.js +78 -78
  132. package/lib/ogg/vorbis/VorbisDecoder.d.ts +12 -12
  133. package/lib/ogg/vorbis/VorbisDecoder.js +32 -32
  134. package/lib/ogg/vorbis/VorbisParser.d.ts +36 -36
  135. package/lib/ogg/vorbis/VorbisParser.js +128 -128
  136. package/lib/ogg/vorbis/VorbisTagMapper.d.ts +7 -7
  137. package/lib/ogg/vorbis/VorbisTagMapper.js +133 -132
  138. package/lib/riff/RiffChunk.d.ts +16 -16
  139. package/lib/riff/RiffChunk.js +32 -32
  140. package/lib/riff/RiffInfoTagMap.d.ts +10 -10
  141. package/lib/riff/RiffInfoTagMap.js +38 -37
  142. package/lib/type.d.ts +599 -599
  143. package/lib/type.js +14 -13
  144. package/lib/wav/WaveChunk.d.ts +64 -64
  145. package/lib/wav/WaveChunk.js +65 -65
  146. package/lib/wav/WaveParser.d.ts +24 -24
  147. package/lib/wav/WaveParser.js +144 -144
  148. package/lib/wavpack/WavPackParser.d.ts +14 -14
  149. package/lib/wavpack/WavPackParser.js +105 -105
  150. package/lib/wavpack/WavPackToken.d.ts +64 -64
  151. package/lib/wavpack/WavPackToken.js +76 -76
  152. package/package.json +142 -142
@@ -1,5 +1,5 @@
1
- import { CaseInsensitiveTagMap } from '../common/CaseInsensitiveTagMap';
2
- export declare const tagType = "iTunes";
3
- export declare class MP4TagMapper extends CaseInsensitiveTagMap {
4
- constructor();
5
- }
1
+ import { CaseInsensitiveTagMap } from '../common/CaseInsensitiveTagMap';
2
+ export declare const tagType = "iTunes";
3
+ export declare class MP4TagMapper extends CaseInsensitiveTagMap {
4
+ constructor();
5
+ }
@@ -1,115 +1,116 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MP4TagMapper = exports.tagType = void 0;
4
- const CaseInsensitiveTagMap_1 = require("../common/CaseInsensitiveTagMap");
5
- /**
6
- * Ref: https://github.com/sergiomb2/libmp4v2/wiki/iTunesMetadata
7
- */
8
- const mp4TagMap = {
9
- '©nam': 'title',
10
- '©ART': 'artist',
11
- aART: 'albumartist',
12
- /**
13
- * ToDo: Album artist seems to be stored here while Picard documentation says: aART
14
- */
15
- '----:com.apple.iTunes:Band': 'albumartist',
16
- '©alb': 'album',
17
- '©day': 'date',
18
- '©cmt': 'comment',
19
- '©com': 'comment',
20
- trkn: 'track',
21
- disk: 'disk',
22
- '©gen': 'genre',
23
- covr: 'picture',
24
- '©wrt': 'composer',
25
- '©lyr': 'lyrics',
26
- soal: 'albumsort',
27
- sonm: 'titlesort',
28
- soar: 'artistsort',
29
- soaa: 'albumartistsort',
30
- soco: 'composersort',
31
- '----:com.apple.iTunes:LYRICIST': 'lyricist',
32
- '----:com.apple.iTunes:CONDUCTOR': 'conductor',
33
- '----:com.apple.iTunes:REMIXER': 'remixer',
34
- '----:com.apple.iTunes:ENGINEER': 'engineer',
35
- '----:com.apple.iTunes:PRODUCER': 'producer',
36
- '----:com.apple.iTunes:DJMIXER': 'djmixer',
37
- '----:com.apple.iTunes:MIXER': 'mixer',
38
- '----:com.apple.iTunes:LABEL': 'label',
39
- '©grp': 'grouping',
40
- '----:com.apple.iTunes:SUBTITLE': 'subtitle',
41
- '----:com.apple.iTunes:DISCSUBTITLE': 'discsubtitle',
42
- cpil: 'compilation',
43
- tmpo: 'bpm',
44
- '----:com.apple.iTunes:MOOD': 'mood',
45
- '----:com.apple.iTunes:MEDIA': 'media',
46
- '----:com.apple.iTunes:CATALOGNUMBER': 'catalognumber',
47
- tvsh: 'tvShow',
48
- tvsn: 'tvSeason',
49
- tves: 'tvEpisode',
50
- sosn: 'tvShowSort',
51
- tven: 'tvEpisodeId',
52
- tvnn: 'tvNetwork',
53
- pcst: 'podcast',
54
- purl: 'podcasturl',
55
- '----:com.apple.iTunes:MusicBrainz Album Status': 'releasestatus',
56
- '----:com.apple.iTunes:MusicBrainz Album Type': 'releasetype',
57
- '----:com.apple.iTunes:MusicBrainz Album Release Country': 'releasecountry',
58
- '----:com.apple.iTunes:SCRIPT': 'script',
59
- '----:com.apple.iTunes:LANGUAGE': 'language',
60
- cprt: 'copyright',
61
- '©cpy': 'copyright',
62
- '----:com.apple.iTunes:LICENSE': 'license',
63
- '©too': 'encodedby',
64
- pgap: 'gapless',
65
- '----:com.apple.iTunes:BARCODE': 'barcode',
66
- '----:com.apple.iTunes:ISRC': 'isrc',
67
- '----:com.apple.iTunes:ASIN': 'asin',
68
- '----:com.apple.iTunes:NOTES': 'comment',
69
- '----:com.apple.iTunes:MusicBrainz Track Id': 'musicbrainz_recordingid',
70
- '----:com.apple.iTunes:MusicBrainz Release Track Id': 'musicbrainz_trackid',
71
- '----:com.apple.iTunes:MusicBrainz Album Id': 'musicbrainz_albumid',
72
- '----:com.apple.iTunes:MusicBrainz Artist Id': 'musicbrainz_artistid',
73
- '----:com.apple.iTunes:MusicBrainz Album Artist Id': 'musicbrainz_albumartistid',
74
- '----:com.apple.iTunes:MusicBrainz Release Group Id': 'musicbrainz_releasegroupid',
75
- '----:com.apple.iTunes:MusicBrainz Work Id': 'musicbrainz_workid',
76
- '----:com.apple.iTunes:MusicBrainz TRM Id': 'musicbrainz_trmid',
77
- '----:com.apple.iTunes:MusicBrainz Disc Id': 'musicbrainz_discid',
78
- '----:com.apple.iTunes:Acoustid Id': 'acoustid_id',
79
- '----:com.apple.iTunes:Acoustid Fingerprint': 'acoustid_fingerprint',
80
- '----:com.apple.iTunes:MusicIP PUID': 'musicip_puid',
81
- '----:com.apple.iTunes:fingerprint': 'musicip_fingerprint',
82
- '----:com.apple.iTunes:replaygain_track_gain': 'replaygain_track_gain',
83
- '----:com.apple.iTunes:replaygain_track_peak': 'replaygain_track_peak',
84
- '----:com.apple.iTunes:replaygain_album_gain': 'replaygain_album_gain',
85
- '----:com.apple.iTunes:replaygain_album_peak': 'replaygain_album_peak',
86
- '----:com.apple.iTunes:replaygain_track_minmax': 'replaygain_track_minmax',
87
- '----:com.apple.iTunes:replaygain_album_minmax': 'replaygain_album_minmax',
88
- '----:com.apple.iTunes:replaygain_undo': 'replaygain_undo',
89
- // Additional mappings:
90
- gnre: 'genre',
91
- '----:com.apple.iTunes:ALBUMARTISTSORT': 'albumartistsort',
92
- '----:com.apple.iTunes:ARTISTS': 'artists',
93
- '----:com.apple.iTunes:ORIGINALDATE': 'originaldate',
94
- '----:com.apple.iTunes:ORIGINALYEAR': 'originalyear',
95
- // '----:com.apple.iTunes:PERFORMER': 'performer'
96
- desc: 'description',
97
- ldes: 'longDescription',
98
- '©mvn': 'movement',
99
- '©mvi': 'movementIndex',
100
- '©mvc': 'movementTotal',
101
- '©wrk': 'work',
102
- catg: 'category',
103
- egid: 'podcastId',
104
- hdvd: 'hdVideo',
105
- keyw: 'keywords',
106
- shwm: 'showMovement',
107
- stik: 'stik'
108
- };
109
- exports.tagType = 'iTunes';
110
- class MP4TagMapper extends CaseInsensitiveTagMap_1.CaseInsensitiveTagMap {
111
- constructor() {
112
- super([exports.tagType], mp4TagMap);
113
- }
114
- }
115
- exports.MP4TagMapper = MP4TagMapper;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MP4TagMapper = exports.tagType = void 0;
4
+ const CaseInsensitiveTagMap_1 = require("../common/CaseInsensitiveTagMap");
5
+ /**
6
+ * Ref: https://github.com/sergiomb2/libmp4v2/wiki/iTunesMetadata
7
+ */
8
+ const mp4TagMap = {
9
+ '©nam': 'title',
10
+ '©ART': 'artist',
11
+ aART: 'albumartist',
12
+ /**
13
+ * ToDo: Album artist seems to be stored here while Picard documentation says: aART
14
+ */
15
+ '----:com.apple.iTunes:Band': 'albumartist',
16
+ '©alb': 'album',
17
+ '©day': 'date',
18
+ '©cmt': 'comment',
19
+ '©com': 'comment',
20
+ trkn: 'track',
21
+ disk: 'disk',
22
+ '©gen': 'genre',
23
+ covr: 'picture',
24
+ '©wrt': 'composer',
25
+ '©lyr': 'lyrics',
26
+ soal: 'albumsort',
27
+ sonm: 'titlesort',
28
+ soar: 'artistsort',
29
+ soaa: 'albumartistsort',
30
+ soco: 'composersort',
31
+ '----:com.apple.iTunes:LYRICIST': 'lyricist',
32
+ '----:com.apple.iTunes:CONDUCTOR': 'conductor',
33
+ '----:com.apple.iTunes:REMIXER': 'remixer',
34
+ '----:com.apple.iTunes:ENGINEER': 'engineer',
35
+ '----:com.apple.iTunes:PRODUCER': 'producer',
36
+ '----:com.apple.iTunes:DJMIXER': 'djmixer',
37
+ '----:com.apple.iTunes:MIXER': 'mixer',
38
+ '----:com.apple.iTunes:LABEL': 'label',
39
+ '©grp': 'grouping',
40
+ '----:com.apple.iTunes:SUBTITLE': 'subtitle',
41
+ '----:com.apple.iTunes:DISCSUBTITLE': 'discsubtitle',
42
+ cpil: 'compilation',
43
+ tmpo: 'bpm',
44
+ '----:com.apple.iTunes:MOOD': 'mood',
45
+ '----:com.apple.iTunes:MEDIA': 'media',
46
+ '----:com.apple.iTunes:CATALOGNUMBER': 'catalognumber',
47
+ tvsh: 'tvShow',
48
+ tvsn: 'tvSeason',
49
+ tves: 'tvEpisode',
50
+ sosn: 'tvShowSort',
51
+ tven: 'tvEpisodeId',
52
+ tvnn: 'tvNetwork',
53
+ pcst: 'podcast',
54
+ purl: 'podcasturl',
55
+ '----:com.apple.iTunes:MusicBrainz Album Status': 'releasestatus',
56
+ '----:com.apple.iTunes:MusicBrainz Album Type': 'releasetype',
57
+ '----:com.apple.iTunes:MusicBrainz Album Release Country': 'releasecountry',
58
+ '----:com.apple.iTunes:SCRIPT': 'script',
59
+ '----:com.apple.iTunes:LANGUAGE': 'language',
60
+ cprt: 'copyright',
61
+ '©cpy': 'copyright',
62
+ '----:com.apple.iTunes:LICENSE': 'license',
63
+ '©too': 'encodedby',
64
+ pgap: 'gapless',
65
+ '----:com.apple.iTunes:BARCODE': 'barcode',
66
+ '----:com.apple.iTunes:ISRC': 'isrc',
67
+ '----:com.apple.iTunes:ASIN': 'asin',
68
+ '----:com.apple.iTunes:NOTES': 'comment',
69
+ '----:com.apple.iTunes:MusicBrainz Track Id': 'musicbrainz_recordingid',
70
+ '----:com.apple.iTunes:MusicBrainz Release Track Id': 'musicbrainz_trackid',
71
+ '----:com.apple.iTunes:MusicBrainz Album Id': 'musicbrainz_albumid',
72
+ '----:com.apple.iTunes:MusicBrainz Artist Id': 'musicbrainz_artistid',
73
+ '----:com.apple.iTunes:MusicBrainz Album Artist Id': 'musicbrainz_albumartistid',
74
+ '----:com.apple.iTunes:MusicBrainz Release Group Id': 'musicbrainz_releasegroupid',
75
+ '----:com.apple.iTunes:MusicBrainz Work Id': 'musicbrainz_workid',
76
+ '----:com.apple.iTunes:MusicBrainz TRM Id': 'musicbrainz_trmid',
77
+ '----:com.apple.iTunes:MusicBrainz Disc Id': 'musicbrainz_discid',
78
+ '----:com.apple.iTunes:Acoustid Id': 'acoustid_id',
79
+ '----:com.apple.iTunes:Acoustid Fingerprint': 'acoustid_fingerprint',
80
+ '----:com.apple.iTunes:MusicIP PUID': 'musicip_puid',
81
+ '----:com.apple.iTunes:fingerprint': 'musicip_fingerprint',
82
+ '----:com.apple.iTunes:replaygain_track_gain': 'replaygain_track_gain',
83
+ '----:com.apple.iTunes:replaygain_track_peak': 'replaygain_track_peak',
84
+ '----:com.apple.iTunes:replaygain_album_gain': 'replaygain_album_gain',
85
+ '----:com.apple.iTunes:replaygain_album_peak': 'replaygain_album_peak',
86
+ '----:com.apple.iTunes:replaygain_track_minmax': 'replaygain_track_minmax',
87
+ '----:com.apple.iTunes:replaygain_album_minmax': 'replaygain_album_minmax',
88
+ '----:com.apple.iTunes:replaygain_undo': 'replaygain_undo',
89
+ // Additional mappings:
90
+ gnre: 'genre',
91
+ '----:com.apple.iTunes:ALBUMARTISTSORT': 'albumartistsort',
92
+ '----:com.apple.iTunes:ARTISTS': 'artists',
93
+ '----:com.apple.iTunes:ORIGINALDATE': 'originaldate',
94
+ '----:com.apple.iTunes:ORIGINALYEAR': 'originalyear',
95
+ // '----:com.apple.iTunes:PERFORMER': 'performer'
96
+ desc: 'description',
97
+ ldes: 'longDescription',
98
+ '©mvn': 'movement',
99
+ '©mvi': 'movementIndex',
100
+ '©mvc': 'movementTotal',
101
+ '©wrk': 'work',
102
+ catg: 'category',
103
+ egid: 'podcastId',
104
+ hdvd: 'hdVideo',
105
+ keyw: 'keywords',
106
+ shwm: 'showMovement',
107
+ stik: 'stik'
108
+ };
109
+ exports.tagType = 'iTunes';
110
+ class MP4TagMapper extends CaseInsensitiveTagMap_1.CaseInsensitiveTagMap {
111
+ constructor() {
112
+ super([exports.tagType], mp4TagMap);
113
+ }
114
+ }
115
+ exports.MP4TagMapper = MP4TagMapper;
116
+ //# sourceMappingURL=MP4TagMapper.js.map
@@ -1,27 +1,27 @@
1
- /**
2
- * Extended Lame Header
3
- */
4
- import { IGetToken } from 'strtok3/lib/core';
5
- import { IReplayGain } from './ReplayGainDataFormat';
6
- /**
7
- * LAME Tag, extends the Xing header format
8
- * First added in LAME 3.12 for VBR
9
- * The modified header is also included in CBR files (effective LAME 3.94), with "Info" instead of "XING" near the beginning.
10
- */
11
- export interface IExtendedLameHeader {
12
- revision: number;
13
- vbr_method: number;
14
- lowpass_filter: number;
15
- track_peak?: number;
16
- track_gain: IReplayGain;
17
- album_gain: IReplayGain;
18
- music_length: number;
19
- music_crc: number;
20
- header_crc: number;
21
- }
22
- /**
23
- * Info Tag
24
- * @link http://gabriel.mp3-tech.org/mp3infotag.html
25
- * @link https://github.com/quodlibet/mutagen/blob/abd58ee58772224334a18817c3fb31103572f70e/mutagen/mp3/_util.py#L112
26
- */
27
- export declare const ExtendedLameHeader: IGetToken<IExtendedLameHeader>;
1
+ /**
2
+ * Extended Lame Header
3
+ */
4
+ import { IGetToken } from 'strtok3/lib/core';
5
+ import { IReplayGain } from './ReplayGainDataFormat';
6
+ /**
7
+ * LAME Tag, extends the Xing header format
8
+ * First added in LAME 3.12 for VBR
9
+ * The modified header is also included in CBR files (effective LAME 3.94), with "Info" instead of "XING" near the beginning.
10
+ */
11
+ export interface IExtendedLameHeader {
12
+ revision: number;
13
+ vbr_method: number;
14
+ lowpass_filter: number;
15
+ track_peak?: number;
16
+ track_gain: IReplayGain;
17
+ album_gain: IReplayGain;
18
+ music_length: number;
19
+ music_crc: number;
20
+ header_crc: number;
21
+ }
22
+ /**
23
+ * Info Tag
24
+ * @link http://gabriel.mp3-tech.org/mp3infotag.html
25
+ * @link https://github.com/quodlibet/mutagen/blob/abd58ee58772224334a18817c3fb31103572f70e/mutagen/mp3/_util.py#L112
26
+ */
27
+ export declare const ExtendedLameHeader: IGetToken<IExtendedLameHeader>;
@@ -1,31 +1,31 @@
1
- "use strict";
2
- /**
3
- * Extended Lame Header
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ExtendedLameHeader = void 0;
7
- const Token = require("token-types");
8
- const common = require("../common/Util");
9
- const ReplayGainDataFormat_1 = require("./ReplayGainDataFormat");
10
- /**
11
- * Info Tag
12
- * @link http://gabriel.mp3-tech.org/mp3infotag.html
13
- * @link https://github.com/quodlibet/mutagen/blob/abd58ee58772224334a18817c3fb31103572f70e/mutagen/mp3/_util.py#L112
14
- */
15
- exports.ExtendedLameHeader = {
16
- len: 27,
17
- get: (buf, off) => {
18
- const track_peak = Token.UINT32_BE.get(buf, off + 2);
19
- return {
20
- revision: common.getBitAllignedNumber(buf, off, 0, 4),
21
- vbr_method: common.getBitAllignedNumber(buf, off, 4, 4),
22
- lowpass_filter: 100 * Token.UINT8.get(buf, off + 1),
23
- track_peak: track_peak === 0 ? undefined : track_peak / Math.pow(2, 23),
24
- track_gain: ReplayGainDataFormat_1.ReplayGain.get(buf, 6),
25
- album_gain: ReplayGainDataFormat_1.ReplayGain.get(buf, 8),
26
- music_length: Token.UINT32_BE.get(buf, off + 20),
27
- music_crc: Token.UINT8.get(buf, off + 24),
28
- header_crc: Token.UINT16_BE.get(buf, off + 24)
29
- };
30
- }
31
- };
1
+ "use strict";
2
+ /**
3
+ * Extended Lame Header
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.ExtendedLameHeader = void 0;
7
+ const Token = require("token-types");
8
+ const common = require("../common/Util");
9
+ const ReplayGainDataFormat_1 = require("./ReplayGainDataFormat");
10
+ /**
11
+ * Info Tag
12
+ * @link http://gabriel.mp3-tech.org/mp3infotag.html
13
+ * @link https://github.com/quodlibet/mutagen/blob/abd58ee58772224334a18817c3fb31103572f70e/mutagen/mp3/_util.py#L112
14
+ */
15
+ exports.ExtendedLameHeader = {
16
+ len: 27,
17
+ get: (buf, off) => {
18
+ const track_peak = Token.UINT32_BE.get(buf, off + 2);
19
+ return {
20
+ revision: common.getBitAllignedNumber(buf, off, 0, 4),
21
+ vbr_method: common.getBitAllignedNumber(buf, off, 4, 4),
22
+ lowpass_filter: 100 * Token.UINT8.get(buf, off + 1),
23
+ track_peak: track_peak === 0 ? undefined : track_peak / Math.pow(2, 23),
24
+ track_gain: ReplayGainDataFormat_1.ReplayGain.get(buf, 6),
25
+ album_gain: ReplayGainDataFormat_1.ReplayGain.get(buf, 8),
26
+ music_length: Token.UINT32_BE.get(buf, off + 20),
27
+ music_crc: Token.UINT8.get(buf, off + 24),
28
+ header_crc: Token.UINT16_BE.get(buf, off + 24)
29
+ };
30
+ }
31
+ };
@@ -1,49 +1,49 @@
1
- import { AbstractID3Parser } from '../id3v2/AbstractID3Parser';
2
- export declare class MpegParser extends AbstractID3Parser {
3
- private frameCount;
4
- private syncFrameCount;
5
- private countSkipFrameData;
6
- private totalDataLength;
7
- private audioFrameHeader;
8
- private bitrates;
9
- private offset;
10
- private frame_size;
11
- private crc;
12
- private calculateEofDuration;
13
- private samplesPerFrame;
14
- private buf_frame_header;
15
- /**
16
- * Number of bytes already parsed since beginning of stream / file
17
- */
18
- private mpegOffset;
19
- private syncPeek;
20
- /**
21
- * Called after ID3 headers have been parsed
22
- */
23
- _parse(): Promise<void>;
24
- /**
25
- * Called after file has been fully parsed, this allows, if present, to exclude the ID3v1.1 header length
26
- */
27
- protected finalize(): void;
28
- private sync;
29
- /**
30
- * Combined ADTS & MPEG (MP2 & MP3) header handling
31
- * @return {Promise<boolean>} true if parser should quit
32
- */
33
- private parseCommonMpegHeader;
34
- /**
35
- * @return {Promise<boolean>} true if parser should quit
36
- */
37
- private parseAudioFrameHeader;
38
- private parseAdts;
39
- private parseCrc;
40
- private skipSideInformation;
41
- private readXtraInfoHeader;
42
- /**
43
- * Ref: http://gabriel.mp3-tech.org/mp3infotag.html
44
- * @returns {Promise<string>}
45
- */
46
- private readXingInfoHeader;
47
- private skipFrameData;
48
- private areAllSame;
49
- }
1
+ import { AbstractID3Parser } from '../id3v2/AbstractID3Parser';
2
+ export declare class MpegParser extends AbstractID3Parser {
3
+ private frameCount;
4
+ private syncFrameCount;
5
+ private countSkipFrameData;
6
+ private totalDataLength;
7
+ private audioFrameHeader;
8
+ private bitrates;
9
+ private offset;
10
+ private frame_size;
11
+ private crc;
12
+ private calculateEofDuration;
13
+ private samplesPerFrame;
14
+ private buf_frame_header;
15
+ /**
16
+ * Number of bytes already parsed since beginning of stream / file
17
+ */
18
+ private mpegOffset;
19
+ private syncPeek;
20
+ /**
21
+ * Called after ID3 headers have been parsed
22
+ */
23
+ _parse(): Promise<void>;
24
+ /**
25
+ * Called after file has been fully parsed, this allows, if present, to exclude the ID3v1.1 header length
26
+ */
27
+ protected finalize(): void;
28
+ private sync;
29
+ /**
30
+ * Combined ADTS & MPEG (MP2 & MP3) header handling
31
+ * @return {Promise<boolean>} true if parser should quit
32
+ */
33
+ private parseCommonMpegHeader;
34
+ /**
35
+ * @return {Promise<boolean>} true if parser should quit
36
+ */
37
+ private parseAudioFrameHeader;
38
+ private parseAdts;
39
+ private parseCrc;
40
+ private skipSideInformation;
41
+ private readXtraInfoHeader;
42
+ /**
43
+ * Ref: http://gabriel.mp3-tech.org/mp3infotag.html
44
+ * @returns {Promise<string>}
45
+ */
46
+ private readXingInfoHeader;
47
+ private skipFrameData;
48
+ private areAllSame;
49
+ }