OSSIA
Open Scenario System for Interactive Application
router.hpp
1 #pragma once
2 #include "ext.h"
3 #include "ext_obex.h"
4 #undef error
5 #undef post
6 
7 #include <regex>
8 #include <string>
9 #include <vector>
10 
11 namespace ossia
12 {
13 namespace max_binding
14 {
15 
16 #pragma mark -
17 #pragma mark router structure declaration
18 
19 struct router
20 {
21  t_object m_object;
22  long m_truncate{1};
23 
24  router(long argc, t_atom* argv);
25  void change_pattern(int index, std::string pattern);
26 
27  static void free(ossia::max_binding::router* x);
28  static void
29  in_anything(ossia::max_binding::router* x, t_symbol* s, long argc, t_atom* argv);
30 
31  static void assist(router* x, void* b, long m, long a, char* s);
32 
33  std::vector<std::regex> m_patterns{};
34  std::vector<void*> m_outlets{};
35  std::vector<void*> m_inlets{};
36 };
37 } // max namespace
38 } // ossia namespace
39 
40 #pragma mark -
41 #pragma mark ossia_router class declaration
42 
43 extern "C" {
44 void* ossia_router_new(t_symbol* s, long argc, t_atom* argv);
45 }
Definition: git_info.h:7