AudioSampleBuffer copyFromWithRamp() and addFromWithRamp() vDSP Optimizations

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.

I think that with current processors it is not worth optimizing for speed the code that is not inside a nested loop.

I’m not saying that we shouldn’t use the most efficient and fastest code possible, but it might not be on the top list of development priorities, especially if they are platform dependent.