I would go ahead and just implement this myself through the git repository but I am not familiar enough with github to figure out how to properly do a pull request…
Anyways, why isn’t the AudioSampleBuffer class taking advantage of Apple’s Accelerate functions in these functions? VDSP has a bunch of different
vDSP_vramp functions that speed things up while outputting the same results. It would save me from having to write stuff like this:
#if defined(JUCE_USE_VDSP_FRAMEWORK) && defined(JUCE_MAC) // vDSP option float vdsp_ramp_step = 1.0f / static_cast<float>(N) * sh_sample_old[ch]; vDSP_vrampmuladd(temp_read, 1, &gain_old[ch], &vdsp_ramp_step, input_write[channel], 1, (size_t)N ); #else // standard option buffer.addFromWithRamp(ch, 0, temp_read, N, sh_sample_old[ch], 0.0f); #endif
From my understanding there is no equivalent for doing this with SSE / AVX so maybe extending upon the
FloatVectorOperations class with new ramping functions would not make much sense in this case but it would still be nice to have the vDSP optimization built into the buffer’s functions.