diff options
author | Jamieson Christian | 2003-05-19 19:24:22 +0000 |
---|---|---|
committer | Jamieson Christian | 2003-05-19 19:24:22 +0000 |
commit | 996614936a4146a62b824123fb388e0dae009b95 (patch) | |
tree | d22e47543aaef2bfbee7e77d4e603eeb8d3403c3 | |
parent | d6cf47dfaacedaaea15dd019ce2c826c0720e942 (diff) | |
download | scummvm-rg350-996614936a4146a62b824123fb388e0dae009b95.tar.gz scummvm-rg350-996614936a4146a62b824123fb388e0dae009b95.tar.bz2 scummvm-rg350-996614936a4146a62b824123fb388e0dae009b95.zip |
Fixed anonymous structs warning.
svn-id: r7696
-rw-r--r-- | sound/midiparser.cpp | 26 | ||||
-rw-r--r-- | sound/midiparser.h | 4 | ||||
-rw-r--r-- | sound/midiparser_smf.cpp | 32 | ||||
-rw-r--r-- | sound/midiparser_xmidi.cpp | 50 |
4 files changed, 56 insertions, 56 deletions
diff --git a/sound/midiparser.cpp b/sound/midiparser.cpp index 46eff182d7..7551481cdd 100644 --- a/sound/midiparser.cpp +++ b/sound/midiparser.cpp @@ -98,10 +98,10 @@ void MidiParser::onTimer() { if (info.event == 0xF0) { // SysEx event - _driver->sysEx (info.data, (uint16) info.length); + _driver->sysEx (info.ext.data, (uint16) info.ext.length); } else if (info.event == 0xFF) { // META event - if (info.type == 0x2F) { + if (info.ext.type == 0x2F) { // End of Track must be processed by us, // as well as sending it to the output device. allNotesOff(); @@ -110,18 +110,18 @@ void MidiParser::onTimer() { parseNextEvent (_next_event); } else { _play_pos = 0; - _driver->metaEvent (info.type, info.data, (uint16) info.length); + _driver->metaEvent (info.ext.type, info.ext.data, (uint16) info.ext.length); } return; - } else if (info.type == 0x51) { - if (info.length >= 3) { - _tempo = info.data[0] << 16 | info.data[1] << 8 | info.data[2]; + } else if (info.ext.type == 0x51) { + if (info.ext.length >= 3) { + _tempo = info.ext.data[0] << 16 | info.ext.data[1] << 8 | info.ext.data[2]; _psec_per_tick = (_tempo + (_ppqn >> 2)) / _ppqn; } } - _driver->metaEvent (info.type, info.data, (uint16) info.length); + _driver->metaEvent (info.ext.type, info.ext.data, (uint16) info.ext.length); } else { - _driver->send (info.event | info.param1 << 8 | info.param2 << 16); + _driver->send (info.event | info.basic.param1 << 8 | info.basic.param2 << 16); } @@ -185,18 +185,18 @@ void MidiParser::jumpToTick (uint32 tick) { _last_event_time = _play_time; if (info.event == 0xFF) { - if (info.type == 0x2F) { // End of track + if (info.ext.type == 0x2F) { // End of track if (_autoLoop) { _play_pos = _tracks[_active_track]; parseNextEvent (_next_event); } else { _play_pos = 0; - _driver->metaEvent (0x2F, info.data, (uint16) info.length); + _driver->metaEvent (0x2F, info.ext.data, (uint16) info.ext.length); } break; - } else if (info.type == 0x51) { // Tempo - if (info.length >= 3) { - _tempo = info.data[0] << 16 | info.data[1] << 8 | info.data[2]; + } else if (info.ext.type == 0x51) { // Tempo + if (info.ext.length >= 3) { + _tempo = info.ext.data[0] << 16 | info.ext.data[1] << 8 | info.ext.data[2]; _psec_per_tick = (_tempo + (_ppqn >> 2)) / _ppqn; } } diff --git a/sound/midiparser.h b/sound/midiparser.h index 8bc837465c..7f9478f6e1 100644 --- a/sound/midiparser.h +++ b/sound/midiparser.h @@ -36,12 +36,12 @@ struct EventInfo { struct { byte param1; byte param2; - }; + } basic; struct { byte type; // Used for METAs byte * data; // Used for SysEx and METAs uint32 length; // Used for SysEx and METAs - }; + } ext; }; byte channel() { return event & 0x0F; } diff --git a/sound/midiparser_smf.cpp b/sound/midiparser_smf.cpp index ca6fdddcfd..4682032ddb 100644 --- a/sound/midiparser_smf.cpp +++ b/sound/midiparser_smf.cpp @@ -98,42 +98,42 @@ void MidiParser_SMF::parseNextEvent (EventInfo &info) { switch (info.event >> 4) { case 0xC: case 0xD: - info.param1 = *(_play_pos++); - info.param2 = 0; + info.basic.param1 = *(_play_pos++); + info.basic.param2 = 0; break; case 0x8: case 0x9: case 0xA: case 0xB: case 0xE: - info.param1 = *(_play_pos++); - info.param2 = *(_play_pos++); + info.basic.param1 = *(_play_pos++); + info.basic.param2 = *(_play_pos++); break; case 0xF: // System Common, Meta or SysEx event switch (info.event & 0x0F) { case 0x2: // Song Position Pointer - info.param1 = *(_play_pos++); - info.param2 = *(_play_pos++); + info.basic.param1 = *(_play_pos++); + info.basic.param2 = *(_play_pos++); break; case 0x3: // Song Select - info.param1 = *(_play_pos++); - info.param2 = 0; + info.basic.param1 = *(_play_pos++); + info.basic.param2 = 0; break; case 0x6: case 0x8: case 0xA: case 0xB: case 0xC: case 0xE: - info.param1 = info.param2 = 0; + info.basic.param1 = info.basic.param2 = 0; break; case 0x0: // SysEx - info.length = readVLQ (_play_pos); - info.data = _play_pos; - _play_pos += info.length; + info.ext.length = readVLQ (_play_pos); + info.ext.data = _play_pos; + _play_pos += info.ext.length; break; case 0xF: // META event - info.type = *(_play_pos++); - info.length = readVLQ (_play_pos); - info.data = _play_pos; - _play_pos += info.length; + info.ext.type = *(_play_pos++); + info.ext.length = readVLQ (_play_pos); + info.ext.data = _play_pos; + _play_pos += info.ext.length; break; } } diff --git a/sound/midiparser_xmidi.cpp b/sound/midiparser_xmidi.cpp index d35bf93c02..202443101c 100644 --- a/sound/midiparser_xmidi.cpp +++ b/sound/midiparser_xmidi.cpp @@ -100,8 +100,8 @@ void MidiParser_XMIDI::parseNextEvent (EventInfo &info) { _play_pos = info.start; info.delta = best->off_time - _last_event_tick; info.event = 0x80 | best->channel; - info.param1 = best->note; - info.param2 = 0; + info.basic.param1 = best->note; + info.basic.param2 = 0; best->off_time = 0; _inserted_delta += info.delta; return; @@ -112,8 +112,8 @@ void MidiParser_XMIDI::parseNextEvent (EventInfo &info) { info.event = *(_play_pos++); switch (info.event >> 4) { case 0x9: // Note On - info.param1 = *(_play_pos++); - info.param2 = *(_play_pos++); + info.basic.param1 = *(_play_pos++); + info.basic.param2 = *(_play_pos++); note_length = readVLQ (_play_pos); // In addition to sending this back, we must @@ -126,53 +126,53 @@ void MidiParser_XMIDI::parseNextEvent (EventInfo &info) { if (i) { ptr->channel = info.channel(); - ptr->note = info.param1; + ptr->note = info.basic.param1; ptr->off_time = _last_event_tick + info.delta + note_length; } break; case 0xC: case 0xD: - info.param1 = *(_play_pos++); - info.param2 = 0; + info.basic.param1 = *(_play_pos++); + info.basic.param2 = 0; break; case 0x8: case 0xA: case 0xB: case 0xE: - info.param1 = *(_play_pos++); - info.param2 = *(_play_pos++); + info.basic.param1 = *(_play_pos++); + info.basic.param2 = *(_play_pos++); break; case 0xF: // Meta or SysEx event switch (info.event & 0x0F) { case 0x2: // Song Position Pointer - info.param1 = *(_play_pos++); - info.param2 = *(_play_pos++); + info.basic.param1 = *(_play_pos++); + info.basic.param2 = *(_play_pos++); break; case 0x3: // Song Select - info.param1 = *(_play_pos++); - info.param2 = 0; + info.basic.param1 = *(_play_pos++); + info.basic.param2 = 0; break; case 0x6: case 0x8: case 0xA: case 0xB: case 0xC: case 0xE: - info.param1 = info.param2 = 0; + info.basic.param1 = info.basic.param2 = 0; break; case 0x0: // SysEx - info.length = readVLQ (_play_pos); - info.data = _play_pos; - _play_pos += info.length; + info.ext.length = readVLQ (_play_pos); + info.ext.data = _play_pos; + _play_pos += info.ext.length; break; case 0xF: // META event - info.type = *(_play_pos++); - info.length = readVLQ (_play_pos); - info.data = _play_pos; - _play_pos += info.length; - if (info.type == 0x51 && info.length == 3) { + info.ext.type = *(_play_pos++); + info.ext.length = readVLQ (_play_pos); + info.ext.data = _play_pos; + _play_pos += info.ext.length; + if (info.ext.type == 0x51 && info.ext.length == 3) { // Tempo event. We want to make these constant 500,000. - info.data[0] = 0x07; - info.data[1] = 0xA1; - info.data[2] = 0x20; + info.ext.data[0] = 0x07; + info.ext.data[1] = 0xA1; + info.ext.data[2] = 0x20; } break; } |