jens@14: // jens@14: // AudioUtils.h jens@14: // Cloudy jens@14: // jens@14: // Created by Jens Alfke on 6/17/08. jens@14: // Copyright 2008 Jens Alfke. All rights reserved. jens@14: // jens@14: jens@14: #import jens@14: jens@14: #ifdef __cplusplus jens@14: extern "C" { jens@14: #endif jens@14: jens@14: #define MYCoreAudioErrorDomain @"MYCoreAudioDomain" jens@14: jens@14: NSString* MYCAErrorString( OSStatus coreAudioError ); jens@14: NSError* MYCAError( OSStatus coreAudioError, NSString *message ); jens@14: jens@14: #ifdef __cplusplus jens@14: } jens@14: #endif jens@14: jens@14: jens@14: jens@14: #define XWarnIfError(error, operation) \ jens@14: do { \ jens@14: OSStatus __err = error; \ jens@14: if (__err) _MYWarnCAError(__err,@""operation); \ jens@14: } while (0) jens@14: jens@14: void _MYWarnCAError( OSStatus error, NSString *operation ); jens@14: jens@14: #ifdef __cplusplus jens@14: jens@14: #define XThrowIfError(error, operation) \ jens@14: do { \ jens@14: OSStatus __err = error; \ jens@14: if (__err) _MYThrowCAError(__err,@""operation); \ jens@14: } while (0) jens@14: jens@14: void _MYThrowCAError( OSStatus error, NSString *operation ) throw(NSError*) __attribute__((noreturn)); jens@14: jens@14: #endif __cplusplus