diff options
Diffstat (limited to 'src/audio/audio.cc')
-rw-r--r-- | src/audio/audio.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/audio/audio.cc b/src/audio/audio.cc index b7a79d7..46d3a67 100644 --- a/src/audio/audio.cc +++ b/src/audio/audio.cc @@ -212,4 +212,16 @@ void update_source(size_t source_index, math::Vector3f const & location, math::V alSourcef(source, AL_GAIN, gain); } +bool is_playing(const size_t source_index) +{ + if (!audio_context) + return false; + + ALuint source = Sources::source(source_index); + ALint srcstate = 0; + alGetSourcei(source , AL_SOURCE_STATE , &srcstate); + + return (srcstate == AL_PLAYING); +} + } |