Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. My bare hosting costs are currently not met so please consider donating by either clicking this text or the Patreon link on the right.

Patreon

Recommended Posts

Posted

Hi headkaze (wrong author, oops, sorry).

I got a email from a user, who want to use "Arcade Music Box" in his cabinet, wich launch from GameEx.

The problem is as he stated, bass.dll is NOT closed fast enorch before launching Arcade Music Box, so my software just sent back a bass error and close. I have even tried to insert a delay in 5 secs in my player dll without luck (as he say).

I guess it may happens in some other applications, that use bass as a replayer.

Howover I did not test it here, because the nagscreen (how to pass that?), and dosent want to register just for testing it (normally I use the old mamewah).

Posted

I am the one that Space Fractal is referring to. I tried replacing the bass.dll and associated files in both GameEx and Arcade Music Box, didnt work. I keep getting bass.dll failed to init errors. I can randomly get Music Box to launch without the error, I think GameEx is not closing Bass.dll or just not fast enough. Even with the delay I still get the error. Thanks SpaceFractal for all the help and I hope someone can help becuase I really like Arcade Music Box with GameEx.

Posted

Until the author come in. Here is another thing to try:

- Open start.bat in the bin dir of AMB (should being created by AMB config).

- 'Insert' wait.exe top in it with a new line.

- Copy the little exe file zipped into bin dir of AMB (this app just wait 2 secs and then quit).

- Change GameEX to start this batfile instead of exe file directly.

Oherwice:

Here is a new AMB_Play.dll file, that return the errorcode you get from bass.dll (or supported file) back you get. This may help me and him to fix the error.

[EDIT]Removed dll file, look longer down[/EDIT]

wait.zip

Posted
Until the author come in. Here is another thing to try:

- Open start.bat in the bin dir of AMB (should being created by AMB config).

- 'Insert' wait.exe top in it with a new line.

- Copy the little exe file zipped into bin dir of AMB (this app just wait 2 secs and then quit).

- Change GameEX to start this batfile instead of exe file directly.

You may try to add more wait.exe lines....

Hi, I am the author, not HK.

I'm not sure from above how your actually launching the Jukebox software. Is it setup as an App or Emulator? You might want to set it as an emulator, and set the option not to play the Jukebox (GameEx Jukebox) while running the emu. Otherwise GameEx does not shut down bass. You can set the run as app option for an emulator config so it works like an app instead of a list of games.

Tom

Posted
[old message Deleted]

Did not read all TSpeirs message. It look you can add it as a new emulator and run like a pc game/app....

I can also probably provide a global setting to shut down bass when launching apps (not emus). Its not doing anything apart from fading any playing music out, and back in when retuning to GameEx. I don't mind doing that.

Posted

Hi again,

I just looked at the code, and external apps do actually shut down bass (BASS_Free) and before the app is launched. So your idea of some kind of delay should deffinitly do it, otherwise something else must be up.

Posted
Hi again,

I just looked at the code, and external apps do actually shut down bass (BASS_Free) and before the app is launched. So your idea of some kind of delay should deffinitly do it, otherwise something else must be up.

:( OK I tried everything and I still get bass.dll failed to init. I changed the Arcade Music Box to an EMU from external app and I turned off music, didnt work. I even added both the files that SpaceFractal suggested and I see it wait and then get same error. I know Arcade Music Box works on my PC because I can run it fine when not in GameEx. Thanks for trying guys.

Posted
:( OK I tried everything and I still get bass.dll failed to init. I changed the Arcade Music Box to an EMU from external app and I turned off music, didnt work. I even added both the files that SpaceFractal suggested and I see it wait and then get same error. I know Arcade Music Box works on my PC because I can run it fine when not in GameEx. Thanks for trying guys.

Wich errorcode do you actuelly get from bass (the first message)? It should display a errornumber, why bass failed to init. it may help what it really does.

If you just get a error about a missing dll from the start, it may be cause you run amb.exe directly and not the bat file (that define the currect startpath) (wich maybe allready have tested).

It look like some bug in bass.dll, since GameEX "own" bass.dll, and it of course run from GameEx with same ID or such one.

NB. I actuelly use BASS_STOP() and then BASS_FREE()

Posted

I would want to test here, but GameEX seend to affected with a nagscreen, that dosen't say how to pass that. Why not to tell the user how to pass on that screen?

NB. I may guess bass.dll never opened and dosen't return any error, just a -101 error or some kind?

Posted
I would want to test here, but GameEX seend to affected with a nagscreen, that dosen't say how to pass that. Why not to tell the user how to pass on that screen?

NB. I may guess bass.dll never opened and dosen't return any error, just a -101 error or some kind?

SpaceFractal

I never got an error code, only a box that says bass.dll failed to init. I know Im calling the bat file.

The nag screen should go away if I remember correctly after a minute or two. I have the registered version.

Posted

This mean I dosent have real possible to test here because the time it take to pass that nag.....

Why do GameEX need bass.dll, when you need Windows Media Player 9 to play musicfiles?

Anyway:

here is a new try that trying to init 20 times with 250millsecs each (total 5 secs) before quit. You may even try to rename it to _bass.dll

[EDIT]Removed the file in this post[/EDIT]

Posted
This mean I dosent have real possible to test here because the time it take to pass that nag.....

Why do GameEX need bass.dll, when you need Windows Media Player 9 to play musicfiles?

Anyway:

here is a new try that trying to init 20 times with 250millsecs each (total 5 secs) before quit. You may even try to rename it to _bass.dll

OK I tried that with Arcade Music Box as an external app and then I tried renaming the file to _bass.dll

I also tried using the script for the wait and I always get same error bass.dll failed to init in an AMB box.

:(

Posted

It seen it a problem I cant fix, this is the last dll you can try. It (should) show where it tried to open bass.dll from. If the path is correct, nothing I can do to fix it.

The Ball go to TSpeirs to fix the problem in the next version of GameEX.

This mean AMB actuelly can´t being used with GameEX by now. Use Arcade Jukebox 8 (as you wrote to me) or the Internal Jukebox GameEXm until the bug(?) got fixed.

Arcade Music Box was really only tested with mamewah in mind....

[EDIT]

The problem can cause because GameEX may forgot to close Library Completly after after Bassfree(). The dll is still in memory after bassfree(), so this may refuse AMB to run. I hope this can being fixed to just close the library completly down with such command after bassfree(). Example in Purebasic, the command is CloseLibrary(ID). This should fix that problem.

[/EDIT]

AMB_Play.zip

Posted
It seen it a problem I cant fix, this is the last dll you can try. It (should) show where it tried to open bass.dll from. If the path is correct, nothing I can do to fix it.

The Ball go to TSpeirs to fix the problem in the next version of GameEX.

This mean AMB actuelly can´t being used with GameEX by now. Use Arcade Jukebox 8 (as you wrote to me) or the Internal Jukebox GameEXm until the bug(?) got fixed.

Arcade Music Box was really only tested with mamewah in mind....

[EDIT]

The problem can cause because GameEX may forgot to close Library Completly after after Bassfree(). The dll is still in memory after bassfree(), so this may refuse AMB to run. I hope this can being fixed to just close the library completly down with such command after bassfree(). Example in Purebasic, the command is CloseLibrary(ID). This should fix that problem.

[/EDIT]

Thanks SpaceFractal for all the help but that dll didnt do anything different. Again thanks. :)

Posted

I hope TSpeirswould look on it, and fix on his next release.

I guess the problems is that as I wrote in the edited post: Even bassfree() is actuelly called, the dll may still in memory, and that refuse AMB to run. He must fried it completly from memory by calling a closedll command (I do not know wich language he use), and (maybe) wait a few secs, and so then run the external app or emu.

This is so the request feature im add to him to fix that problem.

This is what I guess. If Im are right, it should being very easy to fix.

Posted

A long shot, but perhaps you can unregister the dll then register it again?

Something along the lines of

@ECHO OFF
regsvr32 /s /u bass.dll
regsvr32 /s bass.dll
REM Run your program here

Posted
A long shot, but perhaps you can unregister the dll then register it again?

Something along the lines of

@ECHO OFF
regsvr32 /s /u bass.dll
regsvr32 /s bass.dll
REM Run your program here

You may NOT register it again, only unregister it if you ask me. dlls is not the same as ocx, that need being "registred", but dll dosen't need that, since application open/close them itself (that why plugins use dll files). Try insert that in your bat file and test that (maybe you should fresh install AMB to get the original bass I use?).

Ohterwice a good idea.

Posted
You may NOT register it again, only unregister it if you ask me. dlls is not the same as ocx, that need being "registred", but dll dosen't need that, since application open/close them itself (that why plugins use dll files). Try insert that in your bat file and test that (maybe you should fresh install AMB to get the original bass I use?).

Ohterwice a good idea.

Being a dll also, it shouldn't be locked from being used by another process.

Posted

Yep, I just think TSpeirs forgot to unload bass completly with a close lib command to release it from memory, and not just bassfree(). Even with that, it may still in memory.

All I think it done, I got a null pointer, when triying to init bass, and then exit.

It same I sometimes forgot to close these files I create, so the file is locked.

Posted
Yep, I just think TSpeirs forgot to unload bass completly with a close lib command to release it from memory, and not just bassfree(). Even with that, it may still in memory.

All I think it done, I got a null pointer, when triying to init bass, and then exit.

It same I sometimes forgot to close these files I create, so the file is locked.

I'm not so sure that is the issue, and I don't know that such a command exists in .net.

Your version of bass.dll should be seperate from the GameEx one so can'ts see how GameEx can lock anything. Its not in the system dir or a shared path. The other reason that I am unsure, is its the first time I've hear of an app conflict in such a way.

The null point is odd, Bass init not returning a 0? I've never had it not returning a 1 or 0?

Posted

Yep, you have right. It bit odd, because we use difficent versions of bass (im using 2.2, and your seen to use bass 2.1).

Im using a dynamic library, so Im using OpenLibrary() command from Purebasic to open dlls (wich can using dlls dynamic), that return a pointer, where the dll is loaded in to. Im guess it return a null pointer instead for some reason, but can not directly test it from here.

I would love to get a time limited exe (that example expire 31 january), so I can test it without the nag, what the happens and give you a better repons.

Guest
This topic is now closed to further replies.
×
×
  • Create New...