Commit Graph

145 Commits

Author SHA1 Message Date
Robin Gareus 7664b15617
Fix build, amend previous commit 2023-10-31 20:25:18 +01:00
Robin Gareus c162aa7aca
Consistently use context-menu button action
This fixes an issue where brining up a menu can directly activate an
action in the menu. Notably on macOS.

Nathan reports that this may also address #9515

Note: mac touchpads are not affected since right-click there is
effectively a "press and hold".
2023-10-31 20:16:23 +01: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 54ec5f87d4
Clear trigger on shift+RMB (#8991) 2022-10-17 00:02:58 +02:00
Paul Davis 0c2176dd71 move default_triggers_per_box into a namespace ; change value for Ardour to 16 (GUI edition) 2022-10-04 19:55:15 -06:00
Ben Loftis 0af0e3a8e8 remove unused code: an unused follow-action icon 2022-09-22 08:10:29 -05:00
Ben Loftis ee9e7589ee trigger_ui: add more tooltips 2022-02-19 12:12:43 -06:00
Ben Loftis 02e9222221 trigger_ui: implement new UIState api for drag&drop 2022-02-11 15:32:00 -06:00
Paul Davis 17e5667216 triggerbox: use translatable marker name function in GUI 2022-02-11 11:33:43 -07:00
Robin Gareus 9f45e1a1fe
Copy Bank/Patch changes from auditioner to trigger-slot
This will need some refinement, we should only copy the settings
if the file in question was previously auditioned, and perhaps
only if GMsynth.lv2 is used.
2022-02-10 02:22:35 +01:00
Robin Gareus 05f4ffa598
Fix cue selection
TriggerEntry has 3 child items:
 * play-button, follow-button, name-button.

On mouse-down the TriggerEntry is grab()bed in preparation
to start a drag. From then on all events are directly sent to
TriggerEntry, which can only pass it up to parent items.
Mouse-release hence reaches the TriggerStrip and selects it.
2022-02-03 23:29:01 +01:00
Robin Gareus e51427413c
Tweak TB event passthrough
Play/Stop and Follow buttons no longer pass events up.
That way the strip will not be selected on mouse-up.
2022-02-03 21:57:13 +01:00
Robin Gareus 511ff3290f
Implement TriggerStrip selection
This also changes TriggerBox Selection to act on release
(like all other selection). Otherwise strip selection will
de-select the TriggerBox on mouse-release.
2022-02-03 05:50:07 +01:00
Ben Loftis 7748e939b8 trigger_ui: remove the popup slot-editor window until it is finished 2022-01-31 20:25:06 -06:00
Ben Loftis 7d34397a35 triggerbox: handling double-click is necessary to cancel an unneeded grab() 2022-01-30 13:44:38 -06:00
Robin Gareus c9e9843a9e
Fix Trigger DnD
Revert parts of 8c144d6e69 and 0f4a5f2d52
Allow to drag regions out of trigger-boxes (this will be needed
to export triggers).
2022-01-27 22:24:55 +01:00
Ben Loftis 0f4a5f2d52 trigger_ui: slot-to-slot drag, with static variable implementation (gtk part) 2022-01-27 13:23:05 -06:00
Ben Loftis 8c144d6e69 trigger_ui: trigger-to-trigger drags use a different target-name 2022-01-27 13:15:27 -06:00
Ben Loftis 78270d6754 trigger_ui: remove thinko (I think? what does double-click have to do with ungrab?) 2022-01-27 13:15:27 -06:00
Ben Loftis 2e5a266d24 trigger_ui: no need for right-clicking or extra menu levels for a single menu 2022-01-27 13:15:27 -06:00
Ben Loftis 4e1606e0f0 CanvasWidgets have a grab() api. fixes: sometimes the wrong region is dragged 2022-01-27 13:15:27 -06:00
Paul Davis 7f96255722 triggerbox UI: catch up with method and property name changes from 528fd247 2022-01-26 10:12:13 -07:00
Paul Davis b6f37f11be triggerbox: CAS-based property updating GUI editing
Follow actions are now set by two distinct methods, not one
2022-01-25 18:07:21 -07:00
Ben Loftis b0a2d678dc trigger_ui: implement direct-Jump actions from trigger slots; context-menu and icons 2022-01-21 17:45:26 -06:00
Paul Davis f16c99ddb8 remove Other/Any follow action types (GUI edition) 2022-01-20 18:56:07 -07:00
Paul Davis fdedbe24ec remove Next/Prev (Live-style) follow action types (GUI edition) 2022-01-20 18:56:07 -07:00
Paul Davis 38a603910a remove FollowAction type "QueuedTrigger" (GUI edition) 2022-01-20 18:56:07 -07:00
Robin Gareus 4020561389
Fix TB DnD (only check data-type when dropping regions) 2022-01-21 02:14:28 +01:00
Paul Davis 46e2a03863 triggerbox UI: jump follow action, part one 2022-01-20 11:01:14 -07:00
Paul Davis 2152e7ba3b triggerbox: change FollowActions into an object with a target list (GUI edition) 2022-01-19 15:50:55 -07: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
Ben Loftis ddd5b26686 trigger_ui: pixel-pushing: remove drop-shadows and try circles for Cues 2022-01-18 16:42:10 -06:00
Paul Davis 203017e2d5 triggerbox: remove "use follow action" as an explicit property of a trigger (GUI edition, partial) 2022-01-14 17:39:27 -07:00
Robin Gareus 1cc470264f
NO-OP: clang format 2022-01-11 22:12:04 +01:00
Robin Gareus 4eb6a2f195
TriggerBox: draw DnD icon 2022-01-11 22:12:02 +01:00
Robin Gareus 5e3c49f397
TriggerBox: DnD, better version of 8b90ea39a22cl
Move start-drag logic into individual TriggerEntry instances.
This allows to use local data in drag_data_get as-is.
2022-01-11 22:11:57 +01:00
Ben Loftis 3b9fb818e8 trigger_ui: remove update timer, and consolidate set_widget_colors() code 2022-01-11 10:13:06 -06:00
Robin Gareus 192d513cba
NO-OP: clang-format 2022-01-11 13:52:02 +01:00
Robin Gareus 8b90ea39a2
TriggerBox: implement basic TriggerSlot DnD 2022-01-11 05:21:52 +01:00
Robin Gareus 1661f6479f
TriggerBox: allow to receive Regions by ID via DnD 2022-01-11 05:21: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
Ben Loftis 4f5779e67d trigger_ui: allow grabbing() for Gate + Repeat (TODO: Repeat is borked) 2022-01-08 09:33:20 -06:00
Ben Loftis fdd92c82fb trigger_ui: implement icons for new launch-styles and follow-actions 2022-01-04 16:45:11 -06:00
Paul Davis aa3806d875 triggerbox: support for ReTrigger launch style 2022-01-03 17:45:21 -07:00
Paul Davis 66b170075b triggerbox: add Forward/ReverseTrigger follow actions (GUI edition) 2022-01-02 17:20:39 -07:00
Ben Loftis cdaa9a7262 trigger_ui: refactor shared features into TriggerUI base 2021-12-30 21:25:39 -06:00
Ben Loftis 9180a985a4 trigger_ui: TriggerEntry is-a TriggerUI 2021-12-30 21:25:39 -06:00
Ben Loftis ab92f205aa trigger_ui: replace missing update => smoother progress-circles 2021-12-30 21:25:39 -06:00
Ben Loftis c5b6d7f9d2 trigger_ui: TriggerEntry is-a TriggerUI 2021-12-30 21:25:39 -06:00