void CConductor::playTransposeEvent(CMidiEvent event) { if (m_transpose != 0 && event.channel() != MIDI_DRUM_CHANNEL && (event.type() == MIDI_NOTE_ON || event.type() == MIDI_NOTE_OFF) ) event.transpose(m_transpose); if (event.type() == MIDI_NOTE_ON && isChannelMuted(event.channel()) == true && CChord::isNotePlayable(event.note(), m_transpose) == true) return; // mute the note by not playing it // boost any volume events if (event.type() == MIDI_CONTROL_CHANGE && event.data1() == MIDI_MAIN_VOLUME) event.setDatat2(calcBoostVolume(event.channel(), event.data2() )); // Don't output note on if we are seeking to bar if (!seekingBarNumber()) playTrackEvent(event); // Play the midi note or event else { if (event.type() == MIDI_PROGRAM_CHANGE || event.type() == MIDI_CONTROL_CHANGE) playTrackEvent(event); // Play the midi note or event } }