Commit graph

47 commits

Author SHA1 Message Date
2f70c6f7fa
Prettier-print the generated config schema 2024-06-22 20:12:50 +10:00
3cb5db7528
Add field descriptions to the config schema :) 2024-06-22 20:12:23 +10:00
2def2aece5
Organise 'tools' modules into a subpackage 2024-06-22 18:48:32 +10:00
35703de261
Gitignore __version__.py to avoid spurious diffs 2024-06-22 18:41:49 +10:00
8e982e8a6b
Fixups to placate Ruff linter 2024-06-22 18:39:10 +10:00
dc037a0a4b
Support a TOML configuration file
The new config file currently only configures the same options that were
already available through environment variables. However I have ideas
for additional features that would be much nicer to support using a
structured configuration format like TOML rather than environment
variables, so config files exist now!

The previous environment variables are still supported and will be used
if you don't have a config file. I plan to keep supporting the MPD_HOST
and MPD_PORT environment variables forever since they're shared with
other MPD clients such as mpc, but I may eventually drop the environment
variables specific to mpd-now-playable in a future release.
2024-06-22 18:19:39 +10:00
796e3df87d
Display mpd-now-playable version on launch 2024-06-22 13:17:14 +10:00
fd7866ed14
Try both readpicture and albumart, prefer the former 2024-05-17 19:46:10 +10:00
569372d4e2
Add methods for calling MPD's albumart command 2024-05-17 19:46:04 +10:00
8ad255856e
Extend cache TTL now external caches are supported 2024-05-14 16:07:43 +10:00
4a2ac29d30
Use more conventional Redis key separators for album cache 2024-05-14 15:09:20 +10:00
a471b77c55
Avoid crashing if cache URL has no namespace 2024-05-14 14:07:25 +10:00
f74bc9b6e5
Update README.md with caching info 2024-05-14 14:06:04 +10:00
55d82c72c3
Support MPD_NOW_PLAYABLE_CACHE setting (Redis or Memcached) 2024-05-14 13:25:13 +10:00
c7773bf324
Allow installing persistent cache drivers for album art 2024-05-14 13:24:21 +10:00
b2f28de116
Support newer PyObjC by explicitly converting Paths to str 2024-05-14 13:23:41 +10:00
9fca1d566e
Support MusicBrainz release track ID
I still don't totally understand when MusicBrainz uses a track ID and
when it uses a release track ID - they're both displayed as the
"MusicBrainz Track ID" tag in Picard, despite being treated as different
tags by everything else - but supporting both is easy enough.
2024-05-14 10:06:39 +10:00
5afeb32f9a
Update pdm.lock hashes for PDM 2.15.2 2024-05-09 12:51:40 +10:00
1caf4a184c
Cache 'no artwork', rather than repeatedly populating the cache with None 2024-05-09 12:12:54 +10:00
f7fc453c50
Don't crash if readpicture returns no image bytes 2024-05-09 12:10:22 +10:00
8b5912bed2
Add PyPI package version badge to readme 2024-03-07 15:53:11 +11:00
9b8988cf41
Fix path to mpd/logo.svg 2023-12-06 14:39:04 +11:00
54d2a6d415
Remove the temporary way to install from README.md 2023-12-06 14:33:33 +11:00
628ac9ae6a
Improve metadata for PyPI 2023-12-06 14:32:36 +11:00
06d9631445
Update README to note that seeking works :) 2023-12-06 13:55:10 +11:00
3372180a97
Enable seeking to specific points in the current song 2023-12-06 13:54:40 +11:00
04a976f6f3
Support persistent track IDs (64-bit ints) 2023-12-06 12:27:24 +11:00
28da4da69f
Pass through more simple media item info to MacOS 2023-12-06 12:02:13 +11:00
eb7509a4e0
Whoops, correctly call MpdStateListener.start() 2023-12-06 11:54:28 +11:00
9a05d33177
Add more MPNowPlaying properties to type stubs 2023-12-06 11:51:29 +11:00
095c099a38
Use the same environment variables as mpc does 2023-12-06 11:42:50 +11:00
9ff488d807
Make most song info optional, to support untagged music 2023-12-06 10:54:51 +11:00
88a38a1bbd
Update pipx install instructions 2023-12-06 10:52:14 +11:00
ffc399290f
Safely cache artwork for tracks without expected tags 2023-12-02 14:47:50 +11:00
6ac8034bbe
Load package version from Git tags 2023-12-02 13:31:56 +11:00
3eefc351f7
Include logo.svg in build process 2023-12-02 13:25:56 +11:00
ba7a46d8c5
Clarify install instructions 2023-11-27 18:05:40 +11:00
506b658782
Update README.md with documentation 2023-11-27 17:57:07 +11:00
73972cd17e
Stub the parts of PyObjC I'm using (whee) 2023-11-27 16:52:17 +11:00
5a3ddd570d
Fix some types in cocoa.py so they work with the stubs 2023-11-27 16:52:00 +11:00
a673f2ef90
Initial commit of source - working, but needs stubs for Cocoa 2023-11-27 15:49:33 +11:00
1e7fd270eb
Typehint the parts of python-mpd2 I'm using too 2023-11-27 15:48:52 +11:00
de884cbf72
Typehint the parts of aiocache I'm using 2023-11-27 15:48:18 +11:00
06cae0fc0a
Swap to aiocache because it's easier to use in custom ways 2023-11-27 15:39:53 +11:00
d4df24b7aa
Move library stubs to stubs/ for typeshed consistency 2023-11-27 10:56:34 +11:00
da90e64dac
Add CoreFoundationEventLoop directly to avoid pulling in ALL of PyObjC 2023-11-27 10:43:24 +11:00
dae3e49783
Initial commit: set up project and dependencies 2023-11-27 10:39:10 +11:00