Robin Gareus
ff95d81612
Reduce reliance on boost - the easy part
...
* boost::unordered_map -> std::unordered_map
* BOOST_STATIC_ASSERT/static_assert
* BOOST_FOREACH -> for
* boost::tuple -> std::tuple/g
* boost::math::isnormal -> std::isnormal
* boost::container::set -> std::set
* boost::none -> std::nullopt
* boost::optional -> std::optional
2024-10-19 03:41:16 +02:00
Paul Davis
56ce9c33c0
renaming: AutomationLineBase => AutomationLine, AutomationLine => EditorAutomationLine
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
fa79645c19
move most of AutomationLine into AutomatonLineBase, a class not strongly tied to the editor
2024-10-17 07:44:31 -06:00
Paul Davis
a2f04a3104
virtualize event handling methods for EditingContext
2024-10-17 07:44:29 -06:00
Paul Davis
dee8e920e6
editing refactoring, the drag part
2024-10-17 07:44:29 -06:00
Paul Davis
2d5884ccb1
refactor methods to add a location/section marker so that there is only one method for this
2024-05-21 08:21:02 -06:00
Robin Gareus
b2d4280e0f
Add support for Region Fx Automation
2024-04-23 21:56:22 +02:00
Paul Davis
945ce377aa
tempo mapping (like all other drags) must use button1 only
...
Without this, Editor::button_release_handler() will handle a button3 press
without checking for an active drag, resulting in two drags, and two reversible
commands, and an abort ...
2023-10-03 16:00:35 -06:00
Robin Gareus
ed60ef40b0
Fix arrangement rectangle prelight
...
This follows the general rule to lighten a widget on hover
(like ArdourButton, Triggermaster etc)
2023-09-25 18:55:04 +02:00
Robin Gareus
cc0c00f807
Snap cursor for section_rect ctx menu, just like popup_ruler_menu
2023-09-15 14:49:33 +02:00
Ben Loftis
94b7ed8d4c
partially revert 218fb. TODO: menu actions need to operate on the clicked section
2023-09-12 08:40:07 -05:00
Robin Gareus
218fbda6e7
Arrangement Ruler: overhaul context menu, do not select on RMB
2023-09-12 05:39:02 +02:00
Ben Loftis
e81b2353cc
Indicate arrangement section selection on canvas
2023-09-08 03:26:00 +02:00
Robin Gareus
019a3a1976
Allow to select Arrangement sections
...
This also adds interaction with sections in the
Arrangement Ruler.
Note that selecting a range switches to the Range tool.
This is enforced because time-range selection is only meaningful
with tools that perform edit operations on the whole timeline.
2023-09-08 03:25:59 +02:00
Ben Loftis
268d1d33c7
Add invisible Rectangle to initiates Tempo(grid) drags
2023-09-06 19:14:14 +02:00
Paul Davis
df52c39ce0
freehand line drawing: automation & velocity share the same basic code
2023-07-14 13:03:26 -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
294de8d64f
no automation line event stuff for velocity tracks (for now)
2023-06-27 09:42:14 -06:00
Paul Davis
cf7ba80fc1
the basics of lollipop dragging
2023-06-26 14:18:18 -06:00
Paul Davis
60628a62be
somewhat active lollipop event handling
2023-06-26 14:18:17 -06:00
Robin Gareus
1ee2675716
Implement Selection Marker class and events
2023-05-17 01:50:51 +02: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
786f71f7f1
fix GUI enum registration so that UIConfiguration can load with variables that use some of them
2023-04-08 13:58:25 -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
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
2b64c4afe4
Allow to move edit-cursor and PH in dropzone ( #9222 )
2023-02-07 02:14:38 +01:00
Robin Gareus
eb42318d3e
Consolidate ruler prelight events
...
This fixes various copy/edit bugs (e.g. transport ruler uses
"range marker bar" colors, but only after a enter/leave event).
2022-12-10 15:14:29 +01: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
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
Ben Loftis
b3f524a78a
Ruler markers: less drastic highlights in ruler bars
2022-01-21 19:25:33 -06:00
Ben Loftis
d50e854b05
Rulers: restore theme-ing of ruler bars (reverts much of 60cb)
2022-01-21 11:30:14 -06:00
Ben Loftis
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
Robin Gareus
50bccb44d5
Add static meta-data for x-ardour/region.pbdid DnD
...
During drag-motion callbacks the data to be dragged is n/a.
However we like to discriminate if drop is possible.
When dragging regions, the data-type of the region to be dragged
is unknown, so different `x-ardour/region` targets are not an
option, either.
Until a better option is presented, a static global is used
to set the data-type for region.pbdid drags.
2022-01-19 17:13:51 +01:00
Robin Gareus
0204ea1f24
Unify Region Drag/Drop
...
Identify Regions using PDB::ID. This allows dragging regions
from almost anywhere to anywhere, without special cases.
2022-01-19 17:13:51 +01:00
Robin Gareus
056189c76c
Clean up DnD, use MIME-types
...
This is in preparation for allowing to drag trigger-regions
or trigger-slots. Those will not use a static singleton
PublicEditor API.
Additionally this constrains Ardour-internal drags to Ardour
(via Gtk::TARGET_SAME_APP).
2022-01-10 21:29:29 +01:00
Paul Davis
b1f73d25bf
actual GUI interaction for cue marker ruler
2022-01-04 15:23:51 -07:00
Paul Davis
77d83540b1
copy-n-paste addition of cue marker ruler (based on cd marker ruler)
2022-01-04 15:23:51 -07:00
Paul Davis
139a051b18
remove default args to Session::new_midi_track() (gui edition)
2021-08-13 12:51:36 -06:00
Paul Davis
4f1ad4ed0d
start adding new BBT marker support
2021-08-13 12:51:34 -06:00
Paul Davis
2a08e4bdaa
continued work on timeline types conversion. in theory, just editor_ops.cc remains
2021-08-13 12:51:29 -06:00
Paul Davis
04e8dbb342
another day of slow timeline type conversion
2021-08-13 12:51:29 -06:00
Robin Gareus
5c579ed52d
Remove unused #include<> (1/2)
...
PBD::stacktrace() is not used nor needed by default.
It should be used sparingly.
2021-05-05 17:43:28 +02:00
Robin Gareus
fddecc11ec
Remove unrelated enum cases (-Wenum-compare-switch)
2021-03-17 17:44:11 +01:00
Paul Davis
505bd41ad4
do not clear selection when clicking on canvas in internal mode
2020-05-05 14:10:54 -06:00
Robin Gareus
bc9b490e90
Fix canvas scroll-event zoom-focus
...
Unconditionally use the mouse-cursor as zoom-focus when holding
<ctrl> while scrolling on the canvas.
This is consistent with using ctrl + scroll in the ruler area.
2020-04-17 20:51:47 +02:00
Robin Gareus
7ae4e0f7ba
Allow to override zoom-focus to mouse
...
When Prefs > Editor > Zoom to mouse position... is disabled.
Ctrl + Scroll now allows to override the current zoom-focus,
and zoom in/out at the mouse-cursor position.
2020-04-17 16:16:23 +02:00
Paul Davis
51165aec0b
remove some additional debug output
2020-03-25 16:14:25 -06:00
Paul Davis
5d1b75bd4f
likely fix for cases where a button release event falls through from the canvas to the editor, during a drag
...
The drag code expects coordinates in canvas coordinates, but we were not translating them at the editor level (canvas event handling
does do this, but cannot affect the situation if the event falls through to the editor)
2020-03-25 15:30:52 -06:00
Paul Davis
dbcd78cf71
more playhead-drag/click locate debugging
2020-03-25 13:18:58 -06:00