feat(midi): export selected clip as an atomic Standard MIDI File (phase 103)
This commit is contained in:
parent
e9d0c62fd6
commit
02ee1818a3
9 changed files with 178 additions and 5 deletions
|
|
@ -49,3 +49,14 @@ 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.
|
||||
|
||||
## Export a selected clip
|
||||
|
||||
Select exactly one MIDI clip and choose File → Export selected clip as MIDI.
|
||||
The save chooser confirms overwrites. Export writes an atomic Standard MIDI File
|
||||
(type 0, 960 PPQN) with project tempo, clip name and audible notes relative to the
|
||||
clip start, retaining channels and velocities. Notes crossing trimmed boundaries
|
||||
are cropped and notes outside the trim are omitted. Trailing silence remains.
|
||||
Export does not edit the project or undo history. Audio clips reject. Only note
|
||||
messages are exported: instruments, opaque plugin data, controller maps,
|
||||
automation and audio are excluded. Export is unavailable during recording.
|
||||
|
|
|
|||
|
|
@ -2271,12 +2271,12 @@ Implemented: a MIDI preferences tab provides editable source/destination dropdow
|
|||
Export the audible part of a selected MIDI clip as an atomic Standard MIDI File with note timing, channels, velocities and project tempo.
|
||||
|
||||
### 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 C99 atomic type-0/960-PPQN SMF exporter and GUI save chooser export one selected MIDI clip, preserving note channels/velocities, project tempo, clip name and trailing silence. Trim-crossing notes crop to audible boundaries; out-of-trim notes omit. Independent byte/event checks, invalid/audio/destination preservation checks, bounded external scheduling overflow checks and focused GUI export/nonmutation tests passed with warning-enabled builds.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue