music-metadata 8.0.0 → 8.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/README.md +4 -3
  2. package/lib/ParserFactory.d.ts +48 -0
  3. package/lib/aiff/AiffParser.d.ts +15 -0
  4. package/lib/aiff/AiffParser.js +13 -1
  5. package/lib/aiff/AiffTagMap.d.ts +4 -0
  6. package/lib/aiff/AiffTagMap.js +16 -0
  7. package/lib/aiff/AiffToken.d.ts +23 -0
  8. package/lib/apev2/APEv2Parser.d.ts +30 -0
  9. package/lib/apev2/APEv2TagMapper.d.ts +4 -0
  10. package/lib/apev2/APEv2Token.d.ts +100 -0
  11. package/lib/asf/AsfObject.d.ts +320 -0
  12. package/lib/asf/AsfParser.d.ts +17 -0
  13. package/lib/asf/AsfTagMapper.d.ts +7 -0
  14. package/lib/asf/AsfUtil.d.ts +14 -0
  15. package/lib/asf/GUID.d.ts +84 -0
  16. package/lib/common/BasicParser.d.ts +17 -0
  17. package/lib/common/CaseInsensitiveTagMap.d.ts +10 -0
  18. package/lib/common/CombinedTagMapper.d.ts +19 -0
  19. package/lib/common/CombinedTagMapper.js +3 -1
  20. package/lib/common/FourCC.d.ts +6 -0
  21. package/lib/common/FourCC.js +2 -5
  22. package/lib/common/GenericTagMapper.d.ts +51 -0
  23. package/lib/common/GenericTagTypes.d.ts +33 -0
  24. package/lib/common/MetadataCollector.d.ts +76 -0
  25. package/lib/common/MetadataCollector.js +2 -2
  26. package/lib/common/RandomFileReader.d.ts +22 -0
  27. package/lib/common/RandomUint8ArrayReader.d.ts +18 -0
  28. package/lib/common/Util.d.ts +57 -0
  29. package/lib/core.d.ts +48 -0
  30. package/lib/dsdiff/DsdiffParser.d.ts +14 -0
  31. package/lib/dsdiff/DsdiffToken.d.ts +9 -0
  32. package/lib/dsf/DsfChunk.d.ts +86 -0
  33. package/lib/dsf/DsfParser.d.ts +9 -0
  34. package/lib/flac/FlacParser.d.ts +28 -0
  35. package/lib/id3v1/ID3v1Parser.d.ts +13 -0
  36. package/lib/id3v1/ID3v1TagMap.d.ts +4 -0
  37. package/lib/id3v2/AbstractID3Parser.d.ts +17 -0
  38. package/lib/id3v2/FrameParser.d.ts +31 -0
  39. package/lib/id3v2/ID3v22TagMapper.d.ts +9 -0
  40. package/lib/id3v2/ID3v24TagMapper.d.ts +14 -0
  41. package/lib/id3v2/ID3v2Parser.d.ts +28 -0
  42. package/lib/id3v2/ID3v2Token.d.ts +73 -0
  43. package/lib/iff/index.d.ts +33 -0
  44. package/lib/index.d.ts +21 -0
  45. package/lib/lyrics3/Lyrics3.d.ts +3 -0
  46. package/lib/matroska/MatroskaDtd.d.ts +8 -0
  47. package/lib/matroska/MatroskaParser.d.ts +37 -0
  48. package/lib/matroska/MatroskaTagMapper.d.ts +4 -0
  49. package/lib/matroska/types.d.ts +175 -0
  50. package/lib/mp4/Atom.d.ts +16 -0
  51. package/lib/mp4/AtomToken.d.ts +395 -0
  52. package/lib/mp4/MP4Parser.d.ts +30 -0
  53. package/lib/mp4/MP4TagMapper.d.ts +5 -0
  54. package/lib/mpeg/ExtendedLameHeader.d.ts +27 -0
  55. package/lib/mpeg/MpegParser.d.ts +49 -0
  56. package/lib/mpeg/ReplayGainDataFormat.d.ts +55 -0
  57. package/lib/mpeg/XingTag.d.ts +45 -0
  58. package/lib/musepack/index.d.ts +5 -0
  59. package/lib/musepack/sv7/BitReader.d.ts +13 -0
  60. package/lib/musepack/sv7/MpcSv7Parser.d.ts +8 -0
  61. package/lib/musepack/sv7/StreamVersion7.d.ts +28 -0
  62. package/lib/musepack/sv8/MpcSv8Parser.d.ts +6 -0
  63. package/lib/musepack/sv8/StreamVersion8.d.ts +40 -0
  64. package/lib/ogg/Ogg.d.ts +72 -0
  65. package/lib/ogg/OggParser.d.ts +23 -0
  66. package/lib/ogg/opus/Opus.d.ts +48 -0
  67. package/lib/ogg/opus/OpusParser.d.ts +25 -0
  68. package/lib/ogg/speex/Speex.d.ts +36 -0
  69. package/lib/ogg/speex/SpeexParser.d.ts +22 -0
  70. package/lib/ogg/theora/Theora.d.ts +20 -0
  71. package/lib/ogg/theora/TheoraParser.d.ts +28 -0
  72. package/lib/ogg/vorbis/Vorbis.d.ts +69 -0
  73. package/lib/ogg/vorbis/VorbisDecoder.d.ts +12 -0
  74. package/lib/ogg/vorbis/VorbisParser.d.ts +36 -0
  75. package/lib/ogg/vorbis/VorbisTagMapper.d.ts +7 -0
  76. package/lib/riff/RiffChunk.d.ts +16 -0
  77. package/lib/riff/RiffInfoTagMap.d.ts +10 -0
  78. package/lib/type.d.ts +593 -0
  79. package/lib/wav/BwfChunk.d.ts +17 -0
  80. package/lib/wav/WaveChunk.d.ts +64 -0
  81. package/lib/wav/WaveParser.d.ts +24 -0
  82. package/lib/wavpack/WavPackParser.d.ts +14 -0
  83. package/lib/wavpack/WavPackToken.d.ts +64 -0
  84. package/package.json +13 -13
@@ -0,0 +1,64 @@
1
+ import { IGetToken } from 'strtok3/core';
2
+ /**
3
+ * WavPack Block Header
4
+ *
5
+ * 32-byte little-endian header at the front of every WavPack block
6
+ *
7
+ * Ref:
8
+ * - http://www.wavpack.com/WavPack5FileFormat.pdf (page 2/6: 2.0 "Block Header")
9
+ */
10
+ export interface IBlockHeader {
11
+ BlockID: string;
12
+ blockSize: number;
13
+ version: number;
14
+ blockIndex: number;
15
+ totalSamples: number;
16
+ blockSamples: number;
17
+ flags: {
18
+ bitsPerSample: number;
19
+ isMono: boolean;
20
+ isHybrid: boolean;
21
+ isJointStereo: boolean;
22
+ crossChannel: boolean;
23
+ hybridNoiseShaping: boolean;
24
+ floatingPoint: boolean;
25
+ samplingRate: number;
26
+ isDSD: boolean;
27
+ };
28
+ crc: Uint8Array;
29
+ }
30
+ export interface IMetadataId {
31
+ /**
32
+ * metadata function id
33
+ */
34
+ functionId: number;
35
+ /**
36
+ * If true, audio-decoder does not need to understand the metadata field
37
+ */
38
+ isOptional: boolean;
39
+ /**
40
+ * actual data byte length is 1 less
41
+ */
42
+ isOddSize: boolean;
43
+ /**
44
+ * large block (> 255 words)
45
+ */
46
+ largeBlock: boolean;
47
+ }
48
+ export declare class WavPack {
49
+ /**
50
+ * WavPack Block Header
51
+ *
52
+ * 32-byte little-endian header at the front of every WavPack block
53
+ *
54
+ * Ref: http://www.wavpack.com/WavPack5FileFormat.pdf (page 2/6: 2.0 "Block Header")
55
+ */
56
+ static BlockHeaderToken: IGetToken<IBlockHeader>;
57
+ /**
58
+ * 3.0 Metadata Sub-Blocks
59
+ * Ref: http://www.wavpack.com/WavPack5FileFormat.pdf (page 4/6: 3.0 "Metadata Sub-Block")
60
+ */
61
+ static MetadataIdToken: IGetToken<IMetadataId>;
62
+ private static isBitSet;
63
+ private static getBitAllignedNumber;
64
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "music-metadata",
3
3
  "description": "Music metadata parser for Node.js, supporting virtual any audio and tag format.",
4
- "version": "8.0.0",
4
+ "version": "8.1.0",
5
5
  "author": {
6
6
  "name": "Borewit",
7
7
  "url": "https://github.com/Borewit"
@@ -92,42 +92,42 @@
92
92
  "@tokenizer/token": "^0.3.0",
93
93
  "content-type": "^1.0.4",
94
94
  "debug": "^4.3.4",
95
- "file-type": "^17.1.6",
95
+ "file-type": "^18.0.0",
96
96
  "media-typer": "^1.1.0",
97
97
  "strtok3": "^7.0.0",
98
98
  "token-types": "^5.0.1"
99
99
  },
100
100
  "devDependencies": {
101
- "@types/chai": "^4.3.1",
101
+ "@types/chai": "^4.3.3",
102
102
  "@types/chai-as-promised": "^7.1.5",
103
103
  "@types/debug": "^4.1.7",
104
104
  "@types/file-type": "^10.9.1",
105
- "@types/mocha": "^9.1.0",
106
- "@types/node": "^18.6.3",
107
- "@typescript-eslint/eslint-plugin": "^5.32.0",
108
- "@typescript-eslint/parser": "^5.32.0",
105
+ "@types/mocha": "^9.1.1",
106
+ "@types/node": "^18.7.18",
107
+ "@typescript-eslint/eslint-plugin": "^5.37.0",
108
+ "@typescript-eslint/parser": "^5.37.0",
109
109
  "c8": "^7.12.0",
110
110
  "chai": "^4.3.6",
111
111
  "chai-as-promised": "^7.1.1",
112
112
  "del-cli": "5.0.0",
113
- "eslint": "^8.21.0",
113
+ "eslint": "^8.23.1",
114
114
  "eslint-config-prettier": "^8.5.0",
115
- "eslint-import-resolver-typescript": "^3.4.0",
115
+ "eslint-import-resolver-typescript": "^3.5.1",
116
116
  "eslint-plugin-import": "^2.26.0",
117
- "eslint-plugin-jsdoc": "^39.3.4",
117
+ "eslint-plugin-jsdoc": "^39.3.6",
118
118
  "eslint-plugin-node": "^11.1.0",
119
119
  "eslint-plugin-unicorn": "^43.0.2",
120
120
  "mime": "^3.0.0",
121
121
  "mocha": "^10.0.0",
122
122
  "npm-run-all": "^4.1.5",
123
- "prettier": "^2.5.1",
123
+ "prettier": "^2.7.1",
124
124
  "remark-cli": "^11.0.0",
125
125
  "remark-preset-lint-recommended": "^6.1.2",
126
126
  "ts-node": "^10.9.1",
127
- "typescript": "^4.7.4"
127
+ "typescript": "^4.8.3"
128
128
  },
129
129
  "engines": {
130
- "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
130
+ "node": "^14.13.1 || >=16.0.0"
131
131
  },
132
132
  "repository": {
133
133
  "type": "git",