diff options
author | Joe Noel <joe.noel@focusrite.com> | 2015-08-19 15:39:13 +0100 |
---|---|---|
committer | Joe Noel <joe.noel@focusrite.com> | 2015-08-19 15:39:13 +0100 |
commit | cc4d02fb968342a255336f8c89cb5146ea62c10f (patch) | |
tree | 44b24ffaac8df91db6e0b2fe7b791297f0d46ef5 /tools | |
parent | 2845490760e4d0d528d73f7e9151bf682d075d59 (diff) | |
download | launchpad-polymaker-cc4d02fb968342a255336f8c89cb5146ea62c10f.tar.gz launchpad-polymaker-cc4d02fb968342a255336f8c89cb5146ea62c10f.zip |
Fixed issue where unknown MIDI messages weren't handled
Diffstat (limited to 'tools')
-rw-r--r-- | tools/osx/simulator-osx.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/tools/osx/simulator-osx.c b/tools/osx/simulator-osx.c index 57b0f38..08a7b9a 100644 --- a/tools/osx/simulator-osx.c +++ b/tools/osx/simulator-osx.c | |||
@@ -91,27 +91,34 @@ static void processPacket(const unsigned char *data, int length) | |||
91 | case NOTEON: | 91 | case NOTEON: |
92 | case NOTEOFF: | 92 | case NOTEOFF: |
93 | app_surface_event(TYPEPAD, data[1], data[2]); | 93 | app_surface_event(TYPEPAD, data[1], data[2]); |
94 | data += 3; | ||
94 | length -= 3; | 95 | length -= 3; |
95 | break; | 96 | break; |
96 | 97 | ||
97 | case CC: | 98 | case CC: |
98 | app_surface_event(TYPEPAD, data[1], data[2]); | 99 | app_surface_event(TYPEPAD, data[1], data[2]); |
100 | data += 3; | ||
99 | length -= 3; | 101 | length -= 3; |
100 | break; | 102 | break; |
101 | 103 | ||
102 | case POLYAFTERTOUCH: | 104 | case POLYAFTERTOUCH: |
103 | app_aftertouch_event(data[1], data[2]); | 105 | app_aftertouch_event(data[1], data[2]); |
106 | data += 3; | ||
104 | length -= 3; | 107 | length -= 3; |
105 | break; | 108 | break; |
106 | 109 | ||
107 | default: | 110 | default: |
111 | // Don't know this message, so bail | ||
112 | length--; | ||
113 | data++; | ||
108 | break; | 114 | break; |
109 | } | 115 | } |
110 | } | 116 | } |
111 | else | 117 | else |
112 | { | 118 | { |
113 | // We expected at least three bytes and didn't get them, so bail | 119 | // We expected at least three bytes and didn't get them, so bail |
114 | length = 0; | 120 | length--; |
121 | data++; | ||
115 | } | 122 | } |
116 | } | 123 | } |
117 | } | 124 | } |