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