Tinsel engine adlib warnings

Ask for help with ScummVM problems

Moderator: ScummVM Team

Post Reply
JCDenton
Posts: 22
Joined: Wed Apr 25, 2007 11:15 pm
Location: UK

Tinsel engine adlib warnings

Post by JCDenton »

Hi

Apologies if this is posted elsewhere, I can't seem to find a specific post with this problem. If there is one please put a link in the reply :)

I am having a small problem When playing Discworld I. There seems to be a constant adlib warning scrolling in the scummvm status window:

warning: AdLib: Unknown control change message 11 (###)!

Sometimes the 11 is another number such as 101 or 116 or 127. The hashes are usually numbers increasing from 0 to 127.

This doesn't affect gameplay but it does fill the log window constantly.

I followed the install instructions on the help page when copying the files from my cd and I don't think I missed anything vital.

Your thoughts would be most welcome. Thanks in advance :)
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3560
Joined: Mon Oct 31, 2005 7:39 am

Re: Tinsel engine adlib warnings

Post by eriktorbjorn »

JCDenton wrote: I am having a small problem When playing Discworld I. There seems to be a constant adlib warning scrolling in the scummvm status window:

warning: AdLib: Unknown control change message 11 (###)!
I think that's because the music is in a format I've heard referred to as either XMIDI or XMI, which is an extended form of MIDI. When ScummVM tries to play that, there are probably a lot of control change messages that the AdLib player simply ignores.

The MIDI settings in ScummVM have grown to the point where I don't really fully understand them any more, but if you edit the game settings and change the Music Device setting on the Audio tab to a MIDI-capable device (which one depends on your operating system, but on Windows "Windows MIDI" might work, I guess) it should play with less warnings.

If you don't get any music at all then, it may be that the operating system has a separate volume setting for MIDI.

Of course it won't sound like AdLib that way, which may or may not seem like an improvement to you.
JCDenton
Posts: 22
Joined: Wed Apr 25, 2007 11:15 pm
Location: UK

Re: Tinsel engine adlib warnings

Post by JCDenton »

[quote="eriktorbjorn"]

I think that's because the music is in a format I've heard referred to as either XMIDI or XMI, which is an extended form of MIDI. When ScummVM tries to play that, there are probably a lot of control change messages that the AdLib player simply ignores.[/quote]

Thanks for the reply, much appreciated. I understand what you are saying here, I wasn't aware of the xmidi format and that would explain the control error messages. I will check my local pc settings but so far I think that it is only the Tinsel engine that causes the error, I will investigate further and post a reply on this thread for others to see.

I will try different settings in scummvm as well and see what happens. I am not too worried about not hearing the classic Roland midi sound, but it does add some authenticity to the game experience :)

Thanks again
J.
User avatar
eriktorbjorn
ScummVM Developer
Posts: 3560
Joined: Mon Oct 31, 2005 7:39 am

Re: Tinsel engine adlib warnings

Post by eriktorbjorn »

JCDenton wrote: Thanks for the reply, much appreciated. I understand what you are saying here, I wasn't aware of the xmidi format and that would explain the control error messages. I will check my local pc settings but so far I think that it is only the Tinsel engine that causes the error, I will investigate further and post a reply on this thread for others to see.
Only some games use XMIDI, and it's quite possible that some of those also provide music specifically for AdLib. From what I remember (I can't check at the moment) you may see similar warnings in the PC version of The 7th Guest, for instance.
JCDenton
Posts: 22
Joined: Wed Apr 25, 2007 11:15 pm
Location: UK

Post by JCDenton »

Hi all, I have sorted the problem. It seems that when I installed the scummvm emulator, I did not set the general midi default options, so the emulator was using what appeares to be the Windows Default MIDI device, which is software emulated.

If anybody else is suffering similar ad-lib warnings, please use the following method to ensure that scummvm is using your own system's default midi device.

1. Install and run scummvm
2. Click the "options" button on the right
3. Click the "midi" tab at the top
4. Click on the drop-down box at the top labelled GM Device
5. Select your system's General Midi device (I have a Soundblaster card so I selected SB-XFI Synth A [D000])
6. Click OK
7. Re-start scummvm

On my install this was set to "Don't use General MIDI Music" for some reason, which is why the emulator couldn't interpret the xmidi commands.

Thank you to eriktorbjorn for the replies earlier, it clued me in to where the problem was. I understand what he is saying that only a few games will cause this problem, and also that not everybody will have a sound device on their system that will interpret direct Ad-Lib or xmidi commands. I am fortunate that my xfi card does.

I hope this helps you all.

Regards
J.
JCDenton
Posts: 22
Joined: Wed Apr 25, 2007 11:15 pm
Location: UK

General Midi Settings Update

Post by JCDenton »

Just a little update for you, the settings I posed in the last post work fine, and will map the general midi thru your sound card or sound device if it has support, without generating a constant stream of control error messages.

There is another option I have working if your sound card will not support xmidi, or will not let you map through it, and that appears to be the Microsoft GS Wavetable Synth option. Not a pretty sound but it will allow xmidi control codes without generating errors in the log.

This solution certainly works for the Discworld 1 game at any rate :)

Anybody fortunate enough to have MT-32 will also find that this is a solution that works quite well, although it doesn't sound quite right in some games...

It appears the the AdLib option is the one that generates a ton of control error messages, which seems to often be selected as default unless changed by the end-user.

I hope this is useful to anybody having problems with overloaded logs out there ;)

Regards
J.
Post Reply