[mythtv] Nintendo64 and/or Genesis

Jeremiah Morris jm at whpress.com
Tue Dec 7 17:40:38 UTC 2004


On 7 Dec 2004, at 12:00 PM, Mark Friedgan wrote:

> What if it there was a game playing plugin and a "rom figuring out"
> plugin mechanism?

I think that would be the best way to go.  The API might look something 
like:

bool UsesRoms(void)
Returns "true" if it's an emulator, "false" if it's a standalone game 
that doesn't need a file parameter.

bool RomFile(QString path)
Returns "true" or "false" for the given file.  Plugins could use a 
suffix filter or more sophisticated info.

void Run(QString rom_path)
Launch the emulator with the specified ROM.  If UsesRoms() is false, 
then rom_path will be NULL.

ConfigurationWizard *ConfigOptions(QSqlDatabase *db)
Create the settings for this game.  It could be as simple as a single 
text-box for a command line, or a full GUI like the current mame 
settings.  This gives maximum flexibility, though a generic plugin 
would probably have "path to application", "path to ROMs", "extra 
options".

QString RomDirectory(void)
The root directory to search for ROM files.  This is recursively 
searched, with RomFile() called for each candidate.  The user probably 
specifies this directory in the ConfigOptions.


Creating a new filter instance would be like creating a new video 
source, as Mark suggested: you pick the filter type (we'd have "Generic 
ROM-based" and "Generic standalone" to add new emulators/games), give 
it a name, and then set the options.

The main UI could have all of the filter instances on the left, and the 
ROMs (or a single "Launch game" item) on the right.  Not sure how to 
add categorization into this mix though.

I don't use mythgame a whole lot, so I might be missing some obvious 
features, but how does this sound for a start?

- Jeremiah



More information about the mythtv-dev mailing list