Allow for 192kHz session (needs testing, by ear and
by down-sampling to 48k vs. running directly at 48k, etc)
Also prevent plugin from loading when sample-rate is out of bounds.
Previously the plugin loaded but was pitched up when the sample
rate exceeded 96k.
This properly handles missing write permissions (that previously
crashed when trying to close the archive).
Also report and error on disk-full or other write failures
such as 4GB file limit.
If walking the grid by bar, but points are closer than that, we could end up
with the wrong TempoMetric being used to compute various time domain
conversions (which tends to leads to abort()).
This small change makes sure that we keep looking for more points if we have
not yet reached the next grid point (e.g. bar).
Choosing some option and then trying to remove it by clicking "Disabled"
previously did nothing. Now sets it back to blank. Also fixed for Tascam
US-2400.
Empty means that it contains some tracks or user-addedd
busses or VCA (not counting master, monitor, surround busses).
This is motivated by A&H control-surface.
Also speeds up PT imports during region creation.
This is because regions are imported immediately when sources
are grouped into multichannels rather than doing it in another pass
This allows bulk creating tracks with different name templates.
Simply call the bulk method multiple times as required and finally
call add_routes() once.
Although setting CURLOPT_PROGRESSDATA appears to work to set the pointer
passed into the new CURL_XFERINFOFUNCTION option, the documented option is
now CURLOPT_XFERINFODATA.
We must not walk past a MusicTimePoint if the reftime is a BBT_Argument.
May try to fold this back into the fully-templated version in a subsequent commit.
Clamp misaligned prefix loops to the remaining frame count to avoid
nframes underflow and potential out-of-bounds access for small buffers.
Apply vabsq_f32() to all SIMD loads before peak reduction to ensure
correct absolute peak calculation in unrolled NEON paths.