Example #1
0
            void SampleMatchedRate(ref AudioClipBlob clip, int clipStart, bool isRightChannel, float weight, NativeArray <float> output)
            {
                int outputStartIndex     = math.min(clipStart, 0);
                int remainingClipSamples = clip.samplesLeftOrMono.Length - clipStart;
                int remainingSamples     = math.min(output.Length, math.select(0, remainingClipSamples, remainingClipSamples > 0));

                if (isRightChannel && clip.isStereo)
                {
                    for (int i = outputStartIndex; i < remainingSamples; i++)
                    {
                        output[i] += clip.samplesRight[clipStart + i] * weight;
                    }
                }
                else
                {
                    for (int i = outputStartIndex; i < remainingSamples; i++)
                    {
                        output[i] += clip.samplesLeftOrMono[clipStart + i] * weight;
                    }
                }
            }
Example #2
0
 void SampleMismatchedRate(ref AudioClipBlob clip, double clipStart, double clipSampleStride, bool isRightChannel, float weight, NativeArray <float> output)
 {
     ref var clipSamples = ref (isRightChannel && clip.isStereo ? ref clip.samplesRight : ref clip.samplesLeftOrMono);