Use short lower-case names as API identifiers
[rtaudio-cdist.git] / RtAudio.h
index 34a2534859fab7dcd85d4434d472209a09d1bbe4..449e0d7dcc9323b47b955ebc7c23a8b2187f4c45 100644 (file)
--- a/RtAudio.h
+++ b/RtAudio.h
@@ -397,6 +397,31 @@ class RTAUDIO_DLL_PUBLIC RtAudio
   */
   static void getCompiledApi( std::vector<RtAudio::Api> &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