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.
We cannot extend this to gtkmm2ext base classes yet, because there a 1-way
dependency between libs/widgets and libs/gtkmm2ext. May have to move
UIConfigurationBase into gtkmm2ext to allow that
The clause that was added in b65fe35f67 to allow passing
FQN including .ardour suffix on the comandline.
As side-effect this prevented loading sessions that were named
after a folder inside the session-bundle. e.g. "plugin" or
"interchage" or "dead" etc.
This happens when reimporting a MIDI file taken from Ardour, which
has sequencer specific data (namely, note-IDs). In that case
SMF::read_event() returns zero to indicate a meta event that we
should or could be interested in. For import, we are not interested,
hence the ignored_note_id variable
This would realloc a buffer for every event, making it absurdly slow for
large MIDI files (say, 10k events). Use the somewhat standard heuristic
of doubling the requested allocation every time we need to increase the size.
This results in a speedup of 40-100x when saving SMF to disk
This is in preparation to allow merging sessions, or importing
partial state, and particularly different versions of the same
session where PBD::Ids may match.
Replace obj.ldflags = '-l... with obj.lib = ['... to work for both MinGW and MSVC.
Also, obj.linkflags = ['-Wl,--export-all-symbols'] only happens for MinGW.
(Previously, both lines were ignored by MSVC.
Existing code sent RouteAdded() before the instrument plugin(s) were added. Rather than risk changing code
ordering, just emit a 2nd signal to notify (the GUI) that new instrument tracks/busses were added
This should be used when a Destructible-derived object needs to be
deleted. Handlers of the DropReferences signal should not responsible for
deleting the Destructible, since that would happen in the middle of signal
emission.
Instead, emit the DropReferences signal, then delete the Destructible.