1
0
mirror of synced 2026-08-31 15:54:34 +00:00
Commit Graph

234 Commits

Author SHA1 Message Date
ma225tq d1916dea39 test: add test for multiple album artists in FLAC files 2026-02-08 14:15:46 +01:00
ma225tq 6027f894c2 test: add multiple album artists (TPE2) test
Verifies that albumartists array is populated from null-separated TPE2 frame values.
2026-02-08 14:15:46 +01:00
glebrock e191ae87e8 #2574: add support for correctly populating the 'metadata.common.grouping' field for a file with an Tunes IDv2.2 tag with the 'GP1' frame 2026-02-02 20:18:17 +01:00
Borewit 4909b6fe12 fix(id3v2): prevent crash when no tag frames present
Fix TypeError: Cannot read properties of undefined (reading 'filter') by defaulting missing frame/tag collections to empty arrays/objects.

- Add MP3 sample without tags + regression test
- Update related TS configs and dependencies/lockfile
2026-01-28 19:54:25 +01:00
Borewit 8c822709d3 Add ID3v2 chapter support 2026-01-24 19:48:05 +01:00
Borewit 9f5f545136 Fix Ogg/Opus duration calculation.
Duration calculation requires to parse the entire Ogg/Opus file.
2025-11-15 19:24:15 +01:00
Gérald LEBAN 44f262f011 Add support for vorbis unsynced lyrics (#2489)
Extract unsynced vorbis lyrics
---------
Co-authored-by: Borewit <Borewit@users.noreply.github.com>
2025-11-09 14:55:57 +01:00
Borewit 65e6146668 Add support Apple’s QuickTime File Format 2025-11-09 14:14:54 +01:00
Borewit 5445cbb816 Support variable length PCNT and POPM numeric values.
Add `common.playCounter`
2025-09-15 20:36:21 +02:00
Borewit ff13f3e03c Map Vorbis.ENCODER and Vorbis VORBIS_COMMENT vendor to common.tool 2025-09-15 17:25:37 +02:00
Borewit 2849deb89e CI: Improve structure Ogg unit tests
- Move an Ogg/Vorbis test to the correct description.
- Move some Ogg files, to the `ogg` subfolder
2025-07-20 13:32:23 +02:00
Borewit 121078b757 Add support for Ogg/FLAC 2025-07-03 22:17:42 +02:00
Borewit 1824cc1394 Implement handling multiple Ogg sub streams 2025-07-01 12:34:25 +02:00
Borewit b16866e666 Add support for MP4 fragments
Add support to decode `moof`, `traf`, `tfhd`, and `trak` boxes
2025-06-26 20:52:44 +02:00
wizcheu 715cc50bfc Modifier the sample flac audio file with Lyrics tag value, for example:
[00:00.920]歪んだ憂いが飛び交う中で失い失い
[00:06.240]膝をつく道化
[00:08.210]あの蝶は自由になれたかな
[00:11.420]情熱は孤独と燃える
[00:24.395]昨日の自分に興味なんかない
[00:27.744]白黒返す言葉裏表
[00:31.437]常識とか言う偏見を編み込み
[00:34.820]明暗を分かつマジョリティ
2025-06-14 11:12:06 +02:00
Borewit db239009a2 Improve error handling in case the file is not supported
Changes:
- Avoid out of range error, parsing a very small file
- Export errors: `CouldNotDetermineFileTypeError` and `UnsupportedFileTypeError`
- Include the file path in the error message, in case the file path is known
2025-04-02 19:55:38 +02:00
Borewit ca306bfc1e Fix size in 'stst' box and handle sample description entry 2025-01-24 21:52:09 +01:00
Borewit 97e09eab2c Drop AMR support 2025-01-13 15:25:08 +01:00
Borewit f12c588ad1 Add support for LRC Lyrics 2024-11-10 16:58:57 +01:00
Borewit 4c63681bdd Borewit/music-metadata#782 Support Adaptive Multi-Rate (AMR) audio codec 2024-09-08 17:29:17 +02:00
Borewit c7fd893a22 Add support for ID3v2 SYLT frame
Improve and extend generic comment mapping
2024-07-20 15:32:17 +02:00
Borewit 83f1bddaa2 Merge pull request #2054 from scottgarner/master
Add iTunes grouping tag, GRP1.
2024-05-29 21:27:34 +02:00
Borewit e705fad41f Add unit for ID3v2.4 GRP1 2024-05-29 21:16:04 +02:00
Borewit bb54843ea5 Fix ID3v2.3 & ID3v2.4 USLT mapping to common.lyrics 2024-05-28 22:40:57 +02:00
Borewit 976dc49ecd Add support for Vorbis Comment RATING tag 2023-11-07 20:17:55 +01:00
Borewit c07debb399 Add support for MP4 (M4A) rating support via the moov.udta.meta.ilst.rate atom (box) 2023-11-07 20:17:22 +01:00
Arthur Jamet 48e45e3377 RIFF Tag Mapping: Add sample file + test 2023-03-28 22:19:05 +02:00
Borewit 3dc4ca9656 Handle Matroska file without duration
Resolves #1463
2023-01-05 12:47:02 +01:00
Borewit 9661700f68 Fix parsing uncompressed AIFF-C audio file
Resolves: Borewit/music-metadata#1211
2022-08-04 11:12:20 +02:00
Borewit d6bc3a0676 Merge pull request #1194 from Borewit/snyk-fix-988998897f377eb0c740c031a66fdc54
[Snyk] Security upgrade file-type from 16.5.3 to 16.5.4
2022-07-24 11:18:54 +02:00
Borewit b486eb64ce Fix WAV parser, sync issue with Broadcast Wave Format (BWF) Audio Extension chunk
Strips null characters from BWF extension strings.

Resolves: Borewit/music-metadata#1163
2022-07-04 11:59:23 +02:00
Borewit be2222c0e7 Handle invalid (odd octet length) UTF-16 string
Register a warning instead of a fatal error.

Resolves Borewit/music-metadata#979
2022-01-17 15:58:51 +01:00
Borewit 48f9571c21 Map tag ID3v2.2 TBP to common.bpm
Also ensures `common.bpm` is a numeric value.
2022-01-12 22:13:17 +01:00
Borewit 3ef035c330 Ignore leading nulls in UTF-8 values
Allow leading null characters in UTF-8 fields as specified in EBML 11.1.3. Terminating Element Data.

Resolves: #897
2021-08-30 21:46:14 +02:00
Borewit 2923a8be25 MP4 decoder: Replace Buffer with Uint8Array in integer decoding
Improve unit test: replace `Buffer` with `Uint8Array`.

Fix: Borewit/music-metadata#877, Borewit/audio-tag-analyzer#563
2021-08-04 11:52:06 +02:00
Borewit 2d1d8c250e Fix default value type mapping in Matroska parser.
Fix: Borewit/music-metadata#835
2021-06-27 10:07:06 +02:00
Borewit 92fda774f3 Improve and fix Matroska tag mapping 2021-06-26 16:04:13 +02:00
Borewit f772a56feb Borewit/music-metadata#819 WAV parser: Add workaround for duration calculation in case of an invalid high chunk size.
Remove duplicated unit test.
2021-06-23 21:51:39 +02:00
Borewit b67e7a2bf2 Borewit/music-metadata#828 Handle invalid LAME version. 2021-06-05 12:15:21 +02:00
Borewit 46b47a2421 Borewit/music-metadata#802 Add unit test for mapping "TXXX:ISRC" in TD3v2.4 header. 2021-04-26 11:48:49 +02:00
Borewit 59c51a3ccc Add unit test handling ID32.2 tag ID's in ID32.3 header 2021-04-18 13:07:21 +02:00
Borewit 4133508c67 Borewit/music-metadata#765 Support Matroska stream 2021-02-25 20:40:23 +01:00
Borewit 67535ef865 Borewit/music-metadata#668 Add unit tests 2021-02-17 20:16:28 +01:00
Borewit 8e2fc6db0b Improve parsing LAME header 2021-02-08 18:18:38 +01:00
Borewit d3e7618af7 #749 Add unit test for handling MP4 0 box length. 2021-02-06 20:35:34 +01:00
Borewit d56cf696f5 Borewit/music-metadata#744: Add unit test. 2021-02-04 20:19:00 +01:00
Borewit 1e7e5fe3db Handle odd list-tag-ID in Type-Chunk. 2021-01-04 19:48:58 +01:00
Borewit fa80ad3211 Extract MP4 creation and modification time 2021-01-02 19:32:22 +01:00
Borewit 3e0f1ce092 Handle missing chunk size in RIFF/WAVE. 2020-12-30 16:39:21 +01:00
Borewit 2c1b925ce7 Borewit/music-metadata#691 Fix handling empty ID3v2 PRIV tag. 2020-12-15 07:39:32 +01:00