Maolan Shortcuts and Gestures
Last updated: 2026-07-09
Keyboard Shortcuts
Global / Session
Ctrl+N: New sessionCtrl+O: Open sessionCtrl+S: Save sessionCtrl+Shift+S: Save session asCtrl+I: Import filesCtrl+E: Open export dialogCtrl+T: Add trackCtrl+A: Select all (in pitch-correction view: selects all segments)Ctrl+R: Toggle session record armCtrl+L: Send transport panic / MIDI panicCtrl+Z: UndoCtrl+Shift+Z: RedoCtrl+Y: RedoDeleteorBackspace: Remove selected item(s)Escape: Cancel or clear the current context-dependent interactionS: Toggle the Shortcuts paneM: Toggle the Modulators paneC: Toggle the Clips paneX: Toggle the cut indicator (a vertical guide line showing where a cut would land; only visible in workspace view)
Transport
Space: Toggle play/stopShift+Space: Pause (arrangement); stop all session clips when Session view is focusedHome: Rewind to startEnd: Rewind to end
Session View
Tab: Toggle between Workspace and Session view↑/↓/←/→: Navigate selected clip slotReturn: Launch or stop the selected slotShift+Space: Stop all session clipsRec to Arrbutton: Start recording playing session clips into the arrangement
Piano Tools
Q: Quantize selected notesH: Humanize selected notesG: Groove selected notes
Mouse Actions and Gestures
Workspace / Track List
Left click track: Select trackCtrl+Left click track: Add track to the current selectionDouble click track: Open the track plugin/routing graphRight click track: Open track context menu- Track actions such as automation lanes, rename, sends/returns, MIDI learn, freeze/flatten, and template save depending on track state
Drag track(grab track body): Reorder trackDrag bottom track edge: Resize track height
Timeline Clips
Left click clip: Select clipLeft click empty editor: Deselect clipsLeft drag clip: Drag/move clip (or group if multi-selected)Ctrl + drag clip: Copy clip while draggingDrag clip left/right edge: Resize clip boundsShift + drag clip left/right edge: Stretch audio clip with the built-in timestretch renderer on drop- Snapping is applied during drag-and-drop based on the current snap mode; the “Clips” snap mode enables snapping to other clip start/end positions
Drag clip fade handles: Resize fade-in/fade-outMiddle click clip: Split clip at current cursor/snap positionDouble click MIDI clip: Open MIDI piano rollDouble click audio clip: Open per-clip plugin graph on supported Unix buildsRight click clip: Open clip context menu- Clip actions such as group/ungroup, rename, take-lane controls, mute/unmute, pitch correction, fade toggle, and audio stretch actions for audio clips
Track Header Markers
Right click empty marker/header area: Open the create-marker dialog at the snapped timeline positionLeft drag marker: Move marker horizontally; snapping is applied on drop (supports “Clips” snap mode)Right click marker: Rename markerMiddle click marker: Delete marker
Selection Gestures
Left drag on empty editor: Marquee clip selection rectangleRight drag on MIDI lane: Create empty MIDI clip
Automation Lanes
Right drag empty area: Draw a straight automation ramp between the press and release points (same interaction as the MIDI controller lane). A click without movement inserts a single point.Right click point: Delete automation point
Ruler (Top Timeline)
Left click: Move transport playheadLeft drag: Set loop range (snap-aware, supports “Clips” snap mode)Right drag inside loop range: Move the entire loop rangeMiddle drag loop edge: Adjust loop start or end pointRight click: Clear loop range
Zoom Controls
- Main editor zoom: Bottom-right horizontal slider
- Piano roll horizontal zoom: Bottom slider in the MIDI editor
- Piano roll vertical zoom: Right-side vertical slider in the MIDI editor
Tempo / Time Signature Lane
Left click marker: Select markerShift+Left click marker: Add/remove marker from selectionLeft drag selected marker(s): Move marker(s) in time (supports “Clips” snap mode)Left click empty timing lane: Clear timing selection and move the playheadLeft drag empty timing lane: Clear timing selection and set punch range (supports “Clips” snap mode)Right click marker: Open marker context menu- Duplicate
- Reset to previous
- Delete
Right click empty timing lane: Clear timing selection and clear punch rangeRight drag empty timing lane: Clear timing selection and set punch range (supports “Clips” snap mode)Middle clickon tempo lane: Add tempo point (supports “Clips” snap mode)Middle clickon time-signature lane: Add time-signature point (supports “Clips” snap mode)Middle dragan existing punch-range edge: Adjust punch start or end (supports “Clips” snap mode)Mouse wheelover left control zone on tempo row: Adjust tempoMouse wheelover left control zone on time-signature row, left half: Adjust numeratorMouse wheelover left control zone on time-signature row, right half: Adjust denominator
Piano Roll (Mouse)
Click/drag notes: Select and move notesDrag note edge: Resize note start/endLeft drag empty area: Box-select notesRight drag empty area: Create notesMiddle click note: Delete noteMouse wheel over note: Adjust note velocityController lanes: Left drag adjusts a point/value, middle click/drag erases, right drag drawsMouse wheel over controller event: Adjust controller valueSysEx lane: Left drag moves SysEx event, double click opens SysEx editor
Pitch Correction
Right click audio clip -> Pitch Correction: Open the pitch-correction editor when transport is stoppedLeft click pitch segment: Select one segmentShift+Left click pitch segment: Add/remove a segment from the selectionLeft drag selected pitch segment(s): Retarget one or many selected segments verticallyLeft drag empty area: Box-select pitch segmentsShift+Left drag empty area: Add box-selected segments to the current selectionDouble click pitch segment: Snap the clicked segment, or the current selected group, to the nearest semitoneCtrl+Ain pitch-correction view: Select all segmentsCtrl+Z/Ctrl+Shift+Z/Ctrl+Yin pitch-correction view: Undo/redo local pitch-segment edits
Plugin Graph
Drag plugin node: Move plugin node in graphDrag from port to port: Create audio or MIDI connectionSelect connection + delete: Remove selected graph connectionSelect plugin + delete: Remove selected plugin instance
Shortcuts Pane
The in-app Shortcuts pane can be shown or hidden with S or via View → Shortcuts. It displays context-sensitive shortcuts for the active view (workspace, piano roll, pitch correction, or plugin graph) and highlights the relevant entry when hovering a widget that has a shortcut hint.
Clips Pane
The in-app Clips pane can be shown or hidden with C or via View → Clips. It lists every audio and MIDI clip in the session, grouped by track. Clips belonging to the currently selected track(s) are highlighted in the pane; this highlighting is only in the Clips pane and does not change the main editor or timeline.
Deleting a clip from a track does not discard it: the clip moves to the “Unused” section at the bottom of the Clips pane and stays part of the session. A clip counts as unused only when it is used in neither the edit view (no track holds it) nor the live view (no session slot references it) — a clip removed from the timeline but still assigned to a session slot keeps playing in the live view and does not appear in the Unused section until the slot is cleared. Clips in the pane can be dragged onto a track in the editor (placed at the drop position, using the current snap mode): dragging a track’s clip copies it with a fresh id, while dragging an unused clip moves it out of the Unused section. Pane clips can also be dragged directly onto a session slot in the live view to assign them to that slot. Re-adding an unused clip to a track via undo also removes it from the Unused section. File → Delete unused files permanently removes an unused clip — from the pane and from the session — and deletes its media, but only when no session slot of the current branch references the clip and no other branch/session file still references its media.
maolan-cli
Maolan also ships a maolan-cli binary that can play, pause, stop, send panic, and export the current session.
Notes
- Current keyboard handling is
Ctrl-based in code paths (including on macOS builds). - Some actions are context-dependent (current view/tool/selection state).
- The
Q/H/Gpiano shortcuts act on the current piano-roll note selection. - In pitch-correction view, undo/redo applies to the local correction editor instead of global engine history until you leave the view or press
Apply. - Audio clip stretching is rendered in-process with the timestretch library.
- The main editor zoom is geometric rather than linear, so equal slider movement produces equal zoom-ratio changes.
Groupis only enabled when the current selection contains two or more non-group clips from the same track and clip type.Splitis blocked for grouped clips; ungroup first.- Per-clip plugin graphs are audio-only and are currently built for Unix non-macOS code paths.