@@ -181,17 +181,22 @@ const MidiTransFnVector_t MidiTransFnVector[FN_TRANSPIPE_VECTOR_SIZE] = {
181
181
// --------------------------------
182
182
boolean MidiTransFn_MessageFilter_CheckParms (transPipe_t * pipe )
183
183
{
184
- if ( pipe -> par1 > 1 ) return false;
184
+ if ( pipe -> par1 > 2 ) return false;
185
185
if ( pipe -> par1 < 2 && (pipe -> par2 == 0 || pipe -> par2 > 0B1111 ) ) return false;
186
186
if ( pipe -> par1 == 2 ) {
187
- if ( pipe -> par2 > 1 ) return false;
188
- if ( pipe -> par3 < 0x08 || pipe -> par3 > 0x1F
189
- || pipe -> par3 == 0x10 || pipe -> par3 == 0x14 || pipe -> par3 == 0x15
190
- || pipe -> par3 == 0x17 || pipe -> par3 == 0x19 || pipe -> par3 == 0x1D ) return false;
191
-
192
- if ( pipe -> par4 != 0 && ( pipe -> par4 < 0x08 || pipe -> par4 > 0x1F
193
- || pipe -> par4 == 0x10 || pipe -> par4 == 0x14 || pipe -> par4 == 0x15
194
- || pipe -> par4 == 0x17 || pipe -> par4 == 0x19 || pipe -> par4 == 0x1D ) ) return false;
187
+ if ( pipe -> par2 > 1 ) return false;
188
+ if ( pipe -> par3 < 0x08 || pipe -> par3 > 0x1F
189
+ || pipe -> par3 == 0x10 || pipe -> par3 == 0x14 || pipe -> par3 == 0x15
190
+ || pipe -> par3 == 0x17 || pipe -> par3 == 0x19 || pipe -> par3 == 0x1D ) {
191
+ return false;
192
+ }
193
+ if ( pipe -> par4 != 0 ) {
194
+ if ( pipe -> par4 < 0x08 || pipe -> par4 > 0x1F
195
+ || pipe -> par4 == 0x10 || pipe -> par4 == 0x14 || pipe -> par4 == 0x15
196
+ || pipe -> par4 == 0x17 || pipe -> par4 == 0x19 || pipe -> par4 == 0x1D ) {
197
+ return false;
198
+ }
199
+ }
195
200
}
196
201
return true;
197
202
}
@@ -224,9 +229,11 @@ boolean MidiTransFn_MessageFilter(uint8_t portType, midiPacket_t *pk, transPipe_
224
229
// Midi Status double filter
225
230
else if ( pipe -> par1 == 2 ) {
226
231
uint8_t midiStatus = ( pk -> packet [1 ] >= 0xF0 ? pk -> packet [1 ] - 0xE0 : pk -> packet [1 ]>>4 ) ;
227
- if ( midiStatus == pipe -> par3 || midiStatus == pipe -> par4 )
232
+ if ( midiStatus == pipe -> par3 || midiStatus == pipe -> par4 ) {
228
233
return (pipe -> par2 == 0 ? true : false ); //Keep or drop...
229
- else return true;
234
+ } else {
235
+ return (pipe -> par2 == 0 ? false : true); //Keep or drop...
236
+ }
230
237
}
231
238
else
232
239
return false; // Error
0 commit comments