Browse Source

Remove the compiledApis vector.

tags/5.1.0
Stephen Sinclair 7 years ago
parent
commit
b296e4bfdb
2 changed files with 11 additions and 31 deletions
  1. +11
    -20
      RtAudio.cpp
  2. +0
    -11
      RtAudio.h

+ 11
- 20
RtAudio.cpp View File

@@ -152,12 +152,6 @@ extern "C" const unsigned int rtaudio_num_compiled_apis =
sizeof(rtaudio_compiled_apis)/sizeof(rtaudio_compiled_apis[0])-1; sizeof(rtaudio_compiled_apis)/sizeof(rtaudio_compiled_apis[0])-1;
} }


static const std::vector<RtAudio::Api> init_compiledApis() {
return std::vector<RtAudio::Api>(
rtaudio_compiled_apis, rtaudio_compiled_apis + rtaudio_num_compiled_apis);
}
const std::vector<RtAudio::Api> RtAudio::compiledApis(init_compiledApis());

// This is a compile-time check that rtaudio_num_api_names == RtAudio::NUM_APIS. // This is a compile-time check that rtaudio_num_api_names == RtAudio::NUM_APIS.
// If the build breaks here, check that they match. // If the build breaks here, check that they match.
template<bool b> class StaticAssert { private: StaticAssert() {} }; template<bool b> class StaticAssert { private: StaticAssert() {} };
@@ -168,19 +162,16 @@ class StaticAssertions { StaticAssertions() {


void RtAudio :: getCompiledApi( std::vector<RtAudio::Api> &apis ) void RtAudio :: getCompiledApi( std::vector<RtAudio::Api> &apis )
{ {
apis = compiledApis;
}

const std::vector<RtAudio::Api>& RtAudio :: getCompiledApis()
{
return compiledApis;
apis = std::vector<RtAudio::Api>(rtaudio_compiled_apis,
rtaudio_compiled_apis + rtaudio_num_compiled_apis);
} }


const std::string RtAudio :: getCompiledApiName( RtAudio::Api api ) const std::string RtAudio :: getCompiledApiName( RtAudio::Api api )
{ {
if (api < 0 || api > RtAudio::NUM_APIS if (api < 0 || api > RtAudio::NUM_APIS
|| (std::find(RtAudio::compiledApis.begin(),
RtAudio::compiledApis.end(), api) == RtAudio::compiledApis.end()))
|| (std::find(rtaudio_compiled_apis,
rtaudio_compiled_apis+rtaudio_num_compiled_apis,
api) == rtaudio_compiled_apis+rtaudio_num_compiled_apis))
return ""; return "";
return rtaudio_api_names[api][0]; return rtaudio_api_names[api][0];
} }
@@ -188,8 +179,9 @@ const std::string RtAudio :: getCompiledApiName( RtAudio::Api api )
const std::string RtAudio :: getCompiledApiDisplayName( RtAudio::Api api ) const std::string RtAudio :: getCompiledApiDisplayName( RtAudio::Api api )
{ {
if (api < 0 || api > RtAudio::NUM_APIS if (api < 0 || api > RtAudio::NUM_APIS
|| (std::find(RtAudio::compiledApis.begin(),
RtAudio::compiledApis.end(), api) == RtAudio::compiledApis.end()))
|| (std::find(rtaudio_compiled_apis,
rtaudio_compiled_apis+rtaudio_num_compiled_apis,
api) == rtaudio_compiled_apis+rtaudio_num_compiled_apis))
return "Unknown"; return "Unknown";
return rtaudio_api_names[api][1]; return rtaudio_api_names[api][1];
} }
@@ -197,10 +189,9 @@ const std::string RtAudio :: getCompiledApiDisplayName( RtAudio::Api api )
RtAudio::Api RtAudio :: getCompiledApiByName( const std::string &name ) RtAudio::Api RtAudio :: getCompiledApiByName( const std::string &name )
{ {
unsigned int i=0; unsigned int i=0;
std::vector<RtAudio::Api>::const_iterator it;
for (it = compiledApis.begin(); it != compiledApis.end(); ++it, ++i)
if (name == rtaudio_api_names[*it][0])
return *it;
for (i = 0; i < rtaudio_num_compiled_apis; ++i)
if (name == rtaudio_api_names[rtaudio_compiled_apis[i]][0])
return rtaudio_compiled_apis[i];
return RtAudio::UNSPECIFIED; return RtAudio::UNSPECIFIED;
} }




+ 0
- 11
RtAudio.h View File

@@ -402,14 +402,6 @@ class RTAUDIO_DLL_PUBLIC RtAudio
*/ */
static void getCompiledApi( std::vector<RtAudio::Api> &apis ); static void getCompiledApi( std::vector<RtAudio::Api> &apis );


//! A static function to determine the available compiled audio APIs.
/*!
The values returned in the std::vector can be compared against
the enumerated list values. Note that there can be more than one
API compiled for certain operating systems.
*/
static const std::vector<RtAudio::Api>& getCompiledApis();

//! Return the name of a specified compiled audio API. //! Return the name of a specified compiled audio API.
/*! /*!
This obtains a short lower-case name used for identification purposes. This obtains a short lower-case name used for identification purposes.
@@ -619,9 +611,6 @@ class RTAUDIO_DLL_PUBLIC RtAudio


protected: protected:


//! Storage for compiled API list
static const std::vector<RtAudio::Api> compiledApis;

void openRtApi( RtAudio::Api api ); void openRtApi( RtAudio::Api api );
RtApi *rtapi_; RtApi *rtapi_;
}; };


Loading…
Cancel
Save