[PD] pd 0.37 / multichannel / alsa vs oss

Frank Barknecht fbar at footils.org
Sun Sep 21 23:16:54 CEST 2003


Hallo,

Tim Blechmann hat gesagt: // Tim Blechmann wrote:

> i'm trying to set up my pd 0.37 for my maudio quattro. i used to define
> a quattro device with 4 channels in an .asoundrc file, but pd doesn't
> want to start with the -alsadev flag.
> 
> in the audio settings dialog, i can select the USB Audio Quattro, but
> both hardware and plugin mode only use 2 channels (even if i set 4
> channels).
> any ideas?
> 
> using the oss layer, i can use either the first or the second 2
> channels, but when using multiple devices, it won't work, too...
> 
> any clues?

On my laptop I had the same problem but with Pd 0.36. I'm now using
the Jack interface there. 

The old -alsadev flag is obsolete now, -audiodev should replace it,
but it only accepts device numbers, which assumes that devices can be
numbered. With ALSA, this is not the case: the user can define any
name for any kind of audio-pcm. No one can guess what's in a user's
asoundrc. 

The only real solution to this would be to enable the (ALSA-)user to
select devices by a device string. Then this string should be used in
snd_pcm_open. Pd doesn't do this currently. It assumes: 
	
	/* device names are hw:0, plughw:0, hw:1, and so on. */
	[from: s_alsa_audio.c]

For example: In the s_audio_alsa.c code, there is a function
"alsa_getdevs" which looks for ALSA devices "by card": 

    /* For each hardware card found, we list two devices, the "hard" and
    "plug" one.  The card scan is derived from portaudio code. */
	[from: s_alsa_audio.c]

The problem is, that the Quatto asoundrc definitions on
alsa-project.org, that most people use, don't correspond to this
schema: they are arbitrary names.  

I don't know, how Portaudio copes with this. The comment above doesn't
look good. ;) As Pd did the switch to Portaudio, which is a good
thing, IMO, this area might be worth investigating. 

ciao
-- 
 Frank Barknecht                               _ ______footils.org__




More information about the Pd-list mailing list