{
"global": {
"Space": "open command menu",
"Ctrl+C": "quit",
"Ctrl+S": "quick save",
"u": "undo (works everywhere except modals)",
"Ctrl+R": "redo",
"Tab": "cycle panes / tabs",
"Shift+Tab": "prev pane",
"Esc": "back / close / clear / unlock",
"+/-": "adjust BPM"
},
"space_menu": {
"1": "focus transport",
"2": "focus tracks",
"3": "focus clip view",
"p": "play/pause",
"r": "toggle recording",
"l": "edit loop region",
"m": "toggle metronome",
"!": "panic (kill all sound)",
"a": "add instrument track",
"s": "save project",
"o": "open project",
"d": "delete selected track/clip",
"e": "enter edit mode (piano roll)",
"v": "cycle color theme",
"h": "help topics"
},
"tracks_pane": {
"not_selected": {
"j/k": "navigate between tracks",
"Enter": "select track",
"q": "quit"
},
"selected": {
"h/l": "navigate elements (label→fx→vol→mute→solo→arm→clips)",
"Enter_on_clip": "lock clip (enter clip-locked mode)",
"m": "toggle mute",
"s": "toggle solo",
"r": "toggle record arm",
"R": "toggle loop record",
"y": "yank (copy) clip (when on clip element)",
"p": "paste clip after current (when on clip element)",
"P": "paste clip to same position on another track",
"d": "duplicate clip (when on clip element)",
"1-9": "jump to clip by number",
"Esc": "deselect track"
},
"clip_locked": {
"description": "Enter on a clip enters this mode. h/l moves clip, Shift stretches, Ctrl trims.",
"h/l": "move clip left/right by one beat",
"Shift+H/L": "shrink/extend right edge by one beat",
"Ctrl+H/L": "trim/extend left edge by one beat",
"y": "yank clip",
"p": "paste after",
"P": "paste to track",
"d": "duplicate clip",
"Esc": "unlock clip (back to element navigation)"
}
},
"clip_view": {
"focus_switch": {
"Tab": "cycle tabs: trk fx → synth → inst config → piano → settings → trk fx",
"h_from_piano": "switch focus to FX panel",
"l_from_fx": "switch focus to piano roll"
},
"fx_panel_synth_tab": {
"j/k": "navigate synth parameters",
"h/l": "decrease/increase parameter value"
},
"settings_tab": {
"j/k": "navigate settings (grid, snap, velocity)",
"h/l": "adjust setting value"
}
},
"piano_roll_navigation": {
"description": "Default mode when viewing the piano roll (not in edit mode).",
"n": "toggle note at cursor (draw or remove)",
"h/l": "navigate columns (or MOVE highlighted notes left/right if highlights exist)",
"j/k": "scroll up/down (or MOVE highlighted notes up/down if highlights exist)",
"1-9": "jump to column by number",
"Enter": "select column (enter Right-Left-Trick mode)",
"n": "toggle note at cursor",
"Shift+H/L": "start/expand column highlight",
"Shift+J/K": "start/expand row highlight",
"d": "delete notes in highlighted region",
"y": "yank notes in highlighted region",
"p": "paste yanked notes at cursor/highlight",
"Enter_with_highlights": "lock highlights for STRETCHING (Right-Left-Trick on group)",
"Esc": "clear highlights, or exit piano roll if no highlights"
},
"piano_roll_highlight_locked": {
"description": "After highlighting notes and pressing Enter, h/l/H/L stretch the group.",
"h/l": "adjust LEFT edge of all highlighted notes",
"H/L": "adjust RIGHT edge of all highlighted notes",
"d": "delete highlighted notes",
"Esc": "unlock highlights, back to navigation"
},
"piano_roll_column_selected": {
"description": "Right-Left-Trick: column is locked. h/l adjusts note edges.",
"h/l": "adjust LEFT edge of all notes in column",
"H/L": "adjust RIGHT edge of all notes in column",
"j/k": "enter row mode (select individual note)",
"Esc": "back to navigation mode"
},
"piano_roll_row_mode": {
"description": "Single note selected via column→row drill-down.",
"h/l": "adjust LEFT edge of single note",
"H/L": "adjust RIGHT edge of single note",
"j/k": "move between notes in column",
"n": "draw/toggle note at cursor",
"Esc": "back to column mode"
},
"edit_mode": {
"description": "Space+E enters edit mode. Navigate between individual notes, select, move, delete.",
"enter": "Space+E (only from piano roll view)",
"navigate": {
"j/k": "move to next note UP/DOWN within same column",
"h/l": "jump to nearest note in prev/next column",
"Enter": "select cursor note for moving (single-note select)",
"d": "delete cursor note (undoable)",
"u": "undo",
"Esc": "exit edit mode"
},
"selecting": {
"trigger": "Shift+direction from navigate mode",
"Shift+j/k": "extend selection up/down in column",
"Shift+h/l": "extend selection to prev/next column",
"d": "delete all selected notes (undoable)",
"plain_direction": "transition to moving mode",
"Esc": "clear selection, back to navigate"
},
"moving": {
"trigger": "plain direction after selecting, or Enter on a single note",
"h/l": "move selected notes left/right by grid step",
"j/k": "move selected notes up/down by semitone",
"Shift+H/L": "stretch RIGHT edge of selected notes (duration)",
"Shift+J/K": "stretch LEFT edge of selected notes (start position)",
"d": "delete all selected notes",
"Esc": "lock notes in place, clear selection"
}
},
"loop_editor": {
"enter_via": "Space+L",
"h/l": "move loop start left/right",
"H/L": "move loop end left/right",
"Enter": "toggle loop enabled/disabled",
"Esc": "exit loop editor"
},
"transport_pane": {
"h/l": "navigate transport elements (BPM, Record, Loop, Metronome)",
"Enter": "activate element (edit BPM, toggle record, etc.)",
"h/l_while_editing_bpm": "decrease/increase BPM",
"Esc": "release element"
},
"grid_settings": {
"resolutions": ["1/4", "1/8", "1/16", "1/32", "1/4T", "1/8T", "1/16T"],
"snap": "on/off — notes snap to grid when moved in edit mode",
"default_velocity": "1-127 — velocity for newly drawn notes"
},
"clip_behavior": {
"shrink_right_edge": "Notes past the new boundary are hidden (not deleted). Expanding restores them.",
"trim_left_edge": "Notes before the new start are hidden. Expanding restores them.",
"move_clip": "h/l in clip-locked mode. Collision detection prevents overlap.",
"duplicate": "d in clip-locked mode. Creates copy right after the clip.",
"delete": "Space+D with y/n confirmation. Selects adjacent clip after delete.",
"piano_roll_sync": "Clip view always shows the selected clip. Stretching/trimming updates piano roll in real time."
}
}