Add UCM2 configuration for M-Audio Fast Track Ultra
Closes: https://github.com/alsa-project/alsa-ucm-conf/pull/672 Signed-off-by: Valentin David <me@valentindavid.com> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
parent
95bd0c32f3
commit
27d3b4564d
3 changed files with 415 additions and 0 deletions
400
ucm2/USB-Audio/M-Audio/Fast-Track-Ultra-HiFi.conf
Normal file
400
ucm2/USB-Audio/M-Audio/Fast-Track-Ultra-HiFi.conf
Normal file
|
|
@ -0,0 +1,400 @@
|
|||
Include.pcm_split.File "/common/pcm/split.conf"
|
||||
|
||||
Macro [
|
||||
{
|
||||
SplitPCM {
|
||||
Name "fast_track_ultra_stereo_out"
|
||||
Direction Playback
|
||||
Channels 2
|
||||
HWChannels 8
|
||||
HWChannelPos0 FL
|
||||
HWChannelPos1 FR
|
||||
HWChannelPos2 FL
|
||||
HWChannelPos3 FR
|
||||
HWChannelPos4 FL
|
||||
HWChannelPos5 FR
|
||||
HWChannelPos6 FL
|
||||
HWChannelPos7 FR
|
||||
}
|
||||
}
|
||||
{
|
||||
SplitPCM {
|
||||
Name "fast_track_ultra_mixed_in"
|
||||
Direction Capture
|
||||
Channels 1
|
||||
HWChannels 8
|
||||
HWChannelPos0 MONO
|
||||
HWChannelPos1 MONO
|
||||
HWChannelPos2 MONO
|
||||
HWChannelPos3 MONO
|
||||
HWChannelPos4 FL
|
||||
HWChannelPos5 FR
|
||||
HWChannelPos6 FL
|
||||
HWChannelPos7 FR
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
SectionVerb {
|
||||
EnableSequence [
|
||||
# Fast Track Ultra is also a mixer.
|
||||
# When every volume 100%, it sends everything
|
||||
# everywhere, including through the effect
|
||||
# processor. So we need to zero everything we
|
||||
# do not use.
|
||||
#
|
||||
# Note that 'AInX - OutY Capture' are not
|
||||
# really capture, but input monitoring.
|
||||
# There is no hardware volume control for the captures
|
||||
# other than the physical potentiometers on the device.
|
||||
|
||||
cset "name='AIn1 - Out1 Capture Volume' 0%"
|
||||
cset "name='AIn2 - Out1 Capture Volume' 0%"
|
||||
cset "name='AIn3 - Out1 Capture Volume' 0%"
|
||||
cset "name='AIn4 - Out1 Capture Volume' 0%"
|
||||
cset "name='AIn5 - Out1 Capture Volume' 0%"
|
||||
cset "name='AIn6 - Out1 Capture Volume' 0%"
|
||||
cset "name='AIn7 - Out1 Capture Volume' 0%"
|
||||
cset "name='AIn8 - Out1 Capture Volume' 0%"
|
||||
|
||||
cset "name='AIn1 - Out2 Capture Volume' 0%"
|
||||
cset "name='AIn2 - Out2 Capture Volume' 0%"
|
||||
cset "name='AIn3 - Out2 Capture Volume' 0%"
|
||||
cset "name='AIn4 - Out2 Capture Volume' 0%"
|
||||
cset "name='AIn5 - Out2 Capture Volume' 0%"
|
||||
cset "name='AIn6 - Out2 Capture Volume' 0%"
|
||||
cset "name='AIn7 - Out2 Capture Volume' 0%"
|
||||
cset "name='AIn8 - Out2 Capture Volume' 0%"
|
||||
|
||||
cset "name='AIn1 - Out3 Capture Volume' 0%"
|
||||
cset "name='AIn2 - Out3 Capture Volume' 0%"
|
||||
cset "name='AIn3 - Out3 Capture Volume' 0%"
|
||||
cset "name='AIn4 - Out3 Capture Volume' 0%"
|
||||
cset "name='AIn5 - Out3 Capture Volume' 0%"
|
||||
cset "name='AIn6 - Out3 Capture Volume' 0%"
|
||||
cset "name='AIn7 - Out3 Capture Volume' 0%"
|
||||
cset "name='AIn8 - Out3 Capture Volume' 0%"
|
||||
|
||||
cset "name='AIn1 - Out4 Capture Volume' 0%"
|
||||
cset "name='AIn2 - Out4 Capture Volume' 0%"
|
||||
cset "name='AIn3 - Out4 Capture Volume' 0%"
|
||||
cset "name='AIn4 - Out4 Capture Volume' 0%"
|
||||
cset "name='AIn5 - Out4 Capture Volume' 0%"
|
||||
cset "name='AIn6 - Out4 Capture Volume' 0%"
|
||||
cset "name='AIn7 - Out4 Capture Volume' 0%"
|
||||
cset "name='AIn8 - Out4 Capture Volume' 0%"
|
||||
|
||||
cset "name='AIn1 - Out5 Capture Volume' 0%"
|
||||
cset "name='AIn2 - Out5 Capture Volume' 0%"
|
||||
cset "name='AIn3 - Out5 Capture Volume' 0%"
|
||||
cset "name='AIn4 - Out5 Capture Volume' 0%"
|
||||
cset "name='AIn5 - Out5 Capture Volume' 0%"
|
||||
cset "name='AIn6 - Out5 Capture Volume' 0%"
|
||||
cset "name='AIn7 - Out5 Capture Volume' 0%"
|
||||
cset "name='AIn8 - Out5 Capture Volume' 0%"
|
||||
|
||||
cset "name='AIn1 - Out6 Capture Volume' 0%"
|
||||
cset "name='AIn2 - Out6 Capture Volume' 0%"
|
||||
cset "name='AIn3 - Out6 Capture Volume' 0%"
|
||||
cset "name='AIn4 - Out6 Capture Volume' 0%"
|
||||
cset "name='AIn5 - Out6 Capture Volume' 0%"
|
||||
cset "name='AIn6 - Out6 Capture Volume' 0%"
|
||||
cset "name='AIn7 - Out6 Capture Volume' 0%"
|
||||
cset "name='AIn8 - Out6 Capture Volume' 0%"
|
||||
|
||||
cset "name='AIn1 - Out7 Capture Volume' 0%"
|
||||
cset "name='AIn2 - Out7 Capture Volume' 0%"
|
||||
cset "name='AIn3 - Out7 Capture Volume' 0%"
|
||||
cset "name='AIn4 - Out7 Capture Volume' 0%"
|
||||
cset "name='AIn5 - Out7 Capture Volume' 0%"
|
||||
cset "name='AIn6 - Out7 Capture Volume' 0%"
|
||||
cset "name='AIn7 - Out7 Capture Volume' 0%"
|
||||
cset "name='AIn8 - Out7 Capture Volume' 0%"
|
||||
|
||||
cset "name='AIn1 - Out8 Capture Volume' 0%"
|
||||
cset "name='AIn2 - Out8 Capture Volume' 0%"
|
||||
cset "name='AIn3 - Out8 Capture Volume' 0%"
|
||||
cset "name='AIn4 - Out8 Capture Volume' 0%"
|
||||
cset "name='AIn5 - Out8 Capture Volume' 0%"
|
||||
cset "name='AIn6 - Out8 Capture Volume' 0%"
|
||||
cset "name='AIn7 - Out8 Capture Volume' 0%"
|
||||
cset "name='AIn8 - Out8 Capture Volume' 0%"
|
||||
|
||||
cset "name='DIn1 - Out2 Playback Volume' 0%"
|
||||
cset "name='DIn1 - Out3 Playback Volume' 0%"
|
||||
cset "name='DIn1 - Out4 Playback Volume' 0%"
|
||||
cset "name='DIn1 - Out5 Playback Volume' 0%"
|
||||
cset "name='DIn1 - Out6 Playback Volume' 0%"
|
||||
cset "name='DIn1 - Out7 Playback Volume' 0%"
|
||||
cset "name='DIn1 - Out8 Playback Volume' 0%"
|
||||
|
||||
cset "name='DIn2 - Out1 Playback Volume' 0%"
|
||||
cset "name='DIn2 - Out3 Playback Volume' 0%"
|
||||
cset "name='DIn2 - Out4 Playback Volume' 0%"
|
||||
cset "name='DIn2 - Out5 Playback Volume' 0%"
|
||||
cset "name='DIn2 - Out6 Playback Volume' 0%"
|
||||
cset "name='DIn2 - Out7 Playback Volume' 0%"
|
||||
cset "name='DIn2 - Out8 Playback Volume' 0%"
|
||||
|
||||
cset "name='DIn3 - Out1 Playback Volume' 0%"
|
||||
cset "name='DIn3 - Out2 Playback Volume' 0%"
|
||||
cset "name='DIn3 - Out4 Playback Volume' 0%"
|
||||
cset "name='DIn3 - Out5 Playback Volume' 0%"
|
||||
cset "name='DIn3 - Out6 Playback Volume' 0%"
|
||||
cset "name='DIn3 - Out7 Playback Volume' 0%"
|
||||
cset "name='DIn3 - Out8 Playback Volume' 0%"
|
||||
|
||||
cset "name='DIn4 - Out1 Playback Volume' 0%"
|
||||
cset "name='DIn4 - Out2 Playback Volume' 0%"
|
||||
cset "name='DIn4 - Out3 Playback Volume' 0%"
|
||||
cset "name='DIn4 - Out5 Playback Volume' 0%"
|
||||
cset "name='DIn4 - Out6 Playback Volume' 0%"
|
||||
cset "name='DIn4 - Out7 Playback Volume' 0%"
|
||||
cset "name='DIn4 - Out8 Playback Volume' 0%"
|
||||
|
||||
cset "name='DIn5 - Out1 Playback Volume' 0%"
|
||||
cset "name='DIn5 - Out2 Playback Volume' 0%"
|
||||
cset "name='DIn5 - Out3 Playback Volume' 0%"
|
||||
cset "name='DIn5 - Out4 Playback Volume' 0%"
|
||||
cset "name='DIn5 - Out6 Playback Volume' 0%"
|
||||
cset "name='DIn5 - Out7 Playback Volume' 0%"
|
||||
cset "name='DIn5 - Out8 Playback Volume' 0%"
|
||||
|
||||
cset "name='DIn6 - Out1 Playback Volume' 0%"
|
||||
cset "name='DIn6 - Out2 Playback Volume' 0%"
|
||||
cset "name='DIn6 - Out3 Playback Volume' 0%"
|
||||
cset "name='DIn6 - Out4 Playback Volume' 0%"
|
||||
cset "name='DIn6 - Out5 Playback Volume' 0%"
|
||||
cset "name='DIn6 - Out7 Playback Volume' 0%"
|
||||
cset "name='DIn6 - Out8 Playback Volume' 0%"
|
||||
|
||||
cset "name='DIn7 - Out1 Playback Volume' 0%"
|
||||
cset "name='DIn7 - Out2 Playback Volume' 0%"
|
||||
cset "name='DIn7 - Out3 Playback Volume' 0%"
|
||||
cset "name='DIn7 - Out4 Playback Volume' 0%"
|
||||
cset "name='DIn7 - Out5 Playback Volume' 0%"
|
||||
cset "name='DIn7 - Out6 Playback Volume' 0%"
|
||||
cset "name='DIn7 - Out8 Playback Volume' 0%"
|
||||
|
||||
cset "name='DIn8 - Out1 Playback Volume' 0%"
|
||||
cset "name='DIn8 - Out2 Playback Volume' 0%"
|
||||
cset "name='DIn8 - Out3 Playback Volume' 0%"
|
||||
cset "name='DIn8 - Out4 Playback Volume' 0%"
|
||||
cset "name='DIn8 - Out5 Playback Volume' 0%"
|
||||
cset "name='DIn8 - Out6 Playback Volume' 0%"
|
||||
cset "name='DIn8 - Out7 Playback Volume' 0%"
|
||||
|
||||
cset "name='Effect Send AIn1 Volume' 0%"
|
||||
cset "name='Effect Send AIn2 Volume' 0%"
|
||||
cset "name='Effect Send AIn3 Volume' 0%"
|
||||
cset "name='Effect Send AIn4 Volume' 0%"
|
||||
cset "name='Effect Send AIn5 Volume' 0%"
|
||||
cset "name='Effect Send AIn6 Volume' 0%"
|
||||
cset "name='Effect Send AIn7 Volume' 0%"
|
||||
cset "name='Effect Send AIn8 Volume' 0%"
|
||||
|
||||
cset "name='Effect Send DIn1 Volume' 0%"
|
||||
cset "name='Effect Send DIn2 Volume' 0%"
|
||||
cset "name='Effect Send DIn3 Volume' 0%"
|
||||
cset "name='Effect Send DIn4 Volume' 0%"
|
||||
cset "name='Effect Send DIn5 Volume' 0%"
|
||||
cset "name='Effect Send DIn6 Volume' 0%"
|
||||
cset "name='Effect Send DIn7 Volume' 0%"
|
||||
cset "name='Effect Send DIn8 Volume' 0%"
|
||||
|
||||
cset "name='Effect Return 1 Volume' 0%"
|
||||
cset "name='Effect Return 2 Volume' 0%"
|
||||
cset "name='Effect Return 3 Volume' 0%"
|
||||
cset "name='Effect Return 4 Volume' 0%"
|
||||
]
|
||||
}
|
||||
|
||||
LibraryConfig.remap.Config {
|
||||
ctl.default.map."name='Line1 Playback Volume'" {
|
||||
"name='DIn1 - Out1 Playback Volume'".vindex.0 0
|
||||
"name='DIn2 - Out2 Playback Volume'".vindex.1 0
|
||||
}
|
||||
}
|
||||
|
||||
LibraryConfig.remap.Config {
|
||||
ctl.default.map."name='Line2 Playback Volume'" {
|
||||
"name='DIn3 - Out3 Playback Volume'".vindex.0 0
|
||||
"name='DIn4 - Out4 Playback Volume'".vindex.1 0
|
||||
}
|
||||
}
|
||||
|
||||
LibraryConfig.remap.Config {
|
||||
ctl.default.map."name='Line3 Playback Volume'" {
|
||||
"name='DIn5 - Out5 Playback Volume'".vindex.0 0
|
||||
"name='DIn6 - Out6 Playback Volume'".vindex.1 0
|
||||
}
|
||||
}
|
||||
|
||||
LibraryConfig.remap.Config {
|
||||
ctl.default.map."name='Line4 Playback Volume'" {
|
||||
"name='DIn7 - Out7 Playback Volume'".vindex.0 0
|
||||
"name='DIn8 - Out8 Playback Volume'".vindex.1 0
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line1" {
|
||||
Comment "Stereo Output 1/2 (Main - Headphones 1)"
|
||||
|
||||
Macro.pcm_split.SplitPCMDevice {
|
||||
Name "fasttrackultra_stereo_out"
|
||||
Direction Playback
|
||||
HWChannels 8
|
||||
Channels 2
|
||||
Channel0 0
|
||||
Channel1 1
|
||||
ChannelPos0 FL
|
||||
ChannelPos1 FR
|
||||
}
|
||||
Value {
|
||||
PlaybackMixer "default:${CardId}"
|
||||
PlaybackMixerElem "Line1"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line2" {
|
||||
Comment "Stereo Output 3/4 (Headphones 2)"
|
||||
|
||||
Macro.pcm_split.SplitPCMDevice {
|
||||
Name "fast_track_ultra_stereo_out"
|
||||
Direction Playback
|
||||
HWChannels 8
|
||||
Channels 2
|
||||
Channel0 2
|
||||
Channel1 3
|
||||
ChannelPos0 FL
|
||||
ChannelPos1 FR
|
||||
}
|
||||
Value {
|
||||
PlaybackMixer "default:${CardId}"
|
||||
PlaybackMixerElem "Line2"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line3" {
|
||||
Comment "Stereo Output 5/6"
|
||||
|
||||
Macro.pcm_split.SplitPCMDevice {
|
||||
Name "fast_track_ultra_stereo_out"
|
||||
Direction Playback
|
||||
HWChannels 8
|
||||
Channels 2
|
||||
Channel0 4
|
||||
Channel1 5
|
||||
ChannelPos0 FL
|
||||
ChannelPos1 FR
|
||||
}
|
||||
Value {
|
||||
PlaybackMixer "default:${CardId}"
|
||||
PlaybackMixerElem "Line3"
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line4" {
|
||||
Comment "Stereo Output 7/8 (S/PDIF)"
|
||||
|
||||
Macro.pcm_split.SplitPCMDevice {
|
||||
Name "fast_track_ultra_stereo_out"
|
||||
Direction Playback
|
||||
HWChannels 8
|
||||
Channels 2
|
||||
Channel0 6
|
||||
Channel1 7
|
||||
ChannelPos0 FL
|
||||
ChannelPos1 FR
|
||||
}
|
||||
Value {
|
||||
PlaybackMixer "default:${CardId}"
|
||||
PlaybackMixerElem "Line4"
|
||||
}
|
||||
}
|
||||
|
||||
# A typical use case is the use 4 front facing inputs as mono inputs
|
||||
# and then use 5/6 from the TRS input from the back (probably stereo).
|
||||
# 7/8 is only connected to S/PDIF so almost always stereo.
|
||||
|
||||
SectionDevice."Mic1" {
|
||||
Comment "Input 1"
|
||||
|
||||
Macro.pcm_split.SplitPCMDevice {
|
||||
Name "fast_track_ultra_mixed_in"
|
||||
Direction Capture
|
||||
HWChannels 8
|
||||
Channels 1
|
||||
Channel0 0
|
||||
ChannelPos0 MONO
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic2" {
|
||||
Comment "Input 2"
|
||||
|
||||
Macro.pcm_split.SplitPCMDevice {
|
||||
Name "fast_track_ultra_mixed_in"
|
||||
Direction Capture
|
||||
HWChannels 8
|
||||
Channels 1
|
||||
Channel0 1
|
||||
ChannelPos0 MONO
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic3" {
|
||||
Comment "Input 3"
|
||||
|
||||
Macro.pcm_split.SplitPCMDevice {
|
||||
Name "fast_track_ultra_mixed_in"
|
||||
Direction Capture
|
||||
HWChannels 8
|
||||
Channels 1
|
||||
Channel0 2
|
||||
ChannelPos0 MONO
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Mic4" {
|
||||
Comment "Input 4"
|
||||
|
||||
Macro.pcm_split.SplitPCMDevice {
|
||||
Name "fast_track_ultra_mixed_in"
|
||||
Direction Capture
|
||||
HWChannels 8
|
||||
Channels 1
|
||||
Channel0 3
|
||||
ChannelPos0 MONO
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."Line56" {
|
||||
Comment "Input 5/6"
|
||||
|
||||
Macro.pcm_split.SplitPCMDevice {
|
||||
Name "fast_track_ultra_mixed_in"
|
||||
Direction Capture
|
||||
HWChannels 8
|
||||
Channels 2
|
||||
Channel0 4
|
||||
Channel1 5
|
||||
ChannelPos0 FL
|
||||
ChannelPos1 FR
|
||||
}
|
||||
}
|
||||
|
||||
SectionDevice."SPDIF78" {
|
||||
Comment "Input 7/8 (S/PDIF)"
|
||||
|
||||
Macro.pcm_split.SplitPCMDevice {
|
||||
Name "fast_track_ultra_mixed_in"
|
||||
Direction Capture
|
||||
HWChannels 8
|
||||
Channels 2
|
||||
Channel0 6
|
||||
Channel1 7
|
||||
ChannelPos0 FL
|
||||
ChannelPos1 FR
|
||||
}
|
||||
}
|
||||
3
ucm2/USB-Audio/M-Audio/Fast-Track-Ultra.conf
Normal file
3
ucm2/USB-Audio/M-Audio/Fast-Track-Ultra.conf
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
SectionUseCase."HiFi" {
|
||||
File "/USB-Audio/M-Audio/Fast-Track-Ultra-HiFi.conf"
|
||||
}
|
||||
|
|
@ -267,6 +267,18 @@ Macro.ssl2.RegexMatch "Id='31e9:000[1289]' Profile='SolidStateLabs/SSL2'"
|
|||
Macro.beacn-mic.StringMatch "Id='33ae:0001' Profile='Beacn/Beacn-Mic'"
|
||||
Macro.beacn-studio.RegexMatch "Id='33ae:[04]003' Profile='Beacn/Beacn-Studio'"
|
||||
|
||||
If.maudio-fast-track-ultra {
|
||||
Condition {
|
||||
Type String
|
||||
Haystack "${CardComponents}"
|
||||
Needle "USB0763:2080"
|
||||
}
|
||||
True.Define {
|
||||
ProfileName "M-Audio/Fast-Track-Ultra"
|
||||
MixerRemap yes
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# end of device specific configuration block
|
||||
#
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue