diff options
-rw-r--r-- | include/adlmidi.h | 20 | ||||
-rw-r--r-- | src/adlmidi.cpp | 9 | ||||
-rw-r--r-- | src/adlmidi_private.hpp | 4 |
3 files changed, 29 insertions, 4 deletions
diff --git a/include/adlmidi.h b/include/adlmidi.h index 25691da..e3554a1 100644 --- a/include/adlmidi.h +++ b/include/adlmidi.h @@ -28,6 +28,17 @@ extern "C" { #endif +#define ADLMIDI_VERSION_MAJOR 1 +#define ADLMIDI_VERSION_MINOR 3 +#define ADLMIDI_VERSION_PATCHLEVEL 1 + +#define ADLMIDI_TOSTR(s) #s +#define ADLMIDI_VERSION \ + ADLMIDI_TOSTR(OPNMIDI_VERSION_MAJOR) "." \ + ADLMIDI_TOSTR(OPNMIDI_VERSION_MINOR) "." \ + ADLMIDI_TOSTR(OPNMIDI_VERSION_PATCHLEVEL) + + #include <stddef.h> #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) @@ -117,9 +128,18 @@ extern int adl_openBankData(struct ADL_MIDIPlayer *device, const void *mem, unsi /*Returns name of currently used OPL3 emulator*/ extern const char *adl_emulatorName(); +typedef struct { + ADL_UInt16 major; + ADL_UInt16 minor; + ADL_UInt16 patch; +} ADL_Version; + /*Returns string which contains a version number*/ extern const char *adl_linkedLibraryVersion(); +/*Returns structure which contains a version number of library */ +extern const ADL_Version *adl_linkedVersion(); + /*Returns string which contains last error message of initialization*/ extern const char *adl_errorString(); diff --git a/src/adlmidi.cpp b/src/adlmidi.cpp index c45e4eb..bab8750 100644 --- a/src/adlmidi.cpp +++ b/src/adlmidi.cpp @@ -31,6 +31,11 @@ #define MaxCards_STR "100" #endif +static ADL_Version adl_version = { + ADLMIDI_VERSION_MAJOR, + ADLMIDI_VERSION_MINOR, + ADLMIDI_VERSION_PATCHLEVEL +}; /*---------------------------EXPORTS---------------------------*/ @@ -316,6 +321,10 @@ ADLMIDI_EXPORT const char *adl_linkedLibraryVersion() return ADLMIDI_VERSION; } +ADLMIDI_EXPORT const ADL_Version *adl_linkedVersion() +{ + return &adl_version; +} ADLMIDI_EXPORT const char *adl_errorString() { diff --git a/src/adlmidi_private.hpp b/src/adlmidi_private.hpp index 8b3c3a2..6dda27c 100644 --- a/src/adlmidi_private.hpp +++ b/src/adlmidi_private.hpp @@ -24,10 +24,6 @@ #ifndef ADLMIDI_PRIVATE_HPP #define ADLMIDI_PRIVATE_HPP -#ifndef ADLMIDI_VERSION -#define ADLMIDI_VERSION "1.3.1" -#endif - // Setup compiler defines useful for exporting required public API symbols in gme.cpp #ifndef ADLMIDI_EXPORT # if defined (_WIN32) && defined(ADLMIDI_BUILD_DLL) |