Commit Graph

51 Commits

Author SHA1 Message Date
Robin Gareus dad32d8b11
Clean up slider-controller includes 2024-05-14 23:41:51 +02: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 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