#include <cstring>
/*
-typedef signed long MY_TYPE;
-#define FORMAT RTAUDIO_SINT24
-
-typedef char MY_TYPE;
+typedef char MY_TYPE;
#define FORMAT RTAUDIO_SINT8
+*/
-typedef signed short MY_TYPE;
+typedef signed short MY_TYPE;
#define FORMAT RTAUDIO_SINT16
-typedef signed long MY_TYPE;
+/*
+typedef S24 MY_TYPE;
+#define FORMAT RTAUDIO_SINT24
+
+typedef signed long MY_TYPE;
#define FORMAT RTAUDIO_SINT32
-typedef float MY_TYPE;
+typedef float MY_TYPE;
#define FORMAT RTAUDIO_FLOAT32
-*/
-typedef double MY_TYPE;
+typedef double MY_TYPE;
#define FORMAT RTAUDIO_FLOAT64
+*/
void usage( void ) {
// Error function in case of incorrect command-line
exit( 0 );
}
-int inout( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
- double streamTime, RtAudioStreamStatus status, void *data )
+int inout( void *outputBuffer, void *inputBuffer, unsigned int /*nBufferFrames*/,
+ double /*streamTime*/, RtAudioStreamStatus status, void *data )
{
// Since the number of input and output channels is equal, we can do
// a simple buffer copy operation here.
if ( status ) std::cout << "Stream over/underflow detected." << std::endl;
- unsigned long *bytes = (unsigned long *) data;
+ uint32_t *bytes = (uint32_t *) data;
memcpy( outputBuffer, inputBuffer, *bytes );
return 0;
}
oParams.nChannels = channels;
oParams.firstChannel = oOffset;
+ if ( iDevice == 0 )
+ iParams.deviceId = adac.getDefaultInputDevice();
+ if ( oDevice == 0 )
+ oParams.deviceId = adac.getDefaultOutputDevice();
+
RtAudio::StreamOptions options;
//options.flags |= RTAUDIO_NONINTERLEAVED;
try {
adac.openStream( &oParams, &iParams, FORMAT, fs, &bufferFrames, &inout, (void *)&bufferBytes, &options );
}
- catch ( RtError& e ) {
+ catch ( RtAudioError& e ) {
std::cout << '\n' << e.getMessage() << '\n' << std::endl;
exit( 1 );
}
// Stop the stream.
adac.stopStream();
}
- catch ( RtError& e ) {
+ catch ( RtAudioError& e ) {
std::cout << '\n' << e.getMessage() << '\n' << std::endl;
goto cleanup;
}