X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=RtAudio.h;h=449e0d7dcc9323b47b955ebc7c23a8b2187f4c45;hb=021928773bfbf9b25505677451ee197b1fe006b6;hp=a9fa6504a6c9069fd9c402c60ee0a81bd6a137f4;hpb=2662111a39b8eba2e4cda3fa4f504b90ace551dd;p=rtaudio-cdist.git diff --git a/RtAudio.h b/RtAudio.h index a9fa650..449e0d7 100644 --- a/RtAudio.h +++ b/RtAudio.h @@ -47,6 +47,16 @@ #define RTAUDIO_VERSION "5.0.0" +#if defined _WIN32 || defined __CYGWIN__ + #define RTAUDIO_DLL_PUBLIC +#else + #if __GNUC__ >= 4 + #define RTAUDIO_DLL_PUBLIC __attribute__( (visibility( "default" )) ) + #else + #define RTAUDIO_DLL_PUBLIC + #endif +#endif + #include #include #include @@ -200,7 +210,7 @@ typedef int (*RtAudioCallback)( void *outputBuffer, void *inputBuffer, */ /************************************************************************/ -class RtAudioError : public std::runtime_error +class RTAUDIO_DLL_PUBLIC RtAudioError : public std::runtime_error { public: //! Defined RtAudioError types. @@ -260,7 +270,7 @@ typedef void (*RtAudioErrorCallback)( RtAudioError::Type type, const std::string class RtApi; -class RtAudio +class RTAUDIO_DLL_PUBLIC RtAudio { public: @@ -387,6 +397,31 @@ class RtAudio */ static void getCompiledApi( std::vector &apis ); + //! Return the name of a specified compiled audio API. + /*! + This obtains a short lower-case name used for identification purposes. + This value is guaranteed to remain identical across library versions. + If the API is unknown or not compiled, this function will return + the empty string. + */ + static const std::string &getCompiledApiName( RtAudio::Api api ); + + //! Return the display name of a specified compiled audio API. + /*! + This obtains a long name used for display purposes. + If the API is unknown or not compiled, this function will return + the empty string. + */ + static const std::string &getCompiledApiDisplayName( RtAudio::Api api ); + + //! Return the compiled audio API having the given name. + /*! + A case insensitive comparison will check the specified name + against the list of compiled APIs, and return the one which + matches. On failure, the function returns UNSPECIFIED. + */ + static RtAudio::Api getCompiledApiByName( const std::string &name ); + //! The class constructor. /*! The constructor performs minor initialization tasks. An exception @@ -671,7 +706,7 @@ class S24 { #include -class RtApi +class RTAUDIO_DLL_PUBLIC RtApi { public: