@ -816,14 +816,14 @@ void handleSystemExclusive(byte * sysex, uint len)
sysex [ 4 ] & = 0x7f ;
sysex [ 4 ] & = 0x7f ;
sysex [ 5 ] & = 0x7f ;
sysex [ 5 ] & = 0x7f ;
uint8_t data_index ;
uint8_t data_index = 0 ;
if ( ( ( sysex [ 3 ] & 0x7c ) > > 2 ) = = 0 )
if ( ( ( sysex [ 3 ] & 0x7c ) > > 2 ) = = 0 )
{
{
MicroDexed [ instance_id ] - > notesOff ( ) ;
MicroDexed [ instance_id ] - > notesOff ( ) ;
MicroDexed [ instance_id ] - > data [ sysex [ 4 ] + ( ( sysex [ 3 ] & 0x03 ) * 128 ) ] = sysex [ 5 ] ; // set parameter
for ( uint8_t i = 0 ; i < 128 | | sysex [ 5 ] ! = 0xf7 ; i + + )
MicroDexed [ instance_id ] - > data [ sysex [ 4 ] + ( ( sysex [ 3 ] & 0x03 ) * 128 ) + i ] = sysex [ 5 ] ; // set parameter
MicroDexed [ instance_id ] - > doRefreshVoice ( ) ;
MicroDexed [ instance_id ] - > doRefreshVoice ( ) ;
data_index = sysex [ 4 ] + ( ( sysex [ 3 ] & 0x03 ) * 128 ) ;
}
}
else
else
{
{
@ -904,13 +904,19 @@ void handleSystemExclusive(byte * sysex, uint len)
# ifdef DEBUG
# ifdef DEBUG
Serial . print ( F ( " SysEx " ) ) ;
Serial . print ( F ( " SysEx " ) ) ;
if ( ( ( sysex [ 3 ] & 0x7c ) > > 2 ) = = 0 )
if ( ( ( sysex [ 3 ] & 0x7c ) > > 2 ) = = 0 )
Serial . print ( F ( " function " ) ) ;
{
Serial . print ( F ( " parameter " ) ) ;
Serial . println ( F ( " voice: " ) ) ;
Serial . print ( sysex [ 4 ] , DEC ) ;
show_patch ( instance_id ) ;
Serial . print ( F ( " = " ) ) ;
}
Serial . print ( sysex [ 5 ] , DEC ) ;
else
Serial . print ( F ( " , data_index = " ) ) ;
{
Serial . println ( data_index , DEC ) ;
Serial . print ( F ( " function: " ) ) ;
Serial . print ( sysex [ 4 ] , DEC ) ;
Serial . print ( F ( " = " ) ) ;
Serial . print ( sysex [ 5 ] , DEC ) ;
Serial . print ( F ( " , data_index = " ) ) ;
Serial . println ( data_index , DEC ) ;
}
# endif
# endif
}
}
else if ( len = = 163 )
else if ( len = = 163 )