diff options
author | Vitaly Novichkov <admin@wohlnet.ru> | 2018-06-19 22:57:06 +0300 |
---|---|---|
committer | Vitaly Novichkov <admin@wohlnet.ru> | 2018-06-19 22:57:06 +0300 |
commit | ad60170e94d599c76351198ca4052d0cd5c9602e (patch) | |
tree | 4ab583ebdc831a4ea40082dc921475d95819545b /src/adlmidi_private.hpp | |
parent | c0873278718da57ff19194377a35601027926c5f (diff) | |
parent | 105c5db749836ff25c03ae7abf3b2348ecb72c86 (diff) | |
download | libADLMIDI-ad60170e94d599c76351198ca4052d0cd5c9602e.tar.gz libADLMIDI-ad60170e94d599c76351198ca4052d0cd5c9602e.tar.bz2 libADLMIDI-ad60170e94d599c76351198ca4052d0cd5c9602e.zip |
Merge branch 'master' into stable
Diffstat (limited to 'src/adlmidi_private.hpp')
-rw-r--r-- | src/adlmidi_private.hpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/adlmidi_private.hpp b/src/adlmidi_private.hpp index 2499bad..0e63b5a 100644 --- a/src/adlmidi_private.hpp +++ b/src/adlmidi_private.hpp @@ -245,6 +245,8 @@ public: bool AdlPercussionMode; //! Carriers-only are scaled by default by volume level. This flag will tell to scale modulators too. bool ScaleModulators; + //! Run emulator at PCM rate if that possible. Reduces sounding accuracy, but decreases CPU usage on lower rates. + bool runAtPcmRate; // ! Required to play CMF files. Can be turned on by using of "CMF" volume model //bool LogarithmicVolumes; //[REPLACED WITH "m_volumeScale == VOLUME_NATIVE", DEPRECATED!!!] // ! Required to play EA-MUS files [REPLACED WITH "m_musicMode", DEPRECATED!!!] @@ -294,7 +296,7 @@ public: #ifndef ADLMIDI_HW_OPL void ClearChips(); #endif - void Reset(int emulator, unsigned long PCM_RATE); + void Reset(int emulator, unsigned long PCM_RATE, void *audioTickHandler); }; @@ -933,6 +935,7 @@ public: struct Setup { int emulator; + bool runAtPcmRate; unsigned int AdlBank; unsigned int NumFourOps; unsigned int NumCards; @@ -984,6 +987,9 @@ private: //! Counter of arpeggio processing size_t m_arpeggioCounter; + //! Audio tick counter + uint32_t m_audioTickCounter; + #ifndef ADLMIDI_DISABLE_MIDI_SEQUENCER std::vector<std::vector<uint8_t> > TrackData; @@ -1181,6 +1187,9 @@ public: void realTime_panic(); + // Audio rate tick handler + void AudioTick(uint32_t chipId, uint32_t rate); + private: enum { @@ -1249,6 +1258,7 @@ struct FourChars }; */ +extern void adl_audioTickHandler(void *instance, uint32_t chipId, uint32_t rate); extern int adlRefreshNumCards(ADL_MIDIPlayer *device); |