OSSIA
Open Scenario System for Interactive Application
ossia-pd/src/parameter.hpp
1 #pragma once
2 
3 #include <ossia-pd/src/parameter_base.hpp>
4 
5 namespace ossia::pd
6 {
7 
8 class parameter : public parameter_base
9 {
10 public:
11  using is_parameter = std::true_type;
12 
13  parameter();
14 
15  bool register_node(const std::vector<t_matcher>& node);
16  bool do_registration(const std::vector<t_matcher>& node);
17  bool unregister();
18  void save_values();
19 
20  static t_pd_err
21  notify(parameter* x, t_symbol* s, t_symbol* msg, void* sender, void* data);
22  static void
23  update_attribute(parameter* x, string_view attribute, const net::node_base* node);
24 
25  static void* create(t_symbol* name, int argc, t_atom* argv);
26  static void destroy(parameter* x);
27 
28  static ossia::safe_set<parameter*>& quarantine();
29 };
30 } // namespace ossia