Commit graph

18466 commits

Author SHA1 Message Date
Paul Davis
12dbcd90bf triggerbox: fix quantized stop via ::unbang() 2021-12-27 16:24:35 -07:00
Paul Davis
163fc541d2 triggerbox: alter MIDITrigger::run() to work like its AudioTrigger counterpart 2021-12-27 15:08:20 -07:00
Paul Davis
af37a51b65 triggerbox: triggers estimated to be 1 bar long are not one-shots 2021-12-27 15:07:44 -07:00
Paul Davis
f9903a7a8b triggerbox: use custom (threaded) deleter for MIDITriggers just like AudioTriggers 2021-12-27 12:04:39 -07:00
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
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
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
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
122d219354
Prepare scaleable analysis (variable width, bins) 2021-12-24 19:54:00 +01:00
Ben Loftis
31228c8635 triggerbox: clear_all_triggers (libardour part) 2021-12-23 22:35:52 -06:00
Robin Gareus
7a8775382f
Remove ASCII limit when naming files/regions 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
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
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
Paul Davis
8f44a11329 triggerbox: set name of worker thread 2021-12-22 07:42:27 -07:00
Paul Davis
65c7079b51 remove debug output 2021-12-22 07:38:59 -07:00
Paul Davis
844bb85d12 triggerbox: somewhat working mechanism for "clear" slot 2021-12-21 22:35:59 -07:00
Paul Davis
885f8eb5d1 triggerbox: remove unused method 2021-12-21 18:13:50 -07:00
Paul Davis
bd873c6ba1 triggerbox: mostly functional slot swapping system 2021-12-21 17:40:40 -07:00
Paul Davis
75699e384f triggerbox: start of "pending" architecture to allow for thread-safe swapping of slot contents (Triggers) 2021-12-21 17:40:40 -07:00
Paul Davis
f69180c8ee triggerbox: use shared_ptr<Trigger> and also change all 64 bit indices to 32 bit 2021-12-21 17:38:42 -07:00
Paul Davis
f3fe31da27 session: fix for creation of new/default tempo map 2021-12-21 17:38:42 -07:00
Paul Davis
722a159ac1 Session constructor should create a new tempo map
This may be the wrong place to do this. It might be more appropriate in ::set_state(0
so that we either use existing XML state or a default tempo map
2021-12-21 17:38:42 -07:00
Paul Davis
9c6c05dfac triggerbox: audio triggers get a deletion queue (WIP) 2021-12-21 17:38:42 -07:00
Paul Davis
4f8be5a6c3 triggerbox: amend previous commit that failed to notice 2 uses of which_follow_action 2021-12-21 17:38:37 -07:00
Ben Loftis
e112a86af2 triggerbox: fix uninitalized var 2021-12-21 15:32:42 -06:00
Robin Gareus
2072cc5fd8
Add Config variable for custom sample-libraries 2021-12-20 02:32:12 +01:00
Paul Davis
d4145f0cb1 triggerbox: slight rationalization of member order in AudioTrigger 2021-12-18 17:34:06 -07:00
Paul Davis
30123a2106 triggerbox: cleanup what is a property and what isn't 2021-12-18 14:11:54 -07:00
Paul Davis
9b5e910717 temporal: add additional required string_to/to_string functions for BBT_Offset & BBT_Time 2021-12-18 14:11:25 -07:00
Paul Davis
c3a48ff9c9 triggerbox: add explanatory comment about how the triggerbox thread quit msg works 2021-12-18 09:35:10 -07:00
Paul Davis
afd8554b43 triggerbox: waking up the triggerbox thread has nothing to do with RT, so remove comment etc. 2021-12-18 09:33:51 -07:00