Commit graph

18426 commits

Author SHA1 Message Date
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
Paul Davis
4d980bee6a triggerbox: catch file-name-based incorrect types when loading into slots 2021-12-18 09:31:44 -07:00
Paul Davis
16dfb410bc triggerbox: catch failure to load files 2021-12-18 08:29:48 -07:00
Paul Davis
8e3e3ea01f triggerbox: fix load-from-file for MIDI 2021-12-18 08:29:48 -07:00
Paul Davis
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
Paul Davis
2111cfe557 triggerbox: allow set_region_threaded() to "unset" the region 2021-12-17 19:24:12 -07:00
Paul Davis
c6e141aaba triggerbox: avoid float/double warning 2021-12-17 19:24:12 -07:00
Paul Davis
9f957f8220 triggerbox: change type of _follow_count property to avoid signed/unsigned warnings 2021-12-17 19:24:12 -07:00
Paul Davis
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
Paul Davis
689c569319 triggerbox: extend debugging info 2021-12-17 19:24:12 -07:00
Ben Loftis
243ddae928 triggerbox: implement trigger gain as a save-able property (libardour) 2021-12-17 13:09:49 -06:00
Ben Loftis
dd7f474125 triggerbox: scene-isolate property for triggers (libardour part) 2021-12-17 13:09:49 -06:00
Robin Gareus
ec04ab3865
Fix Triggerbox mono to stereo playback 2021-12-17 17:50:50 +01:00
Robin Gareus
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
Robin Gareus
9f7114f761
Add dir names for media-folder 2021-12-16 19:08:03 +01:00
Paul Davis
21ed6a2626 add Config variable for trigger enable 2021-12-16 10:39:43 -07:00
Paul Davis
f7792cb425 triggerbox: fix typo that caused crash when handling unstretched audio 2021-12-16 10:39:43 -07:00
Paul Davis
899c217511 triggerbox: fix passthru handling and default to off 2021-12-16 09:31:12 -07:00
Ben Loftis
f8432d0647 Triggerbox: these properties will not be stored in Region (reverts 3918ee) 2021-12-16 08:15:29 -06:00
Robin Gareus
fc0dfd5d38
Wreturn-type, fixes unconfigured processors 2021-12-16 14:47:10 +01:00
Paul Davis
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
Paul Davis
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
Ben Loftis
382f73fa51 triggerbox: use stretching() internally but change property name to stretchable (libardour) 2021-12-15 18:08:22 -06:00
Paul Davis
40c1a7016a triggerbox: NOOP - add explanatory comment 2021-12-15 15:39:28 -07:00
Paul Davis
ca7b418281 triggerbox: NOOP - commented out extra debugging info 2021-12-15 14:58:24 -07:00
Paul Davis
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
Paul Davis
ed6121d76e triggerbox: continued work on Repeat trigger mode 2021-12-15 12:26:46 -07:00
Paul Davis
2688c02e0e triggerbox: do not use follow action if Trigger::_use_follow is not set 2021-12-15 11:19:36 -07:00
Paul Davis
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
Ben Loftis
ab03e09a79 triggerbox: publish the loop_cnt for the gui 2021-12-15 11:43:48 -06:00
Paul Davis
71f7f7a09b triggerbox: add stretching property, virtualize computation of expected end sample, maybe fix position_as_fraction() 2021-12-15 10:21:28 -07:00
Paul Davis
97eb164b91 triggerbox: clean up part of the state machine for audio triggers 2021-12-14 21:59:33 -07:00
Paul Davis
12847b0125 remove Session::bbt_time() and use TempoMap::use()->bbt_at() explicitly everywhere 2021-12-14 21:59:33 -07:00
Ben Loftis
3335757276 triggerbox: add Properties for velocity and probability 2021-12-14 13:11:08 -06:00
Ben Loftis
977f6aec94 Triggerbox: save and recall the follow_count property (lib part) 2021-12-14 10:40:37 -06:00
Paul Davis
58796e6b19 fix likely crash in faderport8 support, from calling TempoMap::use() and not TempoMap::fetch() 2021-12-13 21:07:18 -07:00
Marijn Kruisselbrink
0e799357a8 Fix crash in mackie strip code.
Strip::notify_property_changed accesses _stripable without verifying
that is not null. However it is possible for this to be null, so
add a null check.
2021-12-13 21:03:38 -07:00
Todd Naugle
d04d25e7c7 Mackie Control: Clean up detection of QCon master display and meter.
Only enable the master display and meter modes for Qcon devices if this
surface is in the master position. Extenders don't have master meters
or master displays.
2021-12-13 21:26:45 -06:00
Todd Naugle
d60a5187bd Mackie Control: Fix detection of QCon Extenders so 2nd LCD is correct
Logic to detect an extender has to be based on if this surface object is
the master position. Has master fader is true for all surfaces in this
"device".
2021-12-13 21:25:07 -06:00
Paul Davis
5f810843bb triggerbox: only require a MIDI output if the data type is MIDI
This was a thinko that occured when I added the sidechain for audio tracks to handle
trigger input
2021-12-13 16:50:31 -07:00
Paul Davis
0fcc873ec5 correctly hide/show/position triggerbox in route processors 2021-12-13 16:24:13 -07:00