MOS
sound.hpp
1 #pragma once
2 
3 #include <memory>
4 #include <vector>
5 
6 #include <glm/glm.hpp>
7 #include <json.hpp>
8 
9 #include <mos/aud/assets.hpp>
10 #include <mos/aud/buffer.hpp>
11 #include <mos/aud/source.hpp>
12 
13 namespace mos::aud {
14 
16 class Sound final {
17 public:
18  static auto load(const nlohmann::json &json, Assets &assets,
19  const glm::mat4 &parent_transform = glm::mat4(1.0f))
20  -> Sound;
21 
22  explicit Sound(Shared_buffer buffer = nullptr, Source source = Source());
23  Shared_buffer buffer;
24  Source source;
25 };
26 } // namespace mos::aud
Cache for heavy audio assets.
Definition: assets.hpp:13
Base class for the audio source.
Definition: source.hpp:9
Audio buffer and audio source combined.
Definition: sound.hpp:16
Definition: filter.hpp:13