OSSIA
Open Scenario System for Interactive Application
Loading...
Searching...
No Matches
ossia-max/src/remote.hpp
1#pragma once
2#include <ossia/detail/optional.hpp>
3
4#include <ossia-max/src/parameter_base.hpp>
5
6namespace ossia
7{
8namespace max_binding
9{
10
11class device_base;
12
13class remote : public parameter_base
14{
15public:
16 using is_remote = std::true_type;
17
18 void do_registration();
19 void unregister();
20
21 ossia::safe_set<ossia::net::device_base*> m_devices{};
22
23 void set_unit();
24
25 void on_parameter_created_callback(const ossia::net::parameter_base& addr);
26
27 void on_device_created(ossia::max_binding::device_base* device);
28 void on_device_removing(ossia::max_binding::device_base* device);
29 void
30 on_node_renamed_callback(ossia::net::node_base& node, const std::string& old_name);
31 void update_unit();
32
33 static void update_attribute(
34 remote* x, ossia::string_view attribute, const ossia::net::node_base* node);
35 static t_max_err
36 notify(remote* x, t_symbol* s, t_symbol* msg, void* sender, void* data);
37
38 static void get_mess_cb(remote* x, t_symbol* s);
39 static void get_unit(remote* x);
40 static void get_mute(remote* x);
41
42 static void assist(ossia::max_binding::remote*, void*, long, long, char*);
43 static void* create(t_symbol*, long, t_atom*);
44 static void destroy(ossia::max_binding::remote*);
45};
46
47} // max namespace
48} // ossia namespace
The node_base class.
Definition node.hpp:48
The parameter_base class.
Definition ossia/network/base/parameter.hpp:48
Definition git_info.h:7