[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src/engine CoreAudioDriver.cpp CoreAud...
From: |
Remon Sijrier |
Subject: |
[Traverso-commit] traverso/src/engine CoreAudioDriver.cpp CoreAud... |
Date: |
Mon, 24 Nov 2008 19:27:17 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Remon Sijrier <r_sijrier> 08/11/24 19:27:17
Modified files:
src/engine : CoreAudioDriver.cpp CoreAudioDriver.h
Log message:
* try to fix a bunch of compile errors
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/engine/CoreAudioDriver.cpp?cvsroot=traverso&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/traverso/src/engine/CoreAudioDriver.h?cvsroot=traverso&r1=1.3&r2=1.4
Patches:
Index: CoreAudioDriver.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/engine/CoreAudioDriver.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- CoreAudioDriver.cpp 24 Nov 2008 11:17:28 -0000 1.3
+++ CoreAudioDriver.cpp 24 Nov 2008 19:27:16 -0000 1.4
@@ -59,6 +59,8 @@
#include "CoreAudioDriver.h"
#include "AudioChannel.h"
+#include "AudioDevice.h"
+
#include <Utils.h>
#include <stdio.h>
@@ -308,34 +310,31 @@
return err;
}
-static OSStatus render(void *inRefCon,
- AudioUnitRenderActionFlags *ioActionFlags,
+OSStatus render(AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData)
{
int res, i;
- JSList *node;
- CoreAudioDriver* ca_driver = (CoreAudioDriver*)inRefCon;
- AudioUnitRender(ca_driver->au_hal, ioActionFlags, inTimeStamp, 1,
inNumberFrames, ca_driver->input_list);
+ AudioUnitRender(au_hal, ioActionFlags, inTimeStamp, 1, inNumberFrames,
input_list);
- if (ca_driver->xrun_detected > 0) { /* XRun was detected */
+ if (xrun_detected > 0) { /* XRun was detected */
trav_time_t current_time = get_microseconds ();
- ca_driver->device->delay(current_time -
(ca_driver->last_wait_ust + ca_driver->period_usecs));
- ca_driver->last_wait_ust = current_time;
- ca_driver->xrun_detected = 0;
+ device->delay(current_time - (last_wait_ust + period_usecs));
+ last_wait_ust = current_time;
+ xrun_detected = 0;
return 0;
} else {
- ca_driver->last_wait_ust = get_microseconds();
- ca_driver->device->transport_cycle_start(get_microseconds());
- res = ca_driver->device->run_cycle(inNumberFrames, 0);
+ last_wait_ust = get_microseconds();
+ device->transport_cycle_start(get_microseconds());
+ res = device->run_cycle(inNumberFrames, 0);
}
- if (ca_driver->null_cycle_occured) {
- ca_driver->null_cycle_occured = 0;
- for (i = 0; i < ca_driver->playback_nchannels; i++) {
+ if (null_cycle_occured) {
+ null_cycle_occured = 0;
+ for (i = 0; i < playback_nchannels; i++) {
memset((float*)ioData->mBuffers[i].mData, 0,
sizeof(float) * inNumberFrames);
}
} else {
@@ -357,42 +356,38 @@
return res;
}
-static OSStatus render_input( void *inRefCon,
- AudioUnitRenderActionFlags *ioActionFlags,
+OSStatus render_input( AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData)
{
- CoreAudioDriver* ca_driver = (CoreAudioDriver*)inRefCon;
- AudioUnitRender(ca_driver->au_hal, ioActionFlags, inTimeStamp, 1,
inNumberFrames, ca_driver->input_list);
- if (ca_driver->xrun_detected > 0) { /* XRun was detected */
+ AudioUnitRender(au_hal, ioActionFlags, inTimeStamp, 1, inNumberFrames,
input_list);
+ if (xrun_detected > 0) { /* XRun was detected */
trav_time_t current_time = get_microseconds();
- ca_driver->device->delay(current_time -
(ca_driver->last_wait_ust + ca_driver->period_usecs));
- ca_driver->last_wait_ust = current_time;
- ca_driver->xrun_detected = 0;
+ device->delay(current_time - (last_wait_ust + period_usecs));
+ last_wait_ust = current_time;
+ xrun_detected = 0;
return 0;
} else {
- ca_driver->last_wait_ust = get_microseconds();
- ca_driver->device->transport_cycle_start(get_microseconds());
- return ca_driver->device->run_cycle(inNumberFrames, 0);
+ last_wait_ust = get_microseconds();
+ device->transport_cycle_start(get_microseconds());
+ return device->run_cycle(inNumberFrames, 0);
}
}
-static OSStatus sr_notification(AudioDeviceID inDevice,
+OSStatus sr_notification(AudioDeviceID inDevice,
UInt32 inChannel,
Boolean isInput,
- AudioDevicePropertyID inPropertyID,
- void* inClientData)
+ AudioDevicePropertyID inPropertyID)
{
- CoreAudioDriver* driver = (CoreAudioDriver*)inClientData;
switch (inPropertyID) {
case kAudioDevicePropertyNominalSampleRate: {
JCALog("JackCoreAudioDriver::SRNotificationCallback
kAudioDevicePropertyNominalSampleRate \n");
- driver->state = 1;
+ state = 1;
break;
}
}
@@ -400,24 +395,22 @@
return noErr;
}
-static OSStatus notification(AudioDeviceID inDevice,
+OSStatus notification(AudioDeviceID inDevice,
UInt32 inChannel,
Boolean isInput,
- AudioDevicePropertyID inPropertyID,
- void* inClientData)
+ AudioDevicePropertyID inPropertyID)
{
- CoreAudioDriver* driver = (CoreAudioDriver*)inClientData;
switch (inPropertyID) {
case kAudioDeviceProcessorOverload:
- driver->xrun_detected = 1;
+ xrun_detected = 1;
break;
case kAudioDevicePropertyNominalSampleRate: {
UInt32 outSize = sizeof(Float64);
Float64 sampleRate;
AudioStreamBasicDescription srcFormat, dstFormat;
- OSStatus err =
AudioDeviceGetProperty(driver->device_id, 0, kAudioDeviceSectionGlobal,
kAudioDevicePropertyNominalSampleRate, &outSize, &sampleRate);
+ OSStatus err = AudioDeviceGetProperty(device_id, 0,
kAudioDeviceSectionGlobal, kAudioDevicePropertyNominalSampleRate, &outSize,
&sampleRate);
if (err != noErr) {
PERROR("Cannot get current sample rate");
return kAudioHardwareUnsupportedOperationError;
@@ -426,23 +419,23 @@
outSize = sizeof(AudioStreamBasicDescription);
// Update SR for input
- err = AudioUnitGetProperty(driver->au_hal,
kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &srcFormat,
&outSize);
+ err = AudioUnitGetProperty(au_hal,
kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &srcFormat,
&outSize);
if (err != noErr) {
PERROR("Error calling AudioUnitSetProperty -
kAudioUnitProperty_StreamFormat kAudioUnitScope_Input");
}
srcFormat.mSampleRate = sampleRate;
- err = AudioUnitSetProperty(driver->au_hal,
kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &srcFormat, outSize);
+ err = AudioUnitSetProperty(au_hal,
kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &srcFormat, outSize);
if (err != noErr) {
PERROR("Error calling AudioUnitSetProperty -
kAudioUnitProperty_StreamFormat kAudioUnitScope_Input");
}
// Update SR for output
- err = AudioUnitGetProperty(driver->au_hal,
kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 1, &dstFormat,
&outSize);
+ err = AudioUnitGetProperty(au_hal,
kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 1, &dstFormat,
&outSize);
if (err != noErr) {
PERROR("Error calling AudioUnitSetProperty -
kAudioUnitProperty_StreamFormat kAudioUnitScope_Output");
}
dstFormat.mSampleRate = sampleRate;
- err = AudioUnitSetProperty(driver->au_hal,
kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 1, &dstFormat,
outSize);
+ err = AudioUnitSetProperty(au_hal,
kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 1, &dstFormat,
outSize);
if (err != noErr) {
PERROR("Error calling AudioUnitSetProperty -
kAudioUnitProperty_StreamFormat kAudioUnitScope_Output");
}
@@ -461,4 +454,26 @@
-//eof
+static OSStatus CoreAudioDriver::_render(void * inRefCon,
AudioUnitRenderActionFlags * ioActionFlags, const AudioTimeStamp * inTimeStamp,
UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList * ioData)
+{
+ CoreAudioDriver* driver = (CoreAudioDriver*)inRefCon;
+ return driver->render(ioActionFlags, inTimeStamp, inBusNumber,
inNumberFrames, ioData);
+}
+
+static OSStatus CoreAudioDriver::_render_input(void * inRefCon,
AudioUnitRenderActionFlags * ioActionFlags, const AudioTimeStamp * inTimeStamp,
UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList * ioData)
+{
+ CoreAudioDriver* driver = (CoreAudioDriver*)inRefCon;
+ return driver->render_input(ioActionFlags, inTimeStamp, inBusNumber,
inNumberFrames, ioData);
+}
+
+static OSStatus CoreAudioDriver::_sr_notification(AudioDeviceID inDevice,
UInt32 inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, void *
inClientData)
+{
+ CoreAudioDriver* driver = (CoreAudioDriver*)inClientData;
+ return driver->sr_notification(inDevice, inChannel, isInput,
inPropertyID);
+}
+
+static OSStatus CoreAudioDriver::_notification(AudioDeviceID inDevice, UInt32
inChannel, Boolean isInput, AudioDevicePropertyID inPropertyID, void *
inClientData)
+{
+ CoreAudioDriver* driver = (CoreAudioDriver*)inClientData;
+ return driver->notification(inDevice, inChannel, isInput, inPropertyID);
+}
Index: CoreAudioDriver.h
===================================================================
RCS file: /sources/traverso/traverso/src/engine/CoreAudioDriver.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- CoreAudioDriver.h 24 Nov 2008 11:17:29 -0000 1.3
+++ CoreAudioDriver.h 24 Nov 2008 19:27:16 -0000 1.4
@@ -83,32 +83,53 @@
OSStatus get_total_channels(AudioDeviceID device, int* channelCount,
bool isInput);
OSStatus display_device_names();
- static OSStatus render(void *inRefCon,
+ OSStatus render(AudioUnitRenderActionFlags *ioActionFlags,
+ const AudioTimeStamp *inTimeStamp,
+ UInt32 inBusNumber,
+ UInt32 inNumberFrames,
+ AudioBufferList *ioData);
+ OSStatus render_input(AudioUnitRenderActionFlags *ioActionFlags,
+ const AudioTimeStamp *inTimeStamp,
+ UInt32 inBusNumber,
+ UInt32 inNumberFrames,
+ AudioBufferList *ioData);
+ OSStatus sr_notification(
+ AudioDeviceID inDevice,
+ UInt32 inChannel,
+ Boolean isInput,
+ AudioDevicePropertyID inPropertyID);
+ OSStatus notification(
+ AudioDeviceID inDevice,
+ UInt32 inChannel,
+ Boolean isInput,
+ AudioDevicePropertyID inPropertyID);
+
+
+ static OSStatus _render(void *inRefCon,
AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData);
- static OSStatus render_input(
+ static OSStatus _render_input(
void *inRefCon,
AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp,
UInt32 inBusNumber,
UInt32 inNumberFrames,
AudioBufferList *ioData);
- static OSStatus sr_notification(
+ static OSStatus _sr_notification(
AudioDeviceID inDevice,
UInt32 inChannel,
Boolean isInput,
AudioDevicePropertyID inPropertyID,
void* inClientData);
- static OSStatus notification(
+ static OSStatus _notification(
AudioDeviceID inDevice,
UInt32 inChannel,
Boolean isInput,
AudioDevicePropertyID inPropertyID,
void* inClientData);
-
};
#endif