diff options
-rw-r--r-- | src/adlmidi.cpp | 4 | ||||
-rw-r--r-- | src/adlmidi_private.hpp | 18 | ||||
-rw-r--r-- | utils/midiplay/adlmidiplay.cpp | 1 |
3 files changed, 17 insertions, 6 deletions
diff --git a/src/adlmidi.cpp b/src/adlmidi.cpp index f7099e1..a0c7d8a 100644 --- a/src/adlmidi.cpp +++ b/src/adlmidi.cpp @@ -518,7 +518,11 @@ ADLMIDI_EXPORT int adl_switchEmulator(struct ADL_MIDIPlayer *device, int emulato ADLMIDI_EXPORT const char *adl_linkedLibraryVersion() { +#if !defined(ADLMIDI_ENABLE_HQ_RESAMPLER) return ADLMIDI_VERSION; +#else + return ADLMIDI_VERSION " (HQ)"; +#endif } ADLMIDI_EXPORT const ADL_Version *adl_linkedVersion() diff --git a/src/adlmidi_private.hpp b/src/adlmidi_private.hpp index 3aaeaf0..ed654ac 100644 --- a/src/adlmidi_private.hpp +++ b/src/adlmidi_private.hpp @@ -781,15 +781,21 @@ public: AdlChannel(const AdlChannel &oth): koff_time_until_neglible(oth.koff_time_until_neglible) { - users_assign(oth.users_first, oth.users_size); + if(oth.users_first) + { + users_first = NULL; + users_assign(oth.users_first, oth.users_size); + } + else + users_clear(); } AdlChannel &operator=(const AdlChannel &oth) - { - koff_time_until_neglible = oth.koff_time_until_neglible; - users_assign(oth.users_first, oth.users_size); - return *this; - } + { + koff_time_until_neglible = oth.koff_time_until_neglible; + users_assign(oth.users_first, oth.users_size); + return *this; + } void AddAge(int64_t ms); }; diff --git a/utils/midiplay/adlmidiplay.cpp b/utils/midiplay/adlmidiplay.cpp index 6c44171..8bffc50 100644 --- a/utils/midiplay/adlmidiplay.cpp +++ b/utils/midiplay/adlmidiplay.cpp @@ -404,6 +404,7 @@ int main(int argc, char **argv) adl_switchEmulator(myDevice, emulator); #endif + std::fprintf(stdout, " - Library version %s\n", adl_linkedLibraryVersion()); #ifdef HARDWARE_OPL3 std::fprintf(stdout, " - Hardware OPL3 chip in use\n"); #else |