MIDI Editor: Precision Movement & Smart Snap on the Grid
under review
S
Smund
Description:
Improve note movement in the MIDI editor with precise drag/nudge behavior, smarter snapping (absolute/relative/groove), constrained moves, fast autoscroll, and clear readouts—so editing is accurate at any zoom and never breaks the layout.
Problem:
Dragging and nudging notes can feel imprecise at different zoom levels. Notes may jump unpredictably to the grid, overflow visually while editing, or require too many steps to make small timing/pitch adjustments. Lack of constrained moves, weak autoscroll, and limited snap options slow detailed editing.
Proposed Solution:
- Snap Modes (per tool & per-move modifier):
-
Absolute Snap
(to nearest grid line). -
Relative Snap
(preserve original offset from grid while moving). -
Groove Snap
(align to current groove template/swing). - Hold a modifier to
Temporarily Bypass Snap
for free moves.- Constrained Movement:
- Horizontal-only (time) / Vertical-only (pitch) constraints via modifier or two-axis gesture; optional octave-step constraint.
- “Scale Lock” to keep moved notes within the selected scale (with nearest-note fallback).
- Nudge System (keyboard/MIDI/OSC mappable):
- Nudge time by:
ticks
, current grid step
, beat
, bar
(positive/negative). - Nudge pitch by
semitone
or octave
; optional “keep chord shape.” - Repeat-to-accelerate with configurable ramp.
- Edge-Aware Autoscroll:
- Smooth, speed-ramped autoscroll when dragging to the viewport edge; hysteresis prevents accidental scrolling.
- “Scroll while holding” and mini-map preview of destination.
- Visual Feedback & Handles:
- Ghost preview with start/end, length, and Δ readouts (e.g.,
+23 ticks, +2 st
). - Collision hints and
legato-protect
option to keep note gaps/overlaps intact; ripple mode to shift following notes together.- Multi-Selection QoL:
- Box-select respects current grid; add/remove with lasso; preserve relative spacings when moving chords/phrases.
- ALT/Option-drag = duplicate-while-moving; “repeat xN” dial to create evenly spaced copies.
- Grid & Groove Integration:
- Grid units: bars/beats/subdivisions (incl. triplets & dotted), tempo-aware at any zoom.
- Groove amount applies to move/duplicate commits; “snap to groove markers” overlay.
- Linked Lanes:
- Move notes with their automation/velocity ramps (toggleable).
- Per-lane offset locks to keep CC/aftertouch aligned when timing shifts.
- Performance & Safety:
- Edit-time text never overflows widgets; live-fit labels in editor UI.
- Per-move undo grouping; “preview only” until mouse-up/touch release for low CPU.
Benefits:
- Faster, more accurate edits at any zoom level.
- Musical results via groove-aware and relative snap options.
- Fewer accidental jumps and cleaner phrasing with constrained moves and ripple/legato guards.
- Clear feedback reduces guesswork; fewer steps to achieve micromoves.
Examples:
- Hold Shift to drag a chord horizontally onlyby1/16steps while preserving its swing offset (Relative Snap).
- Tap arrow to nudge −10 ticksfor tight flams; hold to accelerate to−1/16steps.
- ALT-drag a hi-hat note and set repeat x7to stencil an even pattern across the bar.
- Enable Scale Lockso moving a melody up keeps every note within D Dorian.
- Drag near the right edge to autoscroll smoothly into the next section while the ghost overlay shows Δ +0.5 beat.
This summary was automatically generated by GPT-5 Thinking on 2025-09-07.
Original Post:
Please, Improved movement on the midi editing grid.
I would like a second spin about movement and editing Midi notes in Loopy. I find it quite worky.
-I would prefer if when I’m double pinching on the grid I would be able to move around the screen in all 4 directions aswell as zooming so I don’t have to switch between the movement button and the editing button all the time.
-Also when I’m zooming and moving currently it sometimes it jumps a little, try it! I have not been able to find the condition but when moving towards the start of the song, or zooming in out at the current loop boundary it gets hectic
ultracello
under review