1 #ifndef GONG_AUDIO_AUDIO_HPP_
2 #define GONG_AUDIO_AUDIO_HPP_
4 #include "../app/IntervalTimer.hpp"
5 #include "../graphics/glm.hpp"
21 Audio(const Audio &) = delete;
22 Audio &operator =(const Audio &) = delete;
25 void Position(const glm::vec3 &) noexcept;
26 void Velocity(const glm::vec3 &) noexcept;
27 void Orientation(const glm::vec3 &dir, const glm::vec3 &up) noexcept;
31 const glm::vec3 &pos = glm::vec3(0.0f),
32 const glm::vec3 &vel = glm::vec3(0.0f),
33 const glm::vec3 &dir = glm::vec3(0.0f)
36 void StopAll() noexcept;
38 void Update(int dt) noexcept;
41 int NextFree() noexcept;
44 static constexpr std::size_t NUM_SRC = 16;
45 ALuint source[NUM_SRC];
46 app::CoarseTimer timer[NUM_SRC];