MOS
source.hpp
1 #pragma once
2 
3 #include <chrono>
4 
5 #include <AL/al.h>
6 #include <AL/alc.h>
7 #include <AL/alext.h>
8 #include <AL/efx-presets.h>
9 
10 #include <mos/al/resource.hpp>
11 #include <mos/apu/source.hpp>
12 #include <mos/aud/source.hpp>
13 
14 namespace mos::al {
15 
17 class Source final : public Resource {
18  friend class Renderer;
19 
20 public:
21  using Time_point = std::chrono::time_point<std::chrono::system_clock,
22  std::chrono::nanoseconds>;
23 
24 public:
25  void update(const mos::apu::Source &Source);
26  void stop();
27 
28 private:
29  Source(const mos::apu::Source &Source);
30 };
31 } // namespace mos::al
Definition: buffer.hpp:13
General resource living on the APU.
Definition: resource.hpp:14
Source living on the APU.
Definition: source.hpp:17
Source living on the APU.
Definition: source.hpp:14
OpenAL audio renderer.
Definition: renderer.hpp:35