1 #ifndef INCLUDE_AL_NODECONFIGURATION
2 #define INCLUDE_AL_NODECONFIGURATION
12 CAP_SIMULATOR = 1 << 1,
13 CAP_RENDERING = 1 << 2,
14 CAP_OMNIRENDERING = 1 << 3,
15 CAP_AUDIO_IO = 1 << 4,
17 CAP_CONSOLE_IO = 1 << 6,
19 CAP_STATE_SEND = 1 << 8,
34 Capability mCapabilites{CAP_NONE};
36 bool hasCapability(Capability cap) {
return cap & mCapabilites; }
37 bool isPrimary() {
return rank == 0; }
39 void setRole(std::string role) {
40 if (role ==
"desktop") {
42 (Capability)(CAP_SIMULATOR | CAP_STATE_SEND | CAP_RENDERING |
43 CAP_AUDIO_IO | CAP_OSC | CAP_2DGUI);
44 }
else if (role ==
"renderer") {
45 mCapabilites = (Capability)(CAP_SIMULATOR | CAP_OMNIRENDERING | CAP_OSC);
46 }
else if (role ==
"audio") {
48 (Capability)(CAP_SIMULATOR | CAP_AUDIO_IO | CAP_CONSOLE_IO | CAP_OSC);
49 }
else if (role ==
"simulator") {
50 mCapabilites = (Capability)(CAP_SIMULATOR | CAP_STATE_SEND |
51 CAP_CONSOLE_IO | CAP_OSC);
52 }
else if (role ==
"replica") {
53 mCapabilites = (Capability)(CAP_SIMULATOR | CAP_OMNIRENDERING |
54 CAP_AUDIO_IO | CAP_OSC);
55 }
else if (role ==
"control") {
56 mCapabilites = (Capability)(CAP_RENDERING | CAP_OSC | CAP_2DGUI);
58 std::cerr <<
"WARNING: Setting no capabilities for this app from "
The NodeConfiguration struct describes a distributed node and its capabilities.