0
0

Hello, I’ve been using FMOD Ex for about a year now and haven’t had any problems (hence why I didn’t sign up to the forum until now). But I recently upgraded from version 4.06.10 (which dates back to about February 2007) to version 4.12.00 and I’ve encountered some problems when initialising FMOD (i.e. making calls to System::init or EventSystem::init). Well in fact everything works fine on my computer, old computer and laptop but it’s my co-developer (artist) who is having the problems which makes it even harder to figure out the problem.

Essentially since I upgraded, he is getting the following error:

"An invalid parameter was passed to this function."

as a result from the init call (i.e. FMOD_ERR_INVALID_PARAM). His sound card is a Hercules Gamesurround Fortissimo III with the latest drivers installed.

I’ve tried several versions of FMOD including 4.10.07 (I think), 4.12.00 (latest stable), 4.13.00 (development). None of these work, it seems the only version which is working for him is the old 4.06.10.

Any ideas what may be wrong? The startup code is pretty standard stuff:

[code:21jx8m7y]
result = EventSystem_Create(&m_pEventSystem);
if (result != FMOD_OK)
{
OGRE_EXCEPT(Exception::ERR_NOT_IMPLEMENTED, FMOD_ErrorString(result), "CSound::CSound");
return;
}

result = m_pEventSystem->init(128, FMOD_INIT_NORMAL, 0);
if (result != FMOD_OK)
{
OGRE_EXCEPT(Exception::ERR_NOT_IMPLEMENTED, FMOD_ErrorString(result), "CSound::CSound");
return;
}
[/code:21jx8m7y]

Is there anything I can try to get a more detailed explanation as to why it won’t initialise?

  • You must to post comments
0
0

There must be something weird going on there – what happens when you run the fmod example progams?

Are you sure you’re not mixing up some headers of old versions? It may be a different error code that you’re actually getting now, as you’re more likely to get ‘driver error’ etc than ‘invalid param’.

Also check the recommended startup sequence at the top of this forum.

  • You must to post comments
0
0

Hi brett, thanks for your very quick reply.

I just compiled the example programs with v4.12.00 and zipped up both the "bin" and "media" directories and sent to him. From the command prompt here is the result of running the "playsound" example:

[code:2ra29thb]C:\Incoming\bin>playsound
FMOD error! (37) An invalid parameter was passed to this function.[/code:2ra29thb]

So it appears to be giving the same error. I’m pretty sure I didn’t mix up header/libraries/dll files. I asked him to clean install the game a few times (remember it works on my 3 machines without any trouble).

And these examples here have been compiled from a separate FMOD installation directory so there is no chance of mixing anything up.

I will give the recommended start-up sequence a go unless you have any better suggestions.

Another thing that may or may not be related, is that I recently switched from using the FMOD::System object directly to using FMOD::EventSystem. When using v4.06.10 (which works on my friend’s computer), he told me that the sound has changed on his computer, it sounds more high-pitched than before (in a bad way). Although on my own PC there is no difference.

PS: Are there any pre-built programs using the latest version of FMOD that I can ask him to download to see if it works for him?

  • You must to post comments
0
0

Ok, an update. I got my friend to download FMOD designer and run the FMOD event player to see if it works. Initially it wouldn’t work but when he went into to preferences and set the output mode to Windows Multimedia instead of DirectSound it worked. I guess the same can be accomplished in my game with the following function call:

[code:vnfzr06x]System::setOutput(FMOD_OUTPUTTYPE_WINMM)[/code:vnfzr06x]

before calling the init function. Still, shouldn’t the FMOD_OUTPUTTYPE_AUTODETECT setting automatically pick a setting that actually works rather than me having to do the check in my code? And FMOD_ERR_INVALID_PARAM doesn’t seem like an appropriate error. I haven’t tried this yet, I plan to do so shortly and will report back with the result.

  • You must to post comments
0
0

you should be reading the thread
WINDOWS CONFIGURATION ISSUES AND WORKAROUNDS. (updated)
at the top of this forum.

Do you have the same hardware and drivers or something? I can’t understand why only you 2 get this when thousands of others are using the api without us getting thousands of reports of this error.

  • You must to post comments
0
0

No it works fine for me (I have tested it on 4 of my own computers), the problem only occurs on my friend’s computer (which was what was making it hard to isolate the source of the issue). I think I have enough information now to work around the problem. I just thought you should know about it as it seems to be a rare bug in FMOD that only happens on specific hardware/driver configuration. If you want more details on his hardware/software setup let me know.

I’m not trying to knock your software, it’s by far the best and easiest to use sound library I have used. I was merely trying to help by providing you as much information as possible to hopefully fix this rare problem or at least make you aware of it.

  • You must to post comments
0
0

I’ve got things working on my friend’s computer but it’s not pretty. I’ve added a menu in the game to select the output mode so that he can select WINMM, but the game must be restarted for this to take effect.

My original plan was to catch the error and then try re-initialising with WINMM automatically. But this doesn’t work because I get back the "Cannot call this command after System::init." error. I tried to close the system object before re-initialising but still keeps giving me that error then I tried to release and re-create the system object but still got the same error. Is there anything else I should be doing?

I can live with the current setup but if you have any advice on the situation that would be very helpful.

  • You must to post comments
Showing 6 results
Your Answer

Please first to submit.