# Maolan Shortcuts and Gestures
Last updated: 2026-07-09
## Keyboard Shortcuts
### Global / Session
- `Ctrl+N`: New session
- `Ctrl+O`: Open session
- `Ctrl+S`: Save session
- `Ctrl+Shift+S`: Save session as
- `Ctrl+I`: Import files
- `Ctrl+E`: Open export dialog
- `Ctrl+T`: Add track
- `Ctrl+A`: Select all (in pitch-correction view: selects all segments)
- `Ctrl+R`: Toggle session record arm
- `Ctrl+L`: Send transport panic / MIDI panic
- `Ctrl+Z`: Undo
- `Ctrl+Shift+Z`: Redo
- `Ctrl+Y`: Redo
- `Delete` or `Backspace`: Remove selected item(s)
- `Escape`: Cancel or clear the current context-dependent interaction
- `S`: Toggle the Shortcuts pane
- `M`: Toggle the Modulators pane
- `C`: Toggle the Clips pane
- `X`: Toggle the cut indicator (a vertical guide line showing where a cut would land; only visible in workspace view)
### Transport
- `Space`: Toggle play/stop
- `Shift+Space`: Pause (arrangement); stop all session clips when Session view is focused
- `Home`: Rewind to start
- `End`: Rewind to end
### Session View
- `Tab`: Toggle between Workspace and Session view
- `↑` / `↓` / `←` / `→`: Navigate selected clip slot
- `Return`: Launch or stop the selected slot
- `Shift+Space`: Stop all session clips
- `Rec to Arr` button: Start recording playing session clips into the arrangement
### Piano Tools
- `Q`: Quantize selected notes
- `H`: Humanize selected notes
- `G`: Groove selected notes
## Mouse Actions and Gestures
### Workspace / Track List
- `Left click track`: Select track
- `Ctrl+Left click track`: Add track to the current selection
- `Double click track`: Open the track plugin/routing graph
- `Right 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 track
- `Drag bottom track edge`: Resize track height
### Timeline Clips
- `Left click clip`: Select clip
- `Left click empty editor`: Deselect clips
- `Left drag clip`: Drag/move clip (or group if multi-selected)
- `Ctrl + drag clip`: Copy clip while dragging
- `Drag clip left/right edge`: Resize clip bounds
- `Shift + 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-out
- `Middle click clip`: Split clip at current cursor/snap position
- `Double click MIDI clip`: Open MIDI piano roll
- `Double click audio clip`: Open per-clip plugin graph on supported Unix builds
- `Right 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 position
- `Left drag marker`: Move marker horizontally; snapping is applied on drop (supports "Clips" snap mode)
- `Right click marker`: Rename marker
- `Middle click marker`: Delete marker
### Selection Gestures
- `Left drag on empty editor`: Marquee clip selection rectangle
- `Right 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 playhead
- `Left drag`: Set loop range (snap-aware, supports "Clips" snap mode)
- `Right drag inside loop range`: Move the entire loop range
- `Middle drag loop edge`: Adjust loop start or end point
- `Right 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 marker
- `Shift+Left click marker`: Add/remove marker from selection
- `Left drag selected marker(s)`: Move marker(s) in time (supports "Clips" snap mode)
- `Left click empty timing lane`: Clear timing selection and move the playhead
- `Left 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 range
- `Right drag empty timing lane`: Clear timing selection and set punch range (supports "Clips" snap mode)
- `Middle click` on tempo lane: Add tempo point (supports "Clips" snap mode)
- `Middle click` on time-signature lane: Add time-signature point (supports "Clips" snap mode)
- `Middle drag` an existing punch-range edge: Adjust punch start or end (supports "Clips" snap mode)
- `Mouse wheel` over left control zone on tempo row: Adjust tempo
- `Mouse wheel` over left control zone on time-signature row, left half: Adjust numerator
- `Mouse wheel` over left control zone on time-signature row, right half: Adjust denominator
### Piano Roll (Mouse)
- `Click/drag notes`: Select and move notes
- `Drag note edge`: Resize note start/end
- `Left drag empty area`: Box-select notes
- `Right drag empty area`: Create notes
- `Middle click note`: Delete note
- `Mouse wheel over note`: Adjust note velocity
- `Controller lanes`: Left drag adjusts a point/value, middle click/drag erases, right drag draws
- `Mouse wheel over controller event`: Adjust controller value
- `SysEx 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 stopped
- `Left click pitch segment`: Select one segment
- `Shift+Left click pitch segment`: Add/remove a segment from the selection
- `Left drag selected pitch segment(s)`: Retarget one or many selected segments vertically
- `Left drag empty area`: Box-select pitch segments
- `Shift+Left drag empty area`: Add box-selected segments to the current selection
- `Double click pitch segment`: Snap the clicked segment, or the current selected group, to the nearest semitone
- `Ctrl+A` in pitch-correction view: Select all segments
- `Ctrl+Z` / `Ctrl+Shift+Z` / `Ctrl+Y` in pitch-correction view: Undo/redo local pitch-segment edits
### Plugin Graph
- `Drag plugin node`: Move plugin node in graph
- `Drag from port to port`: Create audio or MIDI connection
- `Select connection + delete`: Remove selected graph connection
- `Select 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.
## 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` / `G` piano 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.
- `Group` is only enabled when the current selection contains two or more non-group clips from the same track and clip type.
- `Split` is blocked for grouped clips; ungroup first.
- Per-clip plugin graphs are audio-only and are currently built for Unix non-macOS code paths.