this is necessary in order to get Furnace to build using CMake 4.0. you should do: git submodule deinit extern/portaudio
		
			
				
	
	
		
			122 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#include "portaudiocpp/Exception.hxx"
 | 
						|
 | 
						|
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
 |