OSSIA
Open Scenario System for Interactive Application
ossia-max/src/cue.hpp
1 #pragma once
2 #include "ext.h"
3 #include "ext_obex.h"
4 
5 #include <ossia/preset/cue.hpp>
6 
7 #include <ossia-max/src/object_base.hpp>
8 
9 #include <rapidjson/stringbuffer.h>
10 
11 namespace ossia
12 {
13 namespace max_binding
14 {
15 
16 struct ocue : object_base
17 {
18  t_symbol* m_device_name = _sym_nothing;
19  void* m_mainout{};
20 
21  void create(int argc, t_atom* argv);
22  void update(int argc, t_atom* argv);
23  void recall(int argc, t_atom* argv);
24  void remove(int argc, t_atom* argv);
25  void clear();
26  void move(int argc, t_atom* argv);
27  void output(int argc, t_atom* argv);
28  void read(int argc, t_atom* argv);
29  void write(int argc, t_atom* argv);
30  void edit(int argc, t_atom* argv);
31  void sort(int argc, t_atom* argv);
32  void dump_all_cues();
33  void dump_selection();
34 
35  void namespace_select(int argc, t_atom* argv);
36  void namespace_filter_all(int argc, t_atom* argv);
37  void namespace_filter_any(int argc, t_atom* argv);
38  void namespace_deselect(int argc, t_atom* argv);
39  void namespace_grab(int argc, t_atom* argv);
40 
41  void do_registration();
42  void unregister();
43 
44  ossia::net::device_base* get_device() const noexcept;
45  t_max_err get_device_name(long* ac, t_atom** av);
46  t_max_err set_device_name(long ac, t_atom* av);
47 
48  static void in_long(ocue* x, long argc);
49  static void reset(ocue* x);
50  static void free(ocue* x);
51  static void closebang(ocue* x);
52  static t_max_err notify(ocue* x, t_symbol* s, t_symbol* msg, void* sender, void* data);
53 
54  static void assist(ocue* x, void* b, long m, long a, char* s);
55 
56  std::shared_ptr<ossia::cues> m_cues;
57 };
58 
59 } // namespace max
60 } // namespace ossia
Root of a device tree.
Definition: ossia/network/base/device.hpp:58
Definition: git_info.h:7