13
0
Commit Graph

18535 Commits

Author SHA1 Message Date
88e9db30e3 triggerbox: NO-OP move code around 2021-12-31 12:54:06 -07:00
1e7e4b3037
VST3: fix legacy MIDI output - thanks to paulfd 2021-12-31 15:58:51 +01:00
854e359f56 build-fix: remove unused file reference 2021-12-30 21:44:21 -06:00
9180a985a4 trigger_ui: TriggerEntry is-a TriggerUI 2021-12-30 21:25:39 -06:00
133b51922a trigger_ui: move old triggerui implementation into slot_properties where it is used 2021-12-30 21:25:39 -06:00
7a53c4140d trigger_ui: add a color-picker button 2021-12-30 21:25:39 -06:00
d87b1053df ArdourButton: ColorBox flag is for color-picker buttons 2021-12-30 21:25:39 -06:00
c29f5471b2
Handle all enum cases, prevent accessing unintialized ptr object 2021-12-31 02:47:50 +01:00
1f5649ef28
Fix vfork edge-case
Calling c_str() after vfork is prohibited after a successful vfork.
Also the string needs to remain in scope until exec() completed.
2021-12-31 01:39:39 +01:00
96c80e88ac
Lua binding for MidiTrack::set_input_active 2021-12-30 19:00:14 +01:00
Florian Walpen
10d367fdae
Fix plugin manager build with VST3 disabled.
ARDOUR::SystemExec is also used for scanning VST2 and AU plugins, yet
the corresponding header ardour/system_exec.h is not included when VST3
support is disabled in the build configuration.
2021-12-29 23:33:39 +01:00
24269acb97 triggerbox: update relevant comment 2021-12-29 09:37:43 -07:00
645262c26a triggerbox: fix incorrect behavior in MIDITrigger::run() caused by taking dest_offset into account twice 2021-12-29 08:58:55 -07:00
87974562d3 triggerbox: add TriggerBox::active_scene() 2021-12-28 18:02:13 -07:00
2c00379220 triggerbox: continuing fixups for MIDITrigger 2021-12-28 18:01:41 -07:00
c97a28015e triggerbox: default probability should be 0 (100% left) 2021-12-28 08:37:08 -06:00
a43e3d88e5 triggerbox: notify the UI when we Clear a trigger 2021-12-27 18:03:13 -06:00
3a506ac7a1 triggerbox: mark session dirty when a Trigger's properties are changed
also make an effort to damp callbacks that are prone to gui feedback loops
 i.e.  CheckMenu Items and Adjustments
2021-12-27 18:03:13 -06:00
cc5fb209ab triggerbox: Triggers may be assigned a color
colors can be transmitted to some surfaces (Launchpad et al), so must be store in Trigger::
2021-12-27 18:03:13 -06:00
12dbcd90bf triggerbox: fix quantized stop via ::unbang() 2021-12-27 16:24:35 -07:00
163fc541d2 triggerbox: alter MIDITrigger::run() to work like its AudioTrigger counterpart 2021-12-27 15:08:20 -07:00
af37a51b65 triggerbox: triggers estimated to be 1 bar long are not one-shots 2021-12-27 15:07:44 -07:00
f9903a7a8b triggerbox: use custom (threaded) deleter for MIDITriggers just like AudioTriggers 2021-12-27 12:04:39 -07:00
3755c04786 triggerbox: fix some const qualifier usage 2021-12-27 12:04:21 -07:00
8e2b36d43d triggerbox: NOOP: add explanatory comment 2021-12-27 11:24:21 -07:00
610125b87c remove call to #ifdef'ed code 2021-12-27 11:24:03 -07:00
75d5d54cb6 triggerbox: position triggerbox after disk reader, before polarity, by default 2021-12-27 11:20:40 -07:00
d82d8dd7d4 NO-OP: fix spelling mistake 2021-12-27 11:20:40 -07:00
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
b2bd748672 ruler: make ::set_metric() API consistent with constructor by using ptr 2021-12-24 15:34:18 -07:00
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
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
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
122d219354
Prepare scaleable analysis (variable width, bins) 2021-12-24 19:54:00 +01:00
31228c8635 triggerbox: clear_all_triggers (libardour part) 2021-12-23 22:35:52 -06:00
7a8775382f
Remove ASCII limit when naming files/regions 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
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
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
bd873c6ba1 triggerbox: mostly functional slot swapping system 2021-12-21 17:40:40 -07:00
75699e384f triggerbox: start of "pending" architecture to allow for thread-safe swapping of slot contents (Triggers) 2021-12-21 17:40:40 -07:00
f69180c8ee triggerbox: use shared_ptr<Trigger> and also change all 64 bit indices to 32 bit 2021-12-21 17:38:42 -07:00
f3fe31da27 session: fix for creation of new/default tempo map 2021-12-21 17:38:42 -07:00
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
9c6c05dfac triggerbox: audio triggers get a deletion queue (WIP) 2021-12-21 17:38:42 -07:00
4f8be5a6c3 triggerbox: amend previous commit that failed to notice 2 uses of which_follow_action 2021-12-21 17:38:37 -07:00
e112a86af2 triggerbox: fix uninitalized var 2021-12-21 15:32:42 -06:00
2072cc5fd8
Add Config variable for custom sample-libraries 2021-12-20 02:32:12 +01:00
d4145f0cb1 triggerbox: slight rationalization of member order in AudioTrigger 2021-12-18 17:34:06 -07:00
30123a2106 triggerbox: cleanup what is a property and what isn't 2021-12-18 14:11:54 -07:00
9b5e910717 temporal: add additional required string_to/to_string functions for BBT_Offset & BBT_Time 2021-12-18 14:11:25 -07:00
c3a48ff9c9 triggerbox: add explanatory comment about how the triggerbox thread quit msg works 2021-12-18 09:35:10 -07:00
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
4d980bee6a triggerbox: catch file-name-based incorrect types when loading into slots 2021-12-18 09:31:44 -07:00
16dfb410bc triggerbox: catch failure to load files 2021-12-18 08:29:48 -07:00
8e3e3ea01f triggerbox: fix load-from-file for MIDI 2021-12-18 08:29:48 -07:00
d28422d420 MIDI import: load MIDI model after writing/copying MIDI to a new file
Fixes problem with edits to newly imported MIDI not changing what is played back, because
there was no model to connect the region/playlist to, and thus no notifications about
the changes to the model were sent
2021-12-17 19:24:12 -07:00
2111cfe557 triggerbox: allow set_region_threaded() to "unset" the region 2021-12-17 19:24:12 -07:00
c6e141aaba triggerbox: avoid float/double warning 2021-12-17 19:24:12 -07:00
9f957f8220 triggerbox: change type of _follow_count property to avoid signed/unsigned warnings 2021-12-17 19:24:12 -07:00
95355f943f triggerbox: start encapsulating audio trigger data object
The goal will be to be able to swap out the data, atomically, when stopped
2021-12-17 19:24:12 -07:00
689c569319 triggerbox: extend debugging info 2021-12-17 19:24:12 -07:00
243ddae928 triggerbox: implement trigger gain as a save-able property (libardour) 2021-12-17 13:09:49 -06:00
dd7f474125 triggerbox: scene-isolate property for triggers (libardour part) 2021-12-17 13:09:49 -06:00
ec04ab3865
Fix Triggerbox mono to stereo playback 2021-12-17 17:50:50 +01:00
6b6ae5dedb
Fix file-extension check
If the extension is not found, string::rfind() returns -1,
That can still match unrelated file if the file-name is one
char longer than an arbitrary extension.

eg. "foo" matched ".aiff" because
-1 = strlen("foo") - strlen(".aiff")

Also due to a missing comma ".VOC.vwe" matched any file shorter
than 7 chars in length.
2021-12-16 19:08:03 +01:00
9f7114f761
Add dir names for media-folder 2021-12-16 19:08:03 +01:00
21ed6a2626 add Config variable for trigger enable 2021-12-16 10:39:43 -07:00
f7792cb425 triggerbox: fix typo that caused crash when handling unstretched audio 2021-12-16 10:39:43 -07:00
899c217511 triggerbox: fix passthru handling and default to off 2021-12-16 09:31:12 -07:00
f8432d0647 Triggerbox: these properties will not be stored in Region (reverts 3918ee) 2021-12-16 08:15:29 -06:00
fc0dfd5d38
Wreturn-type, fixes unconfigured processors 2021-12-16 14:47:10 +01:00
8a58155dcf triggerbox: use Session::import_files() to load from file
This uses the SRC infrastructure set up for normal imports, which
is desirable.
2021-12-15 18:19:20 -07:00
02eb39325f triggerbox: fix channel handling for audio
We do not modify the audio I/O of the parent route, and process
at most std::min (route_inputs,region_channels).
2021-12-15 18:19:20 -07:00
382f73fa51 triggerbox: use stretching() internally but change property name to stretchable (libardour) 2021-12-15 18:08:22 -06:00
40c1a7016a triggerbox: NOOP - add explanatory comment 2021-12-15 15:39:28 -07:00
ca7b418281 triggerbox: NOOP - commented out extra debugging info 2021-12-15 14:58:24 -07:00
1ecdc5c515 triggerbox: try to avoid tempo that results in fractional bar cnts
If minibpm's estimate of tempo implies that the clip has a duration measured in
fractional bars, use the estimate as a starting point to get to a tempo that
will lead to an integer number of bars (and quarters)
2021-12-15 14:58:03 -07:00
ed6121d76e triggerbox: continued work on Repeat trigger mode 2021-12-15 12:26:46 -07:00
2688c02e0e triggerbox: do not use follow action if Trigger::_use_follow is not set 2021-12-15 11:19:36 -07:00
347a17cdb2 triggerbox: telling a Toggle/Gate/Repeat launch mode slots to not use a follow action when stopped 2021-12-15 11:03:53 -07:00
ab03e09a79 triggerbox: publish the loop_cnt for the gui 2021-12-15 11:43:48 -06:00
71f7f7a09b triggerbox: add stretching property, virtualize computation of expected end sample, maybe fix position_as_fraction() 2021-12-15 10:21:28 -07:00
97eb164b91 triggerbox: clean up part of the state machine for audio triggers 2021-12-14 21:59:33 -07:00