traverso-commit
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]