Welcome to my horribly ugly and basic website. Here you'll find the applications I've developed and generally their corresponding source code.
PinXML: Application for media asset and table management for the PinballX FE. The application is written in Python 2.7.x using wxPython and the PIL image library. Currently expects VP, FP and PinballX to be installed in their default directories. If the program can't find VP/FP in their default directories it will present a directory selection dialog box upon startup.
- Create/modify "Future Pinball.xml" and "Visual Pinball.xml" files for PinballX FE
- Convert images types (".bmp") (".gif") (".jpeg") (".pcx") (".pnm") (".tiff") (".xpm") (".jpg") into png's automatically (select directory and it will convert the selected directory and search all sub-dirs automatically
- Parse VP tables directory and match against MAME pinball xml data and IPDB database for automatic import of tables
- Parse FP tables and double click to add tables to xml
- Allow user to rename all media (images, videos, etc) to match MAME pinball xml and IPDB database names (Program will look at the missing matches and allow you to select/rename files)
- Create "media match" reports showing media that exists or is missing for your current tables
- Copy over roms that are flagged as pinball roms from MAME rom directory to your VP rom directory
- Automatically create registry entries for selected VP tables
- Set DMD positions in registry for all/selected tables for VP
- Rotate DMD changes to registry for selected tables for VP
Possible future additions:
- Program Launch:
- Upon program launch it will look for tables in their default directories. If it can't find the directories it will display a directory selection dialog box. During loading of the program it will parse the current XML for VP and FP and load into the listboxes in the bottom left corner. Then it will load a list of all the tables files in the directories selected above that currenlty are NOT listed in the current XML so one can see the ones that are "new" or simply not added.
- The pinball machine data from MAME XML and IPDB will also be presented in the right portion of the application. This can be used to match the tables that don't automatch or simply as a reference.
- Visual Pinball matching tables automatically and by-hand:
- Use the table menu and select "parse tables". This will take the unmatched tables and look for a match by name and year in the PinMAME grid first and then the IPDB grid if not found there.
- Matching by-hand, simply select the table from the top left listbox and double click on the PinMAME grid highlighting the valid name. This will remove the selected table from the unmatched and add to the XML match.
- To remove a toable double-click on the entry in the matched grid.
- Future Pinball automatically and by-hand:
- Double-click the table from the top left listbox to add to the XML.
- To remove a table double-click on the entry in the matched grid.
- Use the table menu and "Write tables to XML" to actually update the XML files in the default directory.
Change Log: Can be found here.
- Use SHA1 hashs to identify all media, tables, etc for autorenaming of files for better version control (ie. running Pinball_215.vpt and Pinball_216.vpt comes out....id and rename automacilly to match media but be able to go back to other versions)
- Automatically set "ror" registry setting for VP tables that need dmd rotated for proper cabinet usage
- Convert video files to different format via FFMPEG (if I get really bored)
wxEswat: Eve Online application for pilot, corporation and alliance operations. Industry, assets, mining, etc. Written in a mix of C++ and Python 2.7.x code. Started a rewrite into pure Python with Twisted network library.
Hub!Cade: Multiplayer MAME/MESS play over internet. The GUI is written in Python 2.7.x via the wxPython, PIL and Twisted libraries along with some embedded C code for hashing calculations.