Commit graph

18433 commits

Author SHA1 Message Date
Paul Davis
4376185a6b temporal: fix TempoPoint::superclock_at (Beats)
a negative beat position needs to be legal, so the assert was moved and modified. The only check
for a negative value is that the TempoPoint being used is at absolute zero.

This check might turn out to be wrong in the future, but for now we still require a tempo and
meter point at absolute zero
2021-10-29 12:55:14 -06:00
Paul Davis
2b9b08aa22 triggerbox: sort-of-mostly get MIDITriggers to work
Repeated loops can eventually go wrong, as can arbitrary stops
2021-10-27 22:54:40 -06:00
Paul Davis
031f39d9d1 triggerbox: remove unused member vars from MIDITrigger 2021-10-27 22:52:58 -06:00
Paul Davis
282707ee32 add ::shift() to RTMidiBuffer to allow shifting time origin of events 2021-10-27 22:51:25 -06:00
Paul Davis
e1c874b299 manually reverse 948500bbc7 (final code is not identical to previous state) 2021-10-27 08:36:52 -06:00
Paul Davis
66fe6e937a triggerbox: vaguely working MIDI triggers 2021-10-26 17:34:06 -06:00
Paul Davis
32408db777 fix bug in RTMidiBuffer::bytes() method
bytes[0] does not contain data, only the offset for a blob, if relevant
2021-10-26 17:33:46 -06:00
Paul Davis
948500bbc7 further API changes to MIDIRegion::render() to allow for use by triggers 2021-10-26 17:32:36 -06:00
Paul Davis
787e5a2ea8 midiregion: remove internal_offset local variable
Even in 6.9, the logic of this conditional would always generate an
internal_offset value of zero samples.
2021-10-25 13:55:03 -06:00
Paul Davis
54f5c65f02 generalize MidiRegion::render() to provide MidiRegion::render_range() 2021-10-25 13:30:26 -06:00
Paul Davis
f5fb65a3f8 remove unused local variabl 2021-10-25 13:17:18 -06:00
Paul Davis
f9b604b614 triggerbox: start to work on details of MidiTrigger::run() 2021-10-25 12:53:49 -06:00
Paul Davis
76d3238fa6 triggerbox: member variable rename to make things slightly clearer 2021-10-25 12:53:27 -06:00
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
2b754568a0 changes/extensions to RTMidiBuffer API to make it more suitable for slots/triggers 2021-10-24 09:26:35 -06:00
Paul Davis
7339aa7c0d triggerbox: new API to set from region (selection) 2021-10-24 09:25:11 -06:00
Paul Davis
600e0b21e8 fix a misleading comment 2021-10-21 11:16:55 -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
Robin Gareus
7215b10007
Remove accidentally commited file 2021-10-20 01:27:04 +02: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
211b3ea668 canvas text: generalize ::font_size_for_height() to handle different font families 2021-10-19 10:54:27 -06:00
Paul Davis
1d1cc04b32 triggerbox: add Trigger -> TriggerBox accessor 2021-10-17 17:57:43 -06:00
Paul Davis
ab22733fe4 canvas: continuously variable Canvas::Text height if packed inside a layout-sensitive container 2021-10-17 17:56:27 -06:00
Robin Gareus
d6e4e0fb35
Remove false-positive VST log message
Ardour prevents repeat crashes by first marking a plugin
as blacklisted, and after a successful scan the plugin is
whitelisted.

When not scanning for plugins, but reading the cache
and successfully parsing the cashed content, a VST2 plugin
is whitelisted, even though it may not have been blacklisted.

In case the blacklist is empty, this lead to a logging:
"Expected VST Blacklist file does not exist."

PS. This also consolidates VST2 + VST3 code for white/blacklist
2021-10-16 20:33:22 +02: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
480907d613 add sstream header file, since the header file requires the defn 2021-10-14 13:12:31 -06:00
Paul Davis
bb87ba49d9 remove unnecessary boost header (we have our own ratio_t) 2021-10-14 13:12:31 -06:00
Paul Davis
c831c26c4d triggerbox: make legato mode be off by default 2021-10-14 13:12:31 -06:00
Paul Davis
27572a2bce fix problem with SrcFileSource
::length() was non-virtual, and so calling SrcFileSource::length() would access
the base class (AudioFileSource)'s version. Since SrcFileSource is essentially
a pimpl-like pattern, this was incorrect; we need to make sure we call the
pimpl-style method instead.
2021-10-14 13:12:31 -06:00
Robin Gareus
2066b6b33a
websockets: require Windows7 (with pollfd) 2021-10-13 21:40:39 +02: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
Robin Gareus
2e0a069c51
WebSockets: use v7 tempo-map correctly 2021-10-12 15:32:41 +02: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
9e763c2672 remove all dangling event-loop-precall code 2021-10-11 17:48:53 -06:00
Paul Davis
9adc336d50 control surfaces: fix BasicUI::jump_by_bars() to use tempo map correctly 2021-10-11 17:48:53 -06:00
Paul Davis
b97c5f94c6 triggerbox: do nothing if disabled 2021-10-11 17:48:53 -06:00
Robin Gareus
a2a36de98f
Fix minor memory leak when querying Windows registry 2021-10-11 18:20:07 +02: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
52decdd1b4 push2: prevent crash caused by missing per-thread tempo map ptr 2021-10-09 11:47:13 -06:00
Paul Davis
3475350d7c push2: session button should be lit 2021-10-09 11:46:53 -06:00