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)



- Flomaster - 2010-08-17

malte Wrote:good to see you're not giving upSmile



I guess your emuCmd has to be something like this:
Code:
/usr/games/mednafen -fs 1 "%ROM%"

You can also pass a lot of more arguments to mednafen selecting screen resolution, sounddriver and more. Depends on your system what parameters to use.




Uhh, this won't look niceSmile. RCB is not designed for a non-image scenario.

Additionally, your current version (0.5.4 I guess) does not really support this minimal configuration. I did not test it myself but I think you may get errors when you try to import games without a valid mediaPath in your config.xml.

If you want to try it you can go with the newest version 0.6.1 that is available at my projects site: http://romcollectionbrowser.googlecode.com/files/script.games.rom.collection.browser-0.6.1c.zip. I did not fully test it until now but all basic functions are tested and work with Camelot and Dharma. It is not available in the Repo so you have to download it manually and install it via zip file (in Dharma).

With this new version you can do a minimal configuration (will not look better than in 0.5.x but is easier to configure):

Code:
<config>        
    <Consoles>              
        <Console>
            <name>NES</name>                      
        </Console>              
    </Consoles>    
    <RomCollections>
        <RomCollection>                
            <name>NES</name>
            <consoleName>NES</consoleName>
            <emulatorCmd>/usr/games/mednafen -fs 1 "%ROM%"</emulatorCmd>                  
            <romPath>/home/user/roms/*.zip</romPath>
        </RomCollection>                
    </RomCollections>
</config>

Documentation for the new version is almost complete now. I tried to split up the configuration process. So if you have this minimal configuration up and running you can just follow the instructions to add images or game description (you still have to get them on your own).

You find the docs here: http://code.google.com/p/romcollectionbrowser/wiki/Preview#Import_games_and_media
it opens and says databse is empty do you want to import settings now. I say yes and then get this script error

Code:
18:07:35 T:2807565168 M:2945474560    INFO: -->Python script returned the following error<--
18:07:35 T:2807565168 M:2945474560   ERROR: Error Type: pysqlite2.dbapi2.OperationalError
18:07:35 T:2807565168 M:2945474560   ERROR: Error Contents: table RCBSetting has 19 columns but 25 values were supplied
18:07:35 T:2807565168 M:2945474560   ERROR: Traceback (most recent call last):
                                              File "/home/xbmc/.xbmc/addons/script.games.rom.collection.browser/default.py", line 46, in ?
                                                import gui
                                              File "/home/xbmc/.xbmc/addons/script.games.rom.collection.browser/resources/lib/gui.py", line 1528, in ?
                                                main()
                                              File "/home/xbmc/.xbmc/addons/script.games.rom.collection.browser/resources/lib/gui.py", line 1522, in main
                                                ui = UIGameDB("script-Rom_Collection_Browser-main.xml", os.getcwd(), "Default", "PAL")
                                              File "/home/xbmc/.xbmc/addons/script.games.rom.collection.browser/resources/lib/gui.py", line 179, in __init__
                                                self.checkImport(doImport)
                                              File "/home/xbmc/.xbmc/addons/script.games.rom.collection.browser/resources/lib/gui.py", line 1011, in checkImport
                                                importSuccessful, errorMsg = importsettings.SettingsImporter().importSettings(self.gdb, databaseDir, progressDialog)
                                              File "/home/xbmc/.xbmc/addons/script.games.rom.collection.browser/resources/lib/importsettings.py", line 53, in importSettings
                                                self.insertRCBSetting(None, None, '', '', '', '', '', '', '', '', '', '', 0)
                                              File "/home/xbmc/.xbmc/addons/script.games.rom.collection.browser/resources/lib/importsettings.py", line 322, in insertRCBSetting
                                                RCBSetting(self.gdb).insert((None, None, None, None, None, None, favoriteConsole, favoriteGenre, None, CURRENT_DB_VERSION,
                                              File "/home/xbmc/.xbmc/addons/script.games.rom.collection.browser/resources/lib/gamedatabase.py", line 86, in insert
                                                self.gdb.cursor.execute(insertString, args)
                                            OperationalError: table RCBSetting has 19 columns but 25 values were supplied
18:07:35 T:2807565168 M:2945474560    INFO: -->End of Python script error report<--



- Tomkun - 2010-08-17

Should this also work with iso's of PS2 games? I have a couple on my PC that I play with PCSX2, but when I try to scan them into the database, I am getting a 'MemoryError'.

Quote:11:38:54 T:5692 M:1571467264 NOTICE: RCB_INFO: gamename (friendly): Fatal Frame II - Crimson Butterfly
11:38:54 T:5692 M:1571364864 WARNING: WARNING: File is larger than 32bit stat can handle, file size will be reported as 0 bytes
11:39:05 T:5692 M:1611526144 WARNING: Previous line repeats 3 times.
11:39:05 T:5692 M:1611526144 ERROR: Exception in python script's onAction
11:39:05 T:5692 M:1611526144 NOTICE: Traceback (most recent call last):
11:39:05 T:5692 M:1611526144 NOTICE: File "C:\XXXXXXX\AppData\Roaming\XBMC\addons\script.games.rom.collection.browser\resources\lib\gui.py", line 177, in onAction
11:39:05 T:5692 M:1611526144 NOTICE: if(action.getId() in ACTION_CANCEL_DIALOG):
11:39:05 T:5692 M:1611526144 NOTICE: File "C:\XXXXXXX\AppData\Roaming\XBMC\addons\script.games.rom.collection.browser\resources\lib\gui.py", line 267, in onClick
11:39:05 T:5692 M:1611354112 NOTICE: self.updateDB()
11:39:05 T:5692 M:1611354112 NOTICE: File "C:\XXXXXXX\AppData\Roaming\XBMC\addons\script.games.rom.collection.browser\resources\lib\gui.py", line 581, in updateDB
11:39:05 T:5692 M:1610997760 NOTICE: dbupdate.DBUpdate().updateDB(self.gdb, self)
11:39:05 T:5692 M:1611509760 NOTICE: File "C:\XXXXXXX\AppData\Roaming\XBMC\addons\script.games.rom.collection.browser\resources\lib\dbupdate.py", line 161, in updateDB
11:39:05 T:5692 M:1611571200 NOTICE: for eachLine in open(str(filename),"rb"):
11:39:05 T:5692 M:1611571200 NOTICE: MemoryError



- malte - 2010-08-17

bmfrosty Wrote:Do multiple rompaths in a single collection work?

Yes, this will work. Looking forward to your reportSmile

I fixed one or two more bugs last night. May be that you end up with an unresponsible UI if you play around with fullscreen video or something like this. I will upload the fixes soon.


Maconi Wrote:Newer build of what, XBMC?

I installed the latest DSPlayer build from here:

[DSPlayer] Lastest release: build 31520 (! 2010/06/30 !)

What else can I do?

Yes, XBMC. You can get the newest here:
http://mirrors.xbmc.org/nightlies/

flomaster Wrote:it opens and says databse is empty do you want to import settings now. I say yes and then get this script error

Looks like there is a problem with updating your database to the new version. What was your previous version and what version are you trying now?

You can go to your userdata folder "userdata/addon_data/script.games.rom.collection.browser" and delete the file MyGames.db. Then it will create a new one.

If you know the steps how you got there, please tell me. Usually RCB should alter the database structure when updating to a new version. So maybe you ran into a bug.

Tomkun Wrote:Should this also work with iso's of PS2 games? I have a couple on my PC that I play with PCSX2, but when I try to scan them into the database, I am getting a 'MemoryError'.

You are trying to compute the CRC values of very large files. Set searchGameByCRC to False: http://code.google.com/p/romcollectionbrowser/wiki/Main#searchGameByCRC


- bmfrosty - 2010-08-17

Going to have to hold off tonight. Looked at some new housing options, put in a new router tonight and tracked down the problem with my motherboard. The rom browser is going to have to wait. Will download to install, but no report until tomorrow or Wednesday.


- malte - 2010-08-17

No rush. But maybe wait with downloading until I upload the bugfixed version. Will do some more tests today and add it later.


- Tomkun - 2010-08-17

Hi again.
Is it possible to start an emulator inside another directory, like Windows shortcuts are able to do? The reason I ask is that some emulators refer to various ini files and they are not being found by the ROM collection browser.


- malte - 2010-08-17

Not sure what you mean.

If you are able to launch the emulator via RCB it should be the responsibility of the emu to find its ini files. RCB does not need them. But I guess I misunderstand your problem.


- Tomkun - 2010-08-17

malte Wrote:Not sure what you mean.

If you are able to launch the emulator via RCB it should be the responsibility of the emu to find its ini files. RCB does not need them. But I guess I misunderstand your problem.

I'll try to elaborate.

I use only two emulators, Snes9x (which works perfectly with RCB) and PCSX2, which doesn't.

PCSX2 uses a number of plugins for different part of the system which each has it's own .ini file.

The .ini files are stored in a subdirectory under the directory with the .exe.

When PCSX2 is called from XBMC, it is looking for the .ini files in subdirectories of the XBMC folder, which of course it can't find.

Usually, when using a shortcut,you can define the directory in which the .exe should be started.

If using a command prompt, you can use /D to define the same thing.

I appreciate that this is not the responsibility of your script, but I was wondering if it is possible to define a starting directory somehow?


- malte - 2010-08-17

Defining a starting directory is not implemented as an extra option. But maybe it works if you are able to add this to your emuCmd? RCB just invokes what you add as emuCmd, if you are able to add a /D to this command this may work.

Or you could try to write a little batch file that invokes your emulator. Place this batch file in the directory of your emu and invoke the batch file instead of the emu.


- Flomaster - 2010-08-17

malte Wrote:Yes, XBMC. You can get the newest here:
http://mirrors.xbmc.org/nightlies/

Looks like there is a problem with updating your database to the new version. What was your previous version and what version are you trying now?

You can go to your userdata folder "userdata/addon_data/script.games.rom.collection.browser" and delete the file MyGames.db. Then it will create a new one.

If you know the steps how you got there, please tell me. Usually RCB should alter the database structure when updating to a new version. So maybe you ran into a bug.

im not sure what version I was running before, it was updated via XBMC addons section.

the new one I downloaded from your link. it was a zip file I unzipped it and placed the folder in my addons directory, I got the error.
so I deleted the folder thinking something was left over from when I copied it the first time.

so I copied it a second time with the simple config.xml file you outlined for me

-=Jason=-


- Maconi - 2010-08-17

malte Wrote:Yes, XBMC. You can get the newest here:
http://mirrors.xbmc.org/nightlies/

So installing the newest build there won't mess up DSPlayer? The whole reason I switched to using Windows vs Linux was because 1080P playback in Linux was choppy due to Intel iGPU's not being supported for hardware acceleration (DSPlayer supports it though).


- malte - 2010-08-17

Quote:So installing the newest build there won't mess up DSPlayer?

Ok, sorry. Did not follow your link. Yes, I think it will.

2nd option (still using the DSPlayer build on your side):
Download the platform_libraries zip file and copy the content of the win32 folder here: "C:\Program Files\XBMC\addons\script.module.pysqlite\lib\pysqlite2". This is the path where I found the libs on my installation, not sure if it is the same on yours.


- Maconi - 2010-08-17

malte Wrote:Ok, sorry. Did not follow your link. Yes, I think it will.

2nd option (still using the DSPlayer build on your side):
Download the platform_libraries zip file and copy the content of the win32 folder here: "C:\Program Files\XBMC\addons\script.module.pysqlite\lib\pysqlite2". This is the path where I found the libs on my installation, not sure if it is the same on yours.
I did that and get the same error. I don't think XBMC knows it's there though (if I go into scripts/add-ons I don't see it there).

EDIT: Just for reference I tried it in two different places.

Code:
C:\Users\xbmc\AppData\Roaming\XBMC\addons\script.module.pysqlite\lib\pysqlite2\__init__.py
C:\Users\xbmc\AppData\Roaming\XBMC\addons\script.module.pysqlite\lib\pysqlite2\_sqlite.pyd
C:\Users\xbmc\AppData\Roaming\XBMC\addons\script.module.pysqlite\lib\pysqlite2\dbapi2.py
and
Code:
C:\Program Files\XBMC\addons\script.module.pysqlite\lib\pysqlite2\__init__.py
C:\Program Files\XBMC\addons\script.module.pysqlite\lib\pysqlite2\_sqlite.pyd
C:\Program Files\XBMC\addons\script.module.pysqlite\lib\pysqlite2\dbapi2.py

For some reason my XBMC sees the AppData one as the "Home" folder.

Either way it didn't work, same error. Sad


- malte - 2010-08-17

Flomaster Wrote:the new one I downloaded from your link. it was a zip file I unzipped it and placed the folder in my addons directory, I got the error.

Did you just unzip it or used XBMCs install routine (install from zip file)? Maybe this was the error. Not sure what happens if you try to install manually over an existing version.

You should delete the complete folder "script.games.rom.collection.browser" in your addon directory and install it again (via XBMCs addon installer).

Maconi Wrote:I did that and get the same error. I don't think XBMC knows it's there though (if I go into scripts/add-ons I don't see it there).

You could also try it here (not nice but should work):
Code:
C:\Users\xbmc\AppData\Roaming\XBMC\addons\script.games.rom.collection.browser\resources\lib\pysqlite2\__init__.py
C:\Users\xbmc\AppData\Roaming\XBMC\addons\script.games.rom.collection.browser\resources\lib\pysqlite2\_sqlite.pyd
C:\Users\xbmc\AppData\Roaming\XBMC\addons\script.games.rom.collection.browser\resources\lib\pysqlite2\dbapi2.py

Not sure if this is related to the old revision or something special about the DSPlayer build. But there should be a shared location where all scripts can access their libs.


- Flomaster - 2010-08-17

malte Wrote:Did you just unzip it or used XBMCs install routine (install from zip file)? Maybe this was the error. Not sure what happens if you try to install manually over an existing version.

You should delete the complete folder "script.games.rom.collection.browser" in your addon directory and install it again (via XBMCs addon installer).

DOh.... addons are still new to me I will try and install via the addon installer tonight

-=Jason=-