[PD-cvs] pd/portaudio/pa_mac_core notes.txt,1.1.1.3.2.1,1.1.1.3.2.1.2.1 pa_mac_core.c,1.1.1.3.2.2,1.1.1.3.2.2.2.1

carmen rocco ix9 at users.sourceforge.net
Tue Aug 24 06:13:03 CEST 2004


Update of /cvsroot/pure-data/pd/portaudio/pa_mac_core
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5913/pa_mac_core

Modified Files:
      Tag: impd_0_37
	notes.txt pa_mac_core.c 
Log Message:
new snapshot


Index: notes.txt
===================================================================
RCS file: /cvsroot/pure-data/pd/portaudio/pa_mac_core/Attic/notes.txt,v
retrieving revision 1.1.1.3.2.1
retrieving revision 1.1.1.3.2.1.2.1
diff -C2 -d -r1.1.1.3.2.1 -r1.1.1.3.2.1.2.1
*** notes.txt	12 Sep 2003 21:43:58 -0000	1.1.1.3.2.1
--- notes.txt	24 Aug 2004 04:13:00 -0000	1.1.1.3.2.1.2.1
***************
*** 33,34 ****
--- 33,36 ----
  we scan the list and add a PortAudio device for each CoreAudio device 
  that supports input. Then we make a scan for output devices.
+ 
+ (minor change to test CVS)

Index: pa_mac_core.c
===================================================================
RCS file: /cvsroot/pure-data/pd/portaudio/pa_mac_core/Attic/pa_mac_core.c,v
retrieving revision 1.1.1.3.2.2
retrieving revision 1.1.1.3.2.2.2.1
diff -C2 -d -r1.1.1.3.2.2 -r1.1.1.3.2.2.2.1
*** pa_mac_core.c	13 Sep 2003 09:03:07 -0000	1.1.1.3.2.2
--- pa_mac_core.c	24 Aug 2004 04:13:00 -0000	1.1.1.3.2.2.2.1
***************
*** 109,112 ****
--- 109,117 ----
   04.16.2003 - Phil Burk - Fixed input channel scrambling when numChannels != 2^N. Caused by alignment
                error when filling RingBuffer with 2^N zero bytes.
+  04.26.2003 - Phil Burk - Removed code to turn up volume and unmute to prevent blown eardrums.
+  12.08.2003 - Phil Burk - Move declaration of oldConverter to top of PAOSX_DevicePropertyListener()
+  12.08.2003 - Phil Burk - Removed need for #include "pa_trace.h", just for debug
+  12.09.2003 - Phil Burk - Only change sampleRate or numChannels if we need to improve over
+               current setting.
  */
  
***************
*** 115,119 ****
  #include <sys/time.h>
  #include <sys/resource.h>
- #include <unistd.h>
  #include <AudioUnit/AudioUnit.h>
  #include <AudioToolbox/DefaultAudioOutput.h>
--- 120,123 ----
***************
*** 123,127 ****
  #include "portaudio.h"
  #include "pa_host.h"
- #include "pa_trace.h"
  #include "ringbuffer.h"
  
--- 127,130 ----
***************
*** 796,800 ****
          {
              /* Clear remainder of audio buffer if we are waiting for stop. */
-             AddTraceMessage("PaOSX_LoadAndProcess: zero rest of wave buffer ", i );
              memset( outputBuffer, 0, pahsc->output.bytesPerUserNativeBuffer );
          }
--- 799,802 ----
***************
*** 1219,1227 ****
      originalChannels = formatDesc.mChannelsPerFrame;
          
!     // Is it already set to the correct format?
!     if( (originalRate != desiredRate) || (originalChannels != desiredNumChannels) )
      {
!         DBUG(("PaOSX_SetFormat: try to change sample rate to %f.\n", desiredRate ));
!         DBUG(("PaOSX_SetFormat: try to set number of channels to %d\n", desiredNumChannels));
  
          formatDesc.mSampleRate = desiredRate;
--- 1221,1231 ----
      originalChannels = formatDesc.mChannelsPerFrame;
          
!     // Changing the format can mess up other apps.
!     // So only change the format if the original format
!     // has a lower sample rate, or fewer channels, than the desired format.
!     if( (originalRate < desiredRate) || (originalChannels < desiredNumChannels) )
      {
!         DBUG(("PaOSX_SetFormat: try to change sample rate from %f to %f.\n", originalRate, desiredRate ));
!         DBUG(("PaOSX_SetFormat: try to set number of channels %d to %d\n", originalChannels, desiredNumChannels));
  
          formatDesc.mSampleRate = desiredRate;
***************
*** 1257,1330 ****
  }
  
- /*******************************************************************
-  * Check volume level of device. If below threshold, then set to newLevel.
-  * Using volume instead of decibels because decibel range varies by device.
-  */
- static void PaOSX_FixVolumeScalars( AudioDeviceID devID, Boolean isInput,
-     int numChannels, double threshold, double newLevel )
- {
-     OSStatus err = noErr;
-     UInt32    dataSize;
-     int       iChannel;
- 
- /* The master channel is 0. Left and right are channels 1 and 2. */
- /* Fix volume. */
-     for( iChannel = 0; iChannel<=numChannels; iChannel++ )
-     {
-         Float32   fdata32;
-         dataSize = sizeof( fdata32 );
-         err = AudioDeviceGetProperty( devID, iChannel, isInput, 
-             kAudioDevicePropertyVolumeScalar, &dataSize, &fdata32 );
-         if( err == noErr )
-         {
-             DBUG(("kAudioDevicePropertyVolumeScalar for channel %d = %f\n", iChannel, fdata32));
-             if( fdata32 <= (Float32) threshold )
-             {
-                 dataSize = sizeof( fdata32 );
-                 fdata32 = (Float32) newLevel;
-                 err = AudioDeviceSetProperty( devID, 0, iChannel, isInput, 
-                     kAudioDevicePropertyVolumeScalar, dataSize, &fdata32 );
-                 if( err != noErr )
-                 {
-                     PRINT(("Warning: audio volume is very low and could not be turned up.\n"));
-                 }
-                 else
-                 {
-                     PRINT(("Volume for audio channel %d was <= %4.2f so set to %4.2f by PortAudio!\n",
-                         iChannel, threshold, newLevel ));
-                 }
-             }
-         }
-     }
- /* Unmute if muted. */
-     for( iChannel = 0; iChannel<=numChannels; iChannel++ )
-     {
-         UInt32    uidata32;
-         dataSize = sizeof( uidata32 );
-         err = AudioDeviceGetProperty( devID, iChannel, isInput, 
-             kAudioDevicePropertyMute, &dataSize, &uidata32 );
-         if( err == noErr )
-         {
-             DBUG(("mute for channel %d = %ld\n", iChannel, uidata32));
-             if( uidata32 == 1 ) // muted?
-             {
-                 dataSize = sizeof( uidata32 );
-                 uidata32 = 0; // unmute
-                 err = AudioDeviceSetProperty( devID, 0, iChannel, isInput, 
-                     kAudioDevicePropertyMute, dataSize, &uidata32 );
-                 if( err != noErr )
-                 {
-                     PRINT(("Warning: audio is muted and could not be unmuted!\n"));
-                 }
-                 else
-                 {
-                     PRINT(("Audio channel %d was unmuted by PortAudio!\n", iChannel ));
-                 }
-             }
-         }
-     }
- 
- }
- 
  #if 0
  static void PaOSX_DumpDeviceInfo( AudioDeviceID devID, Boolean isInput )
--- 1261,1264 ----
***************
*** 1414,1417 ****
--- 1348,1352 ----
      PaHostInOut              *hostInOut;
  	AudioStreamBasicDescription *destFormatPtr, *srcFormatPtr;
+     AudioConverterRef         oldConverter = NULL; // PLB 20031208 - Declare here for standard 'C'.
  
      past = (internalPortAudioStream *) inClientData;
***************
*** 1466,1470 ****
          // Don't delete old converter until we create new one so we don't pull
          // the rug out from under other audio threads.
!         AudioConverterRef oldConverter = hostInOut->converter;
          
          // Make converter to change sample rate.
--- 1401,1405 ----
          // Don't delete old converter until we create new one so we don't pull
          // the rug out from under other audio threads.
!         oldConverter = hostInOut->converter;
          
          // Make converter to change sample rate.
***************
*** 1596,1601 ****
      Float64          deviceRate;
  
-     PaOSX_FixVolumeScalars( inOut->audioDeviceID, isInput,
-         inOut->numChannels, 0.1, 0.9 );
  
      // The HW device format changes are asynchronous.
--- 1531,1534 ----





More information about the Pd-cvs mailing list