mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-12 06:21:50 +00:00
ALStream WIP
This commit is contained in:
parent
961a37fe0a
commit
8bd43098d5
8 changed files with 245 additions and 12 deletions
|
|
@ -20,6 +20,7 @@
|
|||
namespace audio {
|
||||
struct ALBuffer;
|
||||
class ALAudio;
|
||||
class PCMStream;
|
||||
|
||||
class ALSound : public Sound {
|
||||
ALAudio* al;
|
||||
|
|
@ -41,6 +42,23 @@ namespace audio {
|
|||
Speaker* newInstance(int priority) const override;
|
||||
};
|
||||
|
||||
class ALStream : public Stream {
|
||||
ALAudio* al;
|
||||
std::shared_ptr<PCMStream> source;
|
||||
speakerid_t speaker = 0;
|
||||
bool keepSource;
|
||||
public:
|
||||
ALStream(ALAudio* al, std::shared_ptr<PCMStream> source, bool keepSource);
|
||||
~ALStream();
|
||||
|
||||
std::shared_ptr<PCMStream> getSource() const override;
|
||||
void bindSpeaker(speakerid_t speaker) override;
|
||||
Speaker* createSpeaker() override;
|
||||
speakerid_t getSpeaker() const override;
|
||||
void update(double delta) override;
|
||||
void setTime(duration_t time) override;
|
||||
};
|
||||
|
||||
/// @brief AL source adapter
|
||||
class ALSpeaker : public Speaker {
|
||||
ALAudio* al;
|
||||
|
|
@ -101,6 +119,7 @@ namespace audio {
|
|||
std::vector<std::string> getAvailableDevices() const;
|
||||
|
||||
Sound* createSound(std::shared_ptr<PCM> pcm, bool keepPCM) override;
|
||||
Stream* openStream(std::shared_ptr<PCMStream> stream, bool keepSource) override;
|
||||
|
||||
void setListener(
|
||||
glm::vec3 position,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue