Ben Loftis
72761734e8
region groups: more fixes for drag-copy and range-paste operations
2023-09-27 11:06:40 -05:00
Paul Davis
d892614742
fix DEBUG_TRACE message about a drag
2023-09-25 11:01:22 -06:00
Robin Gareus
36f8d48e93
Add editing mode to select marker click behavior
...
So far this only adds actions, not a GUI dropdown or
context menu. See also f9a121ce9c
2023-09-13 03:16:24 +02:00
Paul Davis
28af3c2024
i like nullptr
2023-09-11 10:26:54 -06:00
Paul Davis
fa78fe1f33
fix incorrect design of abort-tempo-map-edit operation
2023-09-11 10:26:54 -06:00
Paul Davis
734a62101f
remove use of Tempo::active() from GUI
...
This has not been accessible in the GUI since 7.0.
2023-09-11 10:26:54 -06:00
Paul Davis
250174b16e
don't bother locating at end of no-motion marker drag if using external sync
2023-09-07 14:23:08 -06:00
Paul Davis
f9a121ce9c
click (no drag) on markers locates there, unless using marker as edit point
2023-09-07 14:23:08 -06:00
Ben Loftis
e5e40c751f
if user moves selection markers, convert selection to a timeline section
2023-09-05 23:08:30 +02:00
Robin Gareus
cf9f9db48b
Set length of new percussive hits to 1 tick
...
This prevents overlap of successive hits.
Ardour 7 added a new duration select drop-down menu,
which defaults to "Auto" (musical grid) and removed
the special case when drawing percussive notes.
It was possible to accidentally create overlapping notes,
without the user being aware of doing so.
2023-09-04 23:26:54 +02:00
Ben Loftis
b66e12610b
arrangement ruler: create Section marker type, so we can customize it a bit
2023-08-29 23:02:05 -05:00
Ben Loftis
32b18073e8
more enforcement of left->right freehand drawing (fixes velocity drawing)
2023-08-27 10:43:47 -05:00
Paul Davis
b15fa57017
freehand draw; use ensure_snap to force non-magnetic snap during drag (if snapping)
2023-08-19 13:39:27 -06:00
Paul Davis
c8819d73c8
freehand draw: require left-to-right drawing
2023-08-19 13:39:27 -06:00
Paul Davis
5c423d3dda
freehand draw: slight logic improvement for first move
2023-08-19 13:39:27 -06:00
Paul Davis
7c029f5f6a
next iteration of changes to handle time domain bounces as undoable (GUI)
2023-08-14 23:42:08 -06:00
John Emmas
35c04d0ee7
Add a missing namespace specifier
2023-07-15 12:55:30 +01:00
Paul Davis
df52c39ce0
freehand line drawing: automation & velocity share the same basic code
2023-07-14 13:03:26 -06:00
Paul Davis
ac68fcb880
automation drawing: fix right-to-left free drawing
2023-07-10 14:39:23 -06:00
Paul Davis
f6f1f3393d
automation drawing: fatter line
2023-07-10 14:38:58 -06:00
Paul Davis
d12aa315fc
automation drawn: ensure the right-to-left drawn lines are ordered correctly
2023-07-10 14:23:39 -06:00
Paul Davis
9d5b6a78d5
automation drawing: better line color
2023-07-10 14:16:59 -06:00
Paul Davis
25d17e857f
when free-drawing straight lines, allow retrograde motion
2023-07-10 13:42:25 -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
7f653de3e2
automation drawing: don't draw staircases when there are no staircases
2023-07-09 22:14:38 -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
6743c09b4a
change return type from ptr to reference for AutomationTimeAxis::base_item()
2023-07-09 17:37:22 -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
Paul Davis
2977205f3a
add skeleton for lollipop drags
2023-06-26 14:18:18 -06:00
Colin Fletcher
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
Robin Gareus
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
Robin Gareus
921b4aaa75
Allow to drag time selection markers
2023-06-01 21:37:40 +02:00
Ben Loftis
cc630c6bbe
tempo mapping: clicking on a bar line should always make a new tempo marker
...
* the process of tempo mapping requires/encourages you to click on the
last-known good marker, before continuing to make tempo tweaks
* this conflicts with the idea that clicking in a ruler should start a
playhead-drag. TBD. but tempo-mapping is a special and rare operation.
2023-05-22 15:51:33 -05:00
Robin Gareus
c669ff58e5
Cleanup, fix Wunused-private-field
2023-05-22 22:29:42 +02:00
Robin Gareus
515e67f784
NO-OP: clang-format
2023-05-22 22:23:41 +02:00
Ben Loftis
a217c58ff5
tempo mapping: remove an unnecessary limit on tempo-drags
...
a) mouse-scaling is not 1:1
b) invalid tempo values are prevented internally anyway
2023-05-22 13:33:03 -05:00
Ben Loftis
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
Ben Loftis
9fa8e257a6
tempo mapping: Mapping Drags should inhibit horizontal autoscroll
2023-05-22 13:32:38 -05:00
Robin Gareus
dbebc0b7e0
Make Markers properly themable, use color-names
...
This simplifies code, and also immediately changes marker
colors when the theme is changed.
2023-05-18 01:26:35 +02:00
Ben Loftis
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
Ben Loftis
3f15a3a402
set playhead sensitivity via config (defaulted insensitive)
...
* in the 'fake_drag' case (dragging the playhead from the ruler), the
mouse events are delivered to the playhead during the drag so we need
to temporarily sensitize the playhead during that operation, then reset
the sensitivity via config
2023-05-01 08:49:27 -05:00