void RTcmix::addToBus(BusType type, int bus, BufPtr src, int offset, int endfr, int chans) { pthread_mutex_lock(&vectorLock); mixVector.push_back( MixData( src, (type == BUS_AUX_OUT) ? aux_buffer[bus] + offset : out_buffer[bus] + offset, endfr - offset, chans) ); pthread_mutex_unlock(&vectorLock); }
DWORD ALSequencer::ThreadFunc() { while (!bDestroying) { ulBuffersProcessed = GetBuffersProcessed(); while (ulBuffersProcessed) { MixData(ulNumSamples, ulOutputChannels, pOutput, ulNumEffects, &pEffectOutput[0]); CommitData(pOutput, &pEffectOutput[0]); ulBuffersProcessed--; } Sleep(50); } return 0; }