Sean Doran
1c73dc1883
Bump version to v1.4.0
2026-02-27 19:26:18 -05:00
Sean Doran
1552d73412
Refactor: extract audio.py, add 50 unit tests
...
- Extract MPRISController and PulseController into src/turnup/audio.py;
turnupd.py imports from there, dropping ~270 lines of duplicated code
- Add [project.optional-dependencies] dev = [pytest] and pytest testpaths
to pyproject.toml
- Add tests/test_audio.py: 31 tests covering MPRISController player
matching, volume clamping, cache TTL, and PulseController MPRIS-first
routing, PA fallback, and drain_events
- Add tests/test_protocol.py: 19 tests covering parse_messages framing,
multi-message buffers, garbage skipping, and knob conversion helpers
- All 50 tests pass (pytest 9.0, Python 3.14)
2026-02-27 18:40:13 -05:00
Sean Doran
dbdafabcce
Bump version to v1.3.0
2026-02-27 18:31:20 -05:00
Sean Doran
f1fa3080b5
Cap max volume at 100%; bump to v1.2.0
2026-02-27 15:03:50 -05:00
Sean Doran
916541d815
Add TOML config, playerctl dep, and media button defaults; bump to v1.1.0
...
- Switch config format from JSON to TOML (tomllib built-in on 3.11+,
tomli fallback for 3.10) so the generated config can include comments
- Write an annotated config.toml on first run with descriptions for every
knob/button and hints for all available actions
- Promote playerctl from optdepends to depends so media buttons work
out of the box
- Default buttons 1–3 now pre-configured for playerctl previous/play-pause/next
- Rename contrib/config.example.json → config.example.toml with full
TOML rewrite including per-knob LED colour override examples
- Log a migration hint when a legacy config.json is detected
2026-02-27 14:38:36 -05:00
Sean Doran
25da5b46ad
Fix: auto-enable service on install, fix service startup, add config hot-reload; bump to v0.3.3
2026-02-27 13:54:57 -05:00
Sean Doran
642a1212c7
Fix: service ExecStart path for pacman install; bump to v0.3.2
2026-02-27 12:50:43 -05:00
Sean Doran
60f6e6cb1d
Fix: keep LEDs lit via heartbeat refresh, init from actual volumes; bump to v0.3.1
2026-02-27 12:32:56 -05:00
Sean Doran
14ff10e959
Fix: always use XDG config path, drop script_dir fallback; bump to v0.3.0
2026-02-27 12:08:37 -05:00
Sean Doran
c3a7ea811e
Fix: handle AUR SSH exit code 1, bump to v0.2.9
2026-02-27 12:04:33 -05:00
Sean Doran
85b8d8de26
Bump version to v0.2.8
2026-02-27 12:03:44 -05:00
Sean Doran
900f502c5c
Fix: re-key AUR secret, add fingerprint debug, bump to v0.2.7
2026-02-27 11:59:27 -05:00
Sean Doran
7aeecf76a0
Bump version to v0.2.6
2026-02-27 11:52:51 -05:00
Sean Doran
2b618b2fb0
Bump version to v0.2.5
2026-02-27 11:49:26 -05:00
Sean Doran
2a3ca2739f
Bump version to v0.2.4
2026-02-27 11:47:45 -05:00
Sean Doran
eee6d63d81
Bump version to v0.2.3
2026-02-27 11:46:37 -05:00
Sean Doran
6de3f93653
Bump version to v0.2.2
2026-02-27 11:45:09 -05:00
Sean Doran
c0676b8d91
Bump version to v0.2.1
2026-02-27 11:42:35 -05:00
Sean Doran
c82f69b67e
Bump version to 0.2.0
2026-02-27 11:36:26 -05:00
Sean Doran
002721c63c
Initial commit
2026-02-27 10:08:09 -05:00