Commit Graph

46 Commits

Author SHA1 Message Date
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 1cc470264f
NO-OP: clang format 2022-01-11 22:12:04 +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
Ben Loftis 4f5779e67d trigger_ui: allow grabbing() for Gate + Repeat (TODO: Repeat is borked) 2022-01-08 09:33:20 -06: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 b722a23f39 triggerbox colors (gtk part) 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
Paul Davis 4d15bf9f18 triggerbox: move TriggerReference object into ARDOUR::Triggerbox
Also, change box handle to a pointer so that we can have a
default (empty) constructor.
2021-12-24 14:17:23 -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 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
Ben Loftis c4de76c835 triggerbox: implement clear_trigger and isolate (gtk part) 2021-12-17 13:12:00 -06:00
Robin Gareus 422ad6656d
Re-do source-code cleanup and formatting
Some of this was lost in 26df9ccdf8
This also removes some excess code
2021-12-17 16:53:16 +01:00
Paul Davis d933af6c81 attach triggerbox to triggerbox widget after construction 2021-12-16 15:15:14 -07:00
Paul Davis 1e09a12642 remove TriggerBoxWindow API (not used) 2021-12-16 15:09:20 -07:00
Robin Gareus fde1b3d27e
Highlight Drop Trigger Slot 2021-12-14 03:10:03 +01:00
Robin Gareus 28410ebb9a
Triggerbox accept file DnD 2021-12-13 22:51:16 +01:00
Ben Loftis c0ff182e5f triggerbox: add a master-stopper-widget (currently it stops whatever slot is playing) 2021-12-08 12:35:17 -06:00
Paul Davis 4f58a92c6d show trigger/slot selection 2021-11-10 17:51:04 -07:00
Paul Davis b7ce131557 triggerboxUI: skeleton for triggerbox bindings and actions, include triggering of scene 1 2021-11-01 12:11:57 -06:00
Paul Davis 65f85dfdfe triggerboxUI: GUI elements to load slots from selected regions 2021-10-24 09:25:49 -06:00
Paul Davis 28d8ad1ede triggerbox UI: no need for a render method 2021-10-19 19:08:52 -06:00
Paul Davis 9ed9544f87 triggerbox UI: indicate clip playing status with full-height, shaded fill color 2021-10-19 14:41:05 -06:00
Paul Davis 82ba897be6 triggerbox UI: some color work 2021-10-17 17:58:08 -06:00
Paul Davis 3ddfdbc790 triggerboxUI: start adding per-slot event handling 2021-10-07 07:57:47 -06:00
Paul Davis dc4d94b4ee triggerui: basic progress bar for trigger slots 2021-10-03 23:47:47 -06:00
Paul Davis b5c584befa triggerbox UI: make it respond to size_allocate() 2021-10-03 16:46:39 -06:00
Paul Davis f07885ea13 triggerbox: UI part of size_t => uint64_t change 2021-09-10 13:12:40 -06:00
Paul Davis 27c6edc0b2 scaffolding and more skeleton for trigger UI 2021-09-06 23:21:31 -06:00
Paul Davis ceb0cb861e triggerbox (UI): clean up drawing of play button 2021-08-13 12:51:37 -06:00
Paul Davis f681212f42 triggerbox (UI): set displayed name when region/name changes 2021-08-13 12:51:37 -06:00
Paul Davis def9392ac6 triggerbox UI: lots of work on first pass control of follow action, launch style, quantization via context menu 2021-08-13 12:51:37 -06:00
Paul Davis 66d16fdbce triggerbox UI: dbl-click on name pops up file chooser to load sample 2021-08-13 12:51:37 -06:00
Paul Davis 08150c1547 use pack options in trigger box UI 2021-08-13 12:51:37 -06:00
Paul Davis aa46a91b0c continuing tweaks to triggerbox UI 2021-08-13 12:51:37 -06:00
Paul Davis ccf1c4fb57 some incredibly hasic functionality for the triggerbox UI 2021-08-13 12:51:37 -06:00
Paul Davis f00e5f3c16 extend Triggerbox GUI with a window (for now) 2021-08-13 12:51:36 -06:00
Paul Davis e68c60b407 initial extensions for TriggerBox UI 2021-08-13 12:51:36 -06:00
Paul Davis a63ec8afa2 new files for triggerbox GUI 2021-08-13 12:51:36 -06:00