13
0
Commit Graph

34046 Commits

Author SHA1 Message Date
8c2bd1a555 triggerbox: get thread-based deletion system to actually work
Needed to pass custom deleter to the shared_ptr<Trigger>::reset() call where the
trigger is replaced
2021-12-24 15:00:58 -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
401411d5c3 triggerbox: initial implementation of thread-based deleter for Triggers
Uses a custom deleter for the shared_ptr<Trigger>'s that we create. Will
likely evolve to use an allocator so that we can use make_shared's
cousin allocate_shared().
2021-12-24 14:17:23 -07:00
7afc8f7a31 triggerbox: remove unused local variable 2021-12-24 14:17:23 -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
ce71ee010e triggerbox: fix API/virtual issue with ::start_offset() method 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
7f3681c7ac
Scale export-analysis dataset 2021-12-24 21:59:03 +01:00
4fa8af3e20
prefer ARDOUR::ui_scale_factor over ARDOUR::ui_scale_factor 2021-12-24 21:58:59 +01:00
8221b22ffd
Push UI scaling to libardour 2021-12-24 21:58:57 +01:00
50c60c031d
Allow to use UI scaling to libardour
This will replace LV2Plugin::_ui_scale_factor,
and be useful for export-analysis.
2021-12-24 21:58:53 +01:00
31159c2f77
NO-OP: clang-format 2021-12-24 19:54:00 +01:00
d0792a7721
Update Export Graph rendering for variable size 2021-12-24 19:54:00 +01:00
122d219354
Prepare scaleable analysis (variable width, bins) 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
31228c8635 triggerbox: clear_all_triggers (libardour part) 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
7a8775382f
Remove ASCII limit when naming files/regions 2021-12-24 00:31:01 +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
00b2b21878 remove debug output 2021-12-23 15:46:31 -07:00
c7896075b5 triggerbox: fix FA probability math so that zero == 100% left 2021-12-23 14:55:57 -07:00
c14e9cd2fb triggerbox: fix default follow action probability, and the default FA to Again 2021-12-23 14:55:57 -07:00
8bda2ea54d triggerbox: when calling ::set_state() do not use worker thread
This avoids creating a new Trigger with the correct state, and instead
sets the state of the current Trigger. Also change order of ::set_state() so
that the othe Trigger properties are set after the region is set. Setting the
region may set defaults that are no longer correct.
2021-12-23 14:55:57 -07: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
ff89d998b2 triggerbox: steps toward sane trigger stopping API and design 2021-12-22 17:27:26 -07:00
0cfbf346e7 triggerbox: try to detect "oneshot" clips and set clip properties appropriately 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
bad18350e2 triggerbox: implement set_all_X for triggers (libardour part) 2021-12-22 12:29:40 -06:00
b89d181560 triggerbox: NOOP - change name of set_region_threaded() to set_region_in_worker_thread() 2021-12-22 07:42:52 -07:00
8f44a11329 triggerbox: set name of worker thread 2021-12-22 07:42:27 -07:00
65c7079b51 remove debug output 2021-12-22 07:38:59 -07:00
844bb85d12 triggerbox: somewhat working mechanism for "clear" slot 2021-12-21 22:35:59 -07:00
885f8eb5d1 triggerbox: remove unused method 2021-12-21 18:13:50 -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
bd873c6ba1 triggerbox: mostly functional slot swapping system 2021-12-21 17:40:40 -07:00