Commit Graph

8 Commits

Author SHA1 Message Date
Ben Loftis cce260b67a trigger_ui: reorganize some tempo and FA controls 2022-01-14 12:55:51 -06:00
Ben Loftis 5f0839141b trigger_ui: refactor property_boxen to subclasses of TriggerUI 2022-01-11 10:51:24 -06:00
Ben Loftis 7ddecb91e0 trigger_ui: Fix crash when selecting a midi trigger 2022-01-11 10:41:32 -06:00
Paul Davis e3293db126 triggerbox UI: clean up class heirachy for *TriggerPropertiesBox and catch trigger swaps 2022-01-01 16:19:13 -07: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
Paul Davis c18d175f55 triggerbox (UI): shared ptrs for everyone, plus indirect references to Triggers from TriggerEntry 2021-12-21 17:40:37 -07:00
Robin Gareus 49b1eb401d
Yet more code cleaning and formatting 2021-12-17 16:21:33 +01:00
Ben Loftis 1812769f84 add missing files 2021-12-15 19:27:43 -06:00