diff options
| author | Jamieson Christian | 2002-11-04 18:29:26 +0000 | 
|---|---|---|
| committer | Jamieson Christian | 2002-11-04 18:29:26 +0000 | 
| commit | c10287988edffe5833b444e039348804ee28ddf7 (patch) | |
| tree | 48b51216cb68a93762144e1fd40ea488535ebae9 /scumm/imuse.cpp | |
| parent | 2442bce6f376e080e770e5d5380d817f6da6e043 (diff) | |
| download | scummvm-rg350-c10287988edffe5833b444e039348804ee28ddf7.tar.gz scummvm-rg350-c10287988edffe5833b444e039348804ee28ddf7.tar.bz2 scummvm-rg350-c10287988edffe5833b444e039348804ee28ddf7.zip | |
Increased GM channel resource to full spectrum (0-15, instead of 0-8 Base MIDI config); misc. pitchbend cleanups
svn-id: r5403
Diffstat (limited to 'scumm/imuse.cpp')
| -rw-r--r-- | scumm/imuse.cpp | 24 | 
1 files changed, 11 insertions, 13 deletions
| diff --git a/scumm/imuse.cpp b/scumm/imuse.cpp index 0c2949375e..8010dee0ed 100644 --- a/scumm/imuse.cpp +++ b/scumm/imuse.cpp @@ -608,7 +608,7 @@ class IMuseGM : public IMuseDriver {  	IMuseInternal *_se;  	OSystem *_system;  	MidiDriver *_md; -	MidiChannelGM _midi_channels[9]; +	MidiChannelGM _midi_channels[16];  	int16 _midi_pitchbend_last[16];  	byte _midi_pitchbend_factor_last[16]; @@ -4550,11 +4550,7 @@ void IMuseGM::midiPitchBend(byte chan, int16 pitchbend)  void IMuseGM::midiPitchBendFactor (byte chan, byte factor) {  	if (_midi_pitchbend_factor_last[chan] != factor) {  		_midi_pitchbend_factor_last[chan] = factor; -		_md->setPitchBendRange (chan, factor); // For high-level semantic drivers (such as QTMA) -		_md->send((   0   << 16) | (101 << 8) | (0xB0 | chan)); -		_md->send((   0   << 16) | (100 << 8) | (0xB0 | chan)); -		_md->send((factor << 16) | (  6 << 8) | (0xB0 | chan)); -		_md->send((   0   << 16) | ( 38 << 8) | (0xB0 | chan)); +		_md->setPitchBendRange (chan, factor);  	}  } @@ -4776,13 +4772,15 @@ void IMuseGM::update_pris()  		lopri = 255;  		lomc = NULL;  		for (i = ARRAYSIZE(_midi_channels), mc = _midi_channels;; mc++) { -			if (!mc->_part) { -				lomc = mc; -				break; -			} -			if (mc->_part->_pri_eff <= lopri) { -				lopri = mc->_part->_pri_eff; -				lomc = mc; +			if (mc->_chan != 9) { +				if (!mc->_part) { +					lomc = mc; +					break; +				} +				if (mc->_part->_pri_eff <= lopri) { +					lopri = mc->_part->_pri_eff; +					lomc = mc; +				}  			}  			if (!--i) { | 
