Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio/audio.cc')
-rw-r--r--src/audio/audio.cc12
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);
+}
+
}