Arve Knudsen | 1 Feb 20:21 2008
Picon

Re: Missing error strings

OK, I've committed it.

Arve

On Thu, 31 Jan 2008 05:41:26 +0100, Ross Bencina <rossb <at> audiomulch.com>  
wrote:

> Hi Arve
>
> Sure, looks fine to me.
>
> Ross.
>
> ----- Original Message ----- From: "Arve Knudsen" <aknuds-1 <at> broadpark.no>
> To: "Jorge Acereda Maciá" <jacereda <at> gmail.com>;  
> <portaudio <at> techweb.rfa.org>
> Cc: "Ross Bencina" <rossb <at> audiomulch.com>; "Bjorn Roche"  
> <bjorn <at> xowave.com>
> Sent: Sunday, January 27, 2008 11:03 PM
> Subject: Re: [Portaudio] Missing error strings
>
>
>> This patch looks good to me. I can commit it if it's OK with everyone.
>>
>> Arve
>>
>> On Sat, 26 Jan 2008 15:19:26 +0100, Jorge Acereda Maciá  
>> <jacereda <at> gmail.com> wrote:
>>
>>> Hi,
(Continue reading)

Adam Seychell | 1 Feb 21:53 2008
Picon

Re: DS and MME don't support > 16bit

Ross Bencina wrote:
 >
 > I havn't looked at the code for a while so I can't be more specific than
 > that. If you can see a way to resolve the issue I'd be quite happy to
 > work with you to update the source.
 >

Hi Ross,
It seems the DS code works good enough for simple applications. Having 
browsed /src/hostapi/dsound/pa_win_ds.c , I got the impression it was 
still 'in the works'. The main issues I see is ability to correctly 
report multi channel capabilities, support > 16bit depths, determine 
optimum sample rate and optimum buffer size. DS is too flexible and 
generic of an API to make this easy. OpenStream function ignores channel 
number checking even though the maximum channels reported is always 2. I 
see an attempt at using the kernel streaming interface to resolve these 
issues, but I haven't looked at that in detail, mainly because I know 
nothing about kernel streaming.

Overall I think PA is a fantastic project. It could just need a bit more 
support in Windows.

 >
 > P.S. I notice your Australian email address, I'm in Melbourne, I'd be
 > interested to catch up if you're around here..
 >

yes, I am in Melbourne too. I'd be interested in catching up and have a 
talk.
(Continue reading)

Bjorn Roche | 2 Feb 17:20 2008

Re: configure fixes

Peter,

	Thanks again for these great patches. I've applied all them but the  
last for which I have some questions. I don't quite follow it, so I'll  
need to know how to test it, and I think you're probably not the only  
one who will want to use it so it will probably be useful to have some  
documentation on just exactly how other archis could be specified, so  
could you give an example of and alternate build? I assume you could  
use this to specify a platform, so how would I use this to, say,  
specify a ppc-only build, or a ppc+ppc64 build?

Also, the patch contains this line:

if test "x$enable_mac_universal" = "xyes" ; then

why not simply this:

if test "$enable_mac_universal" = "yes" ; then

	bjorn

On Jan 31, 2008, at 5:44 PM, Peter Grayson wrote:

> Hi all,
>
> Recently there has been some activity concerning portaudio's build
> system. Specifically, the "--enable-mac-debug" option was added to
> configure in rev 1319. One of the consequences of this changes is that
> at configure time, CFLAGS from the environment is ignored on Mac.
>
(Continue reading)

Richard Ash | 2 Feb 17:58 2008

Re: configure fixes

On Sat, 2008-02-02 at 11:20 -0500, Bjorn Roche wrote:
> 	Thanks again for these great patches. I've applied all them
Thanks - these will make looking after portaudio for audacity rather
easier (we can't build all the other libs we need universal, so rely on
doing two build runs (one for each arch) then merging them).

> Also, the patch contains this line:
> 
> if test "x$enable_mac_universal" = "xyes" ; then
> 
> why not simply this:
> 
> if test "$enable_mac_universal" = "yes" ; then

because if the variable $enable_mac_universal is not set you end
comparing an empty string to "yes", and historically some shells have
treated this as true, giving the wrong result. It's standard practise
when writing shell scripts for configure (where they need to be portable
to legacy sh implementations) to do tests for strings that may be empty
this way.

Richard
Peter Grayson | 2 Feb 18:34 2008
Picon

Re: configure fixes

On Feb 2, 2008 11:20 AM, Bjorn Roche <bjorn <at> xowave.com> wrote:
>         Thanks again for these great patches. I've applied all them but the
> last for which I have some questions. I don't quite follow it, so I'll
> need to know how to test it, and I think you're probably not the only
> one who will want to use it so it will probably be useful to have some
> documentation on just exactly how other archis could be specified, so
> could you give an example of and alternate build? I assume you could
> use this to specify a platform, so how would I use this to, say,
> specify a ppc-only build, or a ppc+ppc64 build?

I use the --disable-mac-universal in conjunction with the recipe Apple
provides for building universal libraries with autoconf projects. For
the project I work on, I have a bunch of automake/autoconf projects
that I need to compile for my application and I want to build them all
the same way. This is why I've been so keen on not having portaudio
force its own UB build -- it is the odd-man out.

Apple's ADC articles describing this recipe are here:

  http://developer.apple.com/technotes/tn2005/tn2137.html
  http://developer.apple.com/documentation/Porting/Conceptual/PortingUnix/intro/chapter_1_section_1.html

The particular configure command line I use with portaudio looks like this:

  $ CFLAGS="-O2 -g -Wall -arch i386 -arch ppc -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.3" \
    LDFLAGS="-arch i386 -arch ppc -isysroot
/Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.3" \
    ./configure --disable-mac-universal --disable-dependency-tracking

(Continue reading)

Bjorn Roche | 2 Feb 19:04 2008

Re: configure fixes

Peter,

	Thanks for your detailed explanation. It makes sense, and will be  
useful for updating the tutorial. However, although the default  
compile proceeded normally, I was unable to compile using patch 5 and  
the configure options you gave me. I have Leopard (10.5) and installed  
patch 5 (1-4 are already in svn), ran autoconf (output looked normal),  
and then make. Partial output from make is below the message. Mostly  
missing symbols.

	bjorn

On Feb 2, 2008, at 12:34 PM, Peter Grayson wrote:

> On Feb 2, 2008 11:20 AM, Bjorn Roche <bjorn <at> xowave.com> wrote:
>>        Thanks again for these great patches. I've applied all them  
>> but the
>> last for which I have some questions. I don't quite follow it, so  
>> I'll
>> need to know how to test it, and I think you're probably not the only
>> one who will want to use it so it will probably be useful to have  
>> some
>> documentation on just exactly how other archis could be specified, so
>> could you give an example of and alternate build? I assume you could
>> use this to specify a platform, so how would I use this to, say,
>> specify a ppc-only build, or a ppc+ppc64 build?
>
> I use the --disable-mac-universal in conjunction with the recipe Apple
> provides for building universal libraries with autoconf projects. For
> the project I work on, I have a bunch of automake/autoconf projects
(Continue reading)

Peter Grayson | 2 Feb 19:51 2008
Picon

Re: configure fixes

On Feb 2, 2008 1:04 PM, Bjorn Roche <bjorn <at> xowave.com> wrote:
>         Thanks for your detailed explanation. It makes sense, and will be
> useful for updating the tutorial. However, although the default
> compile proceeded normally, I was unable to compile using patch 5 and
> the configure options you gave me. I have Leopard (10.5) and installed
> patch 5 (1-4 are already in svn), ran autoconf (output looked normal),
> and then make. Partial output from make is below the message. Mostly
> missing symbols.

Definitely a bug in the patch. As it was written, the frameworks were
not making it into SHARED_FLAGS when configured with
--disable-mac-universal. This updated patch resolves this issue. I
guess I missed this because I always configure with --disable-shared
also.

The new patch should also help clarify what CFLAGS/LDFLAGS portaudio
forces always and which flags are left to the user when
--disable-mac-universal is used. Specifically, when
--disable-mac-universal is used, portaudio does not set -arches,
-isysroot, or -mmacosx-version-min; portaudio always sets -framework,
-std=c99, and -dynamiclib. I think this will be easier to maintain in
the future.

Thanks for testing these patches. I appreciate it.

Pete
Attachment (pa-disable-ub2.patch): application/octet-stream, 3473 bytes
_______________________________________________
(Continue reading)

Bjorn Roche | 2 Feb 20:12 2008

Re: configure fixes

Works fine, here so applied! I will also do my best to document it.  
Thanks again, Peter.

	bjorn
	
On Feb 2, 2008, at 1:51 PM, Peter Grayson wrote:

> On Feb 2, 2008 1:04 PM, Bjorn Roche <bjorn <at> xowave.com> wrote:
>>        Thanks for your detailed explanation. It makes sense, and  
>> will be
>> useful for updating the tutorial. However, although the default
>> compile proceeded normally, I was unable to compile using patch 5 and
>> the configure options you gave me. I have Leopard (10.5) and  
>> installed
>> patch 5 (1-4 are already in svn), ran autoconf (output looked  
>> normal),
>> and then make. Partial output from make is below the message. Mostly
>> missing symbols.
>
> Definitely a bug in the patch. As it was written, the frameworks were
> not making it into SHARED_FLAGS when configured with
> --disable-mac-universal. This updated patch resolves this issue. I
> guess I missed this because I always configure with --disable-shared
> also.
>
> The new patch should also help clarify what CFLAGS/LDFLAGS portaudio
> forces always and which flags are left to the user when
> --disable-mac-universal is used. Specifically, when
> --disable-mac-universal is used, portaudio does not set -arches,
> -isysroot, or -mmacosx-version-min; portaudio always sets -framework,
(Continue reading)

Bjorn Roche | 2 Feb 20:21 2008

Re: configure fixes


On Feb 2, 2008, at 11:58 AM, Richard Ash wrote:

> On Sat, 2008-02-02 at 11:20 -0500, Bjorn Roche wrote:
>> 	Thanks again for these great patches. I've applied all them
> Thanks - these will make looking after portaudio for audacity rather
> easier (we can't build all the other libs we need universal, so rely  
> on
> doing two build runs (one for each arch) then merging them).

His patches, with some modifications, are now applied in revision  
1330. Some time ago you mentioned some other patches you had from  
audacity. I believe this was the tail end of that discussion:

http://techweb.rfa.org/pipermail/portaudio/2008-January/008000.html

Aside from the memory barrier issue, does this settle those issues?

	bjorn

-----------------------------
Bjorn Roche
XO Wave
Digital Audio Production and Post-Production Software
http://www.xowave.com
http://blog.bjornroche.com
http://myspace.com/xowave
JS | 2 Feb 23:47 2008

Compilation problem under OS X (v 19)

Hi,

I have tried to compile the last stable version of portaudio 
(pa_stable_v19_20071207) but I get lots of link errors. I've tried with 
an earlier version and I also get linking errors.

Here is the complete error log:

gcc -dynamiclib  -o lib/.libs/libportaudio.2.0.0.dylib  
src/common/.libs/pa_allocation.o src/common/.libs/pa_converters.o 
src/common/.libs/pa_cpuload.o src/common/.libs/pa_dither.o 
src/common/.libs/pa_debugprint.o src/common/.libs/pa_front.o 
src/common/.libs/pa_process.o src/common/.libs/pa_skeleton.o 
src/common/.libs/pa_stream.o src/common/.libs/pa_trace.o 
src/os/mac_osx/.libs/pa_mac_hostapis.o src/os/unix/.libs/pa_unix_util.o 
src/hostapi/coreaudio/.libs/pa_mac_core.o 
src/hostapi/coreaudio/.libs/pa_mac_core_utilities.o 
src/hostapi/coreaudio/.libs/pa_mac_core_blocking.o 
src/common/.libs/pa_ringbuffer.o   -framework CoreAudio -framework 
AudioToolbox -framework AudioUnit -framework Carbon -arch i386 -arch ppc 
-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.3 
-install_name  /usr/local/lib/libportaudio.2.dylib 
-Wl,-compatibility_version -Wl,3 -Wl,-current_version -Wl,3.0
ld: Undefined symbols:
___sF
_fflush
_strncpy
_memset
___error
_floor
(Continue reading)


Gmane