SCUMM: (IMS) - minor restructuring and cleanup
Currently, Roland MT-32 sound is broken for SAMNMAX. Just try the intro song with shut off speech. It is very obvious that it plays with a quite reduced number of channels compared to the original interpreter. Now, due to the not-so-helpful code design (much of the iMuse code has been drawn into the common code) it has become increasingly difficult to fix Midi related thing in iMuse. I have added more and more crude hacks over time. SAMNMAX requires more elaborate channel allocation. To make it happen I have added driver wrappers for Midi to the iMuse code. Other than that, I have done only minor cleanup here. Actually, I would have liked to withdraw much more of the iMuse code from the common code and move it to SCUMM (basically all the MidiChannel stuff which is exclusively used by iMuse. But it turns out that it is so thoroughly intertwined (the major blocker here being the AdLib driver) that it requires more thought and effort and would just distract me from fixing the SAMNMAX sound.
This commit is contained in:
parent
be7e6731a9
commit
99dd6cb248
20 changed files with 606 additions and 375 deletions
|
@ -942,7 +942,6 @@ public:
|
|||
uint32 getBaseTempo() override { return 1000000 / OPL::OPL::kDefaultCallbackFrequency; }
|
||||
|
||||
void setPitchBendRange(byte channel, uint range) override;
|
||||
void sysEx_customInstrument(byte channel, uint32 type, const byte *instr) override;
|
||||
|
||||
MidiChannel *allocateChannel() override;
|
||||
MidiChannel *getPercussionChannel() override { return &_percussion; } // Percussion partially supported
|
||||
|
@ -1585,10 +1584,6 @@ void MidiDriver_ADLIB::setPitchBendRange(byte channel, uint range) {
|
|||
}
|
||||
}
|
||||
|
||||
void MidiDriver_ADLIB::sysEx_customInstrument(byte channel, uint32 type, const byte *instr) {
|
||||
_parts[channel].sysEx_customInstrument(type, instr);
|
||||
}
|
||||
|
||||
MidiChannel *MidiDriver_ADLIB::allocateChannel() {
|
||||
AdLibPart *part;
|
||||
uint i;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue