solitudechn
20b746bee5
fix(ncm): Handle mixed-type artist field in metadata parsing
...
The current implementation for parsing artist metadata in `ncmMetaMusic.GetArtists` does not handle cases where the "artist" JSON field is a list containing mixed-type inner lists.
For certain NCM files (often those with FLAC format), the artist data is structured as `[["Artist Name", 12345]]`. The existing type assertion for `[][]string` fails for this structure because the inner slice is of type `[]interface{}`, not `[]string`. This results in the artist metadata being dropped during the conversion process.
This commit enhances the `GetArtists` method by adding a new case to the `type switch` to specifically handle the `[]interface{}` type. The new logic iterates through the nested structure and correctly extracts the artist name, which is assumed to be the first string element in each inner slice.
This fix improves compatibility with a wider range of NCM files and ensures artist metadata is reliably parsed, preventing data loss for affected files.
2025-08-09 23:58:03 +00:00
鲁树人
17cde2a1a5
refactor: rename functions to follow go pattern
2025-05-08 06:10:17 +09:00
鲁树人
006bad8c48
feat: first version of kgg support
2025-05-07 08:12:57 +09:00
Zhang
208aceb1b5
fix: .mflacm support
2025-02-18 18:46:37 +08:00
鲁树人
f753b9c67d
fix #78 #106 : app crash due to imcompatible ncm metadata json
2024-11-02 13:44:29 +09:00
鲁树人
fbad7ec450
fix #102 : support multi-part kgm extensions (kgm.flac/vpr.flac)
2024-10-21 03:58:21 +09:00
鲁树人
19bc6c466e
refactor: allow multi-part extensions ( #102 )
2024-10-21 03:57:56 +09:00
鲁树人
c87204c78a
fix #96 : ncm file parsing when image cover 2 is not empty
2024-09-12 15:08:04 +01:00
鲁树人
59f3759d48
fix: add more extensions (Mac) #71
2024-09-04 22:47:02 +01:00
鲁树人
68e0c06246
refactor: rework on MusicEx footer parser
2024-07-06 20:32:26 +01:00
鲁树人
e010d1b308
refactor: make mmkv key optional; change cli params name
2024-07-06 19:55:31 +01:00
awalol
1c5310ffae
一些修改
2024-02-14 16:59:05 +08:00
awalol
2941a9ac76
refactor: qmc musicex footer parser
2024-02-13 02:41:42 +08:00
awalol
1835f9852a
修改 shuffixBuf 匹配方法
2024-02-13 01:17:52 +08:00
awalol
4f4d8db3d5
refactor: load mmkv on startup
2024-02-13 00:58:13 +08:00
awalol
877f37f01e
feat: mmkv 加密数据库解析
2024-02-05 08:41:40 +08:00
NestorRay
9ddbd5f702
DELETE not necessary MusicID,AlbumID etc.
2024-01-28 16:24:58 +08:00
NestorRay
d480c9a2f8
CHANGE metadata INT into interface{}
2024-01-28 13:06:30 +08:00
鲁树人
4ad9a721f0
fix: dynamic music id type
2024-01-28 03:59:17 +00:00
Unlock Music Dev
fd6f830916
feat(meta): write album art & metadata into destination file
2022-12-06 23:55:43 +08:00
Unlock Music Dev
02e065aac4
feat(meta): add writing metadata by ffmpeg
2022-12-06 21:52:19 +08:00
Unlock Music Dev
9856f52070
feat: add meta parser from filename
2022-12-06 21:52:18 +08:00
Unlock Music Dev
112d9ab28e
feat(qmc): allow retrieve metadata online
2022-12-06 21:52:18 +08:00
Unlock Music Dev
f60f0b3d07
feat(qmc): add search interface
2022-12-06 21:52:17 +08:00
Unlock Music Dev
9494a535a9
feat(qmc): support audio meta getter
2022-12-06 21:52:16 +08:00
Unlock Music Dev
138adbf846
feat(ncm): support audio meta getter
2022-12-06 21:52:16 +08:00
Unlock Music Dev
e9e63ce175
feat(qmc): improve m4a & mp4 sniff
2022-12-06 21:47:33 +08:00
Unlock Music Dev
21eab14e6c
feat(qmc): add mmp4 format
2022-12-06 18:42:58 +08:00
Unlock Music Dev
12be881d42
chore: add accident removed comment
2022-12-05 11:10:40 +08:00
Unlock Music Dev
6f033af336
chore: remove unused debug log
2022-12-05 11:08:54 +08:00
Unlock Music Dev
79d00b356f
feat(qmc): use unicode normalize to match filename
2022-12-05 11:04:57 +08:00
Unlock Music Dev
3739638ddf
feat(qmc): use editorial distance to find the key
2022-12-05 09:43:33 +08:00
Unlock Music Dev
423767ba63
fix(qmc): fix key from mmkv
2022-12-05 08:54:40 +08:00
Unlock Music Dev
5fbcdb77d4
fix(qmc): use pure go mmkv
2022-12-05 07:24:03 +08:00
Unlock Music Dev
52e986e644
feat(qmc): support .mflach on darwin
2022-12-05 00:06:38 +08:00
Unlock Music Dev
d2019b04ec
fix: qmc test
2022-12-04 23:14:06 +08:00
Unlock Music Dev
ea3236e14b
refactor: change decoder init parameter
2022-12-04 23:05:38 +08:00
Unlock Music Dev
6c168ee536
refactor: move audio sniffer to internal package
2022-11-22 06:16:40 +08:00
Unlock Music Dev
62a38d5ab4
fix(ximalaya): x2m scramble table loading
2022-11-21 13:30:48 +08:00
Unlock Music Dev
81862b26c9
feat(ximalaya): initial support
2022-11-20 08:04:39 +08:00
Unlock Music Dev
d896925dff
fix(kwm): allow new magic header
2022-11-20 03:12:30 +08:00
Unlock Music Dev
bd95fdb53b
fix: unit tests
2022-11-20 02:53:04 +08:00
Unlock Music Dev
f6748d644d
refactor: code cleaning
2022-11-20 02:47:28 +08:00
Unlock Music Dev
8e068b9c8d
refactor: rename xm -> xiami
2022-11-20 02:18:50 +08:00
Unlock Music Dev
14c9d49d46
refactor: change module path
2022-11-19 07:44:44 +08:00
Unlock Music Dev
6f1cdc5b4f
fix: raw don't access registry
2022-11-19 07:25:45 +08:00
Unlock Music Dev
8fd6763b29
fix: allow unencrypted tm0 tm3
2022-11-19 07:25:44 +08:00
Unlock Music Dev
2880c63bf7
fix: seek to audio start after validate
2022-11-19 07:25:44 +08:00
Unlock Music Dev
67ff0c44cd
refactor: use io.Reader instead of custom method
2022-11-19 07:25:43 +08:00
Unlock Music Dev
4365628bff
refactor: qmc don't export internal functions
2022-11-19 07:25:42 +08:00