Commit graph

26 commits

Author SHA1 Message Date
Robin Gareus
96137739a7
Reduce includes required for Selection
Previously a triggerbox_ui.h change triggered a complete UI
rebuild. This follows the concept of other editor_selection
lists which use forward declarations.
2022-01-11 05:21:51 +01:00
Robin Gareus
056189c76c
Clean up DnD, use MIME-types
This is in preparation for allowing to drag trigger-regions
or trigger-slots. Those will not use a static singleton
PublicEditor API.

Additionally this constrains Ardour-internal drags to Ardour
(via Gtk::TARGET_SAME_APP).
2022-01-10 21:29:29 +01:00
Robin Gareus
547465e1fa
Implement ImportAsTrigger w/ImportSerializeFiles
Place imported files on the same new track on consecutive
trigger slots.
2022-01-04 02:26:04 +01:00
Robin Gareus
02b94123ef
Implement new trigger-track from region drop 2022-01-04 02:26:04 +01:00
Robin Gareus
0e5b259cf0
Allow to create new trigger-tracks via file DnD 2022-01-03 23:57:50 +01: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
68990d2dbd trigger_ui: add a set_all_X context menu to Cue buttons 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
Robin Gareus
27ba2c7ea6
Cleanup and clang-format source 2021-12-17 15:30:14 +01:00
Robin Gareus
6e3ed7f822
Clean up trigger-page layout
* move strip name-button to the top
* only manage() Gtk Widgets, not Canvas Items
* use identical layout for Cue and Strip
2021-12-17 14:51:19 +01:00
Robin Gareus
5ad5603f1e
Unset CueMaster session-handle on session close 2021-12-17 00:42:07 +01:00
Robin Gareus
e3be6836ca
Trigger-clip-picker audition 2021-12-17 00:42:06 +01:00
Ben Loftis
a15397f746 triggerbox: new trigger_property widgets, because trigger data != a region 2021-12-15 18:08:22 -06:00
Robin Gareus
509c247bfe
Add strip dialog to blank Trigger Page 2021-12-14 21:03:48 +01:00
Ben Loftis
3e5606415f Trigger Cues: implement Stop button (gtk part) 2021-12-13 07:27:16 -06:00
Paul Davis
f5049cda74 audio clip editor: restore ruler removed during merge conflict resolution; incrementally improve its behavior 2021-12-12 22:49:29 -07:00
Robin Gareus
e5d40e86e7
Do not dynamically allocate persistent widgets 2021-12-12 14:34:14 +01:00
Robin Gareus
be7882d7a7
Skeleton for trigger clip file dialog 2021-12-12 14:25:49 +01:00
Robin Gareus
efed7343e0
NO-OP: clang-format, cleanup 2021-12-12 13:48:52 +01: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
132779ab39 Property Boxen: populate the Trigger page with property-editor placeholders 2021-12-08 12:58:12 -06:00
Ben Loftis
fcab855fca Trigger Cues: continued work on triggers, cues and master widgets 2021-12-08 12:35:32 -06:00
Ben Loftis
d20298549e Trigger Cues: add to trigger page 2021-12-08 12:35:32 -06:00
Robin Gareus
59b012ddb0
Implement TriggerStrip and TriggerPage (WIP) 2021-12-01 23:10:08 +01:00
Robin Gareus
9ce604bc03
New Tabbable: Trigger-Page skeleton 2021-12-01 23:10:08 +01:00