- Edited
Hi! I want to play 6 tracks in 6 different analog outputs at the same time and i I am having problems establishing what I want to reproduce in each output in the code. I was doing it modifying the audio output like this:
for (unsigned int n = 0; n < context->audioFrames; ++n) {
outAudio[0] = gSampleBuffers[Wav1][0][gReadPointer0];
gReadPointer0++;
outAudio[1] = gSampleBuffers[Wav2][1][gReadPointer1];
gReadPointer0++;
if (gReadPointer0 >= gSampleBuffers[Wav1][0].size()) {
gReadPointer0 = 0;
}
if (gReadPointer1 >= gSampleBuffers[Wav2][0].size()) {
gReadPointer1 = 0;
}
// Salida a los canales de audio
for (unsigned int i = 0; i < context->audioOutChannels; ++i) {
audioWrite(context, n, i, outAudio[i]); // Copiar las muestras a los canales de salida
// Salida canales ANALÓGICOS
if (n%audioAnalogRate==0){
float outAnalog=(outAudio[i]*analogAmp)+analogAmp;
analogWriteOnce(context,n/2,i,outAnalog);
}
}
}
In this way i can only have two different tracks because i only have 2 audio outputs. If someone could give me a hand.