@dragon708/docmind-markdown 1.2.5 → 1.2.7
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/node_modules/{music-metadata/node_modules/strtok3/LICENSE.txt → turndown-plugin-gfm/LICENSE} +21 -21
- package/node_modules/turndown-plugin-gfm/README.md +50 -0
- package/node_modules/turndown-plugin-gfm/dist/turndown-plugin-gfm.js +165 -0
- package/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.browser.cjs.js +162 -0
- package/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.browser.es.js +154 -0
- package/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.cjs.js +162 -0
- package/node_modules/turndown-plugin-gfm/lib/turndown-plugin-gfm.es.js +154 -0
- package/node_modules/turndown-plugin-gfm/package.json +43 -0
- package/package.json +5 -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/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,9 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MatroskaParser = void 0;
|
|
4
|
+
const token_types_1 = require("token-types");
|
|
5
|
+
const debug_1 = require("debug");
|
|
6
|
+
const BasicParser_1 = require("../common/BasicParser");
|
|
7
|
+
const types_1 = require("./types");
|
|
8
|
+
const matroskaDtd = require("./MatroskaDtd");
|
|
9
|
+
const debug = (0, debug_1.default)('music-metadata:parser:matroska');
|
|
7
10
|
/**
|
|
8
11
|
* Extensible Binary Meta Language (EBML) parser
|
|
9
12
|
* https://en.wikipedia.org/wiki/Extensible_Binary_Meta_Language
|
|
@@ -11,133 +14,224 @@ const debug = initDebug('music-metadata:parser:matroska');
|
|
|
11
14
|
*
|
|
12
15
|
* WEBM VP8 AUDIO FILE
|
|
13
16
|
*/
|
|
14
|
-
|
|
17
|
+
class MatroskaParser extends BasicParser_1.BasicParser {
|
|
15
18
|
constructor() {
|
|
16
|
-
super(
|
|
17
|
-
this.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
this.
|
|
19
|
+
super();
|
|
20
|
+
this.padding = 0;
|
|
21
|
+
this.parserMap = new Map();
|
|
22
|
+
this.ebmlMaxIDLength = 4;
|
|
23
|
+
this.ebmlMaxSizeLength = 8;
|
|
24
|
+
this.parserMap.set(types_1.DataType.uint, e => this.readUint(e));
|
|
25
|
+
this.parserMap.set(types_1.DataType.string, e => this.readString(e));
|
|
26
|
+
this.parserMap.set(types_1.DataType.binary, e => this.readBuffer(e));
|
|
27
|
+
this.parserMap.set(types_1.DataType.uid, async (e) => await this.readUint(e) === 1);
|
|
28
|
+
this.parserMap.set(types_1.DataType.bool, e => this.readFlag(e));
|
|
29
|
+
this.parserMap.set(types_1.DataType.float, e => this.readFloat(e));
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Initialize parser with output (metadata), input (tokenizer) & parsing options (options).
|
|
33
|
+
* @param {INativeMetadataCollector} metadata Output
|
|
34
|
+
* @param {ITokenizer} tokenizer Input
|
|
35
|
+
* @param {IOptions} options Parsing options
|
|
36
|
+
*/
|
|
37
|
+
init(metadata, tokenizer, options) {
|
|
38
|
+
super.init(metadata, tokenizer, options);
|
|
39
|
+
return this;
|
|
23
40
|
}
|
|
24
41
|
async parse() {
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
42
|
+
const matroska = await this.parseContainer(matroskaDtd.elements, this.tokenizer.fileInfo.size, []);
|
|
43
|
+
this.metadata.setFormat('container', `EBML/${matroska.ebml.docType}`);
|
|
44
|
+
if (matroska.segment) {
|
|
45
|
+
const info = matroska.segment.info;
|
|
46
|
+
if (info) {
|
|
47
|
+
const timecodeScale = info.timecodeScale ? info.timecodeScale : 1000000;
|
|
48
|
+
if (typeof info.duration === 'number') {
|
|
49
|
+
const duration = info.duration * timecodeScale / 1000000000;
|
|
50
|
+
this.addTag('segment:title', info.title);
|
|
51
|
+
this.metadata.setFormat('duration', duration);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const audioTracks = matroska.segment.tracks;
|
|
55
|
+
if (audioTracks && audioTracks.entries) {
|
|
56
|
+
audioTracks.entries.forEach(entry => {
|
|
57
|
+
const stream = {
|
|
58
|
+
codecName: entry.codecID.replace('A_', '').replace('V_', ''),
|
|
59
|
+
codecSettings: entry.codecSettings,
|
|
60
|
+
flagDefault: entry.flagDefault,
|
|
61
|
+
flagLacing: entry.flagLacing,
|
|
62
|
+
flagEnabled: entry.flagEnabled,
|
|
63
|
+
language: entry.language,
|
|
64
|
+
name: entry.name,
|
|
65
|
+
type: entry.trackType,
|
|
66
|
+
audio: entry.audio,
|
|
67
|
+
video: entry.video
|
|
68
|
+
};
|
|
69
|
+
this.metadata.addStreamInfo(stream);
|
|
70
|
+
});
|
|
71
|
+
const audioTrack = audioTracks.entries
|
|
72
|
+
.filter(entry => {
|
|
73
|
+
return entry.trackType === types_1.TrackType.audio.valueOf();
|
|
74
|
+
})
|
|
75
|
+
.reduce((acc, cur) => {
|
|
76
|
+
if (!acc) {
|
|
77
|
+
return cur;
|
|
78
|
+
}
|
|
79
|
+
if (!acc.flagDefault && cur.flagDefault) {
|
|
80
|
+
return cur;
|
|
81
|
+
}
|
|
82
|
+
if (cur.trackNumber && cur.trackNumber < acc.trackNumber) {
|
|
83
|
+
return cur;
|
|
84
|
+
}
|
|
85
|
+
return acc;
|
|
86
|
+
}, null);
|
|
87
|
+
if (audioTrack) {
|
|
88
|
+
this.metadata.setFormat('codec', audioTrack.codecID.replace('A_', ''));
|
|
89
|
+
this.metadata.setFormat('sampleRate', audioTrack.audio.samplingFrequency);
|
|
90
|
+
this.metadata.setFormat('numberOfChannels', audioTrack.audio.channels);
|
|
91
|
+
}
|
|
92
|
+
if (matroska.segment.tags) {
|
|
93
|
+
matroska.segment.tags.tag.forEach(tag => {
|
|
94
|
+
const target = tag.target;
|
|
95
|
+
const targetType = (target === null || target === void 0 ? void 0 : target.targetTypeValue) ? types_1.TargetType[target.targetTypeValue] : ((target === null || target === void 0 ? void 0 : target.targetType) ? target.targetType : 'track');
|
|
96
|
+
tag.simpleTags.forEach(simpleTag => {
|
|
97
|
+
const value = simpleTag.string ? simpleTag.string : simpleTag.binary;
|
|
98
|
+
this.addTag(`${targetType}:${simpleTag.name}`, value);
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
if (matroska.segment.attachments) {
|
|
103
|
+
matroska.segment.attachments.attachedFiles
|
|
104
|
+
.filter(file => file.mimeType.startsWith('image/'))
|
|
105
|
+
.map(file => {
|
|
106
|
+
return {
|
|
107
|
+
data: file.data,
|
|
108
|
+
format: file.mimeType,
|
|
109
|
+
description: file.description,
|
|
110
|
+
name: file.name
|
|
111
|
+
};
|
|
112
|
+
}).forEach(picture => {
|
|
113
|
+
this.addTag('picture', picture);
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
async parseContainer(container, posDone, path) {
|
|
120
|
+
const tree = {};
|
|
121
|
+
while (this.tokenizer.position < posDone) {
|
|
122
|
+
let element;
|
|
123
|
+
try {
|
|
124
|
+
element = await this.readElement();
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
if (error.message === 'End-Of-Stream') {
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
throw error;
|
|
131
|
+
}
|
|
132
|
+
const type = container[element.id];
|
|
133
|
+
if (type) {
|
|
134
|
+
debug(`Element: name=${type.name}, container=${!!type.container}`);
|
|
135
|
+
if (type.container) {
|
|
136
|
+
const res = await this.parseContainer(type.container, element.len >= 0 ? this.tokenizer.position + element.len : -1, path.concat([type.name]));
|
|
137
|
+
if (type.multiple) {
|
|
138
|
+
if (!tree[type.name]) {
|
|
139
|
+
tree[type.name] = [];
|
|
45
140
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
141
|
+
tree[type.name].push(res);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
tree[type.name] = res;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
tree[type.name] = await this.parserMap.get(type.value)(element);
|
|
49
149
|
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
debug(`Received: name=${element.name}, value=${value}`);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
53
152
|
switch (element.id) {
|
|
54
|
-
case
|
|
55
|
-
this.
|
|
56
|
-
|
|
57
|
-
case 0x114d9b74:
|
|
58
|
-
this.seekHead = value;
|
|
59
|
-
this.seekHeadOffset = offset;
|
|
60
|
-
break;
|
|
61
|
-
case 0x1549a966:
|
|
62
|
-
{ // Info (Segment Information)
|
|
63
|
-
const info = value;
|
|
64
|
-
const timecodeScale = info.timecodeScale ? info.timecodeScale : 1000000;
|
|
65
|
-
if (typeof info.duration === 'number') {
|
|
66
|
-
const duration = info.duration * timecodeScale / 1000000000;
|
|
67
|
-
await this.addTag('segment:title', info.title);
|
|
68
|
-
this.metadata.setFormat('duration', Number(duration));
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
break;
|
|
72
|
-
case 0x1654ae6b:
|
|
73
|
-
{ // tracks
|
|
74
|
-
const audioTracks = value;
|
|
75
|
-
if (audioTracks?.entries) {
|
|
76
|
-
audioTracks.entries.forEach(entry => {
|
|
77
|
-
const stream = {
|
|
78
|
-
codecName: entry.codecID.replace('A_', '').replace('V_', ''),
|
|
79
|
-
codecSettings: entry.codecSettings,
|
|
80
|
-
flagDefault: entry.flagDefault,
|
|
81
|
-
flagLacing: entry.flagLacing,
|
|
82
|
-
flagEnabled: entry.flagEnabled,
|
|
83
|
-
language: entry.language,
|
|
84
|
-
name: entry.name,
|
|
85
|
-
type: entry.trackType,
|
|
86
|
-
audio: entry.audio,
|
|
87
|
-
video: entry.video
|
|
88
|
-
};
|
|
89
|
-
this.metadata.addStreamInfo(stream);
|
|
90
|
-
});
|
|
91
|
-
const audioTrack = audioTracks.entries
|
|
92
|
-
.filter(entry => entry.trackType === TrackType.audio)
|
|
93
|
-
.reduce((acc, cur) => {
|
|
94
|
-
if (!acc)
|
|
95
|
-
return cur;
|
|
96
|
-
if (cur.flagDefault && !acc.flagDefault)
|
|
97
|
-
return cur;
|
|
98
|
-
if (cur.trackNumber < acc.trackNumber)
|
|
99
|
-
return cur;
|
|
100
|
-
return acc;
|
|
101
|
-
}, null);
|
|
102
|
-
if (audioTrack) {
|
|
103
|
-
this.metadata.setFormat('codec', audioTrack.codecID.replace('A_', ''));
|
|
104
|
-
this.metadata.setFormat('sampleRate', audioTrack.audio.samplingFrequency);
|
|
105
|
-
this.metadata.setFormat('numberOfChannels', audioTrack.audio.channels);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
break;
|
|
110
|
-
case 0x1254c367:
|
|
111
|
-
{ // tags
|
|
112
|
-
const tags = value;
|
|
113
|
-
await Promise.all(tags.tag.map(async (tag) => {
|
|
114
|
-
const target = tag.target;
|
|
115
|
-
const targetType = target?.targetTypeValue ? TargetType[target.targetTypeValue] : (target?.targetType ? target.targetType : 'track');
|
|
116
|
-
await Promise.all(tag.simpleTags.map(async (simpleTag) => {
|
|
117
|
-
const value = simpleTag.string ? simpleTag.string : simpleTag.binary;
|
|
118
|
-
await this.addTag(`${targetType}:${simpleTag.name}`, value);
|
|
119
|
-
}));
|
|
120
|
-
}));
|
|
121
|
-
}
|
|
122
|
-
break;
|
|
123
|
-
case 0x1941a469:
|
|
124
|
-
{ // attachments
|
|
125
|
-
const attachments = value;
|
|
126
|
-
await Promise.all(attachments.attachedFiles
|
|
127
|
-
.filter(file => file.mimeType.startsWith('image/'))
|
|
128
|
-
.map(file => this.addTag('picture', {
|
|
129
|
-
data: file.data,
|
|
130
|
-
format: file.mimeType,
|
|
131
|
-
description: file.description,
|
|
132
|
-
name: file.name
|
|
133
|
-
})));
|
|
134
|
-
}
|
|
153
|
+
case 0xec: // void
|
|
154
|
+
this.padding += element.len;
|
|
155
|
+
await this.tokenizer.ignore(element.len);
|
|
135
156
|
break;
|
|
157
|
+
default:
|
|
158
|
+
debug(`parseEbml: path=${path.join('/')}, unknown element: id=${element.id.toString(16)}`);
|
|
159
|
+
this.padding += element.len;
|
|
160
|
+
await this.tokenizer.ignore(element.len);
|
|
136
161
|
}
|
|
137
162
|
}
|
|
138
|
-
}
|
|
163
|
+
}
|
|
164
|
+
return tree;
|
|
165
|
+
}
|
|
166
|
+
async readVintData(maxLength) {
|
|
167
|
+
const msb = await this.tokenizer.peekNumber(token_types_1.UINT8);
|
|
168
|
+
let mask = 0x80;
|
|
169
|
+
let oc = 1;
|
|
170
|
+
// Calculate VINT_WIDTH
|
|
171
|
+
while ((msb & mask) === 0) {
|
|
172
|
+
if (oc > maxLength) {
|
|
173
|
+
throw new Error('VINT value exceeding maximum size');
|
|
174
|
+
}
|
|
175
|
+
++oc;
|
|
176
|
+
mask >>= 1;
|
|
177
|
+
}
|
|
178
|
+
const id = Buffer.alloc(oc);
|
|
179
|
+
await this.tokenizer.readBuffer(id);
|
|
180
|
+
return id;
|
|
181
|
+
}
|
|
182
|
+
async readElement() {
|
|
183
|
+
const id = await this.readVintData(this.ebmlMaxIDLength);
|
|
184
|
+
const lenField = await this.readVintData(this.ebmlMaxSizeLength);
|
|
185
|
+
lenField[0] ^= 0x80 >> (lenField.length - 1);
|
|
186
|
+
const nrLen = Math.min(6, lenField.length); // JavaScript can max read 6 bytes integer
|
|
187
|
+
return {
|
|
188
|
+
id: id.readUIntBE(0, id.length),
|
|
189
|
+
len: lenField.readUIntBE(lenField.length - nrLen, nrLen)
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
isMaxValue(vintData) {
|
|
193
|
+
if (vintData.length === this.ebmlMaxSizeLength) {
|
|
194
|
+
for (let n = 1; n < this.ebmlMaxSizeLength; ++n) {
|
|
195
|
+
if (vintData[n] !== 0xff)
|
|
196
|
+
return false;
|
|
197
|
+
}
|
|
198
|
+
return true;
|
|
199
|
+
}
|
|
200
|
+
return false;
|
|
201
|
+
}
|
|
202
|
+
async readFloat(e) {
|
|
203
|
+
switch (e.len) {
|
|
204
|
+
case 0:
|
|
205
|
+
return 0.0;
|
|
206
|
+
case 4:
|
|
207
|
+
return this.tokenizer.readNumber(token_types_1.Float32_BE);
|
|
208
|
+
case 8:
|
|
209
|
+
return this.tokenizer.readNumber(token_types_1.Float64_BE);
|
|
210
|
+
case 10:
|
|
211
|
+
return this.tokenizer.readNumber(token_types_1.Float64_BE);
|
|
212
|
+
default:
|
|
213
|
+
throw new Error(`Invalid IEEE-754 float length: ${e.len}`);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
async readFlag(e) {
|
|
217
|
+
return (await this.readUint(e)) === 1;
|
|
218
|
+
}
|
|
219
|
+
async readUint(e) {
|
|
220
|
+
const buf = await this.readBuffer(e);
|
|
221
|
+
const nrLen = Math.min(6, e.len); // JavaScript can max read 6 bytes integer
|
|
222
|
+
return buf.readUIntBE(e.len - nrLen, nrLen);
|
|
223
|
+
}
|
|
224
|
+
async readString(e) {
|
|
225
|
+
const rawString = await this.tokenizer.readToken(new token_types_1.StringType(e.len, 'utf-8'));
|
|
226
|
+
return rawString.replace(/\00.*$/g, '');
|
|
227
|
+
}
|
|
228
|
+
async readBuffer(e) {
|
|
229
|
+
const buf = Buffer.alloc(e.len);
|
|
230
|
+
await this.tokenizer.readBuffer(buf);
|
|
231
|
+
return buf;
|
|
139
232
|
}
|
|
140
|
-
|
|
141
|
-
|
|
233
|
+
addTag(tagId, value) {
|
|
234
|
+
this.metadata.addTag('matroska', tagId, value);
|
|
142
235
|
}
|
|
143
236
|
}
|
|
237
|
+
exports.MatroskaParser = MatroskaParser;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MatroskaTagMapper = void 0;
|
|
4
|
+
const CaseInsensitiveTagMap_1 = require("../common/CaseInsensitiveTagMap");
|
|
2
5
|
/**
|
|
3
6
|
* EBML Tag map
|
|
4
7
|
*/
|
|
@@ -8,7 +11,6 @@ const ebmlTagMap = {
|
|
|
8
11
|
'album:ARTISTSORT': 'albumartistsort',
|
|
9
12
|
'album:TITLE': 'album',
|
|
10
13
|
'album:DATE_RECORDED': 'originaldate',
|
|
11
|
-
'album:DATE_RELEASED': 'releasedate',
|
|
12
14
|
'album:PART_NUMBER': 'disk',
|
|
13
15
|
'album:TOTAL_PARTS': 'totaltracks',
|
|
14
16
|
'track:ARTIST': 'artist',
|
|
@@ -25,8 +27,10 @@ const ebmlTagMap = {
|
|
|
25
27
|
'edition:TOTAL_PARTS': 'totaldiscs',
|
|
26
28
|
picture: 'picture'
|
|
27
29
|
};
|
|
28
|
-
|
|
30
|
+
class MatroskaTagMapper extends CaseInsensitiveTagMap_1.CaseInsensitiveTagMap {
|
|
29
31
|
constructor() {
|
|
30
32
|
super(['matroska'], ebmlTagMap);
|
|
31
33
|
}
|
|
32
34
|
}
|
|
35
|
+
exports.MatroskaTagMapper = MatroskaTagMapper;
|
|
36
|
+
//# sourceMappingURL=MatroskaTagMapper.js.map
|
|
@@ -1,13 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
export interface
|
|
3
|
-
id:
|
|
4
|
-
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
export interface IHeader {
|
|
3
|
+
id: number;
|
|
4
|
+
len: number;
|
|
5
|
+
}
|
|
6
|
+
export declare enum DataType {
|
|
7
|
+
'string' = 0,
|
|
8
|
+
uint = 1,
|
|
9
|
+
uid = 2,
|
|
10
|
+
bool = 3,
|
|
11
|
+
binary = 4,
|
|
12
|
+
float = 5
|
|
13
|
+
}
|
|
14
|
+
export interface IElementType<T> {
|
|
15
|
+
readonly name: string;
|
|
16
|
+
readonly value?: DataType;
|
|
17
|
+
readonly container?: IContainerType;
|
|
18
|
+
readonly multiple?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface IContainerType {
|
|
21
|
+
[id: number]: IElementType<string | number | boolean | Buffer>;
|
|
22
|
+
}
|
|
23
|
+
export interface ITree {
|
|
24
|
+
[name: string]: string | number | boolean | Buffer | ITree | ITree[];
|
|
5
25
|
}
|
|
6
26
|
export interface ISeekHead {
|
|
7
|
-
|
|
27
|
+
id?: Buffer;
|
|
28
|
+
position?: number;
|
|
29
|
+
}
|
|
30
|
+
export interface IMetaSeekInformation {
|
|
31
|
+
seekHeads: ISeekHead[];
|
|
8
32
|
}
|
|
9
33
|
export interface ISegmentInformation {
|
|
10
|
-
uid?:
|
|
34
|
+
uid?: Buffer;
|
|
11
35
|
timecodeScale?: number;
|
|
12
36
|
duration?: number;
|
|
13
37
|
dateUTC?: number;
|
|
@@ -16,10 +40,10 @@ export interface ISegmentInformation {
|
|
|
16
40
|
writingApp?: string;
|
|
17
41
|
}
|
|
18
42
|
export interface ITrackEntry {
|
|
19
|
-
uid?:
|
|
20
|
-
trackNumber
|
|
43
|
+
uid?: Buffer;
|
|
44
|
+
trackNumber?: number;
|
|
21
45
|
trackType?: TrackType;
|
|
22
|
-
audio
|
|
46
|
+
audio?: ITrackAudio;
|
|
23
47
|
video?: ITrackVideo;
|
|
24
48
|
flagEnabled?: boolean;
|
|
25
49
|
flagDefault?: boolean;
|
|
@@ -28,8 +52,8 @@ export interface ITrackEntry {
|
|
|
28
52
|
trackTimecodeScale?: number;
|
|
29
53
|
name?: string;
|
|
30
54
|
language?: string;
|
|
31
|
-
codecID
|
|
32
|
-
codecPrivate?:
|
|
55
|
+
codecID?: string;
|
|
56
|
+
codecPrivate?: Buffer;
|
|
33
57
|
codecName?: string;
|
|
34
58
|
codecSettings?: string;
|
|
35
59
|
codecInfoUrl?: string;
|
|
@@ -46,14 +70,14 @@ export interface ITrackVideo {
|
|
|
46
70
|
displayHeight?: number;
|
|
47
71
|
displayUnit?: number;
|
|
48
72
|
aspectRatioType?: number;
|
|
49
|
-
colourSpace?:
|
|
73
|
+
colourSpace?: Buffer;
|
|
50
74
|
gammaValue?: number;
|
|
51
75
|
}
|
|
52
76
|
export interface ITrackAudio {
|
|
53
77
|
samplingFrequency?: number;
|
|
54
78
|
outputSamplingFrequency?: number;
|
|
55
79
|
channels?: number;
|
|
56
|
-
channelPositions?:
|
|
80
|
+
channelPositions?: Buffer;
|
|
57
81
|
bitDepth?: number;
|
|
58
82
|
}
|
|
59
83
|
export interface ICuePoint {
|
|
@@ -76,36 +100,33 @@ export interface ICueReference {
|
|
|
76
100
|
export interface ISimpleTag {
|
|
77
101
|
name?: string;
|
|
78
102
|
'string'?: string;
|
|
79
|
-
binary?:
|
|
103
|
+
binary?: Buffer;
|
|
80
104
|
language?: string;
|
|
81
105
|
default?: boolean;
|
|
82
106
|
}
|
|
83
|
-
export declare
|
|
84
|
-
10
|
|
85
|
-
20
|
|
86
|
-
30
|
|
87
|
-
40
|
|
88
|
-
50
|
|
89
|
-
60
|
|
90
|
-
70
|
|
91
|
-
}
|
|
92
|
-
export declare
|
|
93
|
-
video
|
|
94
|
-
audio
|
|
95
|
-
complex
|
|
96
|
-
logo
|
|
97
|
-
subtitle
|
|
98
|
-
button
|
|
99
|
-
control
|
|
100
|
-
}
|
|
101
|
-
export type TrackType = typeof TrackType[keyof typeof TrackType];
|
|
102
|
-
export type TrackTypeKey = keyof typeof TrackType;
|
|
103
|
-
export declare const TrackTypeValueToKeyMap: Record<TrackType, TrackTypeKey>;
|
|
107
|
+
export declare enum TargetType {
|
|
108
|
+
shot = 10,
|
|
109
|
+
scene = 20,
|
|
110
|
+
track = 30,
|
|
111
|
+
part = 40,
|
|
112
|
+
album = 50,
|
|
113
|
+
edition = 60,
|
|
114
|
+
collection = 70
|
|
115
|
+
}
|
|
116
|
+
export declare enum TrackType {
|
|
117
|
+
video = 1,
|
|
118
|
+
audio = 2,
|
|
119
|
+
complex = 3,
|
|
120
|
+
logo = 4,
|
|
121
|
+
subtitle = 17,
|
|
122
|
+
button = 18,
|
|
123
|
+
control = 32
|
|
124
|
+
}
|
|
104
125
|
export interface ITarget {
|
|
105
|
-
trackUID?:
|
|
106
|
-
chapterUID?:
|
|
107
|
-
attachmentUID?:
|
|
108
|
-
targetTypeValue?:
|
|
126
|
+
trackUID?: Buffer;
|
|
127
|
+
chapterUID?: Buffer;
|
|
128
|
+
attachmentUID?: Buffer;
|
|
129
|
+
targetTypeValue?: TargetType;
|
|
109
130
|
targetType?: string;
|
|
110
131
|
}
|
|
111
132
|
export interface ITag {
|
|
@@ -122,21 +143,33 @@ export interface IAttachmedFile {
|
|
|
122
143
|
description?: string;
|
|
123
144
|
name: string;
|
|
124
145
|
mimeType: string;
|
|
125
|
-
data:
|
|
146
|
+
data: Buffer;
|
|
126
147
|
uid: string;
|
|
127
148
|
}
|
|
128
149
|
export interface IAttachments {
|
|
129
|
-
attachedFiles
|
|
150
|
+
attachedFiles?: IAttachmedFile[];
|
|
130
151
|
}
|
|
131
152
|
export interface IMatroskaSegment {
|
|
132
|
-
metaSeekInfo?:
|
|
133
|
-
seekHeads?:
|
|
153
|
+
metaSeekInfo?: IMetaSeekInformation;
|
|
154
|
+
seekHeads?: ISeekHead[];
|
|
134
155
|
info?: ISegmentInformation;
|
|
135
156
|
tracks?: ITrackElement;
|
|
136
157
|
tags?: ITags;
|
|
137
158
|
cues?: ICuePoint[];
|
|
138
159
|
attachments?: IAttachments;
|
|
139
160
|
}
|
|
161
|
+
export interface IEbmlElements {
|
|
162
|
+
version?: number;
|
|
163
|
+
readVersion?: number;
|
|
164
|
+
maxIDWidth?: number;
|
|
165
|
+
maxSizeWidth?: number;
|
|
166
|
+
docType?: string;
|
|
167
|
+
docTypeVersion?: number;
|
|
168
|
+
docTypeReadVersion?: number;
|
|
169
|
+
}
|
|
170
|
+
export interface IEbmlDoc {
|
|
171
|
+
ebml: IEbmlElements;
|
|
172
|
+
}
|
|
140
173
|
export interface IMatroskaDoc extends IEbmlDoc {
|
|
141
174
|
segment: IMatroskaSegment;
|
|
142
175
|
}
|
|
@@ -1,27 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
[
|
|
21
|
-
[
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
[TrackType
|
|
26
|
-
[TrackType
|
|
27
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TrackType = exports.TargetType = exports.DataType = void 0;
|
|
4
|
+
var DataType;
|
|
5
|
+
(function (DataType) {
|
|
6
|
+
DataType[DataType["string"] = 0] = "string";
|
|
7
|
+
DataType[DataType["uint"] = 1] = "uint";
|
|
8
|
+
DataType[DataType["uid"] = 2] = "uid";
|
|
9
|
+
DataType[DataType["bool"] = 3] = "bool";
|
|
10
|
+
DataType[DataType["binary"] = 4] = "binary";
|
|
11
|
+
DataType[DataType["float"] = 5] = "float";
|
|
12
|
+
})(DataType = exports.DataType || (exports.DataType = {}));
|
|
13
|
+
var TargetType;
|
|
14
|
+
(function (TargetType) {
|
|
15
|
+
TargetType[TargetType["shot"] = 10] = "shot";
|
|
16
|
+
TargetType[TargetType["scene"] = 20] = "scene";
|
|
17
|
+
TargetType[TargetType["track"] = 30] = "track";
|
|
18
|
+
TargetType[TargetType["part"] = 40] = "part";
|
|
19
|
+
TargetType[TargetType["album"] = 50] = "album";
|
|
20
|
+
TargetType[TargetType["edition"] = 60] = "edition";
|
|
21
|
+
TargetType[TargetType["collection"] = 70] = "collection";
|
|
22
|
+
})(TargetType = exports.TargetType || (exports.TargetType = {}));
|
|
23
|
+
var TrackType;
|
|
24
|
+
(function (TrackType) {
|
|
25
|
+
TrackType[TrackType["video"] = 1] = "video";
|
|
26
|
+
TrackType[TrackType["audio"] = 2] = "audio";
|
|
27
|
+
TrackType[TrackType["complex"] = 3] = "complex";
|
|
28
|
+
TrackType[TrackType["logo"] = 4] = "logo";
|
|
29
|
+
TrackType[TrackType["subtitle"] = 17] = "subtitle";
|
|
30
|
+
TrackType[TrackType["button"] = 18] = "button";
|
|
31
|
+
TrackType[TrackType["control"] = 32] = "control";
|
|
32
|
+
})(TrackType = exports.TrackType || (exports.TrackType = {}));
|
|
33
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import { ITokenizer } from 'strtok3/lib/core';
|
|
2
|
+
import * as AtomToken from './AtomToken';
|
|
3
3
|
export type AtomDataHandler = (atom: Atom, remaining: number) => Promise<void>;
|
|
4
4
|
export declare class Atom {
|
|
5
|
-
static readAtom(tokenizer: ITokenizer, dataHandler: AtomDataHandler, parent: Atom | null, remaining: number): Promise<Atom>;
|
|
6
|
-
readonly children: Atom[];
|
|
7
|
-
readonly atomPath: string;
|
|
8
5
|
readonly header: AtomToken.IAtomHeader;
|
|
9
6
|
extended: boolean;
|
|
10
|
-
readonly parent: Atom
|
|
11
|
-
|
|
7
|
+
readonly parent: Atom;
|
|
8
|
+
static readAtom(tokenizer: ITokenizer, dataHandler: AtomDataHandler, parent: Atom, remaining: number): Promise<Atom>;
|
|
9
|
+
readonly children: Atom[];
|
|
10
|
+
readonly atomPath: string;
|
|
11
|
+
constructor(header: AtomToken.IAtomHeader, extended: boolean, parent: Atom);
|
|
12
12
|
getHeaderLength(): number;
|
|
13
13
|
getPayloadLength(remaining: number): number;
|
|
14
14
|
readAtoms(tokenizer: ITokenizer, dataHandler: AtomDataHandler, size: number): Promise<void>;
|