48ed5be776
skeleton for clip start/end editing
2024-11-12 18:54:41 -07:00
01068fe306
further adventures in drag-refactoring do that LineDrag can be used in MidiCueEditor also
2024-10-17 07:44:32 -06:00
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
4b8c51574d
refactor the "selectables" API to allow use within separate (e.g. cue) editors
2024-10-17 07:44:32 -06:00
56ce9c33c0
renaming: AutomationLineBase => AutomationLine, AutomationLine => EditorAutomationLine
2024-10-17 07:44:31 -06:00
90c8726c6d
wideranging changes to get automation editing working in cue editor
2024-10-17 07:44:31 -06:00
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
54fdf90cc2
lots of detailed fixes to get lollipops in tracks working again, post re-factor
2024-10-17 07:44:31 -06:00
c97f4f4016
various changes to editor drag code to correctly use a bounding item
2024-10-17 07:44:30 -06:00
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
14b95116e1
move various action registry stuff into EditingContext
2024-10-17 07:44:30 -06:00
33298a0ba0
get region-create drags working and no crashes (nut also no note) for note-drags
2024-10-17 07:44:29 -06:00
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
dee8e920e6
editing refactoring, the drag part
2024-10-17 07:44:29 -06:00
6e6322b315
Doxygen: fix explicit link request to 'motion' could not be resolved
2024-05-27 20:13:55 +02:00
067a124fd1
Suspend signal emission of Locations during Drag
...
This significantly speeds up Location Drag/motion
2023-12-08 21:48:23 +01:00
91fbb1c65b
first steps towards improving straight line drags for velocity
2023-10-27 11:50:15 -06:00
4a8dc04f14
Remove ScrubDrag and vari-speed based fake-scrubbing
2023-10-05 21:53:39 +02:00
764ed125a4
region gain line freehand draw: ensure drawn line is above waveform
2023-10-02 12:04:57 -06:00
b2bb8e9bac
move (empty) Drag destructor into source file and add DEBUG_TRACE
2023-09-30 11:09:58 -06:00
df52c39ce0
freehand line drawing: automation & velocity share the same basic code
2023-07-14 13:03:26 -06:00
67d9fa885a
use mid-drag key events to allow Alt to force a line break
2023-07-10 12:22:16 -06:00
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
6453049c0a
automation drawing: add point at grab start & use new ControlList API for speed
2023-07-10 11:20:47 -06:00
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
0a0a882f5a
snapping, straight lines, and merge drawn points to list for auto draw
2023-07-09 20:42:09 -06:00
e0c24f5bcf
automation drawing: stay in your lane and keep moving in the same direction
2023-07-09 18:12:08 -06:00
86d5e2472c
automation drawing: we have the squiggly
2023-07-09 17:39:32 -06:00
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
94f413c399
basic empty skeleton for automation draw drag
2023-07-09 16:33:16 -06:00
01381dad77
lollis: remove unnecessary drag object member
2023-06-26 14:18:18 -06:00
f7130f5c02
lollipop drag: move all selected notes
2023-06-26 14:18:18 -06:00
cf7ba80fc1
the basics of lollipop dragging
2023-06-26 14:18:18 -06:00
2977205f3a
add skeleton for lollipop drags
2023-06-26 14:18:18 -06:00
72850d456f
implement time-stretch from left of region
...
Make click & drag in the left-hand half of a region with the Timestretch
tool stretch the region on its left, leaving the end position of the new
time-stretched region in the same place as the end of the original.
2023-06-09 17:57:52 +01:00
04d50ab880
Fix mouse edit-point cursor when dragging
...
Editor::motion_handler() only updates the snap-cursor
when no drags are active. While dragging, Drag::motion is
responsible to set the cursor accordingly.
In many cases the snap-cursor simply remained stuck at
the most recent position. Since in many cases
(e.g. RubberbandSelectDrag) it makes no sense to show the
cursor, so Drag::start_grab now hides the cursor by default.
This also fixes cases where the cursor is shown, but
was displayed in the wrong location.
2023-06-07 02:38:39 +02:00
921b4aaa75
Allow to drag time selection markers
2023-06-01 21:37:40 +02:00
c669ff58e5
Cleanup, fix Wunused-private-field
2023-05-22 22:29:42 +02:00
ca5e56f98c
tempo mapping: MappingTwist drag should differentiate between ramped and constant twist
...
TODO: probably break these into separate ::Drag classes
2023-05-22 13:33:03 -05:00
9fa8e257a6
tempo mapping: Mapping Drags should inhibit horizontal autoscroll
2023-05-22 13:32:38 -05:00
a258b82ce9
tweak behavior and naming of tempo-map drags:
...
* correctly handle clicks on the immediate right or left of a beat line
* prefer Mid-Twist and End-Stretch terminology over Twist and Linear
* static-tempo vs ramped-tempo is orthogonal to mid- and end- drags (TODO)
2023-05-04 09:33:08 -05:00
88e4b40857
remove concept/implementation of a mapping stretch drag (aka "half twist")
...
This concept proved to be impossible.
2023-04-13 17:50:41 -06:00
c10b265333
tempo mapping: various tweaks and improvements to workflow/Ux
2023-04-13 17:47:34 -06:00
57398b1e5e
tempo mappoing: use actual mouse cursors not canvas item cursors
...
Also some changes to attempt to do "half-twist" that will be removed soon.
2023-04-07 12:56:57 -06:00
dd542b8f4d
Use ARDOUR::PlaylistSet instead of local typedefs
2023-04-06 02:13:51 +02:00
0aea2a2ef8
tempo twisting: GUI improvements, including undo/redo logic
2023-03-24 14:19:16 -06:00
77cefd7721
new tempo mapping drag objects (API and implementation)
2023-03-24 14:19:16 -06:00
6d5273e514
tempo marker drag: change type of stored bpm
2023-03-24 14:19:16 -06:00
d61a741e4b
mapping bar: some mouse handling
2023-03-24 14:19:16 -06:00
b35518e212
switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
...
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00