Commit Graph

100 Commits

Author SHA1 Message Date
鲁树人
b1aa3bacdf fix: relax regex to extract udid from plist 2025-09-09 22:24:16 +09:00
鲁树人
a46428e07c feat: support QQMusic from AppStore 2025-09-09 21:49:22 +09:00
鲁树人
e06a21123f feat: QQMusic Mac v10 mmkv support 2025-09-08 23:30:27 +09:00
鲁树人
35dbfdc5d1 chore: update url to new git host 2025-09-06 23:58:58 +09:00
鲁树人
00fefc1297 chore: rename project namespace 2025-09-06 23:50:08 +09:00
鲁树人
4671143030 refactor: restrict kgg db support to Windows only 2025-09-06 23:48:21 +09:00
鲁树人
9b0455b0fd refactor: improve mmkv logic 2025-09-06 23:44:07 +09:00
鲁树人
92ad51402e fix: use mmkv from github 2025-09-03 00:43:40 +09:00
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