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