diff options
author | cbdev <cb@cbcdn.com> | 2019-07-27 19:31:21 +0200 |
---|---|---|
committer | cbdev <cb@cbcdn.com> | 2019-07-27 19:31:21 +0200 |
commit | 26ee2eacc7d60aa379c9e4b9b9c6b8bcdcd4bc6b (patch) | |
tree | 097eb74dfd8b0b01553a87f5b21e94ea825b1a17 /backends/osc.h | |
parent | 8d7fb5b7cb2f1deb6600f8cebfff27dba70193b1 (diff) | |
download | midimonster-26ee2eacc7d60aa379c9e4b9b9c6b8bcdcd4bc6b.tar.gz midimonster-26ee2eacc7d60aa379c9e4b9b9c6b8bcdcd4bc6b.tar.bz2 midimonster-26ee2eacc7d60aa379c9e4b9b9c6b8bcdcd4bc6b.zip |
Refactor OSC backend, implement pattern matching
Diffstat (limited to 'backends/osc.h')
-rw-r--r-- | backends/osc.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/backends/osc.h b/backends/osc.h index dc6cb3a..4e9dec5 100644 --- a/backends/osc.h +++ b/backends/osc.h @@ -34,22 +34,33 @@ typedef union { typedef struct /*_osc_channel*/ { char* path; size_t params; - size_t param_index; uint8_t mark; - osc_parameter_type type; - osc_parameter_value max; - osc_parameter_value min; - osc_parameter_value current; + osc_parameter_type* type; + osc_parameter_value* max; + osc_parameter_value* min; + osc_parameter_value* in; + osc_parameter_value* out; } osc_channel; typedef struct /*_osc_instance_data*/ { + //pre-configured channel patterns + size_t patterns; + osc_channel* pattern; + + //actual channel registry size_t channels; osc_channel* channel; + + //instance config char* root; + uint8_t learn; + + //peer addressing socklen_t dest_len; struct sockaddr_storage dest; - int fd; - uint8_t learn; uint16_t forced_rport; + + //peer fd + int fd; } osc_instance_data; |