~mixxxdevelopers/mixxx/features_autodj

« back to all changes in this revision

Viewing changes to mixxx/src/midi/midimessage.cpp

  • Committer: RJ Ryan
  • Date: 2010-10-13 18:09:57 UTC
  • mfrom: (2423.1.221 mixxx-1.8)
  • Revision ID: rryan@mit.edu-20101013180957-1hagti497ul96f3o
Merging fixes from lp:mixxx/1.8

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
/** MidiMessage constructor */
6
6
MidiMessage::MidiMessage(MidiStatusByte status, int midino, char midichannel)
7
7
{
8
 
    //Register this class with QT so we can use this bad boy in signals/slots.
9
 
    qRegisterMetaType<MidiMessage>("MidiMessage");
10
 
    qRegisterMetaType<MidiStatusByte>("MidiStatusByte");
11
 
 
12
8
    m_midiStatusByte = status;
13
9
    m_midiNo = midino;
14
10
    m_midiStatusByte |= midichannel; //Jam midichannel into low nibble of status byte.
98
94
uint qHash(const MidiMessage& key)
99
95
{
100
96
    //& with 0xF0 to ignore the channel bits for comparison purposes.
101
 
    if ((key.getMidiStatusByte() & 0xF0) == MIDI_STATUS_PITCH_BEND) { 
 
97
    if ((key.getMidiStatusByte() & 0xF0) == MIDI_STATUS_PITCH_BEND) {
102
98
        //Ignore midino for pitch bend messages because those bits are actually part of the 14-bit pitch bend payload.
103
 
        return key.getMidiStatusByte(); 
 
99
        return key.getMidiStatusByte();
104
100
    }
105
101
    else
106
102
        return (key.getMidiByte2On() << 16) | (key.getMidiStatusByte() << 8) | key.getMidiNo();