Toast Engine
Loading...
Searching...
No Matches
audio_context.hpp
Go to the documentation of this file.
1
8
9#pragma once
11#include <toast/world/node.hpp>
12
13struct FMOD_STUDIO_BANK;
14
15namespace toast {
16
23class TOAST_API [[ToastNode, Color("Beige")]] AudioContext : public Node {
24public:
25 void addBank(const assets::Handle<assets::AudioBank>& bank);
26
27 void removeBank(assets::Handle<assets::AudioBank> bank);
28
29 [[Button("Reload Banks")]]
30 void reload();
31
32private:
33 void updateInspectorMessages() override;
34 void init();
35
36 void destroy();
37
38 [[Reflect]]
39 std::vector<assets::Handle<assets::AudioBank>> m_banks;
40 std::mutex m_load_lock;
41
42 [[Reflect, ReadOnly]]
43 std::vector<std::string> m_events;
44
45 std::vector<std::pair<assets::Handle<assets::AudioBank>, FMOD_STUDIO_BANK*>> m_loaded_banks;
46};
47
48}
Type-safe smart pointer for assets.
Definition core_types.hpp:149
Handles loading and loading AudioBanks.
Definition audio_context.hpp:23
Definition reflect.hpp:244
Base object type for the scene graph.