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