Contributing to PiPlay
  • So my journey towards an arcade cabinet has begun and I have the itch. I got multiple emulators working and wired up 1 joystick so far. The current PiPlay is great but I'd like to help make PiPlay a little more flexible. Before I start hacking around I wanted to get others thoughts on a few changes (opinions and verify that easier, non-coded solutions don't already exist or are underway):

    1) "Ignore rom" concept. Not sure if I did something wrong but I've found with pifba there are roms that dont work but are needed in the directory to make a clone work. I'd like a way to flag those roms so they dont show up in the menu.

    2) Metadata override - A way to override titles/images that wont get lost after rescraping.

    3) Roms Only mode - this is a bit more ambitious but I'd like to have a mode where piplay doesn't show emulators just the roms.

    What do you think?

    The second part of my question is more about contributing. I'm a long time Java programmer so I'll need to do some catch-up on python but so far reading the source hasn't been bad so I'm assuming I'll catch on soon enough. I've only contributed to an open github project ones or twice a few years back so any guidance on the best way to contribute would help me get rolling.

    Thanks!
  • @fsa317 - Great! We are always glad to have more contributors. The best way to contribute is to fork the current repo, make your changes, then create a 'pull request' (which basically will let Shea know that there's something to take a gander at).

    As for the suggestions, a lot of that will be available as we build our new database. Right now, the scraper builds a text file that contains rompath, file name, rom name, and image path. It's not very high tech. With a real database to pull from, we will be able to do a whole lot more.

    The rom list scene is very basic right now as well. My goal right now is to build a sub-menu that will display when a rom is selected. I want the list to be something like this:
    rom_item1
    rom_item2
    selected_rom_item3
    ∟ [Run game, add to favorites, hide, edit]
    rom_item4
    rom_item5
  • While not worthy of a pull request, if anyone finds their way here my first accomplishment was that I can get a rom directly on the menu pretty easily.

    Add to config.yaml:

    - label: Mortal Combat
    full_path: no
    visible: Yes
    override_menu: no
    icon_file: "Mortal Kombat.jpg"
    command: /home/pi/pimame/emulators/pisnes/snes9x "/home/pi/pimame/roms/snes/Mortal Kombat.zip"


    Then a small change to pmconfig.py, find:

    else:
    opt_menu_item[index]['icon_file'] = theme['generic_menu_item']
    opt_menu_item[index]['icon_selected'] = theme['generic_menu_item_selected']


    change the else: to

    elif 'icon_file' not in opt_menu_item[index]:


    I think the python change could/should be made permanent as it allows you to specify the icon file directly rather than through the theme. Made my life easier.

    This is far from an ideal solution as I need to edit the config.yaml, but it is a quick/dirty way to get some favorites on the menu.
  • To confirm, is this the right repo to fork from?
    https://github.com/ssilverm/pimame-menu
  • yes, that is the correct repo to fork from.

    I'll have to look into that a bit more. The reason we didn't go that route originally is to keep all theme related info in one file; but I see your point, if you are adding a lot of games, it would be a pain in the butt have to add them all to two different files.

    Then again, you could just do what you did in config.yaml, then copy and paste it into the theme.yaml. It doesn't care if there is extra info under each label.

    In any case, we'll look into it. I'd honestly like to make it easier to add games to the homescreen by just selecting them and then selecting something like 'create shortcut'. It would be easy enough to add that, but I'm not quite sure how to integrate it so that it looks right with every theme.
  • Just did my first pull request, wanted to go through the motions with a nice simple change.

    I committed the above change (feel free to reject) and also a fix for the rom count sorting that seemed to break down when you had an ! in the rom count b/c the scraping hadn't completed.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!