[RELEASE] "Arcade Browser" (Emulator ROMS browser) Script for Linux
#16
Ah it worked!
I should have readed my own files more thoroughly before I asked for help. The update made /usr/share/xbmc/scripts root, and I had to change the group back to xbmc (my user) and now the script works again! Smile Big Grin
Reply
#17
I am able to inventory my roms but it will not actually launch zsnes, fceu, mupen64plus or epsxe or sdlmame
Reply
#18
Your program looks great!

I use Maximus Arcade and launch it using the launcher app.
Reply
#19
Try manually launching a ROM from the command line, and then compare that command line to the one in emulators.ini. Use the provided emulators.ini as an example and tweak it to run commands your specific choice of emulators and installation paths requires.
Reply
#20
Right as you were posting I was making sure my syntax was in check. Everythings good it seems to hang up at "DO escape".. im stumped, no idea how to debug further.

-m
Reply
#21
Update:

Reading your previous post I tried making a symlink
Code:
ln -s /.xbmc/scripts /usr/share/xbmc/scripts
and 777'd it just in case. Path doesn't exist on my repo version of XBMC on 9.10/AMD64. Works great now.
Reply
#22
Ah you fixed it! Great!
Reply
#23
I noticed when I exit the first rom called using the script it takes a very long time for the script to load again or it will not at all, can you point me in the direction to start debugging this?

my solution right now is to reboot after playing a game..
Reply
#24
I haven't noticed this before. If you have thousands of ROMs it takes some time for the ROMs to be added to the screen for some reason, but the script just not loading is beyond me.

For emulators that exit XBMC, the script writes an execute command to a file named autoexec.py in the XBMC homedir, and it should execute that immediately. This is handled by XBMC and if it is not executed immediately, the problem lies within XBMC or some other script that is interfering with Arcade Browser. Try disabling all other scripts.

For emulators that don't exit XBMC, there should be no problem but if there is, try making it so that XBMC does exit (emulators.ini).
Reply
#25
Subscribed.
Reply
#26
mlarivie Wrote:I noticed when I exit the first rom called using the script it takes a very long time for the script to load again or it will not at all

Arcade Browser is running perfect on my not-updated-for-months machine, but when I wanted to play a game on my main (daily updated) media center last weekend, I noticed similar behavior where Arcade Browser takes a long time to load and is very unresponsive. Not updating text and picture on keypress, not going to menu immediately etc.

This is very annoying and I would like to fix it, but I simply have no time. (I am fighting an uphill battle to graduate at the moment.)

I am wondering if something has substantially changed over the past months that causes the script to lag bad, or if just a random combination of hardware and/or external factors causes the script to lag while the script itself is in good shape like it was when I made it.

So if it runs good for anyone on a current version of XBMC, please let me know. I would love to have some simple tweaks make me able to browse arcade again. Smile

(Could be anything. I didn't exactly spent time researching this.)
Reply
#27
I got the romlist working, all roms are there and listed properly.. However, I don't really get how to write the path of the emulator in the emulators.ini.

Is this correct?

app=G:\\Emulators\\emulators\\nes\\fceux\\fceux.exe fceu %ROMPATH%%ROM%

in the program/script inside of XBMC I just see "launching ..." and nothing happens.

the whole section looks like this:

Quote:[fceu]
title=Nintendo (NES)
desc=Nintendo 8 bit - a classic.
app=G:\\Emulators\\emulators\\nes\\fceux\\fceux.exe fceu %ROMPATH%%ROM%
solo=false
romdir=G:\\Emulators\\roms\\nes
romext=nes

and in the log there's nothing:

Quote:15:50:00 T:5348 M:1723719680 NOTICE: Arcade Browser: Parsing C:\Users\Robert\AppData\Roaming\XBMC\scripts\Arcade Browser/emulators.ini - fceu
15:50:01 T:5348 M:1725288448 NOTICE: Arcade Browser: Listing ROMs for emulator 'fceu'...
15:50:27 T:5348 M:1692962816 NOTICE: Arcade Browser: Listing ROMs for emulator 'fceu'... Done.

which is the last rows of the log.

Please help me figure this out Smile
Thanks in advance!

P.S. the ".exe" that looks like ".ex e" can only be seen here for some reason, it's correct in the .ini file
Reply
#28
reta Wrote:I got the romlist working, all roms are there and listed properly.. However, I don't really get how to write the path of the emulator in the emulators.ini.

Is this correct?

app=G:\\Emulators\\emulators\\nes\\fceux\\fceux.exe fceu %ROMPATH%%ROM%

in the program/script inside of XBMC I just see "launching ..." and nothing happens.

You do know Arcade Browser is linux only, right?

If you are not using an Xbox, then you must be trying to use the Windows version of fceux with Linux. There is a Linux version of fceux which would make more sense. If you use a debian based linux, it is probably in your repositories.

The correct line to run that emulator (Linux version) is in the example .ini, as follows:
Code:
[fceu]
title=Nintendo (NES)
desc=Nintendo 8 bit - a classic.
app=fceu %ROMPATH%%ROM%
solo=false
romdir=/var/media/roms/nes/
romext=nes

If you insist on using the Windows version, you are going to need wine. On some linux installations, calling an .exe will automatically launch wine, but I found that it sometimes messes up internal paths, links or whatever that made programs not find their own files which wasn't the case when calling wine directly.

So call wine with the escaped path to the emulator and the quoted rompath.

Make sure you manually enter the escaped Windows path to the roms here, because wine apps cannot use the linux type rompath that will be substituted when you use %ROMPATH%. And you have to make sure noescape is set to true because wine doesn't want that (and that's why you need to quote it).

Code:
[fceu]
title=Nintendo (NES)
desc=Nintendo 8 bit - a classic.
app=G:\\Emulators\\nes\\fceux\\fceux.exe "G:\\Emulators\\nes\\ROMS\\%ROM%"
solo=false
romdir=G:\\Emulators\\roms\\nes
romext=nes

Remember, this is just an example, I don't know what your paths are, but this is also a proof of concept because you should use the linux version anyway!

If emulator runs slow, use solo=true (exits XBMC).

If you are using the Xbox version, it won't work. I cannot help you with that because I don't know the Xbox platform.

If you are using Windows, I also cannot help you I don't use it here. I don't know if it works. You would have to manually edit some paths and it could work.. yes. Would be kinda cool actually, for Windows users.
Reply
#29
Thanks for this great script! Browsing and launching roms works perfect but I have a problem with returning to xbmc. Here is what it outputs to console:

Code:
Traceback (most recent call last):
  File "/usr/share/xbmc/FEH.py", line 169, in <module>
    if (badDirectRendering()):
  File "/usr/share/xbmc/FEH.py", line 134, in badDirectRendering
    out.close()
IOError: [Errno 10] No child processes

If I press Ctrl+C and start xbmc again it works without problems. I tried this with zsnes and uae, both with the same result. Anybody an idea what to do in this case?

I also tried to start in solo=false mode but it still exits xbmc. What do I need to get solo-mode turned off?
Reply
#30
Never seen that error, I think it's a certain release/distro version combination.
It looks like XBMC starts too fast before the emulator is totally shut down.

malte Wrote:What do I need to get solo-mode turned off?
remove the solo= line completely.
Try Xubuntu. It's the new Ubuntu.
Reply

Logout Mark Read Team Forum Stats Members Help
[RELEASE] "Arcade Browser" (Emulator ROMS browser) Script for Linux0