feat(midi): qualify routed startup and refresh workflow screenshots (phase 105)
This commit is contained in:
parent
f37ad8987a
commit
25d4ad5d3b
73 changed files with 208 additions and 37 deletions
|
|
@ -1006,7 +1006,8 @@ Persist application preferences in `~/.xtc.conf` and provide selectable sequence
|
|||
|
||||
### Implementation status
|
||||
Implemented without dependencies or a project format change. Application settings
|
||||
are saved only with Apply; audio connection options take effect on Reconnect and
|
||||
were initially saved only with Apply; Phase 100 also saves on clean exit.
|
||||
Audio connection options take effect on Reconnect and
|
||||
project defaults on New. Existing projects retain their musical data. Loop ranges
|
||||
are global preferences, not project data. Enabled loops require at least 64 samples.
|
||||
See [PREFERENCES.md](PREFERENCES.md) for configuration, workflow and limitations.
|
||||
|
|
@ -2301,15 +2302,38 @@ Implemented: bounded C99 type 0/1 PPQN notes import with running status, channel
|
|||
Capture current MIDI preferences, file workflows and imported notes, refresh the gallery, and qualify configuration, MIDI I/O and file workflows together.
|
||||
|
||||
### 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: all 66 gallery PNGs were refreshed, including five new MIDI preferences/help/file-menu/import captures through real C/GUI workflows. A real-process isolated-home test proves ~/.xtc.conf creation, startup reload and malformed-file preservation. Final routing qualification adds bounded PipeWire publication retry and holds transport until chosen routes exist, preserving notes at position zero; deterministic callback and real receiver checks pass. Full core/reliability, GUI/plugin/JACK, optional-backend builds, ASan/UBSan, static analysis and staged installation checks passed.
|
||||
|
||||
---
|
||||
|
||||
## Integrated Validation for Phases 100–105
|
||||
|
||||
Completed on 2026-11-06. Normal builds use `BUILD_DIR=build/audio-editor`:
|
||||
`all gui test-reliability`, `test-gui-midi-workflows`, `test-gui-creative`,
|
||||
`test-gui-track-fx`, full `test-gui`, modern-plugin/instrument/LADSPA GUI fixtures,
|
||||
`test-gui-jack`, `test-jack-midi`, and `test-configuration-startup` passed.
|
||||
The final routed-start change was rechecked with core/reliability, full/focused
|
||||
GUI, live MIDI first-note receipt and real-process configuration startup tests.
|
||||
|
||||
`BUILD_DIR=build/midi-minimal PKG_CONFIG=false FLTK_CONFIG=false all test` passed.
|
||||
Clang ASan/UBSan full core/reliability and focused/full GUI checks passed using
|
||||
only the existing Fontconfig leak suppression. The existing Clang/FLTK redundant
|
||||
instrumentation warning remains; normal warning-enabled builds are clean.
|
||||
Clang static analysis (including a final backend recheck), default/custom staged
|
||||
install layouts and C/C++ pkg-config consumers passed.
|
||||
|
||||
The full gallery and host VST3/creative/MIDI capture modes regenerated 66 PNGs.
|
||||
File import is notes-only type 0/1 PPQN and retains project tempo. MIDI devices
|
||||
are JACK/PipeWire ports; physical hardware/bridge compatibility is not claimed
|
||||
from software-port tests. No dependencies or project-format change were added.
|
||||
See [MIDI_WORKFLOWS.md](MIDI_WORKFLOWS.md), [PREFERENCES.md](PREFERENCES.md) and
|
||||
[the gallery](../screenshots/README.md) for reproduction and exact limits.
|
||||
|
||||
## Recommended Execution Order
|
||||
|
||||
Reorder the phases when the audit reveals a blocking dependency. Do not mark a phase complete merely because code exists: its acceptance criteria must be demonstrated by builds, tests, or documented manual verification.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue