Commit Graph

145 Commits

Author SHA1 Message Date
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 5e76c32e96 trigger_ui: add a button to load a sample (TODO: refactor with triggerbox) 2021-12-30 21:25:39 -06:00
Ben Loftis bad4fdc48a trigger_ui: better display+handling of FA enable and probability 2021-12-27 18:03:13 -06:00
Ben Loftis f5c2697f4f trigger_ui: trigger-master button should follow conventions of other Stop buttons
Normally the Stop occurs quantized (on bar ending). Primary-modifier means 'stop now'
2021-12-27 18:03:13 -06:00
Ben Loftis be190f611d cruft removal 2021-12-27 18:03:13 -06:00
Ben Loftis b722a23f39 triggerbox colors (gtk part) 2021-12-27 18:03:13 -06:00
Ben Loftis 8ac1b40694 pixel-pushing: tweak text position 2021-12-27 18:03:13 -06:00
Ben Loftis 3324882fe0 pixel-pushing: remove horizontal divider lines 2021-12-27 18:03:13 -06:00
Ben Loftis 13b907af5b pixel-pushing: better icons for Any and Other 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
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 43203a407b triggerbox: steps toward sane trigger stopping API and design (GUI edition) 2021-12-22 17:27:26 -07:00
Ben Loftis 308a764e96 trigger_ui: pixel pushing 2021-12-22 12:29:40 -06:00
Paul Davis 844bb85d12 triggerbox: somewhat working mechanism for "clear" slot 2021-12-21 22:35:59 -07:00
Paul Davis c7e778bba0 manual fixups for unresolved merge conflicts 2021-12-21 17:55:48 -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 b89b452c8d trigger_ui: allow selecting an empty slot 2021-12-21 15:32:43 -06:00
Ben Loftis aa7b15a0b6 trigger_ui: more consistent icons and better selection persistence 2021-12-21 15:32:43 -06: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
Robin Gareus 9d4a40ec61
Clean up c4de76c835
* consolidate redraws on property changes
* use RAII to unwind _ignore_menu_action
* replace comments, always add a space after a comment start
  never a Tab
* clang-format
2021-12-18 00:20:50 +01:00
Ben Loftis c4de76c835 triggerbox: implement clear_trigger and isolate (gtk part) 2021-12-17 13:12:00 -06:00
Ben Loftis 9aa6e4c89e triggerbox: highlight stop-button (empty triggers) on entry 2021-12-17 13:09:49 -06:00
Paul Davis d5e13f093f triggerboxui: explicitly disconnect from update/selection signals
sigc::connection is not scoped, so disconnection is not automation
2021-12-17 09:54:43 -07:00
Robin Gareus 8b5711238e
Mysterious fix crash on selection
This was removed in 422ad6656d since disconnecting
sigc::connection in the d'tor is not supposed to be a no-op.
2021-12-17 17:11:48 +01: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
Ben Loftis 26df9ccdf8 pixel pushing: return of drop-shadows (maybe) 2021-12-17 08:55:30 -06:00
Paul Davis 4c8559ecdf fix redisplay/reset of triggerbox ui as part of set_route() 2021-12-16 18:55:05 -07: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
Paul Davis ed6121d76e triggerbox: continued work on Repeat trigger mode 2021-12-15 12:26:46 -07:00
Paul Davis 8b600d0080 disambiguate Rect for win/macOS 2021-12-15 09:32:58 -07:00
Ben Loftis 66a114a892 triggerbox: draw icons for follow-actions (for testing) 2021-12-14 20:40:15 -06:00
Robin Gareus 142ca9fd07
Allow DnD to TriggerBox from Editor's sidebar 2021-12-14 21:34:21 +01:00
Robin Gareus fde1b3d27e
Highlight Drop Trigger Slot 2021-12-14 03:10:03 +01:00
Robin Gareus 5e38da36c6
Allow to drop file into dedicated Triggerbox slot 2021-12-13 23:05:03 +01:00
Robin Gareus 4f89834e7b
Remove comments that clash with git merge markers 2021-12-13 22:51:42 +01:00
Robin Gareus 28410ebb9a
Triggerbox accept file DnD 2021-12-13 22:51:16 +01:00
Paul Davis a9e1a8a885 fix compilation on macOS (usual conflicts over "Rect" typename) 2021-12-13 12:02:57 -07:00
Ben Loftis c862b604e1 TriggerBox: change highlight behavior and experiment with black borders 2021-12-13 07:02:51 -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
Ben Loftis c0ff182e5f triggerbox: add a master-stopper-widget (currently it stops whatever slot is playing) 2021-12-08 12:35:17 -06:00
Ben Loftis 4c472ca1c5 TriggerSlot: Remove Queued menu-item (for now) 2021-11-13 15:54:11 -06:00
Paul Davis 4f58a92c6d show trigger/slot selection 2021-11-10 17:51:04 -07:00
Paul Davis 0c5d41039a more scene triggering actions 2021-11-03 18:44:31 -06: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 ed823defe0 triggerbox_UI: mark text for size-allocate-based resizing 2021-10-19 10:55:10 -06:00
Paul Davis ccc1fd8a2d remove some debug output 2021-10-17 21:18:06 -06:00
Paul Davis 291adf11cd triggerbox UI: add two more quantization settings 2021-10-17 17:58:48 -06:00
Paul Davis ae83d8121d triggerbox UI: size_allocate() for trigger name text 2021-10-17 17:58:34 -06:00
Paul Davis 82ba897be6 triggerbox UI: some color work 2021-10-17 17:58:08 -06:00
Paul Davis 9d49efdc8c triggerbox ui: use radio menu elements not check elements 2021-10-17 10:49:15 -06:00
Paul Davis a30148b2a1 triggerboxUI: showing trigger box UI is global now; move load op to context menu; handle multiple selection 2021-10-11 17:58:51 -06:00
Paul Davis 9ca287dbdb triggerboxUI: hide/show trigger play/stop buttons when entering/leaving trigger (logic-y experiment 2021-10-08 13:45:27 -06:00
Paul Davis 305c9ba6e9 triggerboxGUI: use new API and tweak add route dialog to allow choice to add triggerbox 2021-10-08 13:45:27 -06:00
Paul Davis 3ddfdbc790 triggerboxUI: start adding per-slot event handling 2021-10-07 07:57:47 -06:00
Paul Davis 6daf0f0451 triggerbox UI: fix usual ambiguity on macOS etc. when using "Rect" 2021-10-07 07:48:07 -06:00
Paul Davis 28784a0da7 triggerboxUI: change progress display to partial width, thin horizontal line 2021-10-06 15:21:44 -06:00
Paul Davis 0bace97916 triggerboxUI: shrink font size 2021-10-06 15:21:44 -06:00
Paul Davis 949e3eadc9 triggerui: fix map/unmap confusion 2021-10-04 01:30:32 -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
Robin Gareus 0dcf7d54e5
Fix --no-nls compilation 2/2 -- #8802 2021-09-27 16:28:44 +02:00
Paul Davis f07885ea13 triggerbox: UI part of size_t => uint64_t change 2021-09-10 13:12:40 -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
Paul Davis ceabc49232 triggerbox: closing in on a one-at-a-time design (GUI edition) 2021-09-04 23:20:08 -06:00
Paul Davis bca2f306ea tweaks and colors for triggerbox box UI 2021-08-31 14:50:55 -06:00
Robin Gareus f5b6f76e12
Fix Windows builds (disambiguate API calls) 2021-08-14 01:08:23 +02:00
Paul Davis 6ac4d37bea fixes for macOS where Rect is a MacType 2021-08-13 14:11:41 -06:00
Paul Davis 3f47c7dcc5 triggerbox (UI): changes required by 2 possible follow actions 2021-08-13 12:51:37 -06:00
Paul Davis 6854c66f6f triggerbox (UI): get closer to Live semantics and descriptions for follow action/launch style 2021-08-13 12:51:37 -06:00
Paul Davis 8cea19dd25 triggerbox (UI): tweaks to fllow API changes 2021-08-13 12:51:37 -06:00
Paul Davis ceb0cb861e triggerbox (UI): clean up drawing of play button 2021-08-13 12:51:37 -06:00
Paul Davis b0914bbc41 triggerbox (UI): initialize member variable to null 2021-08-13 12:51:37 -06:00
Paul Davis d8d9ffaf3d triggerbox (UI): various small changes in GUI (stop buttons, mostly) 2021-08-13 12:51:37 -06:00
Paul Davis 46a64c2eef add whole and half note quantization options 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 45eb81e7e8 triggerbox (UI): double click on trigger "box" to load sample 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 d6e9805c93 triggerbox UI: tweaks while working on box packing 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