Update of /cvsroot/fink/dists/10.7/stable/main/finkinfo/sound
In directory vz-cvs-3.sog:/tmp/cvs-serv22418/sound

Added Files:
        esound.info esound.patch 
Log Message:
Builds on 10.7

--- NEW FILE: esound.patch ---
diff -Nurd -x'*~' esound-0.2.36.orig/Makefile.in esound-0.2.36/Makefile.in
--- esound-0.2.36.orig/Makefile.in      2005-06-06 21:04:14.000000000 -0400
+++ esound-0.2.36/Makefile.in   2005-09-30 18:29:03.000000000 -0400
@@ -422,7 +421,7 @@
        esdplay.c
 
 LDADD = libesd.la $(AUDIOFILE_LIBS)
-esd_LDADD = $(WRAP_LIB) $(LDADD)
+esd_LDADD = $(WRAP_LIB) $(LDADD) $(SOUND_LIBS)
 m4datadir = $(datadir)/aclocal
 m4data_DATA = esd.m4
 esdconfdir = $(sysconfdir)
diff -Nurd -x'*~' esound-0.2.36.orig/esd.c esound-0.2.36/esd.c
--- esound-0.2.36.orig/esd.c    2005-05-25 21:02:52.000000000 -0400
+++ esound-0.2.36/esd.c 2005-09-30 18:27:06.000000000 -0400
@@ -35,6 +35,13 @@
 /* max arguments (argc + tokenized esd.conf) can't be more than this */
 #define MAX_OPTS 128
 
+#if defined (__APPLE__)
+#include <mach/mach.h>
+#include <mach/thread_policy.h>
+#include <sys/param.h>
+#include <sys/sysctl.h>
+#endif
+
 typedef const char *(*audio_devices_t)(void);
 typedef int (*audio_open_t)(void);
 typedef void (*audio_close_t)(void);
@@ -641,6 +648,29 @@
     int default_format = ESD_BITS16 | ESD_STEREO;
     /* end test scaffolding parameters */
 
+#if defined (__APPLE__)
+    /* get realtime priority */
+    {
+       struct thread_time_constraint_policy ttcpolicy;
+       int bus_speed, mib [2] = { CTL_HW, HW_BUS_FREQ };
+       size_t len;   
+
+       len = sizeof (bus_speed);
+       sysctl (mib, 2, &bus_speed, &len, NULL, 0);
+
+       /* Is it enough? */
+       ttcpolicy.period = bus_speed / 120;
+       ttcpolicy.computation = bus_speed / 2400;
+       ttcpolicy.constraint = bus_speed / 1200;
+       ttcpolicy.preemptible = 1;
+
+       thread_policy_set (mach_thread_self (),
+                          THREAD_TIME_CONSTRAINT_POLICY,
+                          (int*)&ttcpolicy,
+                          THREAD_TIME_CONSTRAINT_POLICY_COUNT);
+    }
+#endif
+
     programname = *argv;
 
 #ifdef DRIVER_ARTS
diff -Nurd -x'*~' esound-0.2.36.orig/esd.conf esound-0.2.36/esd.conf
--- esound-0.2.36.orig/esd.conf 2004-08-18 15:01:41.000000000 -0400
+++ esound-0.2.36/esd.conf      2005-09-30 18:27:06.000000000 -0400
@@ -1,6 +1,6 @@
 [esd]
 auto_spawn=1
 spawn_options=-terminate -nobeeps -as 2
-spawn_wait_ms=100
+spawn_wait_ms=999
 # default options are used in spawned and non-spawned mode
 default_options=
diff -Nurd -x'*~' esound-0.2.36.orig/esd_config.c esound-0.2.36/esd_config.c
--- esound-0.2.36.orig/esd_config.c     2005-05-25 19:50:41.000000000 -0400
+++ esound-0.2.36/esd_config.c  2005-09-30 18:27:06.000000000 -0400
@@ -9,7 +9,7 @@
 int esd_no_spawn=1; /* If we can't even find the system config file,
                       things are screwed up - don't try to make things
                       worse. */
-int esd_spawn_wait_ms=100; /* Time to wait trying to connect to an
+int esd_spawn_wait_ms=999; /* Time to wait trying to connect to an
                              autospawned ESD, in milliseconds. */
 char esd_spawn_options[LINEBUF_SIZE] = "-terminate -nobeeps -as 2";
 
diff -urN esound-0.2.36.orig/audio_coreaudio.c esound-0.2.36/audio_coreaudio.c
--- esound-0.2.36.orig/audio_coreaudio.c        2003-06-18 08:12:23.000000000 
-0400
+++ esound-0.2.36/audio_coreaudio.c     2007-09-07 18:53:46.000000000 -0400
@@ -90,7 +90,7 @@
 #define ARCH_esd_audio_devices
 const char *esd_audio_devices()
 {
-    return "coreaudio API only";
+    return "Built-in Output, Built-in Input, etc.";
 }
 
 /*
@@ -116,18 +116,158 @@
     return (0);
   }
 
-  /********************** playback section ***************************/
-  /* get default output device */
-  propertySize = sizeof(gOutputDeviceID);
-  status = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultOutputDevice,
-                                   &propertySize,
-                                   &gOutputDeviceID);
-  if (status) {
-    fprintf(stderr, "get default output device failed, status = %d\n",
-           (int)status);
-    return (-2);
+  if (esd_audio_device) {
+    /* search for DeviceID of specified device */
+    UInt32 outSize;
+    UInt32 devIndex, numDevs;
+    UInt32 buffIndex, numChannels;
+    AudioDeviceID dev, *devList = NULL;
+    AudioBufferList *buffList = NULL;
+
+    outSize = 0;
+    status = AudioHardwareGetPropertyInfo(kAudioHardwarePropertyDevices, 
+                                          &outSize, 
+                                          NULL);
+    if (status || outSize == 0) {
+      fprintf(stderr, "get device list info failed, status = %d\n",
+              (int)status);
+      return (-2);
+    }
+    
+    numDevs = outSize/sizeof(AudioDeviceID);
+
+    /* allocate and get the device list */
+    devList = (AudioDeviceID*)malloc(outSize);
+    if (!devList) {
+      fprintf(stderr, "memory allocation failed\n");
+      return (-2);
+    }
+    status = AudioHardwareGetProperty(kAudioHardwarePropertyDevices, 
+                                      &outSize,
+                                      devList);
+    if (status) {
+      fprintf(stderr, "get device list failed, status = %d\n",
+              (int)status);
+      if (devList) free(devList);
+      return (-2);
+    }
+    
+    /* iterate through device list */
+    for (devIndex = 0; devIndex < numDevs; ++devIndex) {
+      outSize = LEN_DEVICE_NAME;
+      status = AudioDeviceGetProperty(devList[devIndex],
+                                      0,
+                                      0, 
+                                      kAudioDevicePropertyDeviceName,
+                                      &outSize, 
+                                      deviceName);
+      if (status) {
+        fprintf(stderr, "get device name failed, status = %d\n",
+                (int)status);
+        if (devList) free(devList);
+        return (-2);
+      }
+      
+      /* is this the specified device? */
+      if (strncmp(deviceName, esd_audio_device, strlen(esd_audio_device)) == 
0) {
+        /* device found, now probe for num inputs/outputs */   
+        dev = devList[devIndex];
+        
+        /* get number of input channels */
+        outSize = 0;
+        numChannels = 0;
+        status = AudioDeviceGetPropertyInfo(dev,
+                                            0, 
+                                            1, 
+                                            
kAudioDevicePropertyStreamConfiguration,
+                                            &outSize, 
+                                            NULL);
+        if(!status && (outSize != 0)) {
+          buffList = (AudioBufferList*)malloc(outSize);
+          if (!buffList) {
+            fprintf(stderr, "memory allocation failed\n");;
+            return (-2);
+          }
+          /* get the input stream configuration */
+          status = AudioDeviceGetProperty(dev, 
+                                          0, 
+                                          1, 
+                                          
kAudioDevicePropertyStreamConfiguration, 
+                                          &outSize, 
+                                          buffList);
+          if(!status) {
+            /* count the total number of input channels in the stream */
+            for(buffIndex = 0; buffIndex < buffList->mNumberBuffers; 
++buffIndex)
+              numChannels += buffList->mBuffers[buffIndex].mNumberChannels;
+          }    
+        }
+
+        /* set input device */
+        if (numChannels == 0)
+          gInputDeviceID = kAudioDeviceUnknown;
+        else
+          gInputDeviceID = dev;
+       
+
+        /* get number of output channels */
+        outSize = 0;
+        numChannels = 0;
+        status = AudioDeviceGetPropertyInfo(dev,
+                                            0, 
+                                            0, 
+                                            
kAudioDevicePropertyStreamConfiguration,
+                                            &outSize, 
+                                            NULL);
+        if(!status && (outSize != 0)) {
+          buffList = (AudioBufferList*)malloc(outSize);
+          if (!buffList) {
+            fprintf(stderr, "memory allocation failed\n");
+            return (-2);
+          }
+          /* get the input stream configuration */
+          status = AudioDeviceGetProperty(dev, 
+                                          0, 
+                                          0, 
+                                          
kAudioDevicePropertyStreamConfiguration, 
+                                          &outSize, 
+                                          buffList);
+          if(!status) {
+            // count the total number of input channels in the stream
+            for(buffIndex = 0; buffIndex < buffList->mNumberBuffers; 
++buffIndex)
+              numChannels += buffList->mBuffers[buffIndex].mNumberChannels;
+          }    
+        }
+
+        if (numChannels == 0)
+          gOutputDeviceID = kAudioDeviceUnknown;
+        else
+          gOutputDeviceID = dev;
+
+        /* found specified device so break */
+        break;
+      }
+    }
+    if (devList) free(devList);
+    if (devIndex >= numDevs) {
+      fprintf(stderr, "device not found\n");
+      return (-2);
+    }
   }
 
+  /********************** playback section ***************************/
+  if (gOutputDeviceID == kAudioDeviceUnknown) {
+    /* get default output device */
+    propertySize = sizeof(gOutputDeviceID);
+    status = 
AudioHardwareGetProperty(kAudioHardwarePropertyDefaultOutputDevice,
+                                      &propertySize,
+                                      &gOutputDeviceID);
+    if (status) {
+      fprintf(stderr, "get default output device failed, status = %d\n",
+              (int)status);
+      return (-2);
+    }
+  }
+  
   if (gOutputDeviceID != kAudioDeviceUnknown) {
     /* got default output device */
     coreaudio_has_output_device = 1;
@@ -206,15 +346,17 @@
   }
 
   /********************** record section ***************************/
-  /* get default input device */
-  propertySize = sizeof(gInputDeviceID);
-  status = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultInputDevice,
-                                   &propertySize,
-                                   &gInputDeviceID);
-  if (status) {
-    fprintf(stderr, "get default input device failed, status = %d\n",
-           (int)status);
-    return (-2);
+  if (gInputDeviceID == kAudioDeviceUnknown) {
+    /* get default input device */
+    propertySize = sizeof(gInputDeviceID);
+    status = AudioHardwareGetProperty(kAudioHardwarePropertyDefaultInputDevice,
+                                      &propertySize,
+                                      &gInputDeviceID);
+    if (status) {
+      fprintf(stderr, "get default input device failed, status = %d\n",
+              (int)status);
+      return (-2);
+    }
   }
 
   if (gInputDeviceID != kAudioDeviceUnknown) {
diff -Naur esound-0.2.38.orig/esdlib.c esound-0.2.38/esdlib.c
--- esound-0.2.38.orig/esdlib.c 2007-04-19 14:43:59.000000000 +0000
+++ esound-0.2.38/esdlib.c      2010-01-27 17:02:20.000000000 +0000
@@ -708,7 +708,7 @@
     if ( !host ) host = getenv("ESPEAKER");
 
     display = getenv( "DISPLAY" );
-    if ( !(host && *host) && display ) {
+    if ( !(host && *host) && display /* Fink: launchd socket */ && display[0] 
!= '/') {
        /* no espeaker specified, but the app should be directed to a
           remote display, so try routing the default port over there
           and see if we strike gold */

--- NEW FILE: esound.info ---
Package: esound
Version: 0.2.41
Revision: 2
BuildDependsOnly: True
Depends: %N-bin (>= %v-%r), macosx, pkgconfig
BuildDepends: fink (>= 0.24.12), audiofile (>= 0.2.4-1), macosx, docbook-utils 
(>= 0.6.14-1), pkgconfig
DescPackaging: <<
  Uses pkgconfig.
  Any package which BuildDepends on this one must also BuildDepend on:
    audiofile (>= 0.2.4-1)
  Originally packaged by Masanori Sekino.
<<
Source: mirror:gnome:sources/%n/0.2/%n-%v.tar.bz2
Source-MD5: 8d9aad3d94d15e0d59ba9dc0ea990c6c
PatchFile: %n.patch
PatchFile-MD5: 25412de2a1d9b336691adc54b8b35a92
PatchScript: <<
        %{default_script}
  perl -pi -e 's/(SOUND_LIBS="-Wl,-framework) -Wl,(CoreAudio")/$1,$2/' configure
        perl -pi -e 
's|http://www.oasis-open.org/docbook/xml|%p/share/xml/dtd/docbookx|' 
docs/esound.sgml
<<
NoSetMAKEFLAGS: true
SetMAKEFLAGS: -j1
NoSetCPPFLAGS: true
NoSetLDFLAGS: true
SetCPPFLAGS: -pipe
ConfigureParams: --mandir=%p/share/man --htmldir=%p/share/doc/esound/html 
--with-libwrap --disable-dependency-tracking
CompileScript: <<
  ./configure %c
  make -j2 EGREP='grep -E' max_cmd_len=1024
<<
InstallScript: make install DESTDIR=%d
SplitOff: <<
  Package: %N-shlibs
  Depends: %N-common (>= %v-%r), audiofile-shlibs (>= 0.2.4-1)
  Replaces: %N (<< 0.2.38-1)
  Files: lib/libesd.*.dylib
  Shlibs: %p/lib/libesd.0.dylib 3.0.0 %n (>= 0.2.28-1)
  DocFiles: AUTHORS COPYING* ChangeLog NEWS README TIPS TODO
<<
SplitOff2: <<
  Package: %N-bin
  Depends: %N-shlibs (>= %v-%r)
  Replaces: %N (<< 0.2.38-1)
  Files: <<
    bin/esd bin/esdcat bin/esdctl bin/esdfilt bin/esdloop
    bin/esdmon bin/esdplay bin/esdrec bin/esdsample
    share/man/man1
  <<
  DocFiles: AUTHORS COPYING* ChangeLog NEWS README TIPS TODO
<<
SplitOff3: <<
  Package: %N-common
  Provides: %N-data
  Replaces: %N (<< 0.2.38-1), %N-data
  Conflicts: %N-data
  Files: etc
  ConfFiles: %p/etc/esd.conf
  DocFiles: AUTHORS COPYING* ChangeLog NEWS README TIPS TODO
<<
DocFiles: AUTHORS COPYING* ChangeLog NEWS README TIPS TODO
Description: Enlightened Sound Daemon
DescDetail: <<
EsounD, the Enlightened Sound Daemon, is a server process that mixes
several audio streams for playback by a single audio device. For
example, if you're listening to music on a CD and you receive a
sound-related event from ICQ, the two applications won't have to
jockey for the use of your sound card.     
<<
DescPort: <<
This package uses a patch by Shawn Hsiao and Masanori Sekino to enable
playback and recording via the CoreAudio API. It uses some evil hacking
to keep the CoreAudio dependency out of the library - there were
symbol clashes between CarbonCore (one of CoreAudio's dependencies)
and several esd-using programs.

Also needs some help to link against the right copy of its own library.

Applied a iMacs/eMacs patch from Alexander Strange (>= 0.2.28).

Detects ARTS, but then doesn't use it (?) so no need for dependencies.

Do not link util.o into esd executable because that object is already
present as libesd_la-util.o in libesd.dylib, which is also linked into
esd. See: http://bugzilla.gnome.org/show_bug.cgi?id=317554

Employs a patch from Ojas Parekh for CoreAudio device selection.
http://bugzilla.gnome.org/show_bug.cgi?id=478292
<<
DescUsage: <<
Users have reported that esd can suddenly stop producing sound due to
changes to the OS X MIDI output bit-rate, and that 44100 Hz works.
<<
License: GPL/LGPL
Maintainer: Ojas Parekh <f...@parekhmail.net>
Homepage: http://www.gnome.org/


------------------------------------------------------------------------------
Magic Quadrant for Content-Aware Data Loss Prevention
Research study explores the data loss prevention market. Includes in-depth
analysis on the changes within the DLP market, and the criteria used to
evaluate the strengths and weaknesses of these DLP solutions.
http://www.accelacomm.com/jaw/sfnl/114/51385063/
_______________________________________________
Fink-commits mailing list
Fink-commits@lists.sourceforge.net
http://news.gmane.org/gmane.os.apple.fink.cvs

Reply via email to