aboutsummaryrefslogtreecommitdiffhomepage
path: root/backends/rtpmidi.h
diff options
context:
space:
mode:
authorcbdev <cb@cbcdn.com>2019-12-08 15:43:05 +0100
committercbdev <cb@cbcdn.com>2019-12-08 15:43:05 +0100
commitaa092469e21674bb99275dda08a695f0d426f6de (patch)
treee50add552af0c3ac12627d0290ec8f53557b06cb /backends/rtpmidi.h
parentac4aa9935bfb6406c71ea5ed14a68bd41617b701 (diff)
downloadmidimonster-aa092469e21674bb99275dda08a695f0d426f6de.tar.gz
midimonster-aa092469e21674bb99275dda08a695f0d426f6de.tar.bz2
midimonster-aa092469e21674bb99275dda08a695f0d426f6de.zip
rtpmidi channel spec parsing
Diffstat (limited to 'backends/rtpmidi.h')
-rw-r--r--backends/rtpmidi.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/backends/rtpmidi.h b/backends/rtpmidi.h
index af6a189..c076fd0 100644
--- a/backends/rtpmidi.h
+++ b/backends/rtpmidi.h
@@ -16,11 +16,31 @@ static int rtpmidi_shutdown();
#define RTPMIDI_MDNS_PORT "5353"
#define RTPMIDI_HEADER_MAGIC htobe16(0x80E1)
+enum /*_rtpmidi_channel_type*/ {
+ none = 0,
+ note = 0x90,
+ cc = 0xB0,
+ pressure = 0xA0,
+ aftertouch = 0xD0,
+ pitchbend = 0xE0
+};
+
typedef enum /*_rtpmidi_instance_mode*/ {
+ unconfigured = 0,
direct,
apple
} rtpmidi_instance_mode;
+typedef union {
+ struct {
+ uint8_t pad[5];
+ uint8_t type;
+ uint8_t channel;
+ uint8_t control;
+ } fields;
+ uint64_t label;
+} rtpmidi_channel_ident;
+
typedef struct /*_rtpmidi_peer*/ {
struct sockaddr_storage dest;
socklen_t dest_len;