aboutsummaryrefslogtreecommitdiffhomepage
path: root/backends/winmidi.h
diff options
context:
space:
mode:
authorcbdev <cb@cbcdn.com>2021-01-02 17:15:57 +0100
committercbdev <cb@cbcdn.com>2021-01-02 17:15:57 +0100
commit26b91b849899976b455bc5d780688de6962569e1 (patch)
tree46b191b0dca80d56fc25cc499ba349bf3396bc89 /backends/winmidi.h
parentadc132b5fc039a185be947de3309bd11f4dee823 (diff)
downloadmidimonster-26b91b849899976b455bc5d780688de6962569e1.tar.gz
midimonster-26b91b849899976b455bc5d780688de6962569e1.tar.bz2
midimonster-26b91b849899976b455bc5d780688de6962569e1.zip
Implement EPN transmission for the winmidi backend
Diffstat (limited to 'backends/winmidi.h')
-rw-r--r--backends/winmidi.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/backends/winmidi.h b/backends/winmidi.h
index 4c740ea..fbb2c94 100644
--- a/backends/winmidi.h
+++ b/backends/winmidi.h
@@ -13,6 +13,7 @@ static int winmidi_shutdown(size_t n, instance** inst);
typedef struct /*_winmidi_instance_data*/ {
char* read;
char* write;
+ uint8_t epn_tx_short;
HMIDIIN device_in;
HMIDIOUT device_out;
} winmidi_instance_data;
@@ -23,15 +24,17 @@ enum /*_winmidi_channel_type*/ {
cc = 0xB0,
pressure = 0xA0,
aftertouch = 0xD0,
- pitchbend = 0xE0
+ pitchbend = 0xE0,
+ rpn = 0xF0,
+ nrpn = 0xF1
};
typedef union {
struct {
- uint8_t pad[5];
+ uint8_t pad[4];
uint8_t type;
uint8_t channel;
- uint8_t control;
+ uint16_t control;
} fields;
uint64_t label;
} winmidi_channel_ident;