Include.pcm_split.File "/common/pcm/split.conf" # This profile only exposes the most common channel configurations to limit # combinatorial complexity: # # - Analog line outputs in stereo as well as 4.0 and 5.1 surround, # - analog microphone and instrument inputs in mono only, # - ADAT outputs and inputs in direct 8‐channel mapping, and # - all other outputs and inputs in stereo. Macro [ { SplitPCM { Name "ucx2_stereo_out" Direction Playback Format S24_3LE Channels 2 HWChannels 20 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR HWChannelPos4 FL HWChannelPos5 FR HWChannelPos6 FL HWChannelPos7 FR HWChannelPos8 FL HWChannelPos9 FR HWChannelPos10 FL HWChannelPos11 FR HWChannelPos12 FL HWChannelPos13 FR HWChannelPos14 FL HWChannelPos15 FR HWChannelPos16 FL HWChannelPos17 FR HWChannelPos18 FL HWChannelPos19 FR } } { SplitPCM { Name "ucx2_surround40_out" Direction Playback Format S24_3LE Channels 4 HWChannels 20 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 RL HWChannelPos3 RR HWChannelPos4 UNKNOWN HWChannelPos5 UNKNOWN HWChannelPos6 UNKNOWN HWChannelPos7 UNKNOWN HWChannelPos8 UNKNOWN HWChannelPos9 UNKNOWN HWChannelPos10 UNKNOWN HWChannelPos11 UNKNOWN HWChannelPos12 FL HWChannelPos13 FR HWChannelPos14 RL HWChannelPos15 RR HWChannelPos16 FL HWChannelPos17 FR HWChannelPos18 RL HWChannelPos19 RR } } { SplitPCM { Name "ucx2_surround51_out" Direction Playback Format S24_3LE Channels 6 HWChannels 20 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 RL HWChannelPos3 RR HWChannelPos4 FC HWChannelPos5 LFE HWChannelPos6 UNKNOWN HWChannelPos7 UNKNOWN HWChannelPos8 UNKNOWN HWChannelPos9 UNKNOWN HWChannelPos10 UNKNOWN HWChannelPos11 UNKNOWN HWChannelPos12 FL HWChannelPos13 FR HWChannelPos14 RL HWChannelPos15 RR HWChannelPos16 FC HWChannelPos17 LFE HWChannelPos18 UNKNOWN HWChannelPos19 UNKNOWN } } { SplitPCM { Name "ucx2_adat_out" Direction Playback Format S24_3LE Channels 8 HWChannels 20 HWChannelPos0 UNKNOWN HWChannelPos1 UNKNOWN HWChannelPos2 UNKNOWN HWChannelPos3 UNKNOWN HWChannelPos4 UNKNOWN HWChannelPos5 UNKNOWN HWChannelPos6 UNKNOWN HWChannelPos7 UNKNOWN HWChannelPos8 UNKNOWN HWChannelPos9 UNKNOWN HWChannelPos10 UNKNOWN HWChannelPos11 UNKNOWN HWChannelPos12 UNKNOWN HWChannelPos13 UNKNOWN HWChannelPos14 UNKNOWN HWChannelPos15 UNKNOWN HWChannelPos16 UNKNOWN HWChannelPos17 UNKNOWN HWChannelPos18 UNKNOWN HWChannelPos19 UNKNOWN } } { SplitPCM { Name "ucx2_mono_in" Direction Capture Format S24_3LE Channels 1 HWChannels 20 HWChannelPos0 MONO HWChannelPos1 MONO HWChannelPos2 MONO HWChannelPos3 MONO HWChannelPos4 MONO HWChannelPos5 MONO HWChannelPos6 MONO HWChannelPos7 MONO HWChannelPos8 MONO HWChannelPos9 MONO HWChannelPos10 MONO HWChannelPos11 MONO HWChannelPos12 MONO HWChannelPos13 MONO HWChannelPos14 MONO HWChannelPos15 MONO HWChannelPos16 MONO HWChannelPos17 MONO HWChannelPos18 MONO HWChannelPos19 MONO } } { SplitPCM { Name "ucx2_stereo_in" Direction Capture Format S24_3LE Channels 2 HWChannels 20 HWChannelPos0 FL HWChannelPos1 FR HWChannelPos2 FL HWChannelPos3 FR HWChannelPos4 FL HWChannelPos5 FR HWChannelPos6 FL HWChannelPos7 FR HWChannelPos8 FL HWChannelPos9 FR HWChannelPos10 FL HWChannelPos11 FR HWChannelPos12 FL HWChannelPos13 FR HWChannelPos14 FL HWChannelPos15 FR HWChannelPos16 FL HWChannelPos17 FR HWChannelPos18 FL HWChannelPos19 FR } } { SplitPCM { Name "ucx2_adat_in" Direction Capture Format S24_3LE Channels 8 HWChannels 20 HWChannelPos0 UNKNOWN HWChannelPos1 UNKNOWN HWChannelPos2 UNKNOWN HWChannelPos3 UNKNOWN HWChannelPos4 UNKNOWN HWChannelPos5 UNKNOWN HWChannelPos6 UNKNOWN HWChannelPos7 UNKNOWN HWChannelPos8 UNKNOWN HWChannelPos9 UNKNOWN HWChannelPos10 UNKNOWN HWChannelPos11 UNKNOWN HWChannelPos12 UNKNOWN HWChannelPos13 UNKNOWN HWChannelPos14 UNKNOWN HWChannelPos15 UNKNOWN HWChannelPos16 UNKNOWN HWChannelPos17 UNKNOWN HWChannelPos18 UNKNOWN HWChannelPos19 UNKNOWN } } ] # Analog outputs SectionDevice.Headphones { Comment "Headphones" Value { PlackbackPriority 255 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_stereo_out" Direction Playback HWChannels 20 Channels 2 Channel0 6 Channel1 7 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line 1" { Comment "Line Output 1+2" Value { PlackbackPriority 192 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_stereo_out" Direction Playback HWChannels 20 Channels 2 Channel0 0 Channel1 1 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line 2" { Comment "Line Output 3+4" Value { PlackbackPriority 191 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_stereo_out" Direction Playback HWChannels 20 Channels 2 Channel0 2 Channel1 3 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line 3" { Comment "Line Output 5+6" Value { PlackbackPriority 190 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_stereo_out" Direction Playback HWChannels 20 Channels 2 Channel0 4 Channel1 5 ChannelPos0 FL ChannelPos1 FR } } # Analog outputs in 4.0 surround configuration SectionDevice."Line 4" { Comment "Line Output 1-4 (4.0 Surround)" ConflictingDevice [ "Line 1" "Line 2" ] Value { PlackbackPriority 160 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_surround40_out" Direction Playback HWChannels 20 Channels 4 Channel0 0 Channel1 1 Channel2 2 Channel3 3 ChannelPos0 FL ChannelPos1 FR ChannelPos2 RL ChannelPos3 RR } } # Analog outputs in 5.1 surround configuration SectionDevice."Line 5" { Comment "Line Output 1-6 (5.1 Surround)" Value { PlackbackPriority 144 } ConflictingDevice [ "Line 1" "Line 2" "Line 3" "Line 4" ] Macro.pcm_split.SplitPCMDevice { Name "ucx2_surround51_out" Direction Playback HWChannels 20 Channels 6 Channel0 0 Channel1 1 Channel2 2 Channel3 3 Channel4 4 Channel5 5 ChannelPos0 FL ChannelPos1 FR ChannelPos2 RL ChannelPos3 RR ChannelPos4 FC ChannelPos5 LFE } } # Analog inputs SectionDevice."Mic 1" { Comment "Line Input 1 (Microphone)" Value { CapturePriority 176 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_mono_in" Direction Capture HWChannels 20 Channels 1 Channel0 0 ChannelPos0 MONO } } SectionDevice."Mic 2" { Comment "Line Input 2 (Microphone)" Value { CapturePriority 175 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_mono_in" Direction Capture HWChannels 20 Channels 1 Channel0 1 ChannelPos0 MONO } } SectionDevice."Line 6" { Comment "Line Input 3 (Instrument)" Value { CapturePriority 174 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_mono_in" Direction Capture HWChannels 20 Channels 1 Channel0 2 ChannelPos0 MONO } } SectionDevice."Line 7" { Comment "Line Input 4 (Instrument)" Value { CapturePriority 173 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_mono_in" Direction Capture HWChannels 20 Channels 1 Channel0 3 ChannelPos0 MONO } } SectionDevice."Line 8" { Comment "Line Input 5+6" Value { CapturePriority 172 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_stereo_in" Direction Capture HWChannels 20 Channels 2 Channel0 4 Channel1 5 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Line 9" { Comment "Line Input 7+8" Value { CapturePriority 171 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_stereo_in" Direction Capture HWChannels 20 Channels 2 Channel0 6 Channel1 7 ChannelPos0 FL ChannelPos1 FR } } # Digital (consumer) outputs SectionDevice."SPDIF 1" { Comment "AES3 (S/PDIF) Coax Output" Value { PlackbackPriority 112 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_stereo_out" Direction Playback HWChannels 20 Channels 2 Channel0 8 Channel1 9 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."SPDIF 2" { Comment "S/PDIF Optical Output" ConflictingDevice [ "Direct 1" ] Value { PlackbackPriority 111 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_stereo_out" Direction Playback HWChannels 20 Channels 2 Channel0 12 Channel1 13 ChannelPos0 FL ChannelPos1 FR } } # Digital (consumer) inputs SectionDevice."SPDIF 3" { Comment "AES3 (S/PDIF) Coax Input" Value { CapturePriority 112 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_stereo_in" Direction Capture HWChannels 20 Channels 2 Channel0 8 Channel1 9 ChannelPos0 FL ChannelPos1 FR } } # Digital (professional) outputs SectionDevice."SPDIF 4" { Comment "AES3 XLR Ouptut" Value { PlackbackPriority 80 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_stereo_out" Direction Playback HWChannels 20 Channels 2 Channel0 10 Channel1 11 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Direct 1" { Comment "ADAT Optical Output" Value { PlackbackPriority 48 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_adat_out" Direction Playback HWChannels 20 Channels 8 Channel0 12 Channel1 13 Channel2 14 Channel3 15 Channel4 16 Channel5 17 Channel6 18 Channel7 19 ChannelPos0 UNKNOWN ChannelPos1 UNKNOWN ChannelPos2 UNKNOWN ChannelPos3 UNKNOWN ChannelPos4 UNKNOWN ChannelPos5 UNKNOWN ChannelPos6 UNKNOWN ChannelPos7 UNKNOWN } } # Digital (professional) inputs SectionDevice."SPDIF 5" { Comment "AES3 (S/PDIF) XLR Input" Value { CapturePriority 80 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_stereo_in" Direction Capture HWChannels 20 Channels 2 Channel0 10 Channel1 11 ChannelPos0 FL ChannelPos1 FR } } SectionDevice."Direct 2" { Comment "ADAT Optical Input" Value { CapturePriority 48 } Macro.pcm_split.SplitPCMDevice { Name "ucx2_adat_in" Direction Capture HWChannels 20 Channels 8 Channel0 12 Channel1 13 Channel2 14 Channel3 15 Channel4 16 Channel5 17 Channel6 18 Channel7 19 ChannelPos0 UNKNOWN ChannelPos1 UNKNOWN ChannelPos2 UNKNOWN ChannelPos3 UNKNOWN ChannelPos4 UNKNOWN ChannelPos5 UNKNOWN ChannelPos6 UNKNOWN ChannelPos7 UNKNOWN } }