aboutsummaryrefslogtreecommitdiff
path: root/src/chips/opl_chip_base.h
diff options
context:
space:
mode:
authorWohlstand <admin@wohlnet.ru>2025-03-25 17:28:37 +0300
committerWohlstand <admin@wohlnet.ru>2025-03-25 17:28:37 +0300
commitb1324a0f1a6ccba2fb0b5144fa26bbb9fd917213 (patch)
treed1e0d56ac0a5d1fe5cb9d2371c2e48d6fee3f86d /src/chips/opl_chip_base.h
parent8c3423b30970165df60da71ee4a4c5a546dce3d2 (diff)
downloadlibADLMIDI-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.h9
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);