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
Ben Loftis
f35020fc59
trigger_ui: refactor Actions into the TriggerUI base class
2021-12-30 21:25:39 -06:00
Ben Loftis
133b51922a
trigger_ui: move old triggerui implementation into slot_properties where it is used
2021-12-30 21:25:39 -06:00
Ben Loftis
c45b95a823
triggerui: refactor TriggerUI into a base class ... similar to RouteUI
2021-12-30 21:25:39 -06:00
Ben Loftis
5e76c32e96
trigger_ui: add a button to load a sample (TODO: refactor with triggerbox)
2021-12-30 21:25:39 -06:00
Ben Loftis
bad4fdc48a
trigger_ui: better display+handling of FA enable and probability
2021-12-27 18:03:13 -06:00
Ben Loftis
f5c2697f4f
trigger_ui: trigger-master button should follow conventions of other Stop buttons
...
Normally the Stop occurs quantized (on bar ending). Primary-modifier means 'stop now'
2021-12-27 18:03:13 -06:00
Ben Loftis
be190f611d
cruft removal
2021-12-27 18:03:13 -06:00
Ben Loftis
b722a23f39
triggerbox colors (gtk part)
2021-12-27 18:03:13 -06:00
Ben Loftis
8ac1b40694
pixel-pushing: tweak text position
2021-12-27 18:03:13 -06:00
Ben Loftis
3324882fe0
pixel-pushing: remove horizontal divider lines
2021-12-27 18:03:13 -06:00
Ben Loftis
13b907af5b
pixel-pushing: better icons for Any and Other
2021-12-27 18:03:13 -06:00
Paul Davis
c18823c0e0
triggerbox: change entire UI side to avoid using TriggerPtr
...
Lifetime management of Triggers is unlike anything(?) we've dealt with in
Ardour so far. The parent object (Triggerbox) has a normal lifetime
pattern, but Triggers can come and go in a way that few other objects
do (although Processors and particularly PluginInsert are somewhat similar).
We do not want the GUI to hold references to the actual Triggers, because the
end of life of a Trigger is not really a signal for the GUI element to go
away (the Trigger will be replaced in the slot). Consequently, we do not
want TriggerPtr used as a member variable anywhere in the UI. Instead we use a
TriggerReference which can "lookup" a Trigger on-demand (by box and slot
number). The (G)UI now uses these exclusively.
Work still needed to pick up trigger swap signals from the boxen.
2021-12-24 14:18:10 -07:00
Ben Loftis
ea9512ff1a
trigger_ui: various thinkos. fixes property editor FA buttons
2021-12-23 22:35:52 -06:00
Ben Loftis
e87c7d96fb
trigger_ui: code cleanup; consistently use X_to_string; add missing items
2021-12-23 22:35:52 -06:00
Paul Davis
43203a407b
triggerbox: steps toward sane trigger stopping API and design (GUI edition)
2021-12-22 17:27:26 -07:00
Ben Loftis
308a764e96
trigger_ui: pixel pushing
2021-12-22 12:29:40 -06:00
Paul Davis
844bb85d12
triggerbox: somewhat working mechanism for "clear" slot
2021-12-21 22:35:59 -07:00
Paul Davis
c7e778bba0
manual fixups for unresolved merge conflicts
2021-12-21 17:55:48 -07:00
Paul Davis
d67f97a754
triggerbox: mostly functional slot swapping system (GUI side)
2021-12-21 17:42:10 -07:00
Paul Davis
c18d175f55
triggerbox (UI): shared ptrs for everyone, plus indirect references to Triggers from TriggerEntry
2021-12-21 17:40:37 -07:00
Ben Loftis
b89b452c8d
trigger_ui: allow selecting an empty slot
2021-12-21 15:32:43 -06:00
Ben Loftis
aa7b15a0b6
trigger_ui: more consistent icons and better selection persistence
2021-12-21 15:32:43 -06:00
Ben Loftis
b688f7da6b
triggerbox_ui: split context menu into launch, contents and follow-action menus
2021-12-21 15:32:43 -06:00
Ben Loftis
9837adb4c4
trigger_ui: separate buttons+icons for launch and follow modes
2021-12-21 15:32:42 -06:00
Robin Gareus
9d4a40ec61
Clean up c4de76c835
...
* consolidate redraws on property changes
* use RAII to unwind _ignore_menu_action
* replace comments, always add a space after a comment start
never a Tab
* clang-format
2021-12-18 00:20:50 +01:00
Ben Loftis
c4de76c835
triggerbox: implement clear_trigger and isolate (gtk part)
2021-12-17 13:12:00 -06:00
Ben Loftis
9aa6e4c89e
triggerbox: highlight stop-button (empty triggers) on entry
2021-12-17 13:09:49 -06:00
Paul Davis
d5e13f093f
triggerboxui: explicitly disconnect from update/selection signals
...
sigc::connection is not scoped, so disconnection is not automation
2021-12-17 09:54:43 -07:00
Robin Gareus
8b5711238e
Mysterious fix crash on selection
...
This was removed in 422ad6656d
since disconnecting
sigc::connection in the d'tor is not supposed to be a no-op.
2021-12-17 17:11:48 +01:00