Spaces:
Runtime error
Runtime error
namespace portaudio | |
{ | |
// ----------------------------------------------------------------------------------- | |
// PaException: | |
// ----------------------------------------------------------------------------------- | |
////// | |
/// Wraps a PortAudio error into a PortAudioCpp PaException. | |
////// | |
PaException::PaException(PaError error) : error_(error) | |
{ | |
} | |
// ----------------------------------------------------------------------------------- | |
////// | |
/// Alias for paErrorText(), to have std::exception compliance. | |
////// | |
const char *PaException::what() const throw() | |
{ | |
return paErrorText(); | |
} | |
// ----------------------------------------------------------------------------------- | |
////// | |
/// Returns the PortAudio error code (PaError). | |
////// | |
PaError PaException::paError() const | |
{ | |
return error_; | |
} | |
////// | |
/// Returns the error as a (zero-terminated) text string. | |
////// | |
const char *PaException::paErrorText() const | |
{ | |
return Pa_GetErrorText(error_); | |
} | |
////// | |
/// Returns true is the error is a HostApi error. | |
////// | |
bool PaException::isHostApiError() const | |
{ | |
return (error_ == paUnanticipatedHostError); | |
} | |
////// | |
/// Returns the last HostApi error (which is the current one if | |
/// isHostApiError() returns true) as an error code. | |
////// | |
long PaException::lastHostApiError() const | |
{ | |
return Pa_GetLastHostErrorInfo()->errorCode; | |
} | |
////// | |
/// Returns the last HostApi error (which is the current one if | |
/// isHostApiError() returns true) as a (zero-terminated) text | |
/// string, if it's available. | |
////// | |
const char *PaException::lastHostApiErrorText() const | |
{ | |
return Pa_GetLastHostErrorInfo()->errorText; | |
} | |
// ----------------------------------------------------------------------------------- | |
bool PaException::operator==(const PaException &rhs) const | |
{ | |
return (error_ == rhs.error_); | |
} | |
bool PaException::operator!=(const PaException &rhs) const | |
{ | |
return !(*this == rhs); | |
} | |
// ----------------------------------------------------------------------------------- | |
// PaCppException: | |
// ----------------------------------------------------------------------------------- | |
PaCppException::PaCppException(ExceptionSpecifier specifier) : specifier_(specifier) | |
{ | |
} | |
const char *PaCppException::what() const throw() | |
{ | |
switch (specifier_) | |
{ | |
case UNABLE_TO_ADAPT_DEVICE: | |
{ | |
return "Unable to adapt the given device to the specified host api specific device extension"; | |
} | |
} | |
return "Unknown exception"; | |
} | |
PaCppException::ExceptionSpecifier PaCppException::specifier() const | |
{ | |
return specifier_; | |
} | |
bool PaCppException::operator==(const PaCppException &rhs) const | |
{ | |
return (specifier_ == rhs.specifier_); | |
} | |
bool PaCppException::operator!=(const PaCppException &rhs) const | |
{ | |
return !(*this == rhs); | |
} | |
// ----------------------------------------------------------------------------------- | |
} // namespace portaudio | |