diff options
author | Len Ovens <len@ovenwerks.net> | 2017-05-08 10:54:43 -0700 |
---|---|---|
committer | Len Ovens <len@ovenwerks.net> | 2017-05-09 07:55:32 -0700 |
commit | 9b4d58393dd0d698cd4280bb4a1a17ad2a4de98d (patch) | |
tree | b463bbddc807e6360c104aa891c407e1cb4b213f /libs | |
parent | 37a4987dab2635adba2f96c2782bc030200ad3c1 (diff) |
OSC: Add framework for /*/automation mode
Diffstat (limited to 'libs')
-rw-r--r-- | libs/surfaces/osc/osc.cc | 17 | ||||
-rw-r--r-- | libs/surfaces/osc/osc.h | 2 |
2 files changed, 19 insertions, 0 deletions
diff --git a/libs/surfaces/osc/osc.cc b/libs/surfaces/osc/osc.cc index c3d2babcff..93571bb837 100644 --- a/libs/surfaces/osc/osc.cc +++ b/libs/surfaces/osc/osc.cc @@ -862,6 +862,11 @@ OSC::catchall (const char *path, const char* types, lo_arg **argv, int argc, lo_ len = strlen (path); + if (len >= 13 && !strcmp (&path[len-15], "/automation")) { + set_automation (path, len, argv, argc, msg); + ret = 0; + + } else if (len >= 17 && !strcmp (&path[len-15], "/#current_value")) { current_value_query (path, len, argv, argc, msg); ret = 0; @@ -2179,6 +2184,18 @@ OSC::route_get_receives(lo_message msg) { } // strip calls + +int +OSC::set_automation (const char *path, size_t len, lo_arg **argv, int argc, lo_message msg) +{ + if (!session) return -1; + //parse path first to find inlined parameter (or not) + + + + return 0; +} + int OSC::route_mute (int ssid, int yn, lo_message msg) { diff --git a/libs/surfaces/osc/osc.h b/libs/surfaces/osc/osc.h index 6ba625ce0f..da4dca3fbe 100644 --- a/libs/surfaces/osc/osc.h +++ b/libs/surfaces/osc/osc.h @@ -227,6 +227,8 @@ class OSC : public ARDOUR::ControlProtocol, public AbstractUI<OSCUIRequest> int catchall (const char *path, const char *types, lo_arg **argv, int argc, void *data); static int _catchall (const char *path, const char *types, lo_arg **argv, int argc, void *data, void *user_data); + int set_automation (const char *path, size_t len, lo_arg **argv, int argc, lo_message msg); + int route_get_sends (lo_message msg); int route_get_receives(lo_message msg); void routes_list (lo_message msg); |