3#include <ossia/detail/optional.hpp>
5#include <ossia-pd/src/parameter_base.hpp>
10class attribute :
public parameter_base
13 using is_attribute = std::true_type;
17 bool register_node(
const std::vector<t_matcher>& node);
18 bool do_registration(
const std::vector<t_matcher>& node);
21 ossia::net::device_base* m_dev{};
23 void on_parameter_created_callback(
const ossia::net::parameter_base& addr);
25 attribute* x, t_floatarg xpos, t_floatarg ypos, t_floatarg shift, t_floatarg ctrl,
28 notify(attribute* x, t_symbol* s, t_symbol* msg,
void* sender,
void* data);
30 static void destroy(attribute* x);
31 static void* create(t_symbol* name,
int argc, t_atom* argv);
33 static ossia::safe_set<attribute*>& quarantine();
35 void on_device_deleted(
const ossia::net::node_base&);