[PD] PD support for new alsa
Karl MacMillan
karlmac at peabody.jhu.edu
Mon Apr 23 00:48:04 CEST 2001
Well, looking at the code there are two problems:
1) change lines 1715 and 1797 from the form
err = snd_pcm_hw_params_set_channels_max(alsa_device.outhandle,
hw_params, &outchans);
to
err = snd_pcm_hw_params_set_channels(alsa_device.outhandle,
hw_params, outchans);
The max function doesn't seem to be reliable or at least do what I expect.
All of these functions need to be looked at. The deal is that alsa-lib is
supposed to have functions that say 'set to this value or the closest
valid value above/below/whatever' but I have never been able to make them
work reliably. The plain set_* functions will fail if the exact param
cannot be set, which is hardly ideal. The last time I really tested all
of this was before the beta versions came out, so maybe things are
improved. I will check.
2) change lines 1918 and 1919 to equal DACBLKSIZE instead of DACBLKSIZE *
nchannels. In the debugging process this got set to incorrectly. This
makes the alsa_send_dacs function actually deal with frames :)
Hope this helps,
Karl
P.S. To make things less confusing I am removing my pd versions from my
website.
On Sun, 22 Apr 2001, Karl MacMillan wrote:
> Great! Not certain about the problems that you are having - I will be
> interested to see the solution. I tried to do a pretty straight port of
> the 0.5 code so it is a little surprising that things don't work. Almost
> the only change in alsa_send_dacs is to switch from bytes to frames. The
> alsa api might be changing again, by the way (this constant change is, to
> say the least, tiresome). Maybe a formal release should wait until alsa
> 1.0 comes out, whenever that is!
>
> Karl
>
> On Sun, 22 Apr 2001, Miller Puckette wrote:
>
> > I've merged Karl's version with mine (it now conditionally compiles for
> > ALSA 0.5 or 0.9). I'm haveing some trouble getting the 0.9 part to work.
> > On my soundblaster the audio output is an octave down (as if the card were
> > getting addressed in mono.)... my Midiman Delta 66 isn't working at all.
> > I'll try to get this debugged but in the meantime the merged source code
> > is sitting in:
> >
> > http://crca.ucsd.edu/~msp/Software/pd-src.tar.gz
> >
> > cheers
> > Miller
> >
> > On Fri, Apr 20, 2001 at 12:17:57PM -0400, Karl MacMillan wrote:
> > > I decided to go ahead and put up a modified pd with alsa support:
> > >
> > > mambo.peabody.jhu.edu/~karlmac/download/pd/pd-032PATCH6-alsa2-linux.tar.gz
> > >
> > > This changes -alsadev to allow you to specify the device name - the
> > > defualt is still "hw:0,0". It also fixes the bug preventing the use of
> > > -noadc and -nodac.
> > >
> > > Karl
> > >
> > >
> > > _____________________________________________________
> > > | Karl W. MacMillan |
> > > | Computer Music Department |
> > > | Peabody Institute of the Johns Hopkins University |
> > > | karlmac at peabody.jhu.edu |
> > > | www.peabody.jhu.edu/~karlmac |
> > > -----------------------------------------------------
> > >
> >
>
> _____________________________________________________
> | Karl W. MacMillan |
> | Computer Music Department |
> | Peabody Institute of the Johns Hopkins University |
> | karlmac at peabody.jhu.edu |
> | www.peabody.jhu.edu/~karlmac |
> -----------------------------------------------------
>
>
_____________________________________________________
| Karl W. MacMillan |
| Computer Music Department |
| Peabody Institute of the Johns Hopkins University |
| karlmac at peabody.jhu.edu |
| www.peabody.jhu.edu/~karlmac |
-----------------------------------------------------
More information about the Pd-list
mailing list