Commit Graph

96 Commits

Author SHA1 Message Date
Uyanide 633983ed98 feat: watch mode fetch immediatly on track changes regardless of player status 2026-04-10 08:23:54 +02:00
Uyanide 1c160d5ccb fix: watch pipe skips refetch after resume from pause 2026-04-10 00:03:33 +02:00
Uyanide b7e539de3b feat: add --no-newline option for watch pipe 2026-04-10 00:03:33 +02:00
Uyanide e6997a76c4 fix: watch pipe mode repeatedly refetch when no lyrics available 2026-04-09 23:28:33 +02:00
Uyanide 6d9cfaf8be refactor: modules only need to know the config values they need to know 2026-04-09 23:14:51 +02:00
Uyanide 66a32c751a style: relative import 2026-04-09 23:14:50 +02:00
Uyanide d2a3e64b89 feat: config file
refactor: as the config module changed
test: add test for config
test: add test for local fetcher and local enrichers
test: add test for manual insertion
fix: some random bugs left by the last commit
2026-04-09 22:42:41 +02:00
Uyanide e6b8583868 feat: add watch command and pipe view 2026-04-09 22:42:41 +02:00
Uyanide 03970bf17f chore: update README and LICENSE 2026-04-08 17:00:16 +02:00
Uyanide 9b42cab76b fix: preserve input order for equal-timestamp lyrics in normalize and to_plain 2026-04-08 12:32:56 +02:00
Uyanide f8db549d8e fix: change TTL of unsynced lyrics to infinite 2026-04-08 09:03:43 +02:00
Uyanide d5188107ff test: clarify semantics & remove duplicates 2026-04-08 09:03:43 +02:00
Uyanide 587d5dbe46 feat: normalize option 2026-04-08 08:01:41 +02:00
Uyanide 1e0f8e2868 fix: remove unused to_unsynced 2026-04-08 08:01:41 +02:00
Uyanide 573f8b5b8b test: update tests for lrc 2026-04-08 08:01:40 +02:00
Uyanide b922a0df28 refactor: better (really?🤨) lrc parsing and handling 2026-04-07 19:33:17 +02:00
Uyanide 1414066eed chore: de-markdown-lize comments 2026-04-07 19:33:17 +02:00
Uyanide 5666dd13c0 test: -1 2026-04-07 15:01:02 +02:00
Uyanide f175eda57e refactor: change cache schema to slots based 2026-04-07 14:54:36 +02:00
Uyanide 92860f0d30 test: clarify known limitations in the only xfail case 2026-04-07 14:54:36 +02:00
Uyanide 0c85af534e refactor: large scale refactor regarding selection & fetchers 2026-04-06 22:30:55 +02:00
Uyanide 69b7f5c60c chore: switch to src layout 2026-04-06 10:29:03 +02:00
Uyanide c5abbff14c chore: enhance comments 2026-04-06 08:40:59 +02:00
Uyanide 2d70231502 refactor: move some impl-specific constants out from config.py 2026-04-06 08:13:00 +02:00
Uyanide 9b04160783 refactor: lazy load credentials for testing 2026-04-06 08:13:00 +02:00
Uyanide a8335d9920 test: remove tests that require credentials 2026-04-06 08:13:00 +02:00
Uyanide 8fabb0de86 fix: handle inconsistent response format of mxm 2026-04-05 19:59:46 +02:00
Uyanide 262d385b00 chore: 0.5.3 2026-04-05 11:53:55 +02:00
Uyanide 65327eb431 fix: remove inflated confidence for unsynced results (impacts: sp, mxm-sp, local, lrclib, manual) 2026-04-05 11:52:53 +02:00
Uyanide 0d56cde927 test: add basic tests for cache-search & network fetchers
test: enable debug
test: add pytest.ini to mark tests that require network
fix: cache-search should not aquire full match of artists due to different translations
fix: replace dynamic f-string SQL in track WHERE clauses with parameterized nullable conditions
refactor: lrc.py should never directly call print, return a str instead
chore: add requirements.txt (via 'uv export')
chore: update README.md with dev instructions
2026-04-05 11:35:04 +02:00
Uyanide 84a3e1076e fix: missing await 2026-04-05 06:28:51 +02:00
Uyanide 449952c6c1 feat: auth: add auth module 2026-04-05 04:12:49 +02:00
Uyanide 1ed51fdbdb feat: enricher: +1 2026-04-05 02:25:33 +02:00
Uyanide d8c3813e39 refactor: move out some constants from config.py 2026-04-05 02:25:33 +02:00
Uyanide 9d6c2e2113 feat: add musixmatch as fetcher 2026-04-04 16:02:19 +02:00
Uyanide 38dc845abe feat: cache stats now prints total row 2026-04-04 09:52:02 +02:00
Uyanide 1c7456c588 perf: parallelize lrclib search queries 2026-04-04 09:05:51 +02:00
Uyanide 303eeaa661 chore: add disclaimer 2026-04-04 08:40:09 +02:00
Uyanide e3f12c1756 feat: fetcher: try multiple candidates rather just the best one 2026-04-04 08:29:20 +02:00
Uyanide aa13940aa7 fix: adjust fetcher groups, sequentially fetch from sp and lrclib 2026-04-03 22:15:16 +02:00
Uyanide 4c5aba04b0 refactor: async parallel fetching 2026-04-03 22:09:59 +02:00
Uyanide c91d5220bd refactor: skip a enricher if fields it can provide are already filled 2026-04-03 22:09:59 +02:00
Uyanide 3917d68880 fix: no one uses artist/album/track.ext layout 2026-04-03 22:09:58 +02:00
Uyanide 9a200aa58d feat: add hard duration filter to avoid fake positive matches 2026-04-03 16:38:46 +02:00
Uyanide 871ae2d589 fix: confidence should not be 100 for irrelevant cases 2026-04-03 15:46:13 +02:00
Uyanide c44797fbf9 feat: able to set confidence for certain source via cli 2026-04-02 20:29:17 +02:00
Uyanide 6baa487565 test: remove 1 test for _raw_tag_to_ms since its already covered by
tests for to_plain
2026-04-02 11:57:23 +02:00
Uyanide e382783f52 feat: export to a .txt file instead of .lrc when --plain 2026-04-02 11:15:29 +02:00
Uyanide 6791e9e965 feat: better cache stats 2026-04-02 10:52:48 +02:00
Uyanide d18d8afb37 refactor: confidence should always have a value 2026-04-02 10:47:17 +02:00