Consolidate ambiguous engine API calls available(), connected(), running() were ill-defined and used interchangeably.
Load audition synth on demand This saves some memory (gmsynth loads a 30MB soundfont), and also re-initializes the synth every time to gm defaults in case some .mid changes patches or parameters.
Changed send/deliver role "Personal" to "Foldback" so bus type can match
Update names of sidechains. When a PluginInsert is created it does not have an owner right away. That's why a we need to set the sidechains name once the owner is known, in order to include owner's name into the name. Furthermore we need to follow renames of the owner.
Safe-guard non-rt-safe sidechain operations This is required by 7d8b93ad for showing error when actively recording. It also prevents other UIs (OSC, Lua,..) to change re-configuring sidechain ports/plugins while recording.
Add personal monitor sends
OSC: personal monitor send hidden follows aux hidden
Fix master_send_enable_controllable for Mixbusses
Fix Mixbus master-bus tape-saturation controllable
Fix track rename oddity, don't skip over current name. ensure_track_or_route_name() can produce the current name. This fixes the following issue: Create a two audio tracks. Their names are "Audio" and "Audio 1". Try to rename "Audio 1" to "Audio", its name becomes "Audio 2".
move rt-stop to route currently this is only used to resolve midi events for plugins (this is conceptually not correct, note offs should be resolved by the disk-reader only), but it calls into all processors now (incl disk-reader if present), which is handy (e.g. flush delaylins)
Remove global declick API De-click will be per disk-reader, latency compensated and buffer-size independent. Cue-monitoring should not be affected by de-click.
Auto-monitor == Cue for MIDI tracks.
SoloSelection: libardour part.
Process Panner Automatables (emit Changed) Pan-automation is evaluated directly from the control-list. ::distribute_automated() does not update the controls. However, the *owner* of each automation-control is responsible to evaluate automation of automated automation-controls (and emit Changed() signals to notify the GUI and slaved controls). This follow the same concept as PluginInsert: The Changed signal is called on demand when evaluating automation. This fixes pan-automation-sliders (automation-lane header) not updating.
Sidechain latency compensation - part one This properly sets the port-latencies of PluginInsert owned ports as well as handles external sends (send-target playback latency). NB. This needs more work to ensure that Sidechain input port playback latency is set before the feeding send queries it the connected latency. Re-ordering process may change sidechain or external-send latencies, but since re-ordering does not change the route's latency, engine.update_latency() may not be called.
Clean up delayline API: don't use 'get_' for accessor method-name
Fix polarity-control size (and crash during audition) Also initialize new polarity-invert with gain 1.0, not inverted. Don't fade-in.
Fix set_loop() return value (amend 00a4ad)
Relax assertion to allow rolling backwards into 0.