// implementation.\r
struct CoreHandle {\r
AudioDeviceID id[2]; // device ids\r
-#if defined( MAC_OS_X_VERSION_10_5 ) && ( MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 )\r
AudioDeviceIOProcID procId[2];\r
-#endif\r
UInt32 iStream[2]; // device stream index (or first if using multiple)\r
UInt32 nStreams[2]; // number of streams to use\r
bool xrun[2];\r
\r
RtApiCore:: RtApiCore()\r
{\r
-#if defined( AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER )\r
// This is a largely undocumented but absolutely necessary\r
// requirement starting with OS-X 10.6. If not called, queries and\r
// updates to various audio device properties are not handled\r
errorText_ = "RtApiCore::RtApiCore: error setting run loop property!";\r
error( RtError::WARNING );\r
}\r
-#endif\r
}\r
\r
RtApiCore :: ~RtApiCore()\r
// Only one callback procedure per device.\r
stream_.mode = DUPLEX;\r
else {\r
-#if defined( MAC_OS_X_VERSION_10_5 ) && ( MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 )\r
result = AudioDeviceCreateIOProcID( id, callbackHandler, (void *) &stream_.callbackInfo, &handle->procId[mode] );\r
-#else\r
- // deprecated in favor of AudioDeviceCreateIOProcID()\r
- result = AudioDeviceAddIOProc( id, callbackHandler, (void *) &stream_.callbackInfo );\r
-#endif\r
if ( result != noErr ) {\r
errorStream_ << "RtApiCore::probeDeviceOpen: system error setting callback for device (" << device << ").";\r
errorText_ = errorStream_.str();\r
CoreHandle *handle = (CoreHandle *) stream_.apiHandle;\r
if ( stream_.mode == OUTPUT || stream_.mode == DUPLEX ) {\r
if ( stream_.state == STREAM_RUNNING )\r
- AudioDeviceStop( handle->id[0], callbackHandler );\r
-#if defined( MAC_OS_X_VERSION_10_5 ) && ( MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 )\r
+ AudioDeviceStop( handle->id[0], handle->procId[0] );\r
AudioDeviceDestroyIOProcID( handle->id[0], handle->procId[0] );\r
-#else\r
- // deprecated in favor of AudioDeviceDestroyIOProcID()\r
- AudioDeviceRemoveIOProc( handle->id[0], callbackHandler );\r
-#endif\r
}\r
\r
if ( stream_.mode == INPUT || ( stream_.mode == DUPLEX && stream_.device[0] != stream_.device[1] ) ) {\r
if ( stream_.state == STREAM_RUNNING )\r
- AudioDeviceStop( handle->id[1], callbackHandler );\r
-#if defined( MAC_OS_X_VERSION_10_5 ) && ( MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_5 )\r
+ AudioDeviceStop( handle->id[1], handle->procId[1] );\r
AudioDeviceDestroyIOProcID( handle->id[1], handle->procId[1] );\r
-#else\r
- // deprecated in favor of AudioDeviceDestroyIOProcID()\r
- AudioDeviceRemoveIOProc( handle->id[1], callbackHandler );\r
-#endif\r
}\r
\r
for ( int i=0; i<2; i++ ) {\r
CoreHandle *handle = (CoreHandle *) stream_.apiHandle;\r
if ( stream_.mode == OUTPUT || stream_.mode == DUPLEX ) {\r
\r
- result = AudioDeviceStart( handle->id[0], callbackHandler );\r
+ result = AudioDeviceStart( handle->id[0], handle->procId[0] );\r
if ( result != noErr ) {\r
errorStream_ << "RtApiCore::startStream: system error (" << getErrorCode( result ) << ") starting callback procedure on device (" << stream_.device[0] << ").";\r
errorText_ = errorStream_.str();\r
if ( stream_.mode == INPUT ||\r
( stream_.mode == DUPLEX && stream_.device[0] != stream_.device[1] ) ) {\r
\r
- result = AudioDeviceStart( handle->id[1], callbackHandler );\r
+ result = AudioDeviceStart( handle->id[1], handle->procId[1] );\r
if ( result != noErr ) {\r
errorStream_ << "RtApiCore::startStream: system error starting input callback procedure on device (" << stream_.device[1] << ").";\r
errorText_ = errorStream_.str();\r