Paul Davis
3755c04786
triggerbox: fix some const qualifier usage
2021-12-27 12:04:21 -07:00
Paul Davis
8e2b36d43d
triggerbox: NOOP: add explanatory comment
2021-12-27 11:24:21 -07:00
Paul Davis
610125b87c
remove call to #ifdef'ed code
2021-12-27 11:24:03 -07:00
Paul Davis
75d5d54cb6
triggerbox: position triggerbox after disk reader, before polarity, by default
2021-12-27 11:20:40 -07:00
Paul Davis
d82d8dd7d4
NO-OP: fix spelling mistake
2021-12-27 11:20:40 -07:00
Robin Gareus
18fe2e2c4e
Fix C++11/14 array initialization (clang < 3.7)
...
C++11 array initialization won't call copy constructor, leading to
an error: array initializer must be an initializer list.
Specifically this affects the copy c'tor: line 93: peaks (other.peaks)
A workaround is to use a vector instead of a fixed size array.
This fixes macOS builds.
2021-12-27 16:42:26 +01:00
Paul Davis
a71ab327a3
triggerbox UI: set ruler metric
2021-12-24 15:34:30 -07:00
Paul Davis
b2bd748672
ruler: make ::set_metric() API consistent with constructor by using ptr
2021-12-24 15:34:18 -07:00
Paul Davis
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
Paul Davis
a5c37e6fd4
fix one remaining trigger lookup in trigger UI
2021-12-24 14:42:52 -07: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
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
Paul Davis
7afc8f7a31
triggerbox: remove unused local variable
2021-12-24 14:17:23 -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
ce71ee010e
triggerbox: fix API/virtual issue with ::start_offset() method
2021-12-24 14:17:23 -07:00
Paul Davis
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
Robin Gareus
7f3681c7ac
Scale export-analysis dataset
2021-12-24 21:59:03 +01:00
Robin Gareus
4fa8af3e20
prefer ARDOUR::ui_scale_factor over ARDOUR::ui_scale_factor
2021-12-24 21:58:59 +01:00
Robin Gareus
8221b22ffd
Push UI scaling to libardour
2021-12-24 21:58:57 +01:00
Robin Gareus
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
Robin Gareus
31159c2f77
NO-OP: clang-format
2021-12-24 19:54:00 +01:00
Robin Gareus
d0792a7721
Update Export Graph rendering for variable size
2021-12-24 19:54:00 +01:00
Robin Gareus
122d219354
Prepare scaleable analysis (variable width, bins)
2021-12-24 19:54:00 +01:00
Ben Loftis
ea9512ff1a
trigger_ui: various thinkos. fixes property editor FA buttons
2021-12-23 22:35:52 -06:00
Ben Loftis
42069bc7e2
trigger_ui: implement clear_all_triggers in Master button context menu
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
Ben Loftis
68990d2dbd
trigger_ui: add a set_all_X context menu to Cue buttons
2021-12-23 22:35:52 -06:00
Ben Loftis
31228c8635
triggerbox: clear_all_triggers (libardour part)
2021-12-23 22:35:52 -06:00
Ben Loftis
bc8994d5c8
trigger_ui: implement Audition Action (press A to audition, spacebar to stop)
2021-12-23 22:35:52 -06:00
Robin Gareus
216ff53bb9
C++11 Lambda FTW!
2021-12-24 02:13:50 +01:00
Robin Gareus
cf5dcd12ee
Use a callback instead of subtractive char math
2021-12-24 02:13:03 +01:00
Robin Gareus
7a8775382f
Remove ASCII limit when naming files/regions
2021-12-24 00:31:01 +01:00
Robin Gareus
d78364f90b
Un-hardcode number of trigger-slots
2021-12-24 00:31:01 +01:00
Robin Gareus
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
Paul Davis
00b2b21878
remove debug output
2021-12-23 15:46:31 -07:00
Paul Davis
c7896075b5
triggerbox: fix FA probability math so that zero == 100% left
2021-12-23 14:55:57 -07:00
Paul Davis
c14e9cd2fb
triggerbox: fix default follow action probability, and the default FA to Again
2021-12-23 14:55:57 -07:00
Paul Davis
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
Robin Gareus
541b91d293
Implement Bounce Range to Trigger
2021-12-23 22:39:57 +01:00
Robin Gareus
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
Robin Gareus
5406057190
Use speaker-icon in loudness report to indicate a too quiet signal
2021-12-23 17:41:12 +01:00
Robin Gareus
ef71266129
Use Table-like layout for Conformity Analysis
2021-12-23 17:16:56 +01:00
Robin Gareus
6dcb9dc9c4
Fix conformity analysis layout when using font-scaling
2021-12-23 16:48:58 +01:00
Paul Davis
43203a407b
triggerbox: steps toward sane trigger stopping API and design (GUI edition)
2021-12-22 17:27:26 -07:00
Paul Davis
ff89d998b2
triggerbox: steps toward sane trigger stopping API and design
2021-12-22 17:27:26 -07:00
Paul Davis
0cfbf346e7
triggerbox: try to detect "oneshot" clips and set clip properties appropriately
2021-12-22 17:27:26 -07:00
Ben Loftis
308a764e96
trigger_ui: pixel pushing
2021-12-22 12:29:40 -06:00
Ben Loftis
1bbe00ca48
triggerbox: implement set_all_X for triggers (gtk part)
2021-12-22 12:29:40 -06:00
Ben Loftis
bad18350e2
triggerbox: implement set_all_X for triggers (libardour part)
2021-12-22 12:29:40 -06:00
Paul Davis
b89d181560
triggerbox: NOOP - change name of set_region_threaded() to set_region_in_worker_thread()
2021-12-22 07:42:52 -07:00