# Makes the subdevices aka channel 1&2 and 3&4 available for alsa applications pcm_slave.sl12 { pcm "hw:AudioKontrol1,0,0" format S24_3BE channels 2 rate 192000 } pcm.channel12 { type plug slave sl12 #slave.pcm pulse } pcm_slave.sl34 { pcm "hw:AudioKontrol1,0,1" format S24_3BE channels 2 rate 192000 } pcm.channel34 { type plug slave sl34 #slave.pcm pulse } # create a virtual four-channel device with two sound devices: # This is in fact two interleaved stereo streams in # different memory locations, so JACK will complain that it # cannot get mmap-based access. see below. pcm.multi { type multi; slaves.a.pcm "hw:AudioKontrol1,0,0"; slaves.a.channels 2; slaves.b.pcm "hw:AudioKontrol1,0,1"; slaves.b.channels 2; bindings.0.slave a; bindings.0.channel 0; bindings.1.slave a; bindings.1.channel 1; bindings.2.slave b; bindings.2.channel 0; bindings.3.slave b; bindings.3.channel 1; } # JACK will be unhappy if there is no mixer to talk to, so we set # this to the usb card. ctl.multi { type hw; card AudioKontrol1; } # This creates a 4 channel interleaved pcm stream based on # the multi device. JACK will work with this one. pcm.ttable { type route; slave.pcm "multi"; slave.channels 4; ttable.0.0 1; ttable.1.1 1; ttable.2.2 1; ttable.3.3 1; } # see above. ctl.ttable { type hw; card AudioKontrol1; }