Hello everyone, im using a third-party library SynthLab inside of my JUCE Synthesizer Project. Heres Synthlab documentation . SynthLab SDK: Create an Additive Oscillator Core
The Synthlab SDK comes with its own Oscillators, Wavetables etc, and I’m only using JUCE for the GUI/Audio Processing. I don’t know how to add the samples to my output buffer to hear any sound or midi triggered events. The Synthlab documentation says to “send samples to your frameworks output buffer”. Im pretty sure I need to add it somewhere inside processBlock, I’m just not sure how. Can anyone help me with this? Below is my code snippet
void ProjectAudioProcessor::processBlock (juce::AudioBuffer<float>& buffer, juce::MidiBuffer& midiMessages)
{
juce::ScopedNoDenormals noDenormals;
auto totalNumInputChannels = getTotalNumInputChannels();
auto totalNumOutputChannels = getTotalNumOutputChannels();
for (auto i = totalNumInputChannels; i < totalNumOutputChannels; ++i)
buffer.clear (i, 0, buffer.getNumSamples());
float* leftOutBuffer = addOsc->getAudioBuffers()->getOutputBuffer(SynthLab::LEFT_CHANNEL);
float* rightOutBuffer = addOsc->getAudioBuffers()->getOutputBuffer(SynthLab::RIGHT_CHANNEL);
float leftSample;
float rightSample;
// --- loop
for (uint32_t i = 0; i < blockSize; i++)
{
leftSample = leftOutBuffer[i];
rightSample = rightOutBuffer[i];
}
auto myNumChannels = buffer.getNumChannels();
auto myNumSamples = buffer.getNumSamples();
for (int channel = 0; channel <myNumChannels; ++channel)
{
auto * writePointer = buffer.getWritePointer(channel);
for (int sample = 0; sample <myNumSamples; ++sample)
{
// writePointer[sample] = juce::Random::getSystemRandom().nextFloat() *0.2f;
// leftSample = leftOutBuffer[sample];
// writePointer[sample] = *leftOutBuffer;
}
}
