@dragon708/docmind-markdown 1.2.5 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node_modules/music-metadata/LICENSE.txt +3 -3
- package/node_modules/music-metadata/README.md +246 -690
- package/node_modules/music-metadata/lib/ParserFactory.d.ts +31 -27
- package/node_modules/music-metadata/lib/ParserFactory.js +219 -108
- package/node_modules/music-metadata/lib/aiff/AiffParser.d.ts +2 -2
- package/node_modules/music-metadata/lib/aiff/AiffParser.js +38 -34
- package/node_modules/music-metadata/lib/aiff/AiffTagMap.d.ts +1 -1
- package/node_modules/music-metadata/lib/aiff/AiffTagMap.js +7 -2
- package/node_modules/music-metadata/lib/aiff/AiffToken.d.ts +6 -32
- package/node_modules/music-metadata/lib/aiff/AiffToken.js +17 -27
- package/node_modules/music-metadata/lib/apev2/APEv2Parser.d.ts +8 -24
- package/node_modules/music-metadata/lib/apev2/APEv2Parser.js +66 -78
- package/node_modules/music-metadata/lib/apev2/APEv2TagMapper.d.ts +1 -1
- package/node_modules/music-metadata/lib/apev2/APEv2TagMapper.js +8 -4
- package/node_modules/music-metadata/lib/apev2/APEv2Token.d.ts +11 -10
- package/node_modules/music-metadata/lib/apev2/APEv2Token.js +27 -16
- package/node_modules/music-metadata/lib/asf/AsfObject.d.ts +53 -59
- package/node_modules/music-metadata/lib/asf/AsfObject.js +131 -97
- package/node_modules/music-metadata/lib/asf/AsfParser.d.ts +1 -1
- package/node_modules/music-metadata/lib/asf/AsfParser.js +43 -42
- package/node_modules/music-metadata/lib/asf/AsfTagMapper.d.ts +2 -2
- package/node_modules/music-metadata/lib/asf/AsfTagMapper.js +10 -6
- package/node_modules/music-metadata/lib/asf/AsfUtil.d.ts +13 -4
- package/node_modules/music-metadata/lib/asf/AsfUtil.js +36 -30
- package/node_modules/music-metadata/lib/asf/GUID.d.ts +84 -0
- package/node_modules/music-metadata/lib/asf/GUID.js +121 -0
- package/node_modules/music-metadata/lib/common/BasicParser.d.ts +9 -9
- package/node_modules/music-metadata/lib/common/BasicParser.js +7 -2
- package/node_modules/music-metadata/lib/common/CaseInsensitiveTagMap.d.ts +3 -3
- package/node_modules/music-metadata/lib/common/CaseInsensitiveTagMap.js +7 -2
- package/node_modules/music-metadata/lib/common/CombinedTagMapper.d.ts +5 -5
- package/node_modules/music-metadata/lib/common/CombinedTagMapper.js +28 -24
- package/node_modules/music-metadata/lib/common/FourCC.d.ts +1 -1
- package/node_modules/music-metadata/lib/common/FourCC.js +11 -10
- package/node_modules/music-metadata/lib/common/GenericTagMapper.d.ts +13 -13
- package/node_modules/music-metadata/lib/common/GenericTagMapper.js +12 -7
- package/node_modules/music-metadata/lib/common/GenericTagTypes.d.ts +6 -7
- package/node_modules/music-metadata/lib/common/GenericTagTypes.js +85 -86
- package/node_modules/music-metadata/lib/common/MetadataCollector.d.ts +10 -20
- package/node_modules/music-metadata/lib/common/MetadataCollector.js +69 -100
- package/node_modules/music-metadata/lib/common/RandomFileReader.d.ts +22 -0
- package/node_modules/music-metadata/lib/common/RandomFileReader.js +34 -0
- package/node_modules/music-metadata/lib/common/RandomUint8ArrayReader.d.ts +18 -0
- package/node_modules/music-metadata/lib/common/RandomUint8ArrayReader.js +25 -0
- package/node_modules/music-metadata/lib/common/Util.d.ts +12 -11
- package/node_modules/music-metadata/lib/common/Util.js +53 -47
- package/node_modules/music-metadata/lib/core.d.ts +15 -42
- package/node_modules/music-metadata/lib/core.js +38 -74
- package/node_modules/music-metadata/lib/dsdiff/DsdiffParser.d.ts +1 -16
- package/node_modules/music-metadata/lib/dsdiff/DsdiffParser.js +44 -55
- package/node_modules/music-metadata/lib/dsdiff/DsdiffToken.d.ts +3 -3
- package/node_modules/music-metadata/lib/dsdiff/DsdiffToken.js +7 -4
- package/node_modules/music-metadata/lib/dsf/DsfChunk.d.ts +10 -11
- package/node_modules/music-metadata/lib/dsf/DsfChunk.js +19 -15
- package/node_modules/music-metadata/lib/dsf/DsfParser.d.ts +1 -16
- package/node_modules/music-metadata/lib/dsf/DsfParser.js +20 -21
- package/node_modules/music-metadata/lib/flac/FlacParser.d.ts +15 -16
- package/node_modules/music-metadata/lib/flac/FlacParser.js +119 -69
- package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.d.ts +3 -7
- package/node_modules/music-metadata/lib/id3v1/ID3v1Parser.js +36 -39
- package/node_modules/music-metadata/lib/id3v1/ID3v1TagMap.d.ts +1 -1
- package/node_modules/music-metadata/lib/id3v1/ID3v1TagMap.js +7 -2
- package/node_modules/music-metadata/lib/id3v2/AbstractID3Parser.d.ts +2 -2
- package/node_modules/music-metadata/lib/id3v2/AbstractID3Parser.js +19 -15
- package/node_modules/music-metadata/lib/id3v2/FrameParser.d.ts +3 -64
- package/node_modules/music-metadata/lib/id3v2/FrameParser.js +103 -244
- package/node_modules/music-metadata/lib/id3v2/ID3v22TagMapper.d.ts +2 -2
- package/node_modules/music-metadata/lib/id3v2/ID3v22TagMapper.js +16 -6
- package/node_modules/music-metadata/lib/id3v2/ID3v24TagMapper.d.ts +5 -5
- package/node_modules/music-metadata/lib/id3v2/ID3v24TagMapper.js +35 -36
- package/node_modules/music-metadata/lib/id3v2/ID3v2Parser.d.ts +6 -11
- package/node_modules/music-metadata/lib/id3v2/ID3v2Parser.js +104 -91
- package/node_modules/music-metadata/lib/id3v2/ID3v2Token.d.ts +29 -67
- package/node_modules/music-metadata/lib/id3v2/ID3v2Token.js +36 -76
- package/node_modules/music-metadata/lib/iff/index.d.ts +1 -1
- package/node_modules/music-metadata/lib/iff/index.js +7 -4
- package/node_modules/music-metadata/lib/index.d.ts +31 -8
- package/node_modules/music-metadata/lib/index.js +53 -32
- package/node_modules/music-metadata/lib/lyrics3/Lyrics3.d.ts +2 -2
- package/node_modules/music-metadata/lib/lyrics3/Lyrics3.js +13 -13
- package/node_modules/music-metadata/lib/matroska/MatroskaDtd.d.ts +2 -2
- package/node_modules/music-metadata/lib/matroska/MatroskaDtd.js +242 -246
- package/node_modules/music-metadata/lib/matroska/MatroskaParser.d.ts +24 -6
- package/node_modules/music-metadata/lib/matroska/MatroskaParser.js +218 -124
- package/node_modules/music-metadata/lib/matroska/MatroskaTagMapper.d.ts +1 -1
- package/node_modules/music-metadata/lib/matroska/MatroskaTagMapper.js +7 -3
- package/node_modules/music-metadata/lib/matroska/types.d.ts +76 -43
- package/node_modules/music-metadata/lib/matroska/types.js +33 -27
- package/node_modules/music-metadata/lib/mp4/Atom.d.ts +7 -7
- package/node_modules/music-metadata/lib/mp4/Atom.js +22 -15
- package/node_modules/music-metadata/lib/mp4/AtomToken.d.ts +18 -110
- package/node_modules/music-metadata/lib/mp4/AtomToken.js +66 -184
- package/node_modules/music-metadata/lib/mp4/MP4Parser.d.ts +4 -6
- package/node_modules/music-metadata/lib/mp4/MP4Parser.js +128 -255
- package/node_modules/music-metadata/lib/mp4/MP4TagMapper.d.ts +4 -4
- package/node_modules/music-metadata/lib/mp4/MP4TagMapper.js +12 -8
- package/node_modules/music-metadata/lib/mpeg/ExtendedLameHeader.d.ts +5 -5
- package/node_modules/music-metadata/lib/mpeg/ExtendedLameHeader.js +10 -7
- package/node_modules/music-metadata/lib/mpeg/MpegParser.d.ts +4 -17
- package/node_modules/music-metadata/lib/mpeg/MpegParser.js +131 -176
- package/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.d.ts +14 -16
- package/node_modules/music-metadata/lib/mpeg/ReplayGainDataFormat.js +19 -14
- package/node_modules/music-metadata/lib/mpeg/XingTag.d.ts +7 -6
- package/node_modules/music-metadata/lib/mpeg/XingTag.js +18 -14
- package/node_modules/music-metadata/lib/musepack/index.d.ts +5 -0
- package/node_modules/music-metadata/lib/musepack/index.js +32 -0
- package/node_modules/music-metadata/lib/musepack/sv7/BitReader.d.ts +2 -2
- package/node_modules/music-metadata/lib/musepack/sv7/BitReader.js +24 -16
- package/node_modules/music-metadata/lib/musepack/sv7/MpcSv7Parser.d.ts +1 -1
- package/node_modules/music-metadata/lib/musepack/sv7/MpcSv7Parser.js +15 -16
- package/node_modules/music-metadata/lib/musepack/sv7/StreamVersion7.d.ts +1 -1
- package/node_modules/music-metadata/lib/musepack/sv7/StreamVersion7.js +7 -5
- package/node_modules/music-metadata/lib/musepack/sv8/MpcSv8Parser.d.ts +1 -1
- package/node_modules/music-metadata/lib/musepack/sv8/MpcSv8Parser.js +17 -18
- package/node_modules/music-metadata/lib/musepack/sv8/StreamVersion8.d.ts +3 -5
- package/node_modules/music-metadata/lib/musepack/sv8/StreamVersion8.js +12 -14
- package/node_modules/music-metadata/lib/ogg/{OggToken.d.ts → Ogg.d.ts} +6 -17
- package/node_modules/music-metadata/lib/ogg/Ogg.js +2 -0
- package/node_modules/music-metadata/lib/ogg/OggParser.d.ts +12 -16
- package/node_modules/music-metadata/lib/ogg/OggParser.js +102 -101
- package/node_modules/music-metadata/lib/ogg/opus/Opus.d.ts +2 -17
- package/node_modules/music-metadata/lib/ogg/opus/Opus.js +14 -13
- package/node_modules/music-metadata/lib/ogg/opus/OpusParser.d.ts +25 -0
- package/node_modules/music-metadata/lib/ogg/opus/{OpusStream.js → OpusParser.js} +18 -18
- package/node_modules/music-metadata/lib/ogg/speex/Speex.d.ts +1 -1
- package/node_modules/music-metadata/lib/ogg/speex/Speex.js +19 -16
- package/node_modules/music-metadata/lib/ogg/speex/SpeexParser.d.ts +22 -0
- package/node_modules/music-metadata/lib/ogg/speex/{SpeexStream.js → SpeexParser.js} +13 -9
- package/node_modules/music-metadata/lib/ogg/theora/Theora.d.ts +1 -1
- package/node_modules/music-metadata/lib/ogg/theora/Theora.js +11 -8
- package/node_modules/music-metadata/lib/ogg/theora/TheoraParser.d.ts +28 -0
- package/node_modules/music-metadata/lib/ogg/theora/TheoraParser.js +44 -0
- package/node_modules/music-metadata/lib/ogg/vorbis/Vorbis.d.ts +7 -6
- package/node_modules/music-metadata/lib/ogg/vorbis/Vorbis.js +29 -34
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisDecoder.d.ts +1 -1
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisDecoder.js +9 -6
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisParser.d.ts +36 -0
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisParser.js +128 -0
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisTagMapper.d.ts +3 -3
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisTagMapper.js +9 -5
- package/node_modules/music-metadata/lib/riff/RiffChunk.d.ts +5 -5
- package/node_modules/music-metadata/lib/riff/RiffChunk.js +9 -5
- package/node_modules/music-metadata/lib/riff/RiffInfoTagMap.d.ts +2 -2
- package/node_modules/music-metadata/lib/riff/RiffInfoTagMap.js +25 -20
- package/node_modules/music-metadata/lib/type.d.ts +52 -121
- package/node_modules/music-metadata/lib/type.js +6 -2
- package/node_modules/music-metadata/lib/wav/BwfChunk.d.ts +1 -1
- package/node_modules/music-metadata/lib/wav/BwfChunk.js +11 -8
- package/node_modules/music-metadata/lib/wav/WaveChunk.d.ts +20 -50
- package/node_modules/music-metadata/lib/wav/WaveChunk.js +32 -45
- package/node_modules/music-metadata/lib/wav/WaveParser.d.ts +2 -2
- package/node_modules/music-metadata/lib/wav/WaveParser.js +39 -46
- package/node_modules/music-metadata/lib/wavpack/WavPackParser.d.ts +2 -18
- package/node_modules/music-metadata/lib/wavpack/WavPackParser.js +32 -42
- package/node_modules/music-metadata/lib/wavpack/WavPackToken.d.ts +18 -14
- package/node_modules/music-metadata/lib/wavpack/WavPackToken.js +30 -24
- package/node_modules/music-metadata/package.json +74 -81
- package/package.json +1 -5
- package/node_modules/@borewit/text-codec/LICENSE.txt +0 -9
- package/node_modules/@borewit/text-codec/README.md +0 -87
- package/node_modules/@borewit/text-codec/lib/index.d.ts +0 -6
- package/node_modules/@borewit/text-codec/lib/index.js +0 -380
- package/node_modules/@borewit/text-codec/package.json +0 -70
- package/node_modules/music-metadata/lib/ParseError.d.ts +0 -87
- package/node_modules/music-metadata/lib/ParseError.js +0 -38
- package/node_modules/music-metadata/lib/aiff/AiffLoader.d.ts +0 -2
- package/node_modules/music-metadata/lib/aiff/AiffLoader.js +0 -8
- package/node_modules/music-metadata/lib/apev2/Apev2Loader.d.ts +0 -2
- package/node_modules/music-metadata/lib/apev2/Apev2Loader.js +0 -8
- package/node_modules/music-metadata/lib/asf/AsfGuid.d.ts +0 -83
- package/node_modules/music-metadata/lib/asf/AsfGuid.js +0 -109
- package/node_modules/music-metadata/lib/asf/AsfLoader.d.ts +0 -2
- package/node_modules/music-metadata/lib/asf/AsfLoader.js +0 -8
- package/node_modules/music-metadata/lib/dsdiff/DsdiffLoader.d.ts +0 -2
- package/node_modules/music-metadata/lib/dsdiff/DsdiffLoader.js +0 -8
- package/node_modules/music-metadata/lib/dsf/DsfLoader.d.ts +0 -2
- package/node_modules/music-metadata/lib/dsf/DsfLoader.js +0 -8
- package/node_modules/music-metadata/lib/ebml/EbmlIterator.d.ts +0 -67
- package/node_modules/music-metadata/lib/ebml/EbmlIterator.js +0 -218
- package/node_modules/music-metadata/lib/ebml/types.d.ts +0 -37
- package/node_modules/music-metadata/lib/ebml/types.js +0 -8
- package/node_modules/music-metadata/lib/flac/FlacLoader.d.ts +0 -2
- package/node_modules/music-metadata/lib/flac/FlacLoader.js +0 -8
- package/node_modules/music-metadata/lib/flac/FlacToken.d.ts +0 -45
- package/node_modules/music-metadata/lib/flac/FlacToken.js +0 -63
- package/node_modules/music-metadata/lib/id3v2/FrameHeader.d.ts +0 -31
- package/node_modules/music-metadata/lib/id3v2/FrameHeader.js +0 -73
- package/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.d.ts +0 -11
- package/node_modules/music-metadata/lib/id3v2/ID3v2ChapterToken.js +0 -17
- package/node_modules/music-metadata/lib/lrc/LyricsParser.d.ts +0 -9
- package/node_modules/music-metadata/lib/lrc/LyricsParser.js +0 -45
- package/node_modules/music-metadata/lib/matroska/MatroskaLoader.d.ts +0 -2
- package/node_modules/music-metadata/lib/matroska/MatroskaLoader.js +0 -8
- package/node_modules/music-metadata/lib/mp4/Mp4Loader.d.ts +0 -2
- package/node_modules/music-metadata/lib/mp4/Mp4Loader.js +0 -8
- package/node_modules/music-metadata/lib/mpeg/MpegLoader.d.ts +0 -2
- package/node_modules/music-metadata/lib/mpeg/MpegLoader.js +0 -8
- package/node_modules/music-metadata/lib/musepack/MusepackConentError.d.ts +0 -15
- package/node_modules/music-metadata/lib/musepack/MusepackConentError.js +0 -3
- package/node_modules/music-metadata/lib/musepack/MusepackLoader.d.ts +0 -2
- package/node_modules/music-metadata/lib/musepack/MusepackLoader.js +0 -8
- package/node_modules/music-metadata/lib/musepack/MusepackParser.d.ts +0 -4
- package/node_modules/music-metadata/lib/musepack/MusepackParser.js +0 -30
- package/node_modules/music-metadata/lib/ogg/OggLoader.d.ts +0 -2
- package/node_modules/music-metadata/lib/ogg/OggLoader.js +0 -8
- package/node_modules/music-metadata/lib/ogg/OggToken.js +0 -41
- package/node_modules/music-metadata/lib/ogg/flac/FlacStream.d.ts +0 -29
- package/node_modules/music-metadata/lib/ogg/flac/FlacStream.js +0 -74
- package/node_modules/music-metadata/lib/ogg/opus/OpusStream.d.ts +0 -24
- package/node_modules/music-metadata/lib/ogg/speex/SpeexStream.d.ts +0 -20
- package/node_modules/music-metadata/lib/ogg/theora/TheoraStream.d.ts +0 -25
- package/node_modules/music-metadata/lib/ogg/theora/TheoraStream.js +0 -39
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.d.ts +0 -53
- package/node_modules/music-metadata/lib/ogg/vorbis/VorbisStream.js +0 -136
- package/node_modules/music-metadata/lib/wav/WaveLoader.d.ts +0 -2
- package/node_modules/music-metadata/lib/wav/WaveLoader.js +0 -8
- package/node_modules/music-metadata/lib/wavpack/WavPackLoader.d.ts +0 -2
- package/node_modules/music-metadata/lib/wavpack/WavPackLoader.js +0 -8
- package/node_modules/music-metadata/node_modules/file-type/core.d.ts +0 -253
- package/node_modules/music-metadata/node_modules/file-type/core.js +0 -2899
- package/node_modules/music-metadata/node_modules/file-type/index.d.ts +0 -98
- package/node_modules/music-metadata/node_modules/file-type/index.js +0 -163
- package/node_modules/music-metadata/node_modules/file-type/license +0 -9
- package/node_modules/music-metadata/node_modules/file-type/package.json +0 -290
- package/node_modules/music-metadata/node_modules/file-type/readme.md +0 -667
- package/node_modules/music-metadata/node_modules/file-type/supported.js +0 -360
- package/node_modules/music-metadata/node_modules/file-type/util.js +0 -60
- package/node_modules/music-metadata/node_modules/strtok3/LICENSE.txt +0 -21
- package/node_modules/music-metadata/node_modules/strtok3/README.md +0 -399
- package/node_modules/music-metadata/node_modules/strtok3/lib/AbstractTokenizer.d.ts +0 -76
- package/node_modules/music-metadata/node_modules/strtok3/lib/AbstractTokenizer.js +0 -111
- package/node_modules/music-metadata/node_modules/strtok3/lib/BlobTokenizer.d.ts +0 -29
- package/node_modules/music-metadata/node_modules/strtok3/lib/BlobTokenizer.js +0 -53
- package/node_modules/music-metadata/node_modules/strtok3/lib/BufferTokenizer.d.ts +0 -29
- package/node_modules/music-metadata/node_modules/strtok3/lib/BufferTokenizer.js +0 -52
- package/node_modules/music-metadata/node_modules/strtok3/lib/FileTokenizer.d.ts +0 -37
- package/node_modules/music-metadata/node_modules/strtok3/lib/FileTokenizer.js +0 -61
- package/node_modules/music-metadata/node_modules/strtok3/lib/ReadStreamTokenizer.d.ts +0 -34
- package/node_modules/music-metadata/node_modules/strtok3/lib/ReadStreamTokenizer.js +0 -107
- package/node_modules/music-metadata/node_modules/strtok3/lib/core.d.ts +0 -40
- package/node_modules/music-metadata/node_modules/strtok3/lib/core.js +0 -62
- package/node_modules/music-metadata/node_modules/strtok3/lib/index.d.ts +0 -16
- package/node_modules/music-metadata/node_modules/strtok3/lib/index.js +0 -22
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/AbstractStreamReader.d.ts +0 -54
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/AbstractStreamReader.js +0 -71
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Deferred.d.ts +0 -6
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Deferred.js +0 -10
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Errors.d.ts +0 -10
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/Errors.js +0 -16
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/StreamReader.d.ts +0 -29
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/StreamReader.js +0 -83
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamByobReader.d.ts +0 -14
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamByobReader.js +0 -27
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamDefaultReader.d.ts +0 -19
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamDefaultReader.js +0 -62
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReader.d.ts +0 -14
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReader.js +0 -13
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReaderFactory.d.ts +0 -5
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/WebStreamReaderFactory.js +0 -19
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/index.d.ts +0 -6
- package/node_modules/music-metadata/node_modules/strtok3/lib/stream/index.js +0 -5
- package/node_modules/music-metadata/node_modules/strtok3/lib/types.d.ts +0 -139
- package/node_modules/music-metadata/node_modules/strtok3/lib/types.js +0 -1
- package/node_modules/music-metadata/node_modules/strtok3/package.json +0 -94
- package/node_modules/music-metadata/node_modules/token-types/LICENSE.txt +0 -9
- package/node_modules/music-metadata/node_modules/token-types/README.md +0 -120
- package/node_modules/music-metadata/node_modules/token-types/lib/index.d.ts +0 -135
- package/node_modules/music-metadata/node_modules/token-types/lib/index.js +0 -401
- package/node_modules/music-metadata/node_modules/token-types/package.json +0 -81
- package/node_modules/sprintf-js/.npmignore +0 -1
- package/node_modules/sprintf-js/LICENSE +0 -24
- package/node_modules/sprintf-js/README.md +0 -88
- package/node_modules/sprintf-js/bower.json +0 -14
- package/node_modules/sprintf-js/demo/angular.html +0 -20
- package/node_modules/sprintf-js/dist/angular-sprintf.min.js +0 -4
- package/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +0 -1
- package/node_modules/sprintf-js/dist/angular-sprintf.min.map +0 -1
- package/node_modules/sprintf-js/dist/sprintf.min.js +0 -4
- package/node_modules/sprintf-js/dist/sprintf.min.js.map +0 -1
- package/node_modules/sprintf-js/dist/sprintf.min.map +0 -1
- package/node_modules/sprintf-js/gruntfile.js +0 -36
- package/node_modules/sprintf-js/package.json +0 -22
- package/node_modules/sprintf-js/src/angular-sprintf.js +0 -18
- package/node_modules/sprintf-js/src/sprintf.js +0 -208
- package/node_modules/sprintf-js/test/test.js +0 -82
- package/node_modules/uint8array-extras/index.d.ts +0 -331
- package/node_modules/uint8array-extras/index.js +0 -318
- package/node_modules/uint8array-extras/license +0 -9
- package/node_modules/uint8array-extras/package.json +0 -54
- package/node_modules/uint8array-extras/readme.md +0 -318
- package/node_modules/win-guid/LICENSE.txt +0 -9
- package/node_modules/win-guid/README.md +0 -113
- package/node_modules/win-guid/lib/guid.d.ts +0 -20
- package/node_modules/win-guid/lib/guid.js +0 -107
- package/node_modules/win-guid/package.json +0 -55
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/LICENSE +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/README.md +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/index.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/append/constant.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/append.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/count.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/help.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/store/constant.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/store/false.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/store/true.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/store.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/subparsers.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action/version.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/action_container.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argparse.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argument/error.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argument/exclusive.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argument/group.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/argument_parser.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/const.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/help/added_formatters.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/help/formatter.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/namespace.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/lib/utils.js +0 -0
- /package/node_modules/{argparse → mammoth/node_modules/argparse}/package.json +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { IGetToken } from 'strtok3/lib/core';
|
|
2
2
|
export interface IReplayGain {
|
|
3
3
|
type: NameCode;
|
|
4
4
|
origin: ReplayGainOriginator;
|
|
@@ -7,51 +7,49 @@ export interface IReplayGain {
|
|
|
7
7
|
/**
|
|
8
8
|
* https://github.com/Borewit/music-metadata/wiki/Replay-Gain-Data-Format#name-code
|
|
9
9
|
*/
|
|
10
|
-
declare
|
|
10
|
+
declare enum NameCode {
|
|
11
11
|
/**
|
|
12
12
|
* not set
|
|
13
13
|
*/
|
|
14
|
-
not_set
|
|
14
|
+
not_set = 0,
|
|
15
15
|
/**
|
|
16
16
|
* Radio Gain Adjustment
|
|
17
17
|
*/
|
|
18
|
-
radio
|
|
18
|
+
radio = 1,
|
|
19
19
|
/**
|
|
20
20
|
* Audiophile Gain Adjustment
|
|
21
21
|
*/
|
|
22
|
-
audiophile
|
|
23
|
-
}
|
|
24
|
-
type NameCode = typeof NameCode[keyof typeof NameCode];
|
|
22
|
+
audiophile = 2
|
|
23
|
+
}
|
|
25
24
|
/**
|
|
26
25
|
* https://github.com/Borewit/music-metadata/wiki/Replay-Gain-Data-Format#originator-code
|
|
27
26
|
*/
|
|
28
|
-
declare
|
|
27
|
+
declare enum ReplayGainOriginator {
|
|
29
28
|
/**
|
|
30
29
|
* Replay Gain unspecified
|
|
31
30
|
*/
|
|
32
|
-
unspecified
|
|
31
|
+
unspecified = 0,
|
|
33
32
|
/**
|
|
34
33
|
* Replay Gain pre-set by artist/producer/mastering engineer
|
|
35
34
|
*/
|
|
36
|
-
engineer
|
|
35
|
+
engineer = 1,
|
|
37
36
|
/**
|
|
38
37
|
* Replay Gain set by user
|
|
39
38
|
*/
|
|
40
|
-
user
|
|
39
|
+
user = 2,
|
|
41
40
|
/**
|
|
42
41
|
* Replay Gain determined automatically, as described on this site
|
|
43
42
|
*/
|
|
44
|
-
automatic
|
|
43
|
+
automatic = 3,
|
|
45
44
|
/**
|
|
46
45
|
* Set by simple RMS average
|
|
47
46
|
*/
|
|
48
|
-
rms_average
|
|
49
|
-
}
|
|
50
|
-
type ReplayGainOriginator = typeof ReplayGainOriginator[keyof typeof ReplayGainOriginator];
|
|
47
|
+
rms_average = 4
|
|
48
|
+
}
|
|
51
49
|
/**
|
|
52
50
|
* Replay Gain Data Format
|
|
53
51
|
*
|
|
54
52
|
* https://github.com/Borewit/music-metadata/wiki/Replay-Gain-Data-Format
|
|
55
53
|
*/
|
|
56
|
-
export declare const ReplayGain: IGetToken<IReplayGain
|
|
54
|
+
export declare const ReplayGain: IGetToken<IReplayGain>;
|
|
57
55
|
export {};
|
|
@@ -1,52 +1,57 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReplayGain = void 0;
|
|
4
|
+
const common = require("../common/Util");
|
|
2
5
|
/**
|
|
3
6
|
* https://github.com/Borewit/music-metadata/wiki/Replay-Gain-Data-Format#name-code
|
|
4
7
|
*/
|
|
5
|
-
|
|
8
|
+
var NameCode;
|
|
9
|
+
(function (NameCode) {
|
|
6
10
|
/**
|
|
7
11
|
* not set
|
|
8
12
|
*/
|
|
9
|
-
not_set
|
|
13
|
+
NameCode[NameCode["not_set"] = 0] = "not_set";
|
|
10
14
|
/**
|
|
11
15
|
* Radio Gain Adjustment
|
|
12
16
|
*/
|
|
13
|
-
radio
|
|
17
|
+
NameCode[NameCode["radio"] = 1] = "radio";
|
|
14
18
|
/**
|
|
15
19
|
* Audiophile Gain Adjustment
|
|
16
20
|
*/
|
|
17
|
-
audiophile
|
|
18
|
-
};
|
|
21
|
+
NameCode[NameCode["audiophile"] = 2] = "audiophile";
|
|
22
|
+
})(NameCode || (NameCode = {}));
|
|
19
23
|
/**
|
|
20
24
|
* https://github.com/Borewit/music-metadata/wiki/Replay-Gain-Data-Format#originator-code
|
|
21
25
|
*/
|
|
22
|
-
|
|
26
|
+
var ReplayGainOriginator;
|
|
27
|
+
(function (ReplayGainOriginator) {
|
|
23
28
|
/**
|
|
24
29
|
* Replay Gain unspecified
|
|
25
30
|
*/
|
|
26
|
-
unspecified
|
|
31
|
+
ReplayGainOriginator[ReplayGainOriginator["unspecified"] = 0] = "unspecified";
|
|
27
32
|
/**
|
|
28
33
|
* Replay Gain pre-set by artist/producer/mastering engineer
|
|
29
34
|
*/
|
|
30
|
-
engineer
|
|
35
|
+
ReplayGainOriginator[ReplayGainOriginator["engineer"] = 1] = "engineer";
|
|
31
36
|
/**
|
|
32
37
|
* Replay Gain set by user
|
|
33
38
|
*/
|
|
34
|
-
user
|
|
39
|
+
ReplayGainOriginator[ReplayGainOriginator["user"] = 2] = "user";
|
|
35
40
|
/**
|
|
36
41
|
* Replay Gain determined automatically, as described on this site
|
|
37
42
|
*/
|
|
38
|
-
automatic
|
|
43
|
+
ReplayGainOriginator[ReplayGainOriginator["automatic"] = 3] = "automatic";
|
|
39
44
|
/**
|
|
40
45
|
* Set by simple RMS average
|
|
41
46
|
*/
|
|
42
|
-
rms_average
|
|
43
|
-
};
|
|
47
|
+
ReplayGainOriginator[ReplayGainOriginator["rms_average"] = 4] = "rms_average";
|
|
48
|
+
})(ReplayGainOriginator || (ReplayGainOriginator = {}));
|
|
44
49
|
/**
|
|
45
50
|
* Replay Gain Data Format
|
|
46
51
|
*
|
|
47
52
|
* https://github.com/Borewit/music-metadata/wiki/Replay-Gain-Data-Format
|
|
48
53
|
*/
|
|
49
|
-
|
|
54
|
+
exports.ReplayGain = {
|
|
50
55
|
len: 2,
|
|
51
56
|
get: (buf, off) => {
|
|
52
57
|
const gain_type = common.getBitAllignedNumber(buf, off, 0, 3);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import * as Token from 'token-types';
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
3
|
+
import { IGetToken, ITokenizer } from 'strtok3/lib/core';
|
|
4
|
+
import { IExtendedLameHeader } from './ExtendedLameHeader';
|
|
4
5
|
export interface IXingHeaderFlags {
|
|
5
6
|
frames: boolean;
|
|
6
7
|
bytes: boolean;
|
|
@@ -21,16 +22,16 @@ export interface IXingInfoTag {
|
|
|
21
22
|
/**
|
|
22
23
|
* total bit stream frames from Vbr header data
|
|
23
24
|
*/
|
|
24
|
-
numFrames
|
|
25
|
+
numFrames?: number;
|
|
25
26
|
/**
|
|
26
27
|
* Actual stream size = file size - header(s) size [bytes]
|
|
27
28
|
*/
|
|
28
|
-
streamSize
|
|
29
|
-
toc?:
|
|
29
|
+
streamSize?: number;
|
|
30
|
+
toc?: Buffer;
|
|
30
31
|
/**
|
|
31
32
|
* the number of header data bytes (from original file)
|
|
32
33
|
*/
|
|
33
|
-
vbrScale
|
|
34
|
+
vbrScale?: number;
|
|
34
35
|
lame?: {
|
|
35
36
|
version: string;
|
|
36
37
|
extended?: IExtendedLameHeader;
|
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.readXingHeader = exports.XingHeaderFlags = exports.LameEncoderVersion = exports.InfoTagHeaderTag = void 0;
|
|
4
|
+
const Token = require("token-types");
|
|
5
|
+
const util = require("../common/Util");
|
|
6
|
+
const ExtendedLameHeader_1 = require("./ExtendedLameHeader");
|
|
4
7
|
/**
|
|
5
8
|
* Info Tag: Xing, LAME
|
|
6
9
|
*/
|
|
7
|
-
|
|
10
|
+
exports.InfoTagHeaderTag = new Token.StringType(4, 'ascii');
|
|
8
11
|
/**
|
|
9
12
|
* LAME TAG value
|
|
10
13
|
* Did not find any official documentation for this
|
|
11
14
|
* Value e.g.: "3.98.4"
|
|
12
15
|
*/
|
|
13
|
-
|
|
16
|
+
exports.LameEncoderVersion = new Token.StringType(6, 'ascii');
|
|
14
17
|
/**
|
|
15
18
|
* Info Tag
|
|
16
19
|
* Ref: http://gabriel.mp3-tech.org/mp3infotag.html
|
|
17
20
|
*/
|
|
18
|
-
|
|
21
|
+
exports.XingHeaderFlags = {
|
|
19
22
|
len: 4,
|
|
20
23
|
get: (buf, off) => {
|
|
21
24
|
return {
|
|
@@ -30,9 +33,9 @@ export const XingHeaderFlags = {
|
|
|
30
33
|
// * XING Header Tag
|
|
31
34
|
// * Ref: http://gabriel.mp3-tech.org/mp3infotag.html
|
|
32
35
|
// */
|
|
33
|
-
|
|
34
|
-
const flags = await tokenizer.readToken(XingHeaderFlags);
|
|
35
|
-
const xingInfoTag = {
|
|
36
|
+
async function readXingHeader(tokenizer) {
|
|
37
|
+
const flags = await tokenizer.readToken(exports.XingHeaderFlags);
|
|
38
|
+
const xingInfoTag = {};
|
|
36
39
|
if (flags.frames) {
|
|
37
40
|
xingInfoTag.numFrames = await tokenizer.readToken(Token.UINT32_BE);
|
|
38
41
|
}
|
|
@@ -40,7 +43,7 @@ export async function readXingHeader(tokenizer) {
|
|
|
40
43
|
xingInfoTag.streamSize = await tokenizer.readToken(Token.UINT32_BE);
|
|
41
44
|
}
|
|
42
45
|
if (flags.toc) {
|
|
43
|
-
xingInfoTag.toc =
|
|
46
|
+
xingInfoTag.toc = Buffer.alloc(100);
|
|
44
47
|
await tokenizer.readBuffer(xingInfoTag.toc);
|
|
45
48
|
}
|
|
46
49
|
if (flags.vbrScale) {
|
|
@@ -53,13 +56,14 @@ export async function readXingHeader(tokenizer) {
|
|
|
53
56
|
version: await tokenizer.readToken(new Token.StringType(5, 'ascii'))
|
|
54
57
|
};
|
|
55
58
|
const match = xingInfoTag.lame.version.match(/\d+.\d+/g);
|
|
56
|
-
if (match
|
|
57
|
-
const majorMinorVersion = match[0]; // e.g. 3.97
|
|
58
|
-
const version = majorMinorVersion.split('.').map(n =>
|
|
59
|
+
if (match) {
|
|
60
|
+
const majorMinorVersion = xingInfoTag.lame.version.match(/\d+.\d+/g)[0]; // e.g. 3.97
|
|
61
|
+
const version = majorMinorVersion.split('.').map(n => parseInt(n, 10));
|
|
59
62
|
if (version[0] >= 3 && version[1] >= 90) {
|
|
60
|
-
xingInfoTag.lame.extended = await tokenizer.readToken(ExtendedLameHeader);
|
|
63
|
+
xingInfoTag.lame.extended = await tokenizer.readToken(ExtendedLameHeader_1.ExtendedLameHeader);
|
|
61
64
|
}
|
|
62
65
|
}
|
|
63
66
|
}
|
|
64
67
|
return xingInfoTag;
|
|
65
68
|
}
|
|
69
|
+
exports.readXingHeader = readXingHeader;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const debug_1 = require("debug");
|
|
4
|
+
const Token = require("token-types");
|
|
5
|
+
const AbstractID3Parser_1 = require("../id3v2/AbstractID3Parser");
|
|
6
|
+
const MpcSv8Parser_1 = require("./sv8/MpcSv8Parser");
|
|
7
|
+
const MpcSv7Parser_1 = require("./sv7/MpcSv7Parser");
|
|
8
|
+
const debug = (0, debug_1.default)('music-metadata:parser:musepack');
|
|
9
|
+
class MusepackParser extends AbstractID3Parser_1.AbstractID3Parser {
|
|
10
|
+
async postId3v2Parse() {
|
|
11
|
+
const signature = await this.tokenizer.peekToken(new Token.StringType(3, 'binary'));
|
|
12
|
+
let mpcParser;
|
|
13
|
+
switch (signature) {
|
|
14
|
+
case 'MP+': {
|
|
15
|
+
debug('Musepack stream-version 7');
|
|
16
|
+
mpcParser = new MpcSv7Parser_1.MpcSv7Parser();
|
|
17
|
+
break;
|
|
18
|
+
}
|
|
19
|
+
case 'MPC': {
|
|
20
|
+
debug('Musepack stream-version 8');
|
|
21
|
+
mpcParser = new MpcSv8Parser_1.MpcSv8Parser();
|
|
22
|
+
break;
|
|
23
|
+
}
|
|
24
|
+
default: {
|
|
25
|
+
throw new Error('Invalid Musepack signature prefix');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
mpcParser.init(this.metadata, this.tokenizer, this.options);
|
|
29
|
+
return mpcParser.parse();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.default = MusepackParser;
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BitReader = void 0;
|
|
4
|
+
const Token = require("token-types");
|
|
5
|
+
class BitReader {
|
|
3
6
|
constructor(tokenizer) {
|
|
4
|
-
this.pos = 0;
|
|
5
|
-
this.dword = null;
|
|
6
7
|
this.tokenizer = tokenizer;
|
|
8
|
+
this.pos = 0;
|
|
9
|
+
this.dword = undefined;
|
|
7
10
|
}
|
|
8
11
|
/**
|
|
9
12
|
*
|
|
10
13
|
* @param bits 1..30 bits
|
|
11
14
|
*/
|
|
12
15
|
async read(bits) {
|
|
13
|
-
while (this.dword ===
|
|
16
|
+
while (this.dword === undefined) {
|
|
14
17
|
this.dword = await this.tokenizer.readToken(Token.UINT32_LE);
|
|
15
18
|
}
|
|
16
19
|
let out = this.dword;
|
|
@@ -19,22 +22,26 @@ export class BitReader {
|
|
|
19
22
|
out >>>= (32 - this.pos);
|
|
20
23
|
return out & ((1 << bits) - 1);
|
|
21
24
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
this.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
else {
|
|
26
|
+
this.pos -= 32;
|
|
27
|
+
if (this.pos === 0) {
|
|
28
|
+
this.dword = undefined;
|
|
29
|
+
return out & ((1 << bits) - 1);
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this.dword = await this.tokenizer.readToken(Token.UINT32_LE);
|
|
33
|
+
if (this.pos) {
|
|
34
|
+
out <<= this.pos;
|
|
35
|
+
out |= this.dword >>> (32 - this.pos);
|
|
36
|
+
}
|
|
37
|
+
return out & ((1 << bits) - 1);
|
|
38
|
+
}
|
|
31
39
|
}
|
|
32
|
-
return out & ((1 << bits) - 1);
|
|
33
40
|
}
|
|
34
41
|
async ignore(bits) {
|
|
35
42
|
if (this.pos > 0) {
|
|
36
43
|
const remaining = 32 - this.pos;
|
|
37
|
-
this.dword =
|
|
44
|
+
this.dword = undefined;
|
|
38
45
|
bits -= remaining;
|
|
39
46
|
this.pos = 0;
|
|
40
47
|
}
|
|
@@ -44,3 +51,4 @@ export class BitReader {
|
|
|
44
51
|
return this.read(remainder);
|
|
45
52
|
}
|
|
46
53
|
}
|
|
54
|
+
exports.BitReader = BitReader;
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MpcSv7Parser = void 0;
|
|
4
|
+
const debug_1 = require("debug");
|
|
5
|
+
const BasicParser_1 = require("../../common/BasicParser");
|
|
6
|
+
const APEv2Parser_1 = require("../../apev2/APEv2Parser");
|
|
7
|
+
const BitReader_1 = require("./BitReader");
|
|
8
|
+
const SV7 = require("./StreamVersion7");
|
|
9
|
+
const debug = (0, debug_1.default)('music-metadata:parser:musepack');
|
|
10
|
+
class MpcSv7Parser extends BasicParser_1.BasicParser {
|
|
9
11
|
constructor() {
|
|
10
12
|
super(...arguments);
|
|
11
|
-
this.bitreader = null;
|
|
12
13
|
this.audioLength = 0;
|
|
13
|
-
this.duration = null;
|
|
14
14
|
}
|
|
15
15
|
async parse() {
|
|
16
16
|
const header = await this.tokenizer.readToken(SV7.Header);
|
|
17
17
|
if (header.signature !== 'MP+')
|
|
18
|
-
throw new
|
|
18
|
+
throw new Error('Unexpected magic number');
|
|
19
19
|
debug(`stream-version=${header.streamMajorVersion}.${header.streamMinorVersion}`);
|
|
20
20
|
this.metadata.setFormat('container', 'Musepack, SV7');
|
|
21
21
|
this.metadata.setFormat('sampleRate', header.sampleFrequency);
|
|
@@ -23,13 +23,13 @@ export class MpcSv7Parser extends BasicParser {
|
|
|
23
23
|
this.metadata.setFormat('numberOfSamples', numberOfSamples);
|
|
24
24
|
this.duration = numberOfSamples / header.sampleFrequency;
|
|
25
25
|
this.metadata.setFormat('duration', this.duration);
|
|
26
|
-
this.bitreader = new BitReader(this.tokenizer);
|
|
26
|
+
this.bitreader = new BitReader_1.BitReader(this.tokenizer);
|
|
27
27
|
this.metadata.setFormat('numberOfChannels', header.midSideStereo || header.intensityStereo ? 2 : 1);
|
|
28
28
|
const version = await this.bitreader.read(8);
|
|
29
29
|
this.metadata.setFormat('codec', (version / 100).toFixed(2));
|
|
30
30
|
await this.skipAudioData(header.frameCount);
|
|
31
31
|
debug(`End of audio stream, switching to APEv2, offset=${this.tokenizer.position}`);
|
|
32
|
-
return tryParseApeHeader(this.metadata, this.tokenizer, this.options);
|
|
32
|
+
return APEv2Parser_1.APEv2Parser.tryParseApeHeader(this.metadata, this.tokenizer, this.options);
|
|
33
33
|
}
|
|
34
34
|
async skipAudioData(frameCount) {
|
|
35
35
|
while (frameCount-- > 0) {
|
|
@@ -40,8 +40,7 @@ export class MpcSv7Parser extends BasicParser {
|
|
|
40
40
|
// last frame
|
|
41
41
|
const lastFrameLength = await this.bitreader.read(11);
|
|
42
42
|
this.audioLength += lastFrameLength;
|
|
43
|
-
|
|
44
|
-
this.metadata.setFormat('bitrate', this.audioLength / this.duration);
|
|
45
|
-
}
|
|
43
|
+
this.metadata.setFormat('bitrate', this.audioLength / this.duration);
|
|
46
44
|
}
|
|
47
45
|
}
|
|
46
|
+
exports.MpcSv7Parser = MpcSv7Parser;
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Header = void 0;
|
|
4
|
+
const Token = require("token-types");
|
|
5
|
+
const util = require("../../common/Util");
|
|
4
6
|
/**
|
|
5
7
|
* BASIC STRUCTURE
|
|
6
8
|
*/
|
|
7
|
-
|
|
9
|
+
exports.Header = {
|
|
8
10
|
len: 6 * 4,
|
|
9
11
|
get: (buf, off) => {
|
|
10
12
|
const header = {
|
|
11
13
|
// word 0
|
|
12
|
-
signature:
|
|
14
|
+
signature: Buffer.from(buf).toString('latin1', off, off + 3),
|
|
13
15
|
// versionIndex number * 1000 (3.81 = 3810) (remember that 4-byte alignment causes this to take 4-bytes)
|
|
14
16
|
streamMinorVersion: util.getBitAllignedNumber(buf, off + 3, 0, 4),
|
|
15
17
|
streamMajorVersion: util.getBitAllignedNumber(buf, off + 3, 4, 4),
|
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MpcSv8Parser = void 0;
|
|
4
|
+
const debug_1 = require("debug");
|
|
5
|
+
const BasicParser_1 = require("../../common/BasicParser");
|
|
6
|
+
const APEv2Parser_1 = require("../../apev2/APEv2Parser");
|
|
7
|
+
const FourCC_1 = require("../../common/FourCC");
|
|
8
|
+
const SV8 = require("./StreamVersion8");
|
|
9
|
+
const debug = (0, debug_1.default)('music-metadata:parser:musepack');
|
|
10
|
+
class MpcSv8Parser extends BasicParser_1.BasicParser {
|
|
9
11
|
constructor() {
|
|
10
12
|
super(...arguments);
|
|
11
13
|
this.audioLength = 0;
|
|
12
14
|
}
|
|
13
15
|
async parse() {
|
|
14
|
-
const signature = await this.tokenizer.readToken(FourCcToken);
|
|
16
|
+
const signature = await this.tokenizer.readToken(FourCC_1.FourCcToken);
|
|
15
17
|
if (signature !== 'MPCK')
|
|
16
|
-
throw new
|
|
18
|
+
throw new Error('Invalid Magic number');
|
|
17
19
|
this.metadata.setFormat('container', 'Musepack, SV8');
|
|
18
20
|
return this.parsePacket();
|
|
19
21
|
}
|
|
@@ -23,14 +25,13 @@ export class MpcSv8Parser extends BasicParser {
|
|
|
23
25
|
const header = await sv8reader.readPacketHeader();
|
|
24
26
|
debug(`packet-header key=${header.key}, payloadLength=${header.payloadLength}`);
|
|
25
27
|
switch (header.key) {
|
|
26
|
-
case 'SH':
|
|
28
|
+
case 'SH': // Stream Header
|
|
27
29
|
const sh = await sv8reader.readStreamHeader(header.payloadLength);
|
|
28
30
|
this.metadata.setFormat('numberOfSamples', sh.sampleCount);
|
|
29
31
|
this.metadata.setFormat('sampleRate', sh.sampleFrequency);
|
|
30
32
|
this.metadata.setFormat('duration', sh.sampleCount / sh.sampleFrequency);
|
|
31
33
|
this.metadata.setFormat('numberOfChannels', sh.channelCount);
|
|
32
34
|
break;
|
|
33
|
-
}
|
|
34
35
|
case 'AP': // Audio Packet
|
|
35
36
|
this.audioLength += header.payloadLength;
|
|
36
37
|
await this.tokenizer.ignore(header.payloadLength);
|
|
@@ -43,14 +44,12 @@ export class MpcSv8Parser extends BasicParser {
|
|
|
43
44
|
await this.tokenizer.ignore(header.payloadLength);
|
|
44
45
|
break;
|
|
45
46
|
case 'SE': // Stream End
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
return tryParseApeHeader(this.metadata, this.tokenizer, this.options);
|
|
47
|
+
this.metadata.setFormat('bitrate', this.audioLength * 8 / this.metadata.format.duration);
|
|
48
|
+
return APEv2Parser_1.APEv2Parser.tryParseApeHeader(this.metadata, this.tokenizer, this.options);
|
|
50
49
|
default:
|
|
51
|
-
throw new
|
|
50
|
+
throw new Error(`Unexpected header: ${header.key}`);
|
|
52
51
|
}
|
|
53
|
-
// biome-ignore lint/correctness/noConstantCondition: break is handled in the switch statement
|
|
54
52
|
} while (true);
|
|
55
53
|
}
|
|
56
54
|
}
|
|
55
|
+
exports.MpcSv8Parser = MpcSv8Parser;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { ITokenizer } from 'strtok3/lib/core';
|
|
2
2
|
export interface IPacketHeader {
|
|
3
3
|
key: string;
|
|
4
4
|
payloadLength: number;
|
|
@@ -31,10 +31,8 @@ interface IStreamHeader extends IStreamHeader1, IStreamHeader3 {
|
|
|
31
31
|
beginningOfSilence: number;
|
|
32
32
|
}
|
|
33
33
|
export declare class StreamReader {
|
|
34
|
-
private
|
|
35
|
-
|
|
36
|
-
set tokenizer(value: ITokenizer);
|
|
37
|
-
constructor(_tokenizer: ITokenizer);
|
|
34
|
+
private tokenizer;
|
|
35
|
+
constructor(tokenizer: ITokenizer);
|
|
38
36
|
readPacketHeader(): Promise<IPacketHeader>;
|
|
39
37
|
readStreamHeader(size: number): Promise<IStreamHeader>;
|
|
40
38
|
private readVariableSizeField;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StreamReader = void 0;
|
|
4
|
+
const Token = require("token-types");
|
|
5
|
+
const debug_1 = require("debug");
|
|
6
|
+
const util = require("../../common/Util");
|
|
7
|
+
const debug = (0, debug_1.default)('music-metadata:parser:musepack:sv8');
|
|
8
|
+
const PacketKey = new Token.StringType(2, 'binary');
|
|
6
9
|
/**
|
|
7
10
|
* Stream Header Packet part 1
|
|
8
11
|
* Ref: http://trac.musepack.net/musepack/wiki/SV8Specification#StreamHeaderPacket
|
|
@@ -32,15 +35,9 @@ const SH_part3 = {
|
|
|
32
35
|
};
|
|
33
36
|
}
|
|
34
37
|
};
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
set tokenizer(value) {
|
|
40
|
-
this._tokenizer = value;
|
|
41
|
-
}
|
|
42
|
-
constructor(_tokenizer) {
|
|
43
|
-
this._tokenizer = _tokenizer;
|
|
38
|
+
class StreamReader {
|
|
39
|
+
constructor(tokenizer) {
|
|
40
|
+
this.tokenizer = tokenizer;
|
|
44
41
|
}
|
|
45
42
|
async readPacketHeader() {
|
|
46
43
|
const key = await this.tokenizer.readToken(PacketKey);
|
|
@@ -80,3 +77,4 @@ export class StreamReader {
|
|
|
80
77
|
return this.readVariableSizeField(len + 1, n << 7);
|
|
81
78
|
}
|
|
82
79
|
}
|
|
80
|
+
exports.StreamReader = StreamReader;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { IGetToken } from 'strtok3';
|
|
2
1
|
/**
|
|
3
2
|
* Page header
|
|
4
3
|
* Ref: https://www.xiph.org/ogg/doc/framing.html#page_header
|
|
@@ -51,33 +50,23 @@ export interface IPageHeader {
|
|
|
51
50
|
*/
|
|
52
51
|
page_segments: number;
|
|
53
52
|
}
|
|
54
|
-
export declare const PageHeader: IGetToken<IPageHeader>;
|
|
55
53
|
export interface ISegmentTable {
|
|
56
54
|
totalPageSize: number;
|
|
57
55
|
}
|
|
58
|
-
export declare class SegmentTable implements IGetToken<ISegmentTable> {
|
|
59
|
-
private static sum;
|
|
60
|
-
len: number;
|
|
61
|
-
constructor(header: IPageHeader);
|
|
62
|
-
get(buf: Uint8Array, off: number): ISegmentTable;
|
|
63
|
-
}
|
|
64
56
|
export interface IPageConsumer {
|
|
65
|
-
/**
|
|
66
|
-
* Need to parse to end to be able to calculate the duration
|
|
67
|
-
*/
|
|
68
|
-
durationOnLastPage: boolean;
|
|
69
57
|
/**
|
|
70
58
|
* Parse Ogg page
|
|
71
|
-
* @param header Ogg page header
|
|
72
|
-
* @param pageData Ogg page data
|
|
59
|
+
* @param {IPageHeader} header Ogg page header
|
|
60
|
+
* @param {Buffer} pageData Ogg page data
|
|
73
61
|
*/
|
|
74
|
-
parsePage(header: IPageHeader, pageData: Uint8Array):
|
|
62
|
+
parsePage(header: IPageHeader, pageData: Uint8Array): any;
|
|
75
63
|
/**
|
|
76
64
|
* Calculate duration of provided header
|
|
65
|
+
* @param header Ogg header
|
|
77
66
|
*/
|
|
78
|
-
calculateDuration(
|
|
67
|
+
calculateDuration(header: IPageHeader): any;
|
|
79
68
|
/**
|
|
80
69
|
* Force to parse pending segments
|
|
81
70
|
*/
|
|
82
|
-
flush():
|
|
71
|
+
flush(): any;
|
|
83
72
|
}
|