basics: Change sampleFrame to use std::array (#5536)

... in order to make standard containers be able to store it. Required for
#5532 (#4899) and the recording PR.

This includes:

* removing the `LocklessRingBuffer<sampleFrame>` specialization
* passing samplerame in `StereoDelay::tick` as a reference

Additional cleanups:

* removing already unused typedef `sampleFrameA`
* add some `const_cast` to make code more readable
This commit is contained in:
Johannes Lorenz
2020-09-21 09:04:44 +02:00
committed by GitHub
parent 2f37281d02
commit 6d160fd773
7 changed files with 24 additions and 74 deletions

View File

@@ -693,8 +693,8 @@ bool SampleBuffer::play( sampleFrame * _ab, handleState * _state,
// Generate output
src_data.data_in =
getSampleFragment( play_frame, fragment_size, _loopmode, &tmp, &is_backwards,
loopStartFrame, loopEndFrame, endFrame )[0];
src_data.data_out = _ab[0];
loopStartFrame, loopEndFrame, endFrame )->data ();
src_data.data_out = _ab->data ();
src_data.input_frames = fragment_size;
src_data.output_frames = _frames;
src_data.src_ratio = 1.0 / freq_factor;
@@ -1196,8 +1196,8 @@ SampleBuffer * SampleBuffer::resample( const sample_rate_t _src_sr,
{
SRC_DATA src_data;
src_data.end_of_input = 1;
src_data.data_in = data[0];
src_data.data_out = dst_buf[0];
src_data.data_in = data->data ();
src_data.data_out = dst_buf->data ();
src_data.input_frames = frames;
src_data.output_frames = dst_frames;
src_data.src_ratio = (double) _dst_sr / _src_sr;