Derelict also has 1-byte aligned struct members and it might suffer
from the same issues, but I haven't tested it out so I can't confirm.
In either case Derelict is a game-oriented library, and contains no
examples on how to use PortAudio, plus it's on dsource which is a
graveyard of dead projects anyway.
Hi, I'm the one which once made a PortAudio derelict binding based on previous
work (http://www.dsource.org/projects/bindings/wiki/Portaudio). I made a
derelict extension because I didn't know how to do otherwise :)
Portaudio is not a library choice I would make again. I was bitten hard with
sound-card dependent synchronization issues, perhaps related to this alignment
problem I did not see. BASS and FMOD are the ones I would use now. I made a
partial BASS derelict binding too later on.
Cool project btw.
For the above reasons (and because I've worked on PortMidi as well),
I've started my own bindings to PortAudio. Currently it's only built
on Win32 platforms, but I'll see about getting it to work on Linux as
well.
Project link: https://github.com/AndrejMitrovic/DPortAudio
It has about 15 ported tests, with a few dozen more to do.
It also has one standalone example, in which you can play your qwerty
keyboard and the app will play a sinewave at a certain tone in the
left and right channles, and draw the sinewaves on the screen for both
channels. The visuals are updated as you play your keyboard. :) This
example is currently built on win32 only.
Here's a screenshot:
http://i.imgur.com/7zsdJ.png
More samples will be coming by, including how to use PortAudio with
PortMidi to make some cool realtime manipulation of audio data and
visuals via a MIDI interface.