Exemple #1
0
void AudioStereoOutput::connect(AudioSource &source) {
    if(source.getAudioOutputCount() == 1) {
        portLeft->connect(source.getAudioConnection(0));
        portRight->connect(source.getAudioConnection(0));
    } else {
        portLeft->connect(source.getAudioConnection(0));
        portRight->connect(source.getAudioConnection(1));
    }
}
Exemple #2
0
void Lv2Plugin::connect(AudioSource &source)
{
    if(audioInputCount == 0) {
        throw std::logic_error("cannot connect: this plugin has no audio inputs");
    }
    if(audioInputCount == 2 && source.getAudioOutputCount() == 1) { // mono to stereo
        audioInput[0].setConnection(source.getAudioConnection(0), this);
        audioInput[1].setConnection(source.getAudioConnection(0), this);
    }
    else if(audioInputCount == source.getAudioOutputCount()) {
        for(uint32_t i = 0; i < audioInputCount; i++) {
            audioInput[i].setConnection(source.getAudioConnection(i), this);
        }
    }
    else {
        throw std::logic_error("cannot connect: different number of input/output connections");
    }
}