13
0
Commit Graph

14935 Commits

Author SHA1 Message Date
b722a23f39 triggerbox colors (gtk part) 2021-12-27 18:03:13 -06:00
8ac1b40694 pixel-pushing: tweak text position 2021-12-27 18:03:13 -06:00
3324882fe0 pixel-pushing: remove horizontal divider lines 2021-12-27 18:03:13 -06:00
13b907af5b pixel-pushing: better icons for Any and Other 2021-12-27 18:03:13 -06:00
a71ab327a3 triggerbox UI: set ruler metric 2021-12-24 15:34:30 -07:00
a5c37e6fd4 fix one remaining trigger lookup in trigger UI 2021-12-24 14:42:52 -07:00
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
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
753d1c9754 rulers: change API to accept a pointer instead of a reference to a Metric
We need to be able to construct Metrics after the ruler is constructed
in order to deal with Triggers which are potentially short-lived. We
stored the reference as a pointer anyway, so it's not as much of a change
as it appears.
2021-12-24 14:17:23 -07:00
8221b22ffd
Push UI scaling to libardour 2021-12-24 21:58:57 +01:00
d0792a7721
Update Export Graph rendering for variable size 2021-12-24 19:54:00 +01:00
ea9512ff1a trigger_ui: various thinkos. fixes property editor FA buttons 2021-12-23 22:35:52 -06:00
42069bc7e2 trigger_ui: implement clear_all_triggers in Master button context menu 2021-12-23 22:35:52 -06:00
e87c7d96fb trigger_ui: code cleanup; consistently use X_to_string; add missing items 2021-12-23 22:35:52 -06:00
68990d2dbd trigger_ui: add a set_all_X context menu to Cue buttons 2021-12-23 22:35:52 -06:00
bc8994d5c8 trigger_ui: implement Audition Action (press A to audition, spacebar to stop) 2021-12-23 22:35:52 -06:00
216ff53bb9
C++11 Lambda FTW! 2021-12-24 02:13:50 +01:00
cf5dcd12ee
Use a callback instead of subtractive char math 2021-12-24 02:13:03 +01:00
d78364f90b
Un-hardcode number of trigger-slots 2021-12-24 00:31:01 +01:00
b2b9c38bc3
Leave a note about trigger-slot IDs using western alphabet
Ideally these would be translatable into Cyrillic, Greek,
Chinese or any other alphabet (and not be limited to 26 either).
2021-12-24 00:31:01 +01:00
541b91d293
Implement Bounce Range to Trigger 2021-12-23 22:39:57 +01:00
83d8560490
Fix bound-range dialog label
Gtk::Label leaves scope, but must remain until the dialog
is destroyed.
2021-12-23 22:32:36 +01:00
5406057190
Use speaker-icon in loudness report to indicate a too quiet signal 2021-12-23 17:41:12 +01:00
ef71266129
Use Table-like layout for Conformity Analysis 2021-12-23 17:16:56 +01:00
6dcb9dc9c4
Fix conformity analysis layout when using font-scaling 2021-12-23 16:48:58 +01:00
43203a407b triggerbox: steps toward sane trigger stopping API and design (GUI edition) 2021-12-22 17:27:26 -07:00
308a764e96 trigger_ui: pixel pushing 2021-12-22 12:29:40 -06:00
1bbe00ca48 triggerbox: implement set_all_X for triggers (gtk part) 2021-12-22 12:29:40 -06:00
844bb85d12 triggerbox: somewhat working mechanism for "clear" slot 2021-12-21 22:35:59 -07:00
8e86451685 remove some debug output 2021-12-21 17:58:29 -07:00
c7e778bba0 manual fixups for unresolved merge conflicts 2021-12-21 17:55:48 -07:00
d67f97a754 triggerbox: mostly functional slot swapping system (GUI side) 2021-12-21 17:42:10 -07:00
c18d175f55 triggerbox (UI): shared ptrs for everyone, plus indirect references to Triggers from TriggerEntry 2021-12-21 17:40:37 -07:00
b89b452c8d trigger_ui: allow selecting an empty slot 2021-12-21 15:32:43 -06:00
aa7b15a0b6 trigger_ui: more consistent icons and better selection persistence 2021-12-21 15:32:43 -06:00
b688f7da6b triggerbox_ui: split context menu into launch, contents and follow-action menus 2021-12-21 15:32:43 -06:00
9837adb4c4 trigger_ui: separate buttons+icons for launch and follow modes 2021-12-21 15:32:42 -06:00
de735fbb0e
Add missing TriggerPage button context menu
amend 9ce604bc03
2021-12-21 22:19:55 +01:00
8fa8e7d814
Resolve yet more ambiguous Rect (fixes macOS build) 2021-12-20 21:22:21 +01:00
3cf9c1f047
Cont'd work on trigger-clip picker
* Allow custom paths
* Add ".." open parent folder
* Allow to descend into folders
2021-12-20 02:40:53 +01:00
bae4bbfc0c
Resolve more ambiguous Rect (fixes macOS build) 2021-12-19 16:48:18 +01:00
4432a89704
Cont'd work on trigger-clip picker
* Only enabled auditioning when a file is selected
* Skip hidden folders/files
* Only drag files (not folders)
2021-12-18 01:27:47 +01:00
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
a908218676
Dynamically create clip-picker file tree, lazy load subfolders 2021-12-18 00:02:32 +01:00
c4de76c835 triggerbox: implement clear_trigger and isolate (gtk part) 2021-12-17 13:12:00 -06:00
f9192decbf triggerbox: workaround for CheckMenuItems that fire the action when we set the display state 2021-12-17 13:09:49 -06:00
9aa6e4c89e triggerbox: highlight stop-button (empty triggers) on entry 2021-12-17 13:09:49 -06:00
c734957aaa triggerbox: loop count should be 1-based 2021-12-17 13:00:17 -06:00
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
c58a2a5749 video monitor: no need to test sigc::connection for connected() before disconnecting 2021-12-17 09:54:10 -07:00