diff options
author | Stijn Buys <ingar@osirion.org> | 2010-10-09 22:05:46 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2010-10-09 22:05:46 +0000 |
commit | 43927cc52bdd7e44d62b0e6309612558f565b70f (patch) | |
tree | a3e9ccf69d6ab03c8444b78ac53d49529a52e675 /src/audio | |
parent | 0ecdd8bc98ba583bbee801b838d785c6f881d7df (diff) |
fix crash introduced with inventory transfer, buywindow credits indicator,
removed impulse drive initialization delay.
Diffstat (limited to 'src/audio')
-rw-r--r-- | src/audio/audio.cc | 12 | ||||
-rw-r--r-- | src/audio/audio.h | 4 |
2 files changed, 16 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); +} + } diff --git a/src/audio/audio.h b/src/audio/audio.h index ecfdf3e..ad9a024 100644 --- a/src/audio/audio.h +++ b/src/audio/audio.h @@ -58,6 +58,10 @@ void update_source(size_t source_index, math::Vector3f const & location, math::V /// update listener parameters void update_listener(math::Vector3f const &location, math::Axis const &axis, math::Vector3f const & velocity, float gain = 1.0f); + +/// return true is a source is playing +bool is_playing(const size_t source_index); + } #endif // __INCLUDED_AUDIO_AUDIO_H__ |