| 707 | } |
| 708 | |
| 709 | float CSound::GetSampleCurrentTime(int SampleId) |
| 710 | { |
| 711 | dbg_assert(SampleId >= 0 && SampleId < NUM_SAMPLES, "SampleId invalid"); |
| 712 | |
| 713 | const CLockScope LockScope(m_SoundLock); |
| 714 | dbg_assert(m_aSamples[SampleId].IsLoaded(), "Sample not loaded"); |
| 715 | CSample *pSample = &m_aSamples[SampleId]; |
| 716 | for(auto &Voice : m_aVoices) |
| 717 | { |
| 718 | if(Voice.m_pSample == pSample) |
| 719 | { |
| 720 | return Voice.m_Tick / (float)pSample->m_Rate; |
| 721 | } |
| 722 | } |
| 723 | |
| 724 | return pSample->m_PausedAt / (float)pSample->m_Rate; |
| 725 | } |
| 726 | |
| 727 | void CSound::SetSampleCurrentTime(int SampleId, float Time) |
| 728 | { |
no test coverage detected