This fixes some plugins that require a valid Bus/SpeakerArrangement
setting to set the available per bus I/O channel-count.
(e.g. Altiverb). Most other VST3s initially announce all
available channels.
TODO: check that this does not break plugins with optional
busses (sidechain in, multi-out instruments)
* Add iCON Pro Audio P1-NANO device with option of P1-X extenders left or right
* Resolve Metering on P1-M/X and P1-NANO
* Resolve SMPTE/beats display on P1-M/X and P1-NANO
This now follows MIDITrigger - when a region's bounds are changed, we reload
the data corresponding to the region into memory, queue up a PendingSwap and
then have Trigger::check_edit_swap() switch to the new data when
necessary (synchronously with ::run).
This comment also removes AudioTrigger::_start_offset because there is never
any start offet - the data in memory is always precisely the data corresponding
to the region. If the region bounds are modified, we reload the correct data
into memory. This also applies to the recently added _user_data_length - again,
the data in memory always corresponds to the full span of the region/clip being
used in process context.
This differs a little from MIDITrigger, where we do in fact load the entire
source and maintain trigger-only bounds. That's because the amount of data for
MIDI is generally small, and so it makes more sense to just put it all in
memory and adjust which parts of it we use. For audio, the region could be
minutes (or hours!) into an audio source, and there's no point having all that
data in memory when we do not need it.
These changes now make editing clip boundaries in AudioClipEditor generally
functional, though some polishing is still in the works.
This API was imagined as useful when Triggerbox started, but we never use
them and likely never will. If some part of them is required in the future, it
will likely be in a different form.
note that this type is also declared by the GTK2 GUI, and at runtime that was the definition being
used, which leads to crashes due to differences in the type definition.
The usable length is based on data in the file, or the follow length, whichever
is smaller, as appropriate. The end of the clip (which could be stretched) is
not relevant to this length.
This will allow, theoretically, multiple instances of an OSC surface.
The osccontrollable.{cc,h} code is not used anywhere in the rest of the surface
support, and so was removed from the library but left in the repository
PortAudio can now successfully be used with Ardour when building on
Windows/MSYS. This will not work with MSYS packaged PortAudio, it
doesn't come with ASIO. You must build from source.
Glib::thread_init has been deprecated since 2.32,ib
is no longer necessary and no longer has any effect.
This fixes builds with modern glib[mm] versions, notably
with msys2 in Windows.