5 #include <OpenAL/alc.h>
11 #include "../../sound_driver.h"
20 std::vector<AudioSourceID> generate_sources(uint32_t count)
override;
21 std::vector<AudioBufferID> generate_buffers(uint32_t count)
override;
23 void destroy_buffers(
const std::vector<AudioBufferID>& buffers)
override;
24 void destroy_sources(
const std::vector<AudioSourceID>& sources)
override;
26 void play_source(AudioSourceID source_id)
override;
27 void stop_source(AudioSourceID source_id)
override;
29 void queue_buffers_to_source(AudioSourceID source, uint32_t count,
const std::vector<AudioBufferID>& buffers)
override;
30 std::vector<AudioBufferID> unqueue_buffers_from_source(AudioSourceID source, uint32_t count)
override;
31 void upload_buffer_data(AudioBufferID buffer, AudioDataFormat format,
const uint8_t* data, std::size_t bytes, uint32_t frequency)
override;
33 AudioSourceState source_state(AudioSourceID source)
override;
34 int32_t source_buffers_processed_count(AudioSourceID source)
const override;
36 void set_source_as_ambient(AudioSourceID
id)
override;
37 void set_listener_properties(
const Vec3& position,
const Quaternion& orientation,
const Vec3& velocity)
override;
38 void set_source_properties(AudioSourceID
id,
const Vec3& position,
const Vec3& velocity)
override;
40 void set_source_reference_distance(AudioSourceID
id,
float dist)
override;
45 bool _startup()
override;
46 void _shutdown()
override;
48 ALCdevice* dev =
nullptr;
49 ALCcontext* ctx =
nullptr;
50 DistanceModel model_ = DISTANCE_MODEL_POSITIONAL;