unsigned int Soloud::getLoopCount(handle aVoiceHandle) { lockAudioMutex(); int ch = getVoiceFromHandle(aVoiceHandle); if (ch == -1) { unlockAudioMutex(); return 0; } int v = mVoice[ch]->mLoopCount; unlockAudioMutex(); return v; }
float Soloud::getSamplerate(handle aVoiceHandle) { lockAudioMutex(); int ch = getVoiceFromHandle(aVoiceHandle); if (ch == -1) { unlockAudioMutex(); return 0; } float v = mVoice[ch]->mBaseSamplerate; unlockAudioMutex(); return v; }
bool Soloud::getProtectVoice(handle aVoiceHandle) { lockAudioMutex(); int ch = getVoiceFromHandle(aVoiceHandle); if (ch == -1) { unlockAudioMutex(); return 0; } int v = !!(mVoice[ch]->mFlags & AudioSourceInstance::PROTECTED); unlockAudioMutex(); return v != 0; }
time Soloud::getStreamTime(handle aVoiceHandle) { lockAudioMutex(); int ch = getVoiceFromHandle(aVoiceHandle); if (ch == -1) { unlockAudioMutex(); return 0; } double v = mVoice[ch]->mStreamTime; unlockAudioMutex(); return v; }
float Soloud::getRelativePlaySpeed(handle aVoiceHandle) { lockAudioMutex(); int ch = getVoiceFromHandle(aVoiceHandle); if (ch == -1) { unlockAudioMutex(); return 1; } float v = mVoice[ch]->mSetRelativePlaySpeed; unlockAudioMutex(); return v; }
float Soloud::getOverallVolume(handle aVoiceHandle) { lockAudioMutex(); int ch = getVoiceFromHandle(aVoiceHandle); if (ch == -1) { unlockAudioMutex(); return 0; } float v = mVoice[ch]->mOverallVolume; unlockAudioMutex(); return v; }
float Soloud::getPan(handle aVoiceHandle) { lockAudioMutex(); int ch = getVoiceFromHandle(aVoiceHandle); if (ch == -1) { unlockAudioMutex(); return 0; } float v = mVoice[ch]->mPan; unlockAudioMutex(); return v; }
float Soloud::getInfo(handle aVoiceHandle, unsigned int mInfoKey) { lockAudioMutex(); int ch = getVoiceFromHandle(aVoiceHandle); if (ch == -1) { unlockAudioMutex(); return 0; } float v = mVoice[ch]->getInfo(mInfoKey); unlockAudioMutex(); return v; }
bool Soloud::getLooping(handle aVoiceHandle) { lockAudioMutex(); int ch = getVoiceFromHandle(aVoiceHandle); if (ch == -1) { unlockAudioMutex(); return 0; } bool v = (mVoice[ch]->mFlags & AudioSourceInstance::LOOPING) != 0; unlockAudioMutex(); return v; }
bool Soloud::isValidVoiceHandle(handle aVoiceHandle) { // voice groups are not valid voice handles if ((aVoiceHandle & 0xfffff000) == 0xfffff000) return 0; lockAudioMutex(); if (getVoiceFromHandle(aVoiceHandle) != -1) { unlockAudioMutex(); return 1; } unlockAudioMutex(); return 0; }
unsigned int Soloud::getActiveVoiceCount() { lockAudioMutex(); unsigned int c = mActiveVoiceCount; unlockAudioMutex(); return c; }
result Soloud::setMaxActiveVoiceCount(unsigned int aVoiceCount) { if (aVoiceCount == 0 || aVoiceCount >= VOICE_COUNT) return INVALID_PARAMETER; lockAudioMutex(); mMaxActiveVoices = aVoiceCount; unlockAudioMutex(); return SO_NO_ERROR; }
void Soloud::stopAll() { int i; lockAudioMutex(); for (i = 0; i < (signed)mHighestVoice; i++) { stopVoice(i); } unlockAudioMutex(); }
void Soloud::setPauseAll(bool aPause) { lockAudioMutex(); int ch; for (ch = 0; ch < (signed)mHighestVoice; ch++) { setVoicePause(ch, aPause); } unlockAudioMutex(); }
unsigned int Soloud::getVoiceCount() { lockAudioMutex(); int i; int c = 0; for (i = 0; i < (signed)mHighestVoice; i++) { if (mVoice[i]) { c++; } } unlockAudioMutex(); return c; }
void Soloud::stopAudioSource(AudioSource &aSound) { if (aSound.mAudioSourceID) { lockAudioMutex(); int i; for (i = 0; i < (signed)mHighestVoice; i++) { if (mVoice[i] && mVoice[i]->mAudioSourceID == aSound.mAudioSourceID) { stopVoice(i); } } unlockAudioMutex(); } }