]> git.alsa-project.org Git - alsa-ucm-conf.git/commitdiff
ucm2 profile for Behringer Flow8
authorSebastian Mangelsen (sebman) <sebastian.mangelsen@benify.com>
Sat, 28 May 2022 20:35:16 +0000 (22:35 +0200)
committerJaroslav Kysela <perex@perex.cz>
Sun, 12 Jun 2022 17:00:32 +0000 (19:00 +0200)
- 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) <sebastian.mangelsen@benify.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
ucm2/USB-Audio/Behringer/Flow8-Recording-Hifi.conf [new file with mode: 0644]
ucm2/USB-Audio/Behringer/Flow8-Recording.conf [new file with mode: 0644]
ucm2/USB-Audio/Behringer/Flow8-Streaming-Hifi.conf [new file with mode: 0644]
ucm2/USB-Audio/Behringer/Flow8-Streaming.conf [new file with mode: 0644]
ucm2/USB-Audio/USB-Audio.conf

diff --git a/ucm2/USB-Audio/Behringer/Flow8-Recording-Hifi.conf b/ucm2/USB-Audio/Behringer/Flow8-Recording-Hifi.conf
new file mode 100644 (file)
index 0000000..7215b9b
--- /dev/null
@@ -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 (file)
index 0000000..0786d2f
--- /dev/null
@@ -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 (file)
index 0000000..0b18abd
--- /dev/null
@@ -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 (file)
index 0000000..6a1f4cc
--- /dev/null
@@ -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"
index b8e02677b4a5aad0dcd7ad1fc696be314a5e65f5..2e14b1270ad6afdcb7871b81e29dbea4e3064b11 100644 (file)
@@ -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