Error message

Access denied. You may need to login below or register to access this page.

Access Denied / User log in

Please let our ADS show!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).
Please:

  • disable your AdBlocker by adding CoolSoft website to whitelist
  • give the proper cookie consent
  • enable JavaScript for this website

This seconds wait is to let you update your browser configuration...

Ok, I've done the required changes... now show me your content!
!!! Please enable JavaScript !!!

Quick login

Use your existing social account to login without registration: no confirmation mail to wait for, no new password to remember, quick, easy, safe.

...or use your CoolSoft account

Enter your CoolSoft username.
Enter the password that accompanies your username.
Add reply | CoolSoft

Add reply

Please let our ADS show!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).
Please:

  • disable your AdBlocker by adding CoolSoft website to whitelist
  • give the proper cookie consent
  • enable JavaScript for this website

This seconds wait is to let you update your browser configuration...

Ok, I've done the required changes... now show me your content!
!!! Please enable JavaScript !!!
(If you're a human, don't change the following field)
Your first name.
(If you're a human, don't change the following field)
Your first name.

Warning!

You're posting your message as anonymous user.

By registering you'll be allowed to receive notifications of post replies and new threads.
Registration is really quick and only requires you to choose an username and provide a valid email address.

Click here to to register.

A confirmation mail will be sent to this address.
Your email address won't be published.

More information about text formats

Filtered HTML

  • Allowed HTML tags: <a> <blockquote> <br> <cite> <code> <dd> <del> <dl> <dt> <em> <img> <li> <ol> <p> <pre> <s> <span> <strike> <strong> <ul>
    Allowed Style properties: background-color, color, font-size, font-style, height, text-align, text-decoration, text-transform, width
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <pre>, <c>, <cpp>, <csharp>, <drupal5>, <drupal6>, <javascript>, <php>. The supported tag styles are: <foo>, [foo].
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Cancel
Posts: 129
Joined: September 25, 2013 - 16:38
Re: Problem with the game Road Rash

Hi,

Great, it works with every port/synth I have tried. This is a unique feature that makes Coolsoft Midi Mapper not just a simple replacement but a more advanced Midi mapper :)

Posts: 4
Joined: April 19, 2022 - 14:49
Re: Problem with the game Road Rash

Grazie mille coolsoft, beta rimossa dal forum Vogons.

Posts: 1972
Joined: March 25, 2012 - 01:19
Re: Problem with the game Road Rash

Just released version 2.1.0, with volume support implementation.

@Kappa971: could you please remove beta1 from Vogons forum (if possible)?
Version 2.1.0 is now publicly (and freely) available, I don't like beta versions around 😉...

Posts: 1972
Joined: March 25, 2012 - 01:19
Re: Problem with the game Road Rash
falcosoft wrote:
The problem is/was the proper support of this function.
Namely when an application calls midiOutGetDevCaps and a driver sends back in MIDIOUTCAPS->dwSupport field MIDICAPS_VOLUME(1) just like Coolsoft Midi Mapper and Coolsoft VMS does currently it is expected to respond  to MODM_SETVOLUME driver messages (that midiOutSetVolume calls generate) and send back MMSYSERR_NOERROR just as you said and implemented.

You're absolutely right.
AFAIR the set of supported features reported by midiOutGetDevCaps() (both in MIDIMapper and VMS) was set to be as similar as possible to the one reported by "MS MIDIMapper" and "MS GM/GS Soft Synth".
I did that choice (at early VMS 1.x times) to let it mimic the original MS synth as much as possible.

No one need control volume till now, so that unimplemented feature went unnoticed 😂
Now is the time to implement it.

falcosoft wrote:
Implementing support for midiOutSetVolume/MODM_SETVOLUME in your Midi mapper instead of VMS would have the benefit that all kind of synths, even the ones that do not support volume changes currently would work properly through your Midi mapper.

Yes, I think this is the best solution so far but... why not implement it in VMS driver component too?
It should not be so hard because MIDIMapper and VMS (Driver component) share a lot of code... and also VMS can stop lying about its reported MIDIOUTCAPS 😉

Posts: 129
Joined: September 25, 2013 - 16:38
Re: Problem with the game Road Rash
coolsoft wrote:

Well, thanks for your investigation on the issue, really interesting.

I don't think that a missing function could be the culprit here, because if so I'll expect a game crash and not just an error message.
I instead suppose the game does not really need for a full implementation of midiOutSetVolume() function, but it only needs that its calls to modMessage() to return MMSYSERR_NOERROR instead of the current MMSYSERR_NOTSUPPORTED.

That said, I've built a test version with this change: the modMessage() function of MIDIMapper now always returns MMSYSERR_NOERROR (even if it does nothing at all with the given data).

Please let me know if it works.
If so, we could start from there to implement some kind of volume management, that should be done on VirtualMIDISynth rather than on MIDIMapper side.

NOTE: I only expect the game to not emit the error anymore; the volume set/get still does not work, so if the game has some kind of volume controllers, they won't do anything.
As for the "music playing when getting back to game menus" well, I hope they (game creators) do stop MIDI from playing and not only lower its volume to zero...

Hi Claudio,

1. Of course not a "missing function" is/was the problem, since the midiOutSetVolume function itself can be found in winmm.dll, not in the driver(s). The problem is/was the proper support of this function.
Namely when an application calls midiOutGetDevCaps and a driver sends back in MIDIOUTCAPS->dwSupport field MIDICAPS_VOLUME(1) just like Coolsoft Midi Mapper and Coolsoft VMS does currently it is expected to respond  to MODM_SETVOLUME driver messages (that midiOutSetVolume calls generate) and send back MMSYSERR_NOERROR just as you said and implemented.
2. Implementing support for midiOutSetVolume/MODM_SETVOLUME in your Midi mapper instead of VMS would have the benefit that all kind of synths, even the ones that do not support volume changes currently would work properly through your Midi mapper.
Reducing Note On's velocity proportionally would be a universal solution since Note On velocity is supported by all kinds of Midi devices.

Bye

Posts: 4
Joined: April 19, 2022 - 14:49
Re: Problem with the game Road Rash

Thanks coolsoft, with CoolSoft MIDIMapper 2.0.4-beta1+ LoopMIDI + Falcosoft MIDI Player, the game no longer returns the error and works correctly!

Posts: 1972
Joined: March 25, 2012 - 01:19
Re: Problem with the game Road Rash

Well, thanks for your investigation on the issue, really interesting.

I don't think that a missing function could be the culprit here, because if so I'll expect a game crash and not just an error message.
I instead suppose the game does not really need for a full implementation of midiOutSetVolume() function, but it only needs that its calls to modMessage() to return MMSYSERR_NOERROR instead of the current MMSYSERR_NOTSUPPORTED.

That said, I've built a test version with this change: the modMessage() function of MIDIMapper now always returns MMSYSERR_NOERROR (even if it does nothing at all with the given data).

Please let me know if it works.
If so, we could start from there to implement some kind of volume management, that should be done on VirtualMIDISynth rather than on MIDIMapper side.

NOTE: I only expect the game to not emit the error anymore; the volume set/get still does not work, so if the game has some kind of volume controllers, they won't do anything.
As for the "music playing when getting back to game menus" well, I hope they (game creators) do stop MIDI from playing and not only lower its volume to zero...

UPDATE: beta1 attachment removed, version 2.1.0 has been released

Posts: 4
Joined: April 19, 2022 - 14:49
Re: Problem with the game Road Rash

This is a possible solution according to @Falcosoft:

"The actually opened/active port has to implement this since the first parameter you have to set when you call midiOutSetVolume is the port handle returned by midiOutOpen or the device ID of the selected device.
If CoolSoft Midi mapper is installed both the default port handle and the default device ID belong to Coolsoft Midi mapper.
@Edit:
I think the most reliable way to implement this feature would be to modify the velocity value of all Note On messages according to what value is sent by midiOutSetVolume.
Namely:
newVelocity = oldVelocity * ( (midiOutSetVolumeValue & 0xFFFF) / 0xFFFF);
"

Posts: 4
Joined: April 19, 2022 - 14:49
Re: Problem with the game Road Rash

Hi coolsoft, I also have this error using CoolSoft MIDIMapper+LoopMIDI+Falcosoft MIDI Player (and Sound Canvas VA). There seems to be the same problem with CoolSoft VirtualMIDISynth.
I opened a topic in Vogons Road Rash '96 - MIDI Error \ VOGONS hoping to find a solution, @Falcosoft may have found the cause of the problem, this is what he wrote:

"Hi,
Although I do not have this exact game to test with I'm 99% sure that the problem is not 'mixer' related per se but the problem is the missing support for the midiOutSetVolume function.
https://docs.microsoft.com/en-us/windows/win3 … idioutsetvolume
This function is never implemented by hardware(MPU-401) ports or virtual cables and only some of the soft synthesizers support it. I only know 2 soft synths that support it, namely: MS GM/GS Soft Synth and Yamaha S-YXG50 XP driver.
"

Posts: 1972
Joined: March 25, 2012 - 01:19
Re: Problem with the game Road Rash
XxJonathXx wrote:
But maybe it's also a common issue with the game.

Well, it could be. And also consider that CoolSoft MIDIMapper is not a real "MIDI Mapper", because MIDI Mapper support was removed from multimedia SDK years ago.
It only tries to emulate its features by receving MIDI stream and re-playing it on another device.

Will have a look but can't promise anything 😉