diff options
author | Wohlstand <admin@wohlnet.ru> | 2025-03-25 17:28:37 +0300 |
---|---|---|
committer | Wohlstand <admin@wohlnet.ru> | 2025-03-25 17:28:37 +0300 |
commit | b1324a0f1a6ccba2fb0b5144fa26bbb9fd917213 (patch) | |
tree | d1e0d56ac0a5d1fe5cb9d2371c2e48d6fee3f86d /src/chips/opl_chip_base.h | |
parent | 8c3423b30970165df60da71ee4a4c5a546dce3d2 (diff) | |
download | libADLMIDI-b1324a0f1a6ccba2fb0b5144fa26bbb9fd917213.tar.gz libADLMIDI-b1324a0f1a6ccba2fb0b5144fa26bbb9fd917213.tar.bz2 libADLMIDI-b1324a0f1a6ccba2fb0b5144fa26bbb9fd917213.zip |
Chipset: Added "hasFullPanning" method
It should allow normal work of emulators without full-panning extension implementation, or with real hardware interfaces
Diffstat (limited to 'src/chips/opl_chip_base.h')
-rw-r--r-- | src/chips/opl_chip_base.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/chips/opl_chip_base.h b/src/chips/opl_chip_base.h index cbc09b2..3568d68 100644 --- a/src/chips/opl_chip_base.h +++ b/src/chips/opl_chip_base.h @@ -41,7 +41,9 @@ public: enum { nativeRate = 49716 }; enum ChipType { - CHIPTYPE_OPL3 = 0, CHIPTYPE_OPL2 = 1 + CHIPTYPE_OPL3 = 0, + CHIPTYPE_OPL2 = 1, + CHIPTYPE_ESFM = 2 }; protected: uint32_t m_id; @@ -79,6 +81,11 @@ public: virtual const char* emulatorName() = 0; virtual ChipType chipType() = 0; + /** + * @brief Does emulator has the per-channel full-panning extension? + * @return true if emulator has this extension, false if emulator has only original behaviour + */ + virtual bool hasFullPanning() = 0; private: OPLChipBase(const OPLChipBase &c); OPLChipBase &operator=(const OPLChipBase &c); |