
On Sun, Aug 24, 2008 at 12:41 PM, John Van Enk
It implements the Haskell bindings to the PortAudio library. This is the library behind Audacious. I *have not* implemented the callback model yet, but I plan to do that.
Perhaps this will be something which is useful to you?
Looks like a great binding! We actually use portaudio in callback mode at work, with reasonable success (from C++). One question: I notice that your writeStream function represents audio using '[[a]]'. writeStream :: (Storable a) => PaStream a -- ^ The output stream -> [[a]] -- ^ The samples to be played -> Int -- ^ Number of frames -> IO (Either String ErrorCode) -- ^ The return status of the write In my experiments, I've been somewhat unsatisfied with the performance of '[[a]]' as an audio format. Would you be interested in also supporting an array-based format for audio data? I'm currently converting my program to use HCodec's Data.Audio representation, which looks pretty promising. I don't know how it performs yet, but I'll let you know. Thank you for the pointer to your library! It will make an excellent addition to the available Haskell sound libraries. Cheers, Eric