21 ,
public ossia::net::protocol_base
25 std::shared_ptr<bitfocus::module_handler> rc,
26 ossia::net::network_context_ptr ctx);
29 bool pull(ossia::net::parameter_base&)
override;
30 bool push(
const ossia::net::parameter_base& p,
const ossia::value& v)
override;
31 bool push_raw(
const ossia::net::full_parameter_data&)
override;
32 bool observe(ossia::net::parameter_base&,
bool)
override;
33 bool update(ossia::net::node_base& node_base)
override;
34 void set_device(ossia::net::device_base& dev)
override;
37 void init_device(
int categories = bitfocus::module_handler::All);
44 const ossia::net::node_base& node,
45 const std::vector<bitfocus::module_data::config_field>& defs,
46 const std::string& group);
49 void run_action(
const std::string&
id);
50 void forget_touched(
const std::string& group,
const std::string& name);
52 void sync_feedbacks();
53 void sync_variables();
55 ossia::net::node_base& node,
const QString&
id,
58 ossia::net::node_base& node,
59 const std::vector<bitfocus::module_data::config_field>& options);
60 void subscribe_feedbacks(
const std::vector<std::string>& ids);
61 void set_received_value(ossia::net::parameter_base& p, ossia::value v);
63 std::shared_ptr<bitfocus::module_handler> m_rc;
64 ossia::net::network_context_ptr m_context;
65 ossia::net::device_base* m_dev{};
68 ossia::net::node_base* actions{};
69 ossia::net::node_base* feedbacks{};
70 ossia::net::node_base* variables{};
73 std::atomic<ossia::net::node_base*> m_actionsNode{};
74 std::atomic<ossia::net::node_base*> m_feedbacksNode{};
77 std::set<std::tuple<std::string, std::string, std::string>> m_touched;
78 std::mutex m_touchedMutex;
81 std::unordered_map<QString, QVariantMap> m_subscribed;
83 std::unordered_map<QString, ossia::net::parameter_base*> m_variables_recv;
84 std::unordered_map<QString, ossia::net::parameter_base*> m_feedbacks_recv;
QVariantMap collectOptions(const ossia::net::node_base &node, const std::vector< bitfocus::module_data::config_field > &defs, const std::string &group)
Option values of an action or feedback node, typed as the module expects.
Definition BitfocusProtocol.cpp:232
void init_device(int categories=bitfocus::module_handler::All)
Creates or updates the tree from the module's current definitions.
Definition BitfocusProtocol.cpp:544