void FileReader::process (AudioSampleBuffer& buffer) { const int samplesNeededPerBuffer = int (float (buffer.getNumSamples()) * (getDefaultSampleRate() / m_sysSampleRate)); m_samplesPerBuffer.set(samplesNeededPerBuffer); // FIXME: needs to account for the fact that the ratio might not be an exact // integer value // if cache window id == 0, we need to read and cache BUFFER_WINDOW_CACHE_SIZE more buffer windows if (bufferCacheWindow == 0) { switchBuffer(); } for (int i = 0; i < currentNumChannels; ++i) { // offset readBuffer index by current cache window count * buffer window size * num channels input->processChannelData (*readBuffer + (samplesNeededPerBuffer * currentNumChannels * bufferCacheWindow), buffer.getWritePointer (i, 0), i, samplesNeededPerBuffer); } setTimestampAndSamples(timestamp, samplesNeededPerBuffer); timestamp += samplesNeededPerBuffer; static_cast<FileReaderEditor*> (getEditor())->setCurrentTime(samplesToMilliseconds(startSample + timestamp % (stopSample - startSample))); bufferCacheWindow += 1; bufferCacheWindow %= BUFFER_WINDOW_CACHE_SIZE; }
void displayBuffer::setTime(time_t now) { struct tm * ptm; ptm = gmtime ( &now ); hourOn(ptm->tm_hour%12); minuteOn(ptm->tm_min); secondOn(ptm->tm_sec); switchBuffer(); }
void ClientUserInputHandler::handleQuery(const BufferInfo &bufferInfo, const QString &text) { if (text.isEmpty()) { Client::messageModel()->insertErrorMessage(bufferInfo, tr("/QUERY expects at least a nick")); return; } switchBuffer(bufferInfo.networkId(), text.section(' ', 0, 0)); // send to core defaultHandler("QUERY", bufferInfo, text); }
void ClientUserInputHandler::handleJoin(const BufferInfo &bufferInfo, const QString &text) { if (text.isEmpty()) { Client::messageModel()->insertErrorMessage(bufferInfo, tr("/JOIN expects a channel")); return; } switchBuffer(bufferInfo.networkId(), text.section(' ', 0, 0)); // send to core defaultHandler("JOIN", bufferInfo, text); }
int SingleJoystickBuffer::writeJoystickData(JoystickData* jdata) { jdata->copy(&jbuffers[activeBuffer]); mutex.lock(); while (isReading) readingCondition.wait(&mutex); switchBuffer(); mutex.unlock(); return 0; }