Support for N64 SNG Control and Program Change encoding

This commit is contained in:
Jack Andersen
2016-06-22 14:28:02 -10:00
parent 0c606fa9b7
commit 22a8534887
2 changed files with 26 additions and 0 deletions

View File

@@ -381,6 +381,19 @@ bool SongState::Track::advance(Sequencer& seq, int32_t ticks)
seq.keyOn(m_midiChan, note, vel);
m_remNoteLengths[note] = length;
}
else if (m_data[2] & 0x80 && m_data[3] & 0x80)
{
/* Control change */
uint8_t val = m_data[2] & 0x7f;
uint8_t ctrl = m_data[3] & 0x7f;
seq.setCtrlValue(m_midiChan, ctrl, val);
}
else if (m_data[2] & 0x80)
{
/* Program change */
uint8_t prog = m_data[2] & 0x7f;
seq.setChanProgram(m_midiChan, prog);
}
m_data += 4;
}