void BasicDelay_::setInput(Generator input) { Effect_::setInput(input); setIsStereoInput(input.isStereoOutput()); setIsStereoOutput(input.isStereoOutput()); // can safely resize as TonicFrames subclass - calling functions account for channel offset delayLine_.resize(delayLine_.frames(), input.isStereoOutput() ? 2 : 1, 0); }
void Divider_::setLeft(Generator arg){ if (arg.isStereoOutput() && !isStereoOutput()) { setIsStereoOutput(true); } left_ = arg; }
void Subtractor_::setRight(Generator arg){ if (arg.isStereoOutput() && !isStereoOutput()) { setIsStereoOutput(true); } right_ = arg; }
void Adder_::in(Generator generator){ inputs.push_back( generator ); if ( generator.isStereoOutput() && !this->isStereoOutput() ){ this->setIsStereoOutput(true); workSpace.resize(kSynthesisBlockSize, 2, 0); } }
void Multiplier_::in(Generator& generator){ lockMutex(); inputs.push_back(generator); if ( generator.isStereoOutput() && !this->isStereoOutput() ){ this->setIsStereoOutput(true); workSpace.resize(kSynthesisBlockSize, 2, 0); } unlockMutex(); }
void Filter_::setInput(Generator input){ Effect_::setInput(input); setIsStereoInput(input.isStereoOutput()); setIsStereoOutput(input.isStereoOutput()); }
void Multiplier_::input(Generator generator){ inputs_.push_back(generator); if ( generator.isStereoOutput() && !isStereoOutput() ){ setIsStereoOutput(true); } }
void Adder_::input(Generator generator){ inputs_.push_back( generator ); if ( generator.isStereoOutput() && !this->isStereoOutput() ){ setIsStereoOutput(true); } }