Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
path: root/src/audio
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2010-10-09 22:05:46 +0000
committerStijn Buys <ingar@osirion.org>2010-10-09 22:05:46 +0000
commit43927cc52bdd7e44d62b0e6309612558f565b70f (patch)
treea3e9ccf69d6ab03c8444b78ac53d49529a52e675 /src/audio
parent0ecdd8bc98ba583bbee801b838d785c6f881d7df (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.cc12
-rw-r--r--src/audio/audio.h4
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__