Kodi Community Forum
[RELEASE] Rom Collection Browser - Browse and launch emulator game ROMs - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27)
+---- Forum: Game Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=291)
+---- Thread: [RELEASE] Rom Collection Browser - Browse and launch emulator game ROMs (/showthread.php?tid=70115)



- malte - 2011-01-04

ShadeBlack Wrote:I find scraping works a lot better if I remove all but "thegamesdb" scraper.
that way, I can control what gets imported by adding to its website, which will also have screenshot support in the future.
From scrape results I still prefer mobygames atm, but I hope that thegamesdb catches up with accuracy (platform separation) one day. And great that you contribute there! You could already enable scraping of boxfront images if you remove the xml comment in the scraper file "02 - thegamesdb.xml" (RCB install dir/resources/scraper). I disabled this some releases ago as it is not platform safe atm. So it may happen that you get Playstation covers if you want to scrape SNES games etc.

ShadeBlack Wrote:my question there is if it's possible to enable solo mode with just that Rom collection, so it only does it with the n64 roms?
Good idea. Will think about this.

ShadeBlack Wrote:this is because I had pokemon as Pokémon with the accent. as soon as it found this, the scanning stopped. I renamed it and hey-presto everything's fine.
Hmmm, I thought we have ironed out all this encoding problems. But I will add this to the list again.

Xedar Wrote:Hi, i cant get it to work, script just halts with an error in right lower corner, is it due to my build? "PVR"
Ubuntu 10.10.
Looks like it has problems with Camelot/Dharma detection. It has problems with some distros that the revision can't be determined. I have already changed this behaviour in SVN, but did not have the time to pack a new version for downloading. I hope I will be able to do this in the next 2-3 days. This version should work on your system.

If you don't want to wait, you can edit the file "util.py" (RCB install dir/resources/lib) manually.

Replace this code (line 278-291):
Code:
def getRevision():    

    rev_re = re.compile('r(\d+)')
    try: xbmc_version = xbmc.getInfoLabel('System.BuildVersion')
    except: xbmc_version = 'Unknown'

    try:
        xbmc_rev = int(rev_re.search(xbmc_version).group(1))
        print "XBMC Revision: %s" % xbmc_rev
    except:
        print "XBMC Revision not available - Version String: %s" % xbmc_version
        xbmc_rev = 0

    return xbmc_rev

with this one:
Code:
def getRevision():    
    return 30000

Very hacky, but I guess it should work.


- Xedar - 2011-01-04

you are right i can´t wait Smile
It worked, thank you!


- hercem - 2011-01-04

I am a litte stuck and hope someone can give me some advice.

System: Xbmc dharma lucid minimal

id="script.games.rom.collection.browser"
version="0.7.11"

config.xml
<emulatorCmd>xinit /usr/bin/zsnes</emulatorCmd>
<emulatorParams>-m -s -v 18 -ad alsa -r 6 "%ROM%"</emulatorParams>

settings.xml
<setting id="rcb_escapeEmulatorCommand" value="false" />
<setting id="rcb_useEmulatorSolo" value="true" />

xbmc.log
cmd: \/home\/xbmc\/\.xbmc\/addons\/script\.games\.rom\.collection\.browser/applaunch.sh "xinit /usr/bin/zsnes" -m -s -v 18 -ad alsa -r 6 "/home/xbmc/Emulation/Roms/Snes/Super Mario All-Stars + Super Mario World (U) [!].smc"

Problem:
I can't run the command with the qoutes ("xinit /usr/bin/zsnes") and it works when I run the command from the shell without the qoutes, like this: \/home\/xbmc\/\.xbmc\/addons\/script\.games\.rom\.collection\.browser/applaunch.sh xinit /usr/bin/zsnes -m -s -v 18 -ad alsa -r 6 "/home/xbmc/Emulation/Roms/Snes/Super Mario All-Stars + Super Mario World (U) [!].smc"

I don't know howto run external apps without the "xinit" command. It gives me this error without the xinit command,
Error: unable to open display
FEH.py: cannot connect to X server

Solution:
settings.xml
<setting id="rcb_useEmulatorSolo" value="false" />
config.xml
<emulatorCmd>/usr/bin/zsnes</emulatorCmd>

This was really stupid because I figured it out by myself minutes after I posted this. I need to learn more about "X" screens. The xbmc and "X" will now run in the background. Probally not any problem but please let me know if someone knows how I could close xbmc while running apps. This will give me better control of the computer resources.


- malte - 2011-01-06

hercem Wrote:I can't run the command with the qoutes ("xinit /usr/bin/zsnes") and it works when I run the command from the shell without the qoutes
You can run the command when XBMC is closed and you are just in a pure terminal session? And the emulator starts without problems? This would be interesting because usually XBMC Live users have exactly your problem that starting an emulator does not work when XBMC is closed as XBMC is in the role of the window manager.

Maybe I can add an option to define the quotes for the emuCommand by the user, so that you have better control how the command will look like. Atm I am adding quotes in code what may be wrong in some situations.


hercem Wrote:Probally not any problem but please let me know if someone knows how I could close xbmc while running apps. This will give me better control of the computer resources.
If it really works with the xinit command, we should try to go this route. But I will have to make some changes in code. Another way would be to install a separate window manager on your system. This will be able to "host" the emulator when XBMC is closed.


- hercem - 2011-01-06

malte Wrote:You can run the command when XBMC is closed and you are just in a pure terminal session? And the emulator starts without problems?
Yes, it works using the xinit command when xbmc is closed(sudo service xbmc-live stop).

Quote:Maybe I can add an option to define the quotes for the emuCommand by the user, so that you have better control how the command will look like. Atm I am adding quotes in code what may be wrong in some situations.
It would have been fine because xbmc in the background steals unnecessary resources(e.g. screensaver).

Quote:If it really works with the xinit command, we should try to go this route. But I will have to make some changes in code. Another way would be to install a separate window manager on your system. This will be able to "host" the emulator when XBMC is closed.
I am a newbie and need to learn more about X Server. I will look for a solution on howto start X server when xbmc is closed. I thought maybe most users was using a desktop install and did not have the problem with the X server attached to the xbmc session. If it is possible and a common problem maybe u can add it as a selection in your script? e.g. <setting id="rcb_useEmulatorSolo and start a new X server session" value="true" /> Smile


- QuinRiva - 2011-01-07

I have discovered that if the artwork is stored on a remote drive rather than a local drive, the script won't display it. The only solution I have found thus far is to delete the database, then map the network location to a local drive name and rescan the files.

I have attached below the log files for both local (mapped) and network attached media.

Also, I was wondering if there is anyway to disable only scraping and only scrape from local data (as the original full scrape did manage to download all of the BoxArt and Description files). I won't attach the full scrape log as it is 137Mb.

Log from scraping from files stored on a local (mapped) drive:
http://dl.dropbox.com/u/7112157/xbmc-local.log
Log from scraping from files stored on a remote drive:
http://dl.dropbox.com/u/7112157/xbmc-network.log


- QuinRiva - 2011-01-07

Oh the other big annoyance was foreground scraping. Is it possible to move the scraper to the background (similar to the way that the movie/music/tv scraper works), so that XBMC can still be used while the RCB is scraping games.

It's annoying not being able to use XBMC for several hours while it is scraping.


- malte - 2011-01-07

QuinRiva Wrote:I have discovered that if the artwork is stored on a remote drive rather than a local drive, the script won't display it. The only solution I have found thus far is to delete the database, then map the network location to a local drive name and rescan the files.

I have attached below the log files for both local (mapped) and network attached media.
Thanks for your detailed feedback again!

Unfortunately, I can't see a reason why it is not working from your logs. While scraping the images, RCB realized that the images are already available and did not download them again, then it imported the existing files correctly. So it is more a browsing problem than an importing/scraping problem. But I can't see why it was not able to display the images. I have to reproduce this here and add some more log information to see what happens.

For the future I have planned to split up the rom and artwork path into root and file path. It will be easier then to move complete rom collections without importing again. But this will be a feature for release 1.x. Smile

QuinRiva Wrote:Also, I was wondering if there is anyway to disable only scraping and only scrape from local data (as the original full scrape did manage to download all of the BoxArt and Description files).
If you already scraped everything and created local nfo files you can just import from these files again. In config.xml you have to remove or comment out the online scrapers (per RomCollection) and add the "local nfo" scraper like this:
Code:
<RomCollection id="1" name="SNES">
    ...
    <scraper name="local nfo" />
    
    <!-- comment out the online scrapers or just delete the following lines -->
    <!--
    <scraper name="thegamesdb.net" replaceKeyString="" replaceValueString="" />
    <scraper name="giantbomb.com" replaceKeyString="" replaceValueString="" />
    <scraper name="mobygames.com" platform="15" replaceKeyString="" replaceValueString="" />
    -->
    ...
</RomCollection>
This will import all game descriptions from the local nfo files and your already existing images.

In the latest version of RCB in the repo I forgot to add the local nfo scraper. Maybe you have to update to the latest version from the google code page to get this working.

Sorry, atm it is a bit unhandy to use the local nfo scraper. There will be a way to do this via UI soon.

QuinRiva Wrote:Oh the other big annoyance was foreground scraping. Is it possible to move the scraper to the background (similar to the way that the movie/music/tv scraper works), so that XBMC can still be used while the RCB is scraping games.

It's annoying not being able to use XBMC for several hours while it is scraping.
Good point, but I am afraid there is no way to get around this. Even if I would move the progress dialog to the background you can't use XBMC while scraping is running. As RCB is a script, you have to close the script if you want to move on and watch a video or listen to music (AFAIK). And closing the script will stop the scanning process. I will check if there is a way to execute this while using other XBMC functions but I think it is not possible.


- Oakey - 2011-01-09

Help, I installed RCB for XBMC Windows without reading up first.

During the first run I clicked ok where I was supposed to add "%ROM%".

How can I add this line? I've searched my XBMC folder for a config.xml and I can't find it. There doesn't seem to be any folders or files for RCB either.


- malte - 2011-01-09

You must add this to RomCollection/emulatorParams in config.xml. You will find the file in XBMCs userdata folder (e.g. here: C:\Users\yourname\AppData\Roaming\XBMC\userdata\addon_data\script.games.rom.collection.browser)


- ChEeZeBaLL - 2011-01-12

I just set this up with the Kega Fusion genesis emulator and I am having problems with XBMC locking up when I have the emulator set to start in fullscreen. I am using Windows XP.

If I play a rom the emulator starts normally and works fine. Then if I quit the XBMC window with RCB comes back. Then if I try to select another game to play nothing happens for about 10-20 seconds, and then the emulator will start. If I quit that game the XBMC window comes back again, and I can move the cursor around, but again if i select a game it takes about 20 seconds for it to start, and I also cannot exit RCB with the Escape key (It makes the sound that it normally plays during the keypress, but will not exit RCB).

My parameters i'm passing are "%ROM%" -gen -fullscreen

If i dont set the fullscreen parameter the emulator starts in a window and XBMC appears also in a small window while the emulator is running. After quitting XBMC returns in fullscreen and everything works fine.

UPDATE:

If i have it launch the emulator in a window, then make the emulator fullscreen, then back to a window and then quit, XBMC is again messed up. I think the resolution change is affecting something (although the same problem happens when i have Fusion set to the same fullscreen resolution as my desktop).


- malte - 2011-01-13

I can't reproduce the freezing here (on Dharma/Windows 7) but have the problem that I can't change filter settings or Exit per ESC after coming back to XBMC. Will try to fix this for the next version.


- malte - 2011-01-14

Made a mistake with my last test, I tested with Camelot not Dharma. With Camelot I have a lot of trouble on Windows when launching games in fullscreen and getting back to XBMC. Focus management and refreshing the XBMC UI does not work after launching an emu in fullscreen.

I tested with Dharma again and everything works fine. But maybe my Camelot problems are due to my installation on my development box: I managed to have a sidy by side installation of Camelot and Dharma to test the script for both systems. But there are also some problems with this configuration.

@ChEeZeBaLL: What is your XBMC version? Can you provide a log file showing the trouble you have with it?


- malte - 2011-01-17

New version to test: 0.8.0

General:
  • new member in dev team: welcome jimyx17!
  • context menu (only two options atm but will be filled up in coming releases)
  • option "Add Rom Collection" available via context menu
  • reworked Confluence views (see screenshots below)
  • MAME views for cabinet and marquee images (see screenshots below)
Game Import:
  • new scraper: maws.mameworld.info. Scrapes game info and artwork for MAME roms (flyer, action, title, cabinet and marquee)
  • rework of progress dialog (info about current scraper and current action)
  • bugfix: stop import when action is canceled
Game Launching:
  • detect games in zip and 7z archives and ask user which game to load

Screenshots:
Info view:
ImageImage

Info2 view:
ImageImage

MAME specific views:
ImageImage

Some general notes on the new version:
The context menu and the MAME specific views are only available in the Confluence skins atm. I still have to document the skin changes and ask mcborzu to update Night and Carmichael skins.

The extraction of 7z-files won't work on MAC with the current version. We have to compile the required libraries for OSX (will be done with the next release).

There are for sure some more issues to fix with the new features but I would like to get some feedback before everything is 100% done. So feel free to leave any comments.


- Rocky5 - 2011-01-18

New version works great also my skin still functions correctly (with context menu)

you may also want to add a toggle for the background image and any plain black images use a 4x4 image stretched, as the way its done the now kills my revo.

hens why I made my own skin extremely light weight.