Commit graph

50 commits

Author SHA1 Message Date
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
e23f79a8a9 do not create a Gtk::ColorSelectionDialog for every trigger/slot, create on demand 2023-10-05 08:31:11 -06:00
Paul Davis
44796e6702 redesign and reimplement save/restore of MIDI learn for triggers (GUI edition) 2022-11-18 14:04:59 -07:00
Paul Davis
8362e865ee save trigger custom MIDI learn as a binding map 2022-11-16 18:15:55 -07:00
Paul Davis
847f421542 no more trigger UI actions and bindings 2022-11-16 14:15:34 -07:00
Paul Davis
75a990da8c a start at custom MIDI learn for trigger slots (GUI edition) 2022-11-16 08:37:57 -07:00
Ben Loftis
75ae0fd4b1 disambiguate trigger functions: cue_bang -> trigger_cue_row 2022-10-01 09:13:14 -05:00
Paul Davis
11fd0b84b1 derive TriggerUI from sigc::trackable so that it can be automically disconnected from signals
The explicit disconnect in the destructor prevents any more signal->connection firing, but the invalidator
is required to remove existing queued slot calls in the receiving thread
2022-02-21 15:01:36 -07:00
Paul Davis
87bcd4d83b Revert "derive TriggerUI from sigc::trackable so that it can be automically disconnected from signals"
This reverts commit 06eb154db2.
2022-02-21 13:40:56 -07:00
Paul Davis
06eb154db2 derive TriggerUI from sigc::trackable so that it can be automically disconnected from signals
Note: this still seems suspicious: we explicitly disconnected from signals in the destructor. However,
it is better form to be able to use invalidator() in the connection call
2022-02-21 13:28:17 -07:00
Robin Gareus
eb674d3b58
Prepare for non-modal PatchChangeTriggerDialog 2022-02-09 21:09:46 +01:00
Robin Gareus
ba32ee0e87
Initial version of MIDI Trigger patch override UI 2022-02-08 23:15:24 +01:00
Ben Loftis
63912069f4 trigger_ui: remove redundant action bindings; rename trigger_scene to trigger_cue 2022-01-31 20:25:05 -06:00
Ben Loftis
6ca8326c6a trigger_ui: tweak menu actions for multi-jump 2022-01-31 14:59:30 -06:00
Ben Loftis
3704b47249 trigger_ui: first draft of a multi-jump dialog 2022-01-30 19:00:50 -06:00
Paul Davis
2152e7ba3b triggerbox: change FollowActions into an object with a target list (GUI edition) 2022-01-19 15:50:55 -07:00
Ben Loftis
f0843e3cd9 trigger_ui: stretch_mode selector (gtk part) 2022-01-11 16:27:44 -06:00
Ben Loftis
07738e815b trigger_ui: better connection management: watch both the Trigger and the Box 2022-01-11 10:09:47 -06:00
Ben Loftis
e9081b0b7c trigger_ui: re-add the ability to pick several clips at once 2022-01-06 21:17:53 -06:00
Robin Gareus
5d711dc3f2
Fix non-virtual-dtor in TriggerUI baseclass 2021-12-31 04:46:38 +01: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
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
7a53c4140d trigger_ui: add a color-picker button 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
8997a247d4 trigger_ui: add a name widget and the ability to rename a slot 2021-12-30 21:25:39 -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
c18d175f55 triggerbox (UI): shared ptrs for everyone, plus indirect references to Triggers from TriggerEntry 2021-12-21 17:40:37 -07:00
Ben Loftis
a15397f746 triggerbox: new trigger_property widgets, because trigger data != a region 2021-12-15 18:08:22 -06:00
Ben Loftis
36e995b2e4 triggerbox: rough-in sliders for velocity and probability 2021-12-14 13:11:11 -06:00
Ben Loftis
4d4fdc2b55 trigger_ui: remove dynamic widget allocation (leftovers from canvas) 2021-12-14 10:40:37 -06:00
Ben Loftis
f632a57aaf Triggerbox: add a widget for follow_count (ToDo: need ArdourSpinner?) 2021-12-14 10:40:37 -06:00
Paul Davis
12dc428a60 change class names and heirarchy for the GUI elements that will be used to edit/trim clips 2021-12-09 19:45:25 -07:00
Ben Loftis
be27e7359f Property Boxen: handle more {audio|midi} cases; move code around. 2021-12-08 12:58:12 -06:00
Ben Loftis
cdce9e120e Trigger_UI: De-Canvas the trigger_ui widget so it can be reused in other places 2021-12-08 12:45:05 -06:00
Ben Loftis
d7116c985e Trigger_UI: change API to use set_trigger() instead of constructor arg 2021-12-08 12:40:20 -06:00
Paul Davis
6ba8feed15 triggerui: work on colors, fonts and legato button 2021-10-03 09:09:01 -06:00
Paul Davis
8cd8e23bef triggerUI: continue extending trigger launch editor 2021-10-01 18:38:42 -06:00
Paul Davis
9fe0c3912e triggerui: control and respond to trigger quantization changes 2021-09-29 18:01:19 -06:00
Paul Davis
55e7d70fca triggerui: start adding more elements to launch settings dialog 2021-09-29 11:20:50 -06:00
Paul Davis
b5c0f55831 triggerboxui: start connecting more widgets to trigger API 2021-09-29 11:20:50 -06:00
Paul Davis
46586f3a9d triggerbox: switch GUI packer from ConstraintPacker to Table (non-functional test platform) 2021-09-14 18:29:39 -06:00
Paul Davis
2e4502763c triggerbox: (slowly) evolving the launch settings dialog 2021-09-10 13:05:19 -06:00
Paul Davis
27c6edc0b2 scaffolding and more skeleton for trigger UI 2021-09-06 23:21:31 -06:00
Paul Davis
f01c8faafe skeleton for trigger GUI 2021-09-06 23:21:31 -06:00