Paul Davis
b65f18a56e
triggerbox: basics of scene triggering
2021-11-01 12:11:57 -06:00
Robin Gareus
437840dced
NO-OP: whitespace, clang-format
2021-10-31 18:17:01 +01:00
Robin Gareus
07d7e0bf54
Fix JACK-MIDI monitoring when hotplugging devices
...
During initial setup, PortManager::reestablish_ports(),
the jack client is not yet active and port_connect failed:
"Cannot connect ports owned by inactive clients".
Later hotplugged devices were likewise not connected because
"JACK: Cannot callback the server in notification thread!"
see also 2007bf2d5f
2021-10-31 18:10:28 +01:00
Robin Gareus
84b75f6627
Retain MIDI monitor connection -- #8816
...
A physical input port must remain connected to ardour's
physical_midi_input_monitor_enable port, otherwise reading
its input can cause crashes.
Previously a MIDI input port was disconnected from all other
targets when "MIDI input follows selection" was enabled.
2021-10-31 16:37:37 +01:00
Robin Gareus
89fc526574
Add API to check for special ports by name
2021-10-31 16:33:03 +01:00
Bruno Vernay
e3836e1162
Typo in code Paramater
2021-10-30 23:02:04 +02:00
Bruno Vernay
2000d306c6
Typo in comments ParamaterDescriptor
...
ParamaterDescriptor -> ParameterDescriptor
2021-10-30 18:38:14 +02:00
Paul Davis
1e8b7cc563
triggerbox: mo' better MIDI triggers
2021-10-29 16:22:55 -06:00
Paul Davis
0634dcfbc4
remove some unused code (left over from before RippleAll)
2021-10-29 16:22:30 -06:00
Paul Davis
66b812cc2f
remove some unused local variables
2021-10-29 16:22:06 -06:00
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