You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 45dca2a
Browse filesBrowse the repository at this point in the historyBrowse files
Refine MIDI Studio V2 song fields and synchronize instrument selection with audition keyboard - PR_26146_060-midi-studio-v2-song-fields-and-instrument-sync
# PR_26146_060 MIDI Studio V2 Song Fields And Instrument Sync Validation
2
+
3
+
Status: PASS
4
+
5
+
## Scope Validated
6
+
7
+
- Removed Tags and Usage from the editable Song Setup details UI.
8
+
- Made Song Id read-only by default and derived from Name as camelCase on Name edits.
9
+
- Kept Song Sheet fields editable and tightened the Song Sheet grid so fields use available horizontal space.
10
+
- Restored Octave Timeline quick Instruments controls for select, Mute, Solo, and Hide/Show without moving GM Type or Instrument dropdowns back into the timeline.
11
+
- Kept GM Type and Instrument/Patch dropdowns owned by the Instruments tab.
12
+
- Synced timeline quick selection and Instruments tab selection through the same `selectedInstrumentId` state.
13
+
- Replaced Play Middle C with a horizontal audition keyboard that follows the selected instrument octave range.
npx playwright test tests/playwright/tools/MidiStudioV2.spec.mjs --project=playwright -g "syncs PR060 song fields instrument selection and audition keyboard"
26
+
npx playwright test tests/playwright/tools/MidiStudioV2.spec.mjs --project=playwright -g "canvas note editing flow supports hover click drag paint erase and playback|keeps JSON wording and Song Setup editing history placeholders honest|enforces SSoT export ownership and future control honesty|syncs PR060 song fields instrument selection and audition keyboard"
27
+
git diff --check
28
+
```
29
+
30
+
## Results
31
+
32
+
- JS syntax checks: PASS.
33
+
- Inline script/style/event handler guard: PASS, no matches.
# PR_26146_060 MIDI Studio V2 SSoT Selection Notes
2
+
3
+
## Selected Instrument Ownership
4
+
5
+
- Canonical selected instrument state lives in `InstrumentGridControl.selectedInstrumentId`.
6
+
- Existing `selectedLane` reads/writes are now an accessor over `selectedInstrumentId` so older internal call sites do not create a second selected-instrument value.
7
+
- The Instruments tab rows and Octave Timeline quick rows both render from the same `previewLaneState` and selected instrument value.
8
+
- Selecting an instrument from either surface calls the same `handleLaneSelection()` / `selectLane()` flow.
9
+
10
+
## Owning Surfaces
11
+
12
+
- Song Setup owns editable song metadata: Name, derived/read-only Id, Tempo/BPM, Key, Style, Notes, Song Sheet fields, Sections/Loop fields, and Editing History placeholders.
13
+
- Song Setup no longer owns or displays editable Tags or Usage fields.
awaitexpect(page.locator("#songDetails [data-song-detail-field='notes']")).toHaveValue("Traditional Camptown Races style public-domain test arrangement with lead, bass, chords/pad, and drums.");
0 commit comments