After building and installing the awesome Cabrio front-end for linux, I realized there wasn’t an easy way to add the games I wanted to display.   Trying to make selections by the 8.3 naming conventions ROMS used  and hand editing an XML file was tedious and time consuming. I wanted the ability to load only certain lists and be able to manage them easily. Figgy is a GUI tool to do this written in gtk2-perl. It’s purpose is to generate the XML needed to display game selections in the Cabrio front end.

Figgy first reads in all of the possible games with description and filename that mame can play by running “-listfull”. The human readable description is displayed in the left scroll window called  Available Games.  The right scroll window displays the Selected Games. Previous saved files (.ccf) which contain selections can be loaded for editing.

From the left column selections are made by pressing the spacebar. The selection will then be added to the right side.

Any Selected Game can be removed from the list by the backspace key.

 

Figgy! screenshot

Figgy! screenshot

 

Searching for a specific game can be done from either side by making the desired window active and typing.  Shift + Arrow key will go through all matches found:

Screen Shot 2014-05-23 at 3.08.31 PM

 

After selections or edits are made, “Generate” will create or overwrite any existing file called “figgy_generated_config.xml” and it will be stored in your ~/.cabrio directory.

Screen Shot 2014-05-23 at 2.38.50 PM

 

 

To run figgy you will need Perl installed as well as gtk2-perl

 Download Figgy 1.a

 

version 1a Notes:

  • my actual mame exectuable is called mame64. This is the way it’s listed in figgy. If yours is something else it can be renamed on line 12.
  • This only works for the mame emulator at the moment.
  • No filesystem checks for ROMS.
  • The & character is problematic in XML. It gets replaced with “and” in the XML file so cabrio doesn’t complain.
  • Originally when I wrote this, I didn’t realize Cabrio listed games in alphabetical order so the sort functionality is commented out since it makes no sense to re-order lists.