aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/adlmidi.cpp4
-rw-r--r--src/adlmidi_private.hpp18
-rw-r--r--utils/midiplay/adlmidiplay.cpp1
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