diff --git a/src/core/midi/midi_alsa_seq.cpp b/src/core/midi/midi_alsa_seq.cpp index 384429705..ded6c77aa 100644 --- a/src/core/midi/midi_alsa_seq.cpp +++ b/src/core/midi/midi_alsa_seq.cpp @@ -326,8 +326,8 @@ void midiALSASeq::subscribeReadablePort( midiPort * _port, const QString & _dest, bool _subscribe ) { - if( m_portIDs.contains( _port ) == FALSE || - _port->inputEnabled() == FALSE ) + if( _subscribe &&( m_portIDs.contains( _port ) == FALSE || + _port->inputEnabled() == FALSE ) ) { printf( "port %s can't be (un)subscribed!\n", _port->name().toAscii().constData() ); @@ -367,8 +367,8 @@ void midiALSASeq::subscribeWriteablePort( midiPort * _port, const QString & _dest, bool _subscribe ) { - if( m_portIDs.contains( _port ) == FALSE || - _port->outputEnabled() == FALSE ) + if( _subscribe && ( m_portIDs.contains( _port ) == FALSE || + _port->outputEnabled() == FALSE ) ) { printf( "port %s can't be (un)subscribed!\n", _port->name().toAscii().constData() ); diff --git a/src/core/midi/midi_winmm.cpp b/src/core/midi/midi_winmm.cpp index b80fdeac7..ad607beed 100644 --- a/src/core/midi/midi_winmm.cpp +++ b/src/core/midi/midi_winmm.cpp @@ -202,7 +202,7 @@ void midiWinMM::subscribeReadablePort( midiPort * _port, const QString & _dest, bool _subscribe ) { - if( _port->inputEnabled() == FALSE ) + if( _subscribe && _port->inputEnabled() == FALSE ) { printf( "port %s can't be (un)subscribed!\n", _port->name().toAscii().constData() ); @@ -226,7 +226,7 @@ void midiWinMM::subscribeWriteablePort( midiPort * _port, const QString & _dest, bool _subscribe ) { - if( _port->outputEnabled() == FALSE && _subscribe == FALSE ) + if( _subscribe && _port->outputEnabled() == FALSE ) { printf( "port %s can't be (un)subscribed!\n", _port->name().toAscii().constData() );