ZynAddSubFX: forward all MIDI events but NoteOn if muted

There's no reason for not forwarding MIDI events such as NoteOff,
ControlChange etc. when muted. Therefore only do not forward NoteOn
when muted.
This commit is contained in:
Tobias Doerffel
2010-08-31 15:22:55 +02:00
parent 1d5b62d61a
commit 39918f8835

View File

@@ -299,20 +299,23 @@ void ZynAddSubFxInstrument::play( sampleFrame * _buf )
bool ZynAddSubFxInstrument::handleMidiEvent( const midiEvent & _me,
const midiTime & _time )
{
if( !isMuted() )
// do not send NoteOn events if muted
if( _me.type() == MidiNoteOn && isMuted() )
{
m_pluginMutex.lock();
if( m_remotePlugin )
{
m_remotePlugin->processMidiEvent( _me, 0 );
}
else
{
m_plugin->processMidiEvent( _me );
}
m_pluginMutex.unlock();
return true;
}
m_pluginMutex.lock();
if( m_remotePlugin )
{
m_remotePlugin->processMidiEvent( _me, 0 );
}
else
{
m_plugin->processMidiEvent( _me );
}
m_pluginMutex.unlock();
return true;
}