Paul Davis
690b571b7b
allow specifying the note to use for brushing when the drag starts
2025-11-06 09:19:20 -07:00
Paul Davis
ddf5c3c8b6
rename HitBrushDrag to NoteBrushDrag
2025-10-31 16:00:07 -06:00
Paul Davis
a30540c3c0
brush notes: secondary modifier changes to every-other-stride point
2025-10-31 15:56:15 -06:00
Paul Davis
ebf16b7ece
allow creator of a HitBrushDrag to specify a note length
2025-10-31 13:35:58 -06:00
Paul Davis
88bf459a61
add HitBrushDrag, to allow brushing notes on the grid
2025-10-31 13:24:35 -06:00
Paul Davis
6187dd35c8
refactor code for region trimming from Pianoroll/MidiView
...
This splits out boundary-dragging things into boundary.{cc,h} and the rest
into CueEditor
2025-08-27 14:02:49 -06:00
Paul Davis
1efd0c06bd
move threshold for drags goes back to pair<int,int>
...
And for now, there's only a single implementation, though other types of
drags could implement it if needed. There really seems to be no need.
Note that the x-axis threshold is 3x in the case of a copy-drag.
2025-08-19 12:09:12 -06:00
Paul Davis
f34e314d93
move _copy member of some types of drags into Drag base class
...
this allows us to use it when computing move thresholds
2025-08-19 12:09:12 -06:00
Paul Davis
10015f570e
NOOP: alignment changes
2025-06-02 18:29:36 -06:00
Paul Davis
367800830d
in internal edit mode, a rubber-band select with no motion (i.e. click) selects region
2025-03-14 13:24:49 -06:00
Robin Gareus
07866caf1e
Update gdk -> ydk header location (omnibus commit)
2025-02-01 13:37:48 +01:00
Paul Davis
5f049affac
change name of _region member of NoteDrag to _view (since it's a MidiView)
2025-01-19 10:53:52 -07:00
Paul Davis
cb26e309af
alter NoteResizeDrag to operate on a single region only
...
This lets us use a MidiView as the target, rather than a MidiRegionView
2025-01-09 16:33:43 -07:00
Paul Davis
5635144e42
initial rename of MidiCueEditor -> Pianoroll
2025-01-07 11:30:26 -07:00
Paul Davis
98c9c03e9f
remove all trace of cursor stacks; canvas cursor is always "just set"
2024-12-08 12:13:41 -07:00
Paul Davis
2096ff7876
cue editor end dragging operational
2024-11-26 13:11:17 -07:00
Paul Davis
5ef4f8973f
somewhat sort of working clip start drag (GUI edition)
2024-11-25 17:54:15 -07:00
Paul Davis
48ed5be776
skeleton for clip start/end editing
2024-11-12 18:54:41 -07:00
Paul Davis
01068fe306
further adventures in drag-refactoring do that LineDrag can be used in MidiCueEditor also
2024-10-17 07:44:32 -06:00
Paul Davis
2afdeb519f
refactor rubberband drags to take a functor for the no-drag condition
...
Also move code for adding automation line control points into automation line, rather
than in AutomationTimeAxisView (some work still required to finalize this)
2024-10-17 07:44:32 -06:00
Paul Davis
4b8c51574d
refactor the "selectables" API to allow use within separate (e.g. cue) editors
2024-10-17 07:44:32 -06:00
Paul Davis
56ce9c33c0
renaming: AutomationLineBase => AutomationLine, AutomationLine => EditorAutomationLine
2024-10-17 07:44:31 -06:00
Paul Davis
90c8726c6d
wideranging changes to get automation editing working in cue editor
2024-10-17 07:44:31 -06:00
Paul Davis
afa15a0061
get velocity editing working in both the cue editor and MIDI region views
...
Quite a bit of hairy coordinate system stuff in here that ought to be commented more
clearly
2024-10-17 07:44:31 -06:00
Paul Davis
54fdf90cc2
lots of detailed fixes to get lollipops in tracks working again, post re-factor
2024-10-17 07:44:31 -06:00
Paul Davis
c97f4f4016
various changes to editor drag code to correctly use a bounding item
2024-10-17 07:44:30 -06:00
Paul Davis
96ccb96b3b
redesign drag API to provide a bounding item, not just "trackview only"
...
This allows rubberband drags on both the main editor and the separate piano roll to wokr
correctly.
2024-10-17 07:44:30 -06:00
Paul Davis
14b95116e1
move various action registry stuff into EditingContext
2024-10-17 07:44:30 -06:00
Paul Davis
33298a0ba0
get region-create drags working and no crashes (nut also no note) for note-drags
2024-10-17 07:44:29 -06:00
Paul Davis
a550b6482f
start using the now-compilable MidiView
...
Nothing yet derives from this, but MIDI display items and drags
do use it.
2024-10-17 07:44:29 -06:00
Paul Davis
dee8e920e6
editing refactoring, the drag part
2024-10-17 07:44:29 -06:00
Robin Gareus
6e6322b315
Doxygen: fix explicit link request to 'motion' could not be resolved
2024-05-27 20:13:55 +02:00
Robin Gareus
067a124fd1
Suspend signal emission of Locations during Drag
...
This significantly speeds up Location Drag/motion
2023-12-08 21:48:23 +01:00
Paul Davis
91fbb1c65b
first steps towards improving straight line drags for velocity
2023-10-27 11:50:15 -06:00
Robin Gareus
4a8dc04f14
Remove ScrubDrag and vari-speed based fake-scrubbing
2023-10-05 21:53:39 +02:00
Paul Davis
764ed125a4
region gain line freehand draw: ensure drawn line is above waveform
2023-10-02 12:04:57 -06:00
Paul Davis
b2bb8e9bac
move (empty) Drag destructor into source file and add DEBUG_TRACE
2023-09-30 11:09:58 -06:00
Paul Davis
df52c39ce0
freehand line drawing: automation & velocity share the same basic code
2023-07-14 13:03:26 -06:00
Paul Davis
67d9fa885a
use mid-drag key events to allow Alt to force a line break
2023-07-10 12:22:16 -06:00
Paul Davis
a14c534d16
dragging: add possibility of handling key events mid-drag
...
Currently only called from a canvas automation track event handler.
2023-07-10 12:21:27 -06:00
Paul Davis
6453049c0a
automation drawing: add point at grab start & use new ControlList API for speed
2023-07-10 11:20:47 -06:00
Paul Davis
c584bfd374
automation drawing: thinning does not work well with snapped-drawn lines
...
Also, adding points to a ControlList can fail and that's OK
2023-07-09 22:10:18 -06:00
Paul Davis
0a0a882f5a
snapping, straight lines, and merge drawn points to list for auto draw
2023-07-09 20:42:09 -06:00
Paul Davis
e0c24f5bcf
automation drawing: stay in your lane and keep moving in the same direction
2023-07-09 18:12:08 -06:00
Paul Davis
86d5e2472c
automation drawing: we have the squiggly
2023-07-09 17:39:32 -06:00
Paul Davis
78bca64a81
fix (and maybe break) two Drag classes that used the wrong name for setup_pointer_offset()
...
This might have unexplored consequences
2023-07-09 17:39:11 -06:00
Paul Davis
94f413c399
basic empty skeleton for automation draw drag
2023-07-09 16:33:16 -06:00
Paul Davis
01381dad77
lollis: remove unnecessary drag object member
2023-06-26 14:18:18 -06:00
Paul Davis
f7130f5c02
lollipop drag: move all selected notes
2023-06-26 14:18:18 -06:00
Paul Davis
cf7ba80fc1
the basics of lollipop dragging
2023-06-26 14:18:18 -06:00