Sound Bakery  v0.1.0
Open-source audio middleware for games
Loading...
Searching...
No Matches
bus.h
1#pragma once
2
3#include "sound_bakery/node/node.h"
4
5namespace sbk::engine
6{
7 class node_instance;
8
9 class SB_CLASS bus : public node
10 {
11 REGISTER_REFLECTION(bus, node)
12
13 public:
14 bus() : node(), m_masterBus(false) {}
15
16 bool can_add_child_type(const rttr::type& childType) const override;
17
18 bool can_add_parent() const override;
19 bool can_add_parent_type(const rttr::type& parentType) const override;
20
21 void setMasterBus(bool isMaster);
22
23 bool isMasterBus() const { return m_masterBus; }
24
25 void lock();
26 void unlock();
27 std::shared_ptr<node_instance> lockAndCopy();
28
29 protected:
30 std::shared_ptr<node_instance> m_busInstance;
31
32 private:
33 bool m_masterBus;
34 };
35} // namespace sbk::engine
Definition bus.h:10
Root node that builds the core graph of sounds and busses.
Definition node.h:64