This avoids potential conflicts with system-wide libreadline,
since Ardour binaries no longer need to bundle libreadline.so.
Mainly a workaround for yabridge/wine on recent systems.
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.
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.
By default "Escape" in those modes triggers binding for
`EditorAutomation/end-edit within Editor`. This is intentional
when editing automation. Yet when not editing, Esc should deselect.
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 involves better handling of note range changes, and also a renaming of
member variables to better reflect their function.
It adds _finished_live_notes to hold notes that were recorded live but have
ended, since these also need to be updated as zooming or note range changes