Here is an idea how to use a lot of the upcoming pimame-menu already, even though it's not finished yet. In case you, like me, just can't wait for the new graphical pimame menu :-)
(Please note, I really love the work that has been put into pimame, and I'm very very much looking forward to the finished version of pimame-menu!)
Instead of waiting, I thought, why no make use of the things I already have, and use the advmenu configurations that I have already prepared for my emulators so far.
So the idea is to not go from the pimame-menu icons to the respective pimame-menu rom selection scene, but instead call the advmenu with the appropriate advmenu configuration prepared for each emu.
Here's how I did it (there are of course other ways, maybe more elegant ones to do it, but this works for me)
2) in mainscene.py replace the line that calls the romlist page with a command that directly calls the command specified in config.yaml
search for this -> if sprite.type == PMMenuItem.ROM_LIST: comment out or delete -> #self.manager.go_to(RomListScene(sprite.get_rom_list())) use this instead -> PMUtil.run_command_and_continue(sprite.command)
3) change the commands in config.yaml so that the advmenu is called, e.g. like the following example for the snes9x (thanks to Mark Holgate for the second player :-)
It is (with this workaround) not reqired to specify the folder of the roms here. You do that in the respective advmenu config - in the example above, that is in ~/.advance/advmenu-snes.rc
Some emulators require to be started from their home directory, like the N64 emulator mupen64plus. You can easily change dir to there, and after quitting, back to the pimeme-menu folder by extending the command line. E.g. for the Nintendo 64 emulator I use the following configuration:
( Sidenote: This emu must be run in X window. So if you want to run it from advmenu, configure the command-line in advmenu like so: emulator "o2em" generic "xinit" "/home/pi/emulators/o2em/o2em -romdir=/mnt/flashdrive/ROMs/Videopac/ %f" )
You might have other ideas, like calling xbmc, maybe calling some python programs etc. Hope you like the idea :-)
And please note: This is only a workaround until the final pimame-menu arrives! Pimame-menu will be way better, much easier to handle and configure. One central place to configure emulator settings, etc. But for the time being, why not give this a try... Cheers
Here's another config.yaml entry, which I use to (re)load the xboxdrv drivers (I tend to forget to plug in the xbox controllers before starting up the raspberry...)