Arrangement Record Button Plan
Arrangement Record Button Plan
Date: 2026-07-13
Goal
Add a visible Record button to the Arrangement page so melodic and harmonic parts can be recorded directly into the song context without forcing the user to enter the Piano Roll first.
The Piano Roll should remain the detailed editor. The Arrangement Canvas should become the normal place to perform a part while hearing the rest of the arrangement.
Core Rule
Recording is owned by the selected or armed Arrangement lane.
Clip selection is editing focus. Lane arm/selection is performance focus. If those ever disagree, the record UI should explain which lane will receive MIDI before recording starts.
Proposed UI
- Add a red record icon to the Arrangement transport cluster.
- Place it with the existing rewind, play, and fast-forward controls.
- Use clear states:
RECavailable: selected/armed lane can receive MIDI.ARM LANE: no valid lane is selected or armed.COUNT: count-in is running.REC IN: MIDI is actively being recorded into the target lane.
- Keep the existing lane
ARM / LIVE IN / REC INbadge as the per-lane truth indicator. - If the user presses Record with no valid lane target, show a small guidance message instead of recording into a hidden fallback pattern.
Record Target Behavior
When Record is pressed from Arrangement:
- If the playhead is inside a real clip on the selected/armed lane, record into that clip's pattern at the clip-local position.
- If the playhead is in empty space on the selected/armed lane, create a new lane-owned MIDI clip at the playhead and record into it.
- If the lane is empty and the playhead is at the beginning, create the first clip at measure 1 / step 1.
- If the lane already has clips and the playhead is at the beginning, add the new clip after the last existing clip unless the user has explicitly placed the playhead somewhere else.
- If a drum lane is selected, route to Drum Composer recording rules rather than a melodic Piano Roll clip.
The new clip should use the lane's chosen instrument, mixer channel, MIDI input filter, output channel, and Hardware Passport settings.
Clip Growth
The first implementation can create a sensible default clip length, then extend it on stop if the performance exceeds the initial length.
Recommended safe default:
- Use the selected clip length if a clip is selected on the target lane.
- Otherwise use 16 steps for short sketching.
- Extend to the next snap/grid boundary after recording if the performance is longer.
Future polish can add explicit record-length choices, punch-in/out, retrospective MIDI capture, and loop overdub.
Monitoring
Arrangement recording should play in context by default.
- Other lanes continue playing according to existing mute/solo states.
- The target lane monitors the incoming MIDI through its assigned instrument.
- Existing lane solo remains the intuitive way to isolate.
- The old
Context / Isolatedconcept should not return.
MIDI Data Captured
Record should capture:
- Notes and note lengths.
- Velocity and release velocity where available.
- Pitch bend.
- Channel pressure and poly pressure where available.
- CC performance data into Automation.
- Sustain pedal and other expression gestures according to current MIDI preservation rules.
Guarded setup data such as SysEx, Bank/Program, RPN/NRPN, Data Entry, Local Control, Omni, Mono/Poly, clock, and transport should keep following the existing safe review/setup paths rather than becoming ordinary recorded note data.
Count-In And Quantize
Arrangement Record should use the existing count-in, metronome, overdub/replace, quantize, snap, and record-latency compensation settings.
The count-in must not capture pre-count-in notes into the clip. Downbeat notes should land at the true count-in activation sample.
Receipts And User Feedback
After stop, SpaceAge should show a small receipt:
- Target lane.
- Created or existing clip.
- Recorded range.
- Input source.
- Input channel filter.
- Quantize state.
- Latency compensation.
This can later become a copyable MIDI Health receipt when debugging controller timing.
Tests Needed
- Pressing Record with no selected/armed lane does not record to a hidden pattern.
- Recording inside an existing 64-step clip lands notes at correct clip-local steps.
- Recording in empty lane space creates a new clip at the playhead.
- Recording into an empty lane at step 1 creates the first clip at step 1.
- Recording with existing clips and playhead at step 1 appends after the last clip.
- Count-in notes before activation are ignored.
- Notes after count-in activation land correctly.
- Lane input channel filters are honored.
- Lane-selected direct MIDI input suppresses duplicate/wrong-controller host spill in AUTO mode.
- Stop-record extends the clip to contain the performance without shifting unrelated lanes.
Creative Connection
This button turns Arrangement into the main performance surface. It connects MIDI hardware setup, lane-owned instruments, Automation, ghost-note awareness, clip growth, and future punch-in into one mental model: select the lane, press Record, play the part in the song.