summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe Noel <joe.noel@focusrite.com>2015-08-19 15:39:13 +0100
committerJoe Noel <joe.noel@focusrite.com>2015-08-19 15:39:13 +0100
commitcc4d02fb968342a255336f8c89cb5146ea62c10f (patch)
tree44b24ffaac8df91db6e0b2fe7b791297f0d46ef5
parent2845490760e4d0d528d73f7e9151bf682d075d59 (diff)
downloadlaunchpad-polymaker-cc4d02fb968342a255336f8c89cb5146ea62c10f.tar.gz
launchpad-polymaker-cc4d02fb968342a255336f8c89cb5146ea62c10f.zip
Fixed issue where unknown MIDI messages weren't handled
-rw-r--r--tools/osx/simulator-osx.c9
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}