having had problems with multiple devices (in my case: a "rme-hammerfall" + a "rme-hammerfall light") i have patched the pd-sources to make it work you can download a patch for pd-0.34.3 (vanilla) from ftp://iem.kug.ac.at/pd/misc/pd-updown-multidev-patch-0.34.3.tgz
linux/OSS only
all multi-card users please test and bug-report !
mfg.casd.sadr IOhannes
a README is attached
pd-0.34.3 with upsampling/downsampling support + enhanced multi-device support
get a new vanilla pd-0.34.2-source untar it to <mypath>/pd-0.34.2 run "patch -p1 -d <mypath>/pd-0.34.2 < pd-0.34-3-updown-multidev.diff" changedir to <mypath>/pd-0.34.2/src compile it with "make" install it with "make install" enjoy
have a look at the doc/3.audio.examples/74.up.downsampling.pd help-patch to see how it works
note: this is linux/OSS only !!! (no Windof, no ALSA, no RME with old (2.2.x) drivers) to get a great configuration, you should use soundcards that are somehow synched !
<blabla> pd used to have multi-device support, but did strange things which i didn't expect. for example, i am using 2 hammerfall-cards (1 real hammerfall (26 i/o) + 1 hammerfall light (18 i/o) starting pd with "-outchannels 40" allocated 8 channels on the 1st card (the "real" hammerfall) and 26 channels on the 2nd card (the hammerfall light, which really has only 18 channels); the rest was abandoned. thus i could only use 26 channels - no need for two cards, since this could be acquired with one single hammerfall too. </blabla>
with this patch, pd does what i want: have access to multiple soundcards in various configurations
"-soundindev ..." & "-soundoutdev ..." lets you specify a list of dsp-devices to be used by pd; devices are separated by commas; numbering starts at 0 (for the first card) ! pe: "-soundindev 1" uses the 2nd installed card as recording device pe: "-soundoutdev 2,0" uses the 3rd and the 1st installed cards as playback devices
"-inchannels ..." & "-outchannels ..." you can specify the number of channels for each device pe: "-inchannels 2" have 2 i-channels (no real change) pe: "-outchannels 2,4,8" use 2 channels on the 1st (specified) device, 4 o-channels on the 2nd (specified) device and 8 o-channels on the 3rd (specified) device
lets assume, you have a 1st sound-card providing 8 channels, a 2nd card with 16 channels and a last 3rd card with 2 channels i only mention flags for either in or out devices (but it works for both types) i assume that there are no other redefined flags (-in/outchannels, -soundin/outdev) used !
"" (no arguments) : use 2 i/o-channels on the first installed card (this is default)
"-inchannels 26" : use 8 ichannels on the 1st card (adc~ 1..8), 16 ichannels on the 2nd card (adc~ 9..24) and 2 ichannels on the 3rd card (adc~ 25..26): so the channels are spread over the hw-devices
"-inchannels 8,2" : use 8 channels on the 1st card (adc~ 1..8) and 2 channels on the 2nd card
"-outchannels 4,24" : use 4 channels on the 1st card (dac~ 1..4) and up to 24 channels on the 2nd card (since the 2nd card only provides 16 channels, you will only have another 16 outputs (dac~ 5..20), summing up to 20 outputs)
"-soundindev 2" : use 2 (default) ichannels on the 3rd card as adc~ 1..2
"-soundindev 0,1" : use 2 (default) ichannels on the 1st card (adc~ 1..2) and 2 (default) ichannels on the 2nd card (adc~ 3..4)
"-soundoutdev 1,0 -outchannels 8,4": use 8 ochannels on the 2nd card (dac~1..8) and 4 ochannels on the first card (dac~9..12)
"-soundindev 0,1 -outchannels 32": use 16 channels on the 1st card (dac~1..16) and 8 channels on the 2nd card (dac~17..24); the remaining channels are lost. so the channels are spread over the specified hw-devices
"-soundindev 1 -outchannels 16,16": use 16 channels on the 2nd device and 2 (remaining) channels on the 3rd device
"-soundindev 1 -inchannels 22": use 8 channels on the 1st device, the rest is lost