From: Sebastian Mangelsen (sebman) Date: Sat, 28 May 2022 20:35:16 +0000 (+0200) Subject: ucm2 profile for Behringer Flow8 X-Git-Tag: v1.2.7.1~12 X-Git-Url: https://git.alsa-project.org/?a=commitdiff_plain;h=b4dc192326ee62a3f149abb1fa6682cd4237f172;p=alsa-ucm-conf.git ucm2 profile for Behringer Flow8 - kudos to Pekka Oinas for supporting me finding the right settings - provides an UCM2 profile for Behringer's digital mixer Flow configured into "streaming" mode - 2 stereo outputs, 1 stereo input - second UCM2 profile for Behringer Flow8 recording mode - 10 channel input, 4 channel out - MIC1-4, Line-56, Line-78, Master/Monitor Fixes: https://github.com/alsa-project/alsa-ucm-conf/pull/160 Signed-off-by: Sebastian Mangelsen (sebman) Signed-off-by: Jaroslav Kysela --- diff --git a/ucm2/USB-Audio/Behringer/Flow8-Recording-Hifi.conf b/ucm2/USB-Audio/Behringer/Flow8-Recording-Hifi.conf new file mode 100644 index 0000000..7215b9b --- /dev/null +++ b/ucm2/USB-Audio/Behringer/Flow8-Recording-Hifi.conf @@ -0,0 +1,289 @@ +Include.pcm_split.File "/common/pcm/split.conf" + +Macro [ + { + SplitPCM { + Name "flow8_stereo_out" + Direction Playback + Channels 2 + HWChannels 4 + HWChannelPos0 FL + HWChannelPos1 FR + HWChannelPos2 FL + HWChannelPos3 FR + } + } + { + SplitPCM { + Name "flow8_stereo_in" + Direction Capture + Channels 2 + HWChannels 10 + HWChannelPos0 FL + HWChannelPos1 FR + HWChannelPos2 FL + HWChannelPos3 FR + HWChannelPos4 FL + HWChannelPos5 FR + HWChannelPos6 FL + HWChannelPos7 FR + HWChannelPos8 FL + HWChannelPos9 FR + } + } + { + SplitPCM { + Name "flow8_mono_in" + Direction Capture + Channels 1 + HWChannels 10 + HWChannelPos0 MONO + HWChannelPos1 MONO + HWChannelPos2 MONO + HWChannelPos3 MONO + HWChannelPos4 MONO + HWChannelPos5 MONO + HWChannelPos6 MONO + HWChannelPos7 MONO + HWChannelPos8 MONO + HWChannelPos9 MONO + } + } +] + +SectionDevice."Line1" { + Comment "USB-12 L/R" + + Value { + PlaybackPriority 100 + } + + Macro.pcm_split.SplitPCMDevice { + Name "flow8_stereo_out" + Direction Playback + HWChannels 4 + Channels 2 + Channel0 0 + Channel1 1 + ChannelPos0 FL + ChannelPos1 FR + } +} + +SectionDevice."Line2" { + Comment "USB-34 L/R" + + Value { + PlaybackPriority 200 + } + + Macro.pcm_split.SplitPCMDevice { + Name "flow8_stereo_out" + Direction Playback + HWChannels 4 + Channels 2 + Channel0 2 + Channel1 3 + ChannelPos0 FL + ChannelPos1 FR + } +} + +SectionDevice."Mic1" { + Comment "Mic 1" + + Value { + CapturePriority 100 + } + Macro.pcm_split.SplitPCMDevice { + Name "flow8_mono_in" + Direction Capture + HWChannels 10 + Channels 1 + Channel0 0 + ChannelPos0 MONO + } +} + +SectionDevice."Mic2" { + Comment "Mic 2" + + Value { + CapturePriority 101 + } + Macro.pcm_split.SplitPCMDevice { + Name "flow8_mono_in" + Direction Capture + HWChannels 10 + Channels 1 + Channel0 1 + ChannelPos0 MONO + } +} + +SectionDevice."Mic3" { + Comment "Mic 3" + + Value { + CapturePriority 102 + } + Macro.pcm_split.SplitPCMDevice { + Name "flow8_mono_in" + Direction Capture + HWChannels 10 + Channels 1 + Channel0 2 + ChannelPos0 MONO + } +} + +SectionDevice."Mic4" { + Comment "Mic 4" + + Value { + CapturePriority 103 + } + Macro.pcm_split.SplitPCMDevice { + Name "flow8_mono_in" + Direction Capture + HWChannels 10 + Channels 1 + Channel0 3 + ChannelPos0 MONO + } +} + +SectionDevice."Line5" { + Comment "Line/Inst 5 (L)" + + ConflictingDevice [ + "Line56" + ] + + Value { + CapturePriority 104 + } + Macro.pcm_split.SplitPCMDevice { + Name "flow8_mono_in" + Direction Capture + HWChannels 10 + Channels 1 + Channel0 4 + ChannelPos0 MONO + } +} + +SectionDevice."Line6" { + Comment "Line/Inst(HiZ) 6 (R)" + + ConflictingDevice [ + "Line56" + ] + + Value { + CapturePriority 105 + } + Macro.pcm_split.SplitPCMDevice { + Name "flow8_mono_in" + Direction Capture + HWChannels 10 + Channels 1 + Channel0 5 + ChannelPos0 MONO + } +} + +SectionDevice."Line7" { + Comment "Line/Inst 7 (L)" + + ConflictingDevice [ + "Line78" + ] + + Value { + CapturePriority 106 + } + Macro.pcm_split.SplitPCMDevice { + Name "flow8_mono_in" + Direction Capture + HWChannels 10 + Channels 1 + Channel0 6 + ChannelPos0 MONO + } +} + +SectionDevice."Line8" { + Comment "Line/Inst(HiZ) 8 (R)" + + ConflictingDevice [ + "Line78" + ] + + Value { + CapturePriority 107 + } + Macro.pcm_split.SplitPCMDevice { + Name "flow8_mono_in" + Direction Capture + HWChannels 10 + Channels 1 + Channel0 7 + ChannelPos0 MONO + } +} + + +SectionDevice."Line56" { + Comment "Line-56 L/R" + + Value { + CapturePriority 108 + } + Macro.pcm_split.SplitPCMDevice { + Name "flow8_stereo_in" + Direction Capture + HWChannels 10 + Channels 2 + Channel0 4 + Channel1 5 + ChannelPos0 FL + ChannelPos1 FR + } +} + +SectionDevice."Line78" { + Comment "Line-78 L/R" + + Value { + CapturePriority 109 + } + Macro.pcm_split.SplitPCMDevice { + Name "flow8_stereo_in" + Direction Capture + HWChannels 10 + Channels 2 + Channel0 6 + Channel1 7 + ChannelPos0 FL + ChannelPos1 FR + } +} + +SectionDevice."LineMaster" { + Comment "Master/Monitor L/R" + + Value { + CapturePriority 110 + } + Macro.pcm_split.SplitPCMDevice { + Name "flow8_stereo_in" + Direction Capture + HWChannels 10 + Channels 2 + Channel0 8 + Channel1 9 + ChannelPos0 FL + ChannelPos1 FR + } +} diff --git a/ucm2/USB-Audio/Behringer/Flow8-Recording.conf b/ucm2/USB-Audio/Behringer/Flow8-Recording.conf new file mode 100644 index 0000000..0786d2f --- /dev/null +++ b/ucm2/USB-Audio/Behringer/Flow8-Recording.conf @@ -0,0 +1,11 @@ +Comment "Behringer Flow8 Recording Mode" + +SectionUseCase."Recording" { + Comment "Recording Mode (4 chan output, 10 chan input)" + File "/USB-Audio/Behringer/Flow8-Recording-Hifi.conf" +} + +Define.DirectPlaybackChannels 4 +Define.DirectCaptureChannels 10 + +Include.dhw.File "/common/direct.conf" diff --git a/ucm2/USB-Audio/Behringer/Flow8-Streaming-Hifi.conf b/ucm2/USB-Audio/Behringer/Flow8-Streaming-Hifi.conf new file mode 100644 index 0000000..0b18abd --- /dev/null +++ b/ucm2/USB-Audio/Behringer/Flow8-Streaming-Hifi.conf @@ -0,0 +1,82 @@ +Include.pcm_split.File "/common/pcm/split.conf" + +Macro [ + { + SplitPCM { + Name "flow8_stereo_out" + Direction Playback + Channels 2 + HWChannels 4 + HWChannelPos0 FL + HWChannelPos1 FR + HWChannelPos2 FL + HWChannelPos3 FR + } + } + { + SplitPCM { + Name "flow8_stereo_in" + Direction Capture + Channels 2 + HWChannels 2 + HWChannelPos0 FL + HWChannelPos1 FR + } + } +] + +SectionDevice."Line1" { + Comment "USB-12 L/R" + + Value { + PlaybackPriority 100 + } + + Macro.pcm_split.SplitPCMDevice { + Name "flow8_stereo_out" + Direction Playback + HWChannels 4 + Channels 2 + Channel0 0 + Channel1 1 + ChannelPos0 FL + ChannelPos1 FR + } +} + +SectionDevice."Line2" { + Comment "USB-34 L/R" + + Value { + PlaybackPriority 200 + } + + Macro.pcm_split.SplitPCMDevice { + Name "flow8_stereo_out" + Direction Playback + HWChannels 4 + Channels 2 + Channel0 2 + Channel1 3 + ChannelPos0 FL + ChannelPos1 FR + } +} + +SectionDevice."Line3" { + Comment "Master/Mon L/R" + + Value { + CapturePriority 100 + } + Macro.pcm_split.SplitPCMDevice { + Name "flow8_stereo_in" + Direction Capture + HWChannels 2 + Channels 2 + Channel0 0 + Channel1 1 + ChannelPos0 FL + ChannelPos1 FR + } +} diff --git a/ucm2/USB-Audio/Behringer/Flow8-Streaming.conf b/ucm2/USB-Audio/Behringer/Flow8-Streaming.conf new file mode 100644 index 0000000..6a1f4cc --- /dev/null +++ b/ucm2/USB-Audio/Behringer/Flow8-Streaming.conf @@ -0,0 +1,11 @@ +Comment "Behringer Flow8 Streaming Mode" + +SectionUseCase."Streaming" { + Comment "Streaming Mode (4 chan output, 2 chan input)" + File "/USB-Audio/Behringer/Flow8-Streaming-Hifi.conf" +} + +Define.DirectPlaybackChannels 4 +Define.DirectCaptureChannels 2 + +Include.dhw.File "/common/direct.conf" diff --git a/ucm2/USB-Audio/USB-Audio.conf b/ucm2/USB-Audio/USB-Audio.conf index b8e0267..2e14b12 100644 --- a/ucm2/USB-Audio/USB-Audio.conf +++ b/ucm2/USB-Audio/USB-Audio.conf @@ -109,6 +109,24 @@ If.behringer-umc204hd { } } +If.behringer-Flow8-Streaming { + Condition { + Type String + Haystack "${CardComponents}" + Needle "USB1397:050d" + } + True.Define.ProfileName "Behringer/Flow8-Streaming" +} + +If.behringer-Flow8-Recording { + Condition { + Type String + Haystack "${CardComponents}" + Needle "USB1397:050c" + } + True.Define.ProfileName "Behringer/Flow8-Recording" +} + If.lenovo-p620-rear { Condition { Type String