Hi,
Working on a very simple VST/AU plugin.
My problem is that whatever I do with the channelData or the buffer inside the for-loop it only applies to one channel (the first) even when I put the plugin on a stereo-track (in Reaper). And it seems the getNumInputChannels() return 1 as well on a stereo track. Where should I be looking? Thank you very much!
void NewProjectAudioProcessor::processBlock (AudioSampleBuffer& buffer, MidiBuffer& midiMessages)
{
// This is the place where you'd normally do the guts of your plugin's
// audio processing...
for (int channel = 0; channel < getNumInputChannels(); ++channel)
{
float* channelData = buffer.getWritePointer (channel);
//simple clipper
for (int i = 0; i < buffer.getNumSamples(); i++)
{
if (channelData[i] > 0.01f)
channelData[i] = 0.01f;
else if (channelData[i] < - 0.01f)
channelData[i] = -0.01f;
}
buffer.copyFrom(channel, 0, channelData, buffer.getNumSamples());
}
// In case we have more outputs than inputs, we'll clear any output
// channels that didn't contain input data, (because these aren't
// guaranteed to be empty - they may contain garbage).
for (int i = getNumInputChannels(); i < getNumOutputChannels(); ++i)
{
buffer.clear (i, 0, buffer.getNumSamples());
}
}
EDIT: It seems I don´t have this problem with the VST-build only the AU-build. Strange. I guess Apples crappy code is the source of the problem here. But I have no idea where to fix this. Maybe you know something? Thanks
Xcode 5.1.1
and of course I added the CoreAudio files in Xcode/Developer/Extras.
