Commit Graph

621 Commits

Author SHA1 Message Date
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
1ee2675716
Implement Selection Marker class and events 2023-05-17 01:50:51 +02:00
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
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
23a9ce4651 more debug information 2023-04-16 10:33:48 -06:00
c10b265333 tempo mapping: various tweaks and improvements to workflow/Ux 2023-04-13 17:47:34 -06:00
caa42c8b4d remove debug output 2023-04-10 09:18:44 -06:00
53a98a64fa tempo mapping: when not close to a beat line, revert cursor to grabber 2023-04-10 09:18:44 -06:00
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
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
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
868d606d16 track mouse motion in the mapping bar
This does not yet snap to BBT positions
2023-03-24 14:19:16 -06:00
d61a741e4b mapping bar: some mouse handling 2023-03-24 14:19:16 -06:00
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
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
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
e32d4f7b71 try to get BBTRulerDrag to work on all platforms 2022-12-19 15:03:57 -07:00
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
5d7b421a0b remove debug output 2022-10-21 07:55:24 -06:00
3a98d6133c
Hide draw-tools spacer when draw-tools are hidden 2022-10-18 02:11:09 +02:00
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
5738f3d1b1 bbt markers: Primary-click on BBT ruler to create 2022-08-18 14:06:05 -06:00
fc6ad8ebd9 bbt markers: all the basics of dragging, editing, removing 2022-08-17 16:40:35 -06:00
419f934ecd support group-override when starting a new Range selection 2022-07-14 17:28:07 -05:00
f631f742fa remove debug output 2022-06-29 08:17:16 -06:00
fdd634f530 add ctrl-drag on tempo bar/ruler to adjust tempo more directly 2022-05-29 14:19:27 -06:00
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
e2e6274956 libardour: change API of Session::request_locate() to include "force" argument (GUI edition) 2022-05-27 18:49:23 -06:00
69ee83e6ce require explicit time domain for most region-centric drags
This removed one #warning nutempo line.
2022-05-27 15:57:14 -06:00
2ec6d45d6d temporal: remove the concept of a time domain for the tempo map (GUI edition) 2022-05-24 17:10:25 -06:00
e0f9f11dfc automation-range-drag: if lane is empty, use current value for guard points
* in the case where there are no existing automation points, then
 initiating an automation range drag  (select range, switch to Draw)
 should initialize the line at the current knob position
2022-05-16 07:16:25 -05:00
66a3513dbd remove copy option for TempoMarkerDrag
This just seems like a dumb UI to implement. Drag-copying tempo markers is not a thing
2022-05-10 09:46:08 -06:00
b5487415ec editing: a partiaally implemented version of TempoTwistDrag, to be completed. 2022-05-02 16:47:23 -06:00
d6cd9c8a5b MIDI: allow middle-button to delete notes in draw/edit modes 2022-04-15 10:04:59 -06:00
77233f1ff9 Lock mode: region-drags should not be totally prevented in Lock mode:
* the user can override with a modifier; this is checked later
* the user may drag a region up&down across tracks, just not < >
2022-03-14 22:05:52 -05:00
luz paz
364f2f0788 Fix typos in gtk2_ardour/ directory
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sur,te,trough,ue`
2022-01-26 12:35:38 -05:00
60cbe57a6e Marker Rulers: changes to match mini-timeline aesthetic
Highlight ruler lanes when you enter, instead of showing many lines
2022-01-20 18:59:21 -06:00
7c35783d63 various fixes for cue marker creation, dragging, naming 2022-01-05 13:27:47 -07:00
1d2fa465d3 remove mistaken handling of cue marker bar events 2022-01-05 13:27:47 -07:00
b1f73d25bf actual GUI interaction for cue marker ruler 2022-01-04 15:23:51 -07:00
3c03e4951e
Use updated temporal API 2/2 2021-12-11 15:51:31 +01:00
93e68a5a00 MIDI Draw: provide a menu for Channel and Velocity 2021-11-18 07:35:13 -06:00
2a6da0113f MIDI Draw: Provide a menu to explicitly select note-length
ToDo: 3,5,7's?  keyboard shortcuts?
2021-11-18 07:35:13 -06:00
c22c8ed69f get TempoMarkerDrag and BBTRulerDrag to compile 2021-08-13 12:51:33 -06:00
e4e953df14 no need to copy-construct here 2021-08-13 12:51:33 -06:00
b39a771655 start using Editor::canvas_event_time(), initially just in the button release handler 2021-08-13 12:51:33 -06:00
6a44dcbdad add Editor::canvas_event_time()
See comments in header for more
2021-08-13 12:51:33 -06:00
e393c5efcf manual fixups for rebase against master (timeline type changes) 2021-08-13 12:51:32 -06:00
18d64f0402 change all Region::nt_*() methods to names without the nt_ prefix (GUI version) 2021-08-13 12:51:30 -06:00