Commit graph

690 commits

Author SHA1 Message Date
Ben Loftis
268d1d33c7
Add invisible Rectangle to initiates Tempo(grid) drags 2023-09-06 19:14:14 +02:00
Ben Loftis
7d95334c0d fix thinko in e53a7 which resulted in unmatched tempo-map UNDO transactions 2023-09-04 08:48:49 -05:00
Robin Gareus
9c984fc2ad
Add dedicated Section Ruler and UI for section boundary markers 2023-08-26 14:09:53 +02:00
Paul Davis
c578695a64 in draw mode, mouse drags in automation tracks are always freehand drawing 2023-08-18 17:42:51 -06:00
Paul Davis
bb8858be81 remove debug output from editor mouse -> tempo dragging startup 2023-08-16 09:06:43 -06:00
Paul Davis
e53a70722a fix ordering of reversible command initiation and tempo mapping ops 2023-08-16 09:05:18 -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
Paul Davis
b3a5e0b2b1 API change for the start of making tempo mapping undoable (GUI) 2023-08-07 16:33:16 -06:00
Paul Davis
df52c39ce0 freehand line drawing: automation & velocity share the same basic code 2023-07-14 13:03:26 -06:00
Robin Gareus
4c8b414fb6
Allow to numeric ctrl point edit to apply to all selected points 2023-07-11 00:53:48 +02:00
Paul Davis
86d5e2472c automation drawing: we have the squiggly 2023-07-09 17:39:32 -06:00
Robin Gareus
168b67bd17
Allow to initiate Rubberband-drag on blank Trackview 2023-07-02 21:19:46 +02:00
Robin Gareus
1f4490fff9
Allow to select region-gain points via rubber-band drag 2023-07-02 20:47:41 +02:00
Paul Davis
99c87e0614 no smart mode behavior for automation region views (it makes no sense) 2023-06-28 13:44:59 -06:00
Paul Davis
cf7ba80fc1 the basics of lollipop dragging 2023-06-26 14:18:18 -06:00
Robin Gareus
921b4aaa75
Allow to drag time selection markers 2023-06-01 21:37:40 +02:00
Ben Loftis
c1fe193def tempo mapping: handle the special case of trying to ramp the 'first' marker 2023-05-22 15:51:38 -05:00
Ben Loftis
ed7683d029 tempo mapping: initiating a drag on a BEAT line applies a ramped twist
as opposed to grabbing a BAR line, which explicitly creates or moves a
  tempo marker, and creates constant tempo lines when dragged
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
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
Robin Gareus
1ee2675716
Implement Selection Marker class and events 2023-05-17 01:50:51 +02:00
Ben Loftis
cceb917806 handle special cases of the first and last tempo-mapping markers
TODO: once all cases are recognized, we can probably simplify the logic
2023-05-14 09:05:08 -05: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
Paul Davis
23a9ce4651 more debug information 2023-04-16 10:33:48 -06:00
Paul Davis
c10b265333 tempo mapping: various tweaks and improvements to workflow/Ux 2023-04-13 17:47:34 -06:00
Paul Davis
caa42c8b4d remove debug output 2023-04-10 09:18:44 -06:00
Paul Davis
53a98a64fa tempo mapping: when not close to a beat line, revert cursor to grabber 2023-04-10 09:18:44 -06:00
Paul Davis
518fc7754f tempo mapping: half-way towards working drags again
For some reason, mid-drag changes are not visible
2023-04-09 14:36:03 -06:00
Paul Davis
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
Paul Davis
0aea2a2ef8 tempo twisting: GUI improvements, including undo/redo logic 2023-03-24 14:19:16 -06:00
Paul Davis
77cefd7721 new tempo mapping drag objects (API and implementation) 2023-03-24 14:19:16 -06:00
Paul Davis
868d606d16 track mouse motion in the mapping bar
This does not yet snap to BBT positions
2023-03-24 14:19:16 -06:00
Paul Davis
d61a741e4b mapping bar: some mouse handling 2023-03-24 14:19:16 -06:00
Paul Davis
18249f7395 ardour has a new ruler
The mapping bar is where tempo mapping operations will take place
2023-03-24 14:19:16 -06:00
Paul Davis
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
Robin Gareus
48efbb4cc5
One drag at a time (#9217)
When a drag is already active, do not allow to start
another one. e.g. start a middle-click (fixed time drag),
then left-click.
2023-02-07 02:57:58 +01:00
Paul Davis
e32d4f7b71 try to get BBTRulerDrag to work on all platforms 2022-12-19 15:03:57 -07:00
Paul Davis
c312d570f4 move twist-tempo drag from tempo ruler to BBT ruler
Behavior remains unchanged, just the location/ruler for the start of the drag.
2022-11-29 10:09:39 -07:00
Paul Davis
5d7b421a0b remove debug output 2022-10-21 07:55:24 -06:00
Robin Gareus
3a98d6133c
Hide draw-tools spacer when draw-tools are hidden 2022-10-18 02:11:09 +02:00
Paul Davis
3327f5b9f1 some rationalization of drag types from various rulers
At present, TempoTwist is Primary-drag on the tempo ruler, and TempoCurve is Primary-drag on the meter
ruler. Not sure that this is quite what we want here, but it makes more sense than the prior
design, in which TempoTwist was available from non-tempo-related rulers
2022-08-18 14:16:25 -06:00
Paul Davis
5738f3d1b1 bbt markers: Primary-click on BBT ruler to create 2022-08-18 14:06:05 -06:00
Paul Davis
fc6ad8ebd9 bbt markers: all the basics of dragging, editing, removing 2022-08-17 16:40:35 -06:00
Ben Loftis
419f934ecd support group-override when starting a new Range selection 2022-07-14 17:28:07 -05:00
Paul Davis
f631f742fa remove debug output 2022-06-29 08:17:16 -06:00
Paul Davis
fdd634f530 add ctrl-drag on tempo bar/ruler to adjust tempo more directly 2022-05-29 14:19:27 -06:00
Paul Davis
c82745301c fix #ifdef'ed-out call to TrimDrag in case we ever use it in the future 2022-05-28 12:59:35 -06:00
Paul Davis
e2e6274956 libardour: change API of Session::request_locate() to include "force" argument (GUI edition) 2022-05-27 18:49:23 -06:00
Paul Davis
69ee83e6ce require explicit time domain for most region-centric drags
This removed one #warning nutempo line.
2022-05-27 15:57:14 -06:00
Paul Davis
2ec6d45d6d temporal: remove the concept of a time domain for the tempo map (GUI edition) 2022-05-24 17:10:25 -06:00