Exemplo n.º 1
0
        public void Test_VstAudioBufferManager_ClearIndividualBuffers()
        {
            VstAudioBufferManager bufferMgr = CreateNew(_testValue);

            AssertAllBuffersHasValue(bufferMgr, _testValue);

            foreach (VstAudioBuffer buffer in bufferMgr)
            {
                bufferMgr.ClearBuffer(buffer);
            }

            AssertAllBuffersHasValue(bufferMgr, 0);
        }
Exemplo n.º 2
0
        static void Method(VstPluginContext PluginContext, int bytesWritten, byte[] destBuffer)
        {
            int inputCount  = PluginContext.PluginInfo.AudioInputCount;
            int outputCount = PluginContext.PluginInfo.AudioOutputCount;
            int blockSize   = bytesWritten;

            VstAudioBufferManager inputMgr  = new VstAudioBufferManager(inputCount, blockSize);
            VstAudioBufferManager outputMgr = new VstAudioBufferManager(outputCount, blockSize);

            foreach (VstAudioBuffer buffer in inputMgr.ToArray())
            {
                for (int i = 0; i < blockSize; i++)
                {
                    buffer[i] = (float)destBuffer[i] / 128.0f - 1.0f;
                }
            }

            PluginContext.PluginCommandStub.SetBlockSize(blockSize);
            PluginContext.PluginCommandStub.SetSampleRate(44.8f);

            PluginContext.PluginCommandStub.StartProcess();
            PluginContext.PluginCommandStub.ProcessReplacing(inputMgr.ToArray(), outputMgr.ToArray());
            PluginContext.PluginCommandStub.StopProcess();

            foreach (VstAudioBuffer buffer in outputMgr.ToArray())
            {
                for (int i = 0; i < blockSize; i++)
                {
                    destBuffer[i] = Convert.ToByte(((float)buffer[i] + 1.0f) * 128.0f);
                }
            }
            inputMgr.ClearBuffer(inputMgr.ToArray()[0]);
            inputMgr.ClearBuffer(inputMgr.ToArray()[1]);
            inputMgr.Dispose();
            outputMgr.ClearBuffer(outputMgr.ToArray()[0]);
            outputMgr.ClearBuffer(outputMgr.ToArray()[1]);
            outputMgr.Dispose();
        }
Exemplo n.º 3
0
        static void Method(VstPluginContext PluginContext, int bytesWritten, byte[] destBuffer)
        {
            int inputCount = PluginContext.PluginInfo.AudioInputCount;
            int outputCount = PluginContext.PluginInfo.AudioOutputCount;
            int blockSize = bytesWritten;

            VstAudioBufferManager inputMgr = new VstAudioBufferManager(inputCount, blockSize);
            VstAudioBufferManager outputMgr = new VstAudioBufferManager(outputCount, blockSize);

            foreach (VstAudioBuffer buffer in inputMgr.ToArray())
            {
                for (int i = 0; i < blockSize; i++)
                {
                    buffer[i] = (float)destBuffer[i] / 128.0f - 1.0f;
                }
            }

            PluginContext.PluginCommandStub.SetBlockSize(blockSize);
            PluginContext.PluginCommandStub.SetSampleRate(44.8f);

            PluginContext.PluginCommandStub.StartProcess();
            PluginContext.PluginCommandStub.ProcessReplacing(inputMgr.ToArray(), outputMgr.ToArray());
            PluginContext.PluginCommandStub.StopProcess();

            foreach (VstAudioBuffer buffer in outputMgr.ToArray())
            {
                for (int i = 0; i < blockSize; i++)
                {
                    destBuffer[i] = Convert.ToByte(((float)buffer[i] + 1.0f) * 128.0f);
                }
            }
            inputMgr.ClearBuffer(inputMgr.ToArray()[0]);
            inputMgr.ClearBuffer(inputMgr.ToArray()[1]);
            inputMgr.Dispose();
            outputMgr.ClearBuffer(outputMgr.ToArray()[0]);
            outputMgr.ClearBuffer(outputMgr.ToArray()[1]);
            outputMgr.Dispose();
        }