[Portaudio] Compilation Instructions for Windows

Ross Bencina rossb-lists at audiomulch.com
Sun Jul 11 07:05:00 EDT 2010

Hi Chris

I'm not really sure how to progress this conversation, but I think it's worth having. I'm going to give it a go, hopefully without taking this too personally, or making it too personal...

With all due respect, and please don't take this personally, the lack of help I received in my first efforts at working with PortAudio and the quote above strike me not as arrogant -- that would be too strong a word -- but the phrase high-handed certainly applies. 

I knew I was being "high-handed" if not arrogant when I wrote it. But, I did write it for a reason, and that's because I'm not really sure how else to react when you express unrealistic expectations about the complexity of building a piece of C/C++ code when you, by your own admission, have little idea about even basic C/C++ concepts such as include paths, let alone the complexities of floating point optimisation settings.

For me, if someone is going to mess with C/C++ code they have to take it upon themselves to learn this stuff -- I did the hard yards and taught myself how to build things from raw source, trace dependencies, debug linker errors, port code from foreign platforms and I expect any other competent developer to be able to do the same -- that's a big part of what being a developer is. I imagine you've done this yourself in your preferred language(s) and I mean no disrespect when I suggest this stuff.

I find it difficult to understand how anyone can reasonably expect this PortAudio specific list and its (oft time-poor) developers to provide unflagging support to novices learning to do things which are broad, basic developer knowledge: Information that can be learnt totally outside the realm of PortAudio in any forum or newsgroup dedicated to (Windows) C/C++ development or resolved with a series of google searches. We do try to help out, when we can. I usually stick to the  design and architecture questions because I know that's where my time is best spent.

The only way I can think of right now to reconcile this (and please correct me if I'm wrong) is that you and I have quite different views about who PortAudio is targeted at. Now, fundamentally I'm all for inclusion and helping everyone, when I can. But, I think it's fair to say that PortAudio is a library of C/C++ code targeted at developers -- with this in mind, I don't think the expectations I've voiced above about developers are unreasonable. I take your point about you not being a C/C++ developer -- but if you want to be a consumer of the PA source, I don't think it's unreasonable for me to apply these same standards to you. But your attitude is that we're not doing our job properly (OK, now I am taking this a bit personally) if we don't have documentation or an approach which hand-holds non-C/C++ developers. I think this is a dangerous attitude, not the least because it continues to foster false expectations that configuring a build environment and building C/C++ from source is, should or can be easy -- there are a lot of variables involved and most have little or nothing to do with PA.

Although, as I said, I would love to help the broadest range of people, I'm pretty happy with my stated position -- I don't think, given our available resources, it's reasonable to expect the core PA developers to provide this kind of support, so I whole heartedly welcome your input. My concern is that your work, over time, will become as inaccurate as previous "how to build" documents are now (I remember contributing to them, and they worked great at one time), and that I will be, once again in five years time having this same conversation with someone else -- perhaps that's just the way of things, but it doesn't sit very well with me.

Perhaps a better solution than a cookbook steps-to-build howto is to write a guide to actually understanding how to build the source, the steps involved and what problems might be encountered. At least that would result in educated users instead of check-list followers.

Ok, that's my 2 cents for now.

Thanks for reading,


  ----- Original Message ----- 
  From: c319chris at aol.com 
  To: portaudio at music.columbia.edu 
  Sent: Saturday, July 10, 2010 5:25 PM
  Subject: Re: [Portaudio] Compilation Instructions for Windows

  << I appreciate and encourage your efforts in trying to make the documentation fool-proof, but really, if someone doesn't know how to do stuff like imho this it is not PA's problem.

  I don't mean to lecture either, but this is very basic stuff. If you're going to work in C/C++ or any other language for that matter, you need to know how to use your development tools. >>

  Ross -

  I know how to use the development tools I work with and they are not C/C++. There are some of us who program for PortAudio in other languages. When I started working with PA several years ago, all I wanted to do was be able to compile the DLL myself and I was not set up with a C/C++ development environment at the time. My efforts at learning how to do that on this very mailing list were for naught (I'm being polite here) and I gave up on Port Audio for several years. What may seem trivially easy for someone who uses these tools all the time is not trivially easy for someone who has never done it before. We all start at the bottom of the learning curve; no one is born with these skills. With all due respect, and please don't take this personally, the lack of help I received in my first efforts at working with PortAudio and the quote above strike me not as arrogant -- that would be too strong a word -- but the phrase high-handed certainly applies. Once Trond posted his how-to on another forum elsewhere I was off to the races and was able to compile the dll myself and work with PortAudio in a familiar environment. As a direct result of this I was able to help Dmitry work out many of the issues he was having with WASAPI by private email. So you see, there was a benefit to Trond posting his how-to, and what I posted is taken largely from his post. I learned from bitter experience that if anything, PortAudio needs to be less newbie-hostile; that's why I'm expending the time and effort to upgrade the docs.

  BTW I programmed in C for the Amiga approximately 25 years ago and simply don't like the language (and the compilers were mortally show).

  Now I'll stop lecturing :-)



  Portaudio mailing list
  Portaudio at music.columbia.edu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://music.columbia.edu/pipermail/portaudio/attachments/20100711/1c45e48f/attachment.html>

More information about the Portaudio mailing list