feat(preferences): choose MIDI devices and persistent channel defaults (phase 102)
This commit is contained in:
parent
75dee16b6a
commit
e9d0c62fd6
9 changed files with 101 additions and 17 deletions
|
|
@ -32,3 +32,20 @@ the MIDI-drop counter. Panic and stop send CC123 on all channels. Immediate stop
|
|||
waits up to 100 ms for callback acknowledgement before deactivation; delivery
|
||||
cannot be guaranteed after server/device loss or to devices ignoring CC123.
|
||||
No device is connected unless a user chooses it or an external patchbay routes it.
|
||||
|
||||
## MIDI preferences
|
||||
|
||||
Preferences → midi has editable dropdowns for a default input source and output
|
||||
destination, plus a Refresh MIDI devices button. Names are enumerated from the
|
||||
current JACK/PipeWire server, excluding xtc's own ports. Select None or clear a
|
||||
field for no automatic connection. Typed offline names remain saved. Hardware
|
||||
ports are visible only when the host exposes them through its MIDI bridge.
|
||||
|
||||
Input channel `-1` accepts all channels; `0..15` selects MIDI channel 1..16.
|
||||
Output channel `-1` preserves note channels; `0..15` forces a channel. Thru defaults
|
||||
off. Apply saves these choices; the next Play/Record restores the selected routes.
|
||||
A missing port rejects that start and stops the backend, preserving the saved
|
||||
choice for retry. Reconnect audio after server loss, then retry Play. Defaults
|
||||
also apply when playback resumes after a loop edit. MIDI input/thru currently
|
||||
requires active transport. Existing editing and project_defaults tabs contain
|
||||
note length, velocity, channel, filters and new-project controller mappings.
|
||||
|
|
|
|||
|
|
@ -2256,12 +2256,12 @@ Implemented: public JACK MIDI discovery/naming/routing/options APIs, a prepared
|
|||
Provide device dropdowns and refresh in Preferences, persistent default input/output ports, live channel filters and MIDI thru; retain editing and controller defaults in ~/.xtc.conf.
|
||||
|
||||
### Tasks and acceptance criteria
|
||||
- [ ] Implement and document the workflow with bounded validation and safe ownership.
|
||||
- [ ] Pass meaningful core and GUI checks, including errors and persistence or undo.
|
||||
- [ ] Commit this phase separately after validation.
|
||||
- [x] Implement and document the workflow with bounded validation and safe ownership.
|
||||
- [x] Pass meaningful core and GUI checks, including errors and persistence or undo.
|
||||
- [x] Commit this phase separately after validation.
|
||||
|
||||
### Implementation status
|
||||
Planned.
|
||||
Implemented: a MIDI preferences tab provides editable source/destination dropdowns, device refresh, input filtering, output channel defaults and optional thru. All choices use the strict shared configuration schema and ~/.xtc.conf. Play/Record restores selected routes; missing devices reject startup without losing choices. Settings roundtrip/invalid-value, GUI discovery/refresh/persistence/missing-device checks and the full GUI suite passed. MIDI help explains host bridge exposure, channel numbering and existing note/CC defaults.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue