This allows to use standard arithmetic (+ - * / %) and
relational (< <= ==) operations on Temporal::timepos_t
and Temporal::timecnt_t class instances.
Furthermore `print()` outputs the actual value (no longer
user-data pointer to the instance).
Logs for a file named ABCDEF.flac showed up as
2022-01-19T16:31:55 [ERROR]: SndFileSource: could not seek to sample 90059776 within BCDEF.flac (No Error.)
So, evidently, there is no need for the substr(1).
_name is a PBD::Property<string> which already uses .val() for <<.
The same pattern is found and fixed in sndfilesource.cc and
coreaudiosource.cc .
Address build warnings:
audio_clock.cc:911: warning: Empty msgid. It is reserved by GNU gettext:
gettext("") returns the header entry with
meta information, not the empty string.
audio_clock.cc:912: warning: Empty msgid. It is reserved by GNU gettext:
gettext("") returns the header entry with
meta information, not the empty string.
session_dialog.cc:604: warning: Empty msgid. It is reserved by GNU gettext:
gettext("") returns the header entry with
meta information, not the empty string.
session_dialog.cc:605: warning: Empty msgid. It is reserved by GNU gettext:
gettext("") returns the header entry with
meta information, not the empty string.
Use ("") instead of _("") to try to indicate syntactically that
localization markup intentionally has been left out.
Do not run the sidechaing processor before the processor
was configured. This ensure that Route::configure_processors()
has completed and ensure_buffers() was called.
Otherwise it may happen Sidechain::run could request a buffer
that is n/a (BufferSet::get_available assertion, see also 687149d8d2)
Track::init() must not call `add_processor` directly.
The track is not in the process graph, yet and hence various
calls (e.g. lock graph, update latency etc) are not applicable.
Furthermore ::add_midi_sidechain() calls IO::add_port()
which takes the process-lock.
The solution is to create the Triggerbox early on and let Route::init
deal with it like any other internal processors.
This fixes an issue when adding a MIDI track, but there there
are no session-buffers for it, leading to:
ARDOUR::Buffer& ARDOUR::BufferSet::get_available(ARDOUR::DataType, size_t): Assertioni < _available.get(type)' failed.