* take port latency into account
* fix DLL initialization, and initial speed calculation
* igonre out of bounds BPM
the DLL bandwidth still needs to be tweaked, likewise the
hardcoded 1st order LPF to track BPM (vs speed).
* share port_latency latency query for MTC and MIDIClock slaves
* propagate set_session()
* share session_connections for MasterViaMIDI
This is in preparation to allow MClk slave to access midi-port-latency
This removes the restriction to not place a CD marker at
session start.
This helps in getting rid of some inconsistencies. Also,
the previous policy didn't help in enforcing the Red Book standard.
Two seconds of pregap are implicitly created by DDP mastering tools
and CD burning software.
upper_bound() returns the first element that is **greater** than
the given value. So during reverse playback we need the value
before that.
Likewise for forward playback, lower_bound() returns an iterator
pointing to the element before the one that need to be played.
Translators: if the msgid looks like foo|bar then in general the foo is just
there to provide context to clarify the potentially ambiguous nature of bar.
The translated form should not contain the foo or the |
Translators: if the msgid looks like foo|bar then in general the foo is just
there to provide context to clarify the potentially ambiguous nature of bar.
The translated form should not contain the foo or the |
Filenames used by the disk-reader only change when recording
which creates a pending save. There's generally no reason
to force save the session due to renaming a track.
This fixes an implicit save when importing files.
The Track's disk-reader is initially created with an empty
source which is later replaced and dropped:
ARDOUR::Session::save_state
ARDOUR::Session::remove_source
PBD::Destructible::drop_references
ARDOUR::DiskWriter::reset_write_sources
ARDOUR::DiskWriter::set_write_source_name
ARDOUR::Track::set_name
Editor::finish_bringing_in_material
Previous 16 bit mask would do the wrong thing if the keycode was > 65536,
which is not often true but is certainly a valid value (and seen on some
platforms)