Commit graph

93 commits

Author SHA1 Message Date
Paul Davis
8fd25e15c0 triggerbox: cleanup parts of Trigger API and finish initial pass of MidiTrigger implementation 2021-10-24 09:27:14 -06:00
Paul Davis
7339aa7c0d triggerbox: new API to set from region (selection) 2021-10-24 09:25:11 -06:00
Paul Davis
ef20e8e5df triggerbox: remove unused midi_trigger_map 2021-10-20 16:58:00 -06:00
Paul Davis
d252beb807 triggerbox: add MIDI triggers when asked 2021-10-20 16:53:52 -06:00
Paul Davis
d4ef49b504 triggerbox: skeleton framework for MIDI triggers (non-functional) 2021-10-20 16:19:09 -06:00
Paul Davis
6695423fe7 triggerbox: replace implicit queue with single pointer (up_next) 2021-10-19 19:08:52 -06:00
Paul Davis
9f55e7f5d3 triggerbox: add scalable MIDI velocity effect for gain control of triggers 2021-10-19 12:52:32 -06:00
Paul Davis
2d3371c049 triggerbox: fix ::set_state() to pick Processor state too 2021-10-19 12:07:52 -06:00
Paul Davis
bc61ff74ad triggerbox: fix quantization involving bars
The code for this feels potentially expensive. Maybe there's a better way.
2021-10-14 21:08:34 -06:00
Paul Davis
7b2559fe07 triggerbox: fix behavior when bang()-ing a trigger while another is playing
This should queue up the bang-ed one and get the currently playing one to stop
2021-10-14 21:08:19 -06:00
Paul Davis
c831c26c4d triggerbox: make legato mode be off by default 2021-10-14 13:12:31 -06:00
Paul Davis
bedf09fbdb triggerbox: add new property called "order" and use it to decide whether to respond to a given MIDI note/pad (Push 2-centric for now) 2021-10-13 09:07:15 -06:00
Paul Davis
7b14c5666a triggerbox: handle active processor state correctly 2021-10-11 17:57:10 -06:00
Paul Davis
24a09e381a triggerbox: don't fail/crash/assert if set_from_path() is called on an illegal slot 2021-10-11 17:56:56 -06:00
Paul Davis
43993da7b4 triggerbox: if bpm detection fails, don't try to stretch 2021-10-11 17:56:31 -06:00
Paul Davis
b97c5f94c6 triggerbox: do nothing if disabled 2021-10-11 17:48:53 -06:00
Paul Davis
cf392f73fc triggerbox: improve MIDI sidechain port naming 2021-10-10 17:35:15 -06:00
Paul Davis
187ef1c214 triggerbox: better implementation of mono/stereo/nchannels mapping fix 2021-10-10 13:53:24 -06:00
Paul Davis
c2004772c4 triggerbox: map available channels across all output channels
This means that mono regions get played in stereo (or higher)
2021-10-10 13:10:20 -06:00
Paul Davis
55209b5df7 triggerbox: respond to changes in default trigger input port 2021-10-09 16:58:58 -06:00
Paul Davis
4031a03588 triggerbox: start some attempts at complexifying MIDI note -> trigger mapping 2021-10-08 20:35:25 -06:00
Paul Davis
6326222a48 triggerbox: change APIs so that we can add a triggerbox to either type of track 2021-10-08 13:45:27 -06:00
Paul Davis
7e35714886 triggerbox: change default MIDI note triggers to match first vertical row of Push 2 2021-10-08 13:45:26 -06:00
Paul Davis
97f323137c triggerbox: initial (incorrect) attempt at handling tempo map changes 2021-10-07 08:03:46 -06:00
Paul Davis
7e2dd8a718 triggerbox: add follow count support 2021-10-07 07:48:07 -06:00
Paul Davis
d4d4298320 triggerbox: add Chris Cannam's minibpm and use to determine tempo and thus stretch 2021-10-06 15:21:44 -06:00
Paul Davis
1c4e1d01a7 triggerbox: an attempt at parameterizing the expected trigger duration 2021-10-06 15:21:44 -06:00
Paul Davis
0199a4e561 triggerbox: basic stretch test using assumption that slot holds s 4 bar region 2021-10-06 15:21:44 -06:00
Paul Davis
5caed9b0a6 trigger: add method to get position while playing as a fraction 2021-10-03 22:44:03 -06:00
Paul Davis
c550a400b1 triggerbox: more properties 2021-10-01 18:39:06 -06:00
Paul Davis
e265b27f5d triggerbox: add quantization property and notify on changes 2021-09-29 18:00:55 -06:00
Paul Davis
542424e27d triggerbox: minor fixes to get properties working more correctly 2021-09-29 11:20:50 -06:00
Robin Gareus
ed3d374f47
Fix --no-nls compilation 1/2 -- #8802
pbd/i18n.h MUST NEVER be included from header files and always be
the last include. This is because `_` is declared other headers
notably boost and some apple headers.

leading to issues like
../libs/pbd/gettext.h:58:27: error: expected unqualified-id before ‘const’
   58 | # define gettext(Msgid) ((const char *) (Msgid))
2021-09-27 16:28:44 +02:00
Paul Davis
2000bc6ea0 triggerbox: add use_follow and start using actual Properties for trigger properties 2021-09-26 21:59:15 -06:00
Paul Davis
df1780f09d triggerbox: use uint64_t instead of size_t
Somewhat unbelievably, macOS defines size_t as unsigned long, which the compiler there
believes is distinct from unsigned long long even then they have the same bitwidth
and signedness. We don't have any string converters for unsigned long, only uint64_t
(unsigned long long), so various things break.
2021-09-10 13:12:14 -06:00
Paul Davis
e777acb7f9 triggerbox: add void* pointer to hold reference to anonymous UI object 2021-09-10 13:04:49 -06:00
Paul Davis
7932c9bde1 triggerbox: more behavioral improvements 2021-09-05 10:40:58 -06:00
Paul Davis
c2abde9199 triggerbox: closing in on a one-at-a-time design 2021-09-04 23:20:08 -06:00
Paul Davis
2cd88a67f1 triggerbox: start redesign based on only 1 trigger running at a time 2021-09-04 23:20:08 -06:00
Paul Davis
8087bad9a0 triggerbox: create regions and sources using factories, and restore region in set_state() 2021-08-31 22:35:14 -06:00
Paul Davis
dcfbdb482d triggerbox: reload sessions containing triggerboxen 2021-08-31 19:03:32 -06:00
Paul Davis
af8be5e71d triggerbox: restore state initial implementation (incomplete) 2021-08-31 18:36:16 -06:00
Paul Davis
a9d4668dee triggerbox: state saving 2021-08-31 16:46:19 -06:00
Paul Davis
584e5c5b45 triggerbox: various improvements, including legato support, state tracking 2021-08-31 11:53:24 -06:00
Paul Davis
2aa313eb4e triggerbox: actually fully stop trigger when explicitly requested, rather than use follow action 2021-08-30 16:32:02 -06:00
Paul Davis
13a0f74ce4 triggerbox: add more debugging 2021-08-30 16:31:35 -06:00
Paul Davis
25093af986 triggerbox: fix uninitialized variable 2021-08-30 09:13:48 -06:00
John Emmas
2de2ab8f91 Use std::vector<Sample*> rather than a simple array
(for a simple stack-based array, MSVC requires that the size should be known at compile time)
2021-08-29 15:40:59 +01:00
Robin Gareus
55211b8dd6
Update triggerbox RNG API calls 2021-08-15 16:04:08 +02:00
Robin Gareus
e4d1d82ea7
Fix rt-safe PRNG (seed once, not every call) 2021-08-15 15:24:23 +02:00