Commit graph

7 commits

Author SHA1 Message Date
Michael Winter 1dff1022ce Add custom dims support via --dims-custom and update JSON output format 2026-03-28 15:12:14 +01:00
Michael Winter 8326fc1d11 Add interactive OSC sender with preview mode and chord navigation
- Add preview mode (p key) to toggle between send/preview behavior
- Arrow keys for navigation with optional send
- Enter sends current chord (only when not in preview mode)
- Jump to chord by number + Enter
- k/K keys for kill soft (15.0) and kill hard (0.0) commands
- Display prev/current/next chords with frequencies to 2 decimals
- Add OSC test receiver for debugging
- Use arrow key escape sequences for left/right navigation
2026-03-19 15:57:17 +01:00
Michael Winter 4a1e1f7ec2 Simplify quit: use Escape key instead of Ctrl+C
- Rollback to original tty-based input
- Add Escape key to quit
- Remove arrow key detection (use < > keys only)
- Simplify the play() method
2026-03-17 17:41:09 +01:00
Michael Winter d2c88ccc3f Use select with timeout for keyboard input
- Replaces tty-based input with select-based approach
- Adds signal handler for Ctrl+C
- Allows KeyboardInterrupt to propagate correctly
2026-03-17 17:26:23 +01:00
Michael Winter fd4b89670e Fix Ctrl+C handling in OSC playback 2026-03-17 17:19:52 +01:00
Michael Winter ea3acf9efe Replace --osc-enable with --osc-play
- Add --osc-play with optional file argument
- If no file provided, defaults to output/output_chords.json
- Fix python-osc API (addr -> address)
- Keep --fundamental, --osc-ip, --osc-port
2026-03-17 17:10:37 +01:00
Michael Winter 1ccab2088f Add OSC sender for real-time playback
- Create src/osc_sender.py with OSCSender class
- Add CLI args: --osc-enable, --osc-ip, --osc-port, --fundamental
- Load chords from output_chords.json
- Interactive keyboard control (< > keys)
- Display chord number, frequencies, HS arrays
- Support configurable fundamental frequency
2026-03-17 16:47:30 +01:00