diff options
Diffstat (limited to 'audio/fmopl.cpp')
-rw-r--r-- | audio/fmopl.cpp | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/audio/fmopl.cpp b/audio/fmopl.cpp index 3756d98123..3a003c80d9 100644 --- a/audio/fmopl.cpp +++ b/audio/fmopl.cpp @@ -43,6 +43,12 @@ namespace ALSA { } // End of namespace ALSA #endif // USE_ALSA +#ifdef ENABLE_OPL2LPT +namespace OPL2LPT { + OPL *create(); +} // End of namespace OPL2LPT +#endif // ENABLE_OPL2LPT + // Config implementation enum OplEmulator { @@ -50,7 +56,8 @@ enum OplEmulator { kMame = 1, kDOSBox = 2, kALSA = 3, - kNuked = 4 + kNuked = 4, + kOPL2LPT = 5 }; OPL::OPL() { @@ -71,6 +78,9 @@ const Config::EmulatorDescription Config::_drivers[] = { #ifdef USE_ALSA { "alsa", _s("ALSA Direct FM"), kALSA, kFlagOpl2 | kFlagDualOpl2 | kFlagOpl3 }, #endif +#ifdef ENABLE_OPL2LPT + { "opl2lpt", _s("OPL2LPT"), kOPL2LPT, kFlagOpl2 }, +#endif { 0, 0, 0, 0 } }; @@ -193,6 +203,15 @@ OPL *Config::create(DriverId driver, OplType type) { return ALSA::create(type); #endif +#ifdef ENABLE_OPL2LPT + case kOPL2LPT: + if (type == kOpl2) + return OPL2LPT::create(); + else + warning("OPL2LPT only supports OPL2"); + return 0; +#endif + default: warning("Unsupported OPL emulator %d", driver); // TODO: Maybe we should add some dummy emulator too, which just outputs |