261 lines
3.8 KiB
Text
261 lines
3.8 KiB
Text
|
#!/bin/bash
|
||
|
# SPDX-License-Identifier: Apache-2.0
|
||
|
# Copyright (C) 2021-present Fewtarius (https://github.com/fewtarius)
|
||
|
|
||
|
. /etc/profile
|
||
|
|
||
|
### Set a custom device so we don't clobber it.
|
||
|
set-audio set "CUSTOM (UNMANAGED)"
|
||
|
set-audio esset "Master"
|
||
|
|
||
|
amixer sset 'FRDDR_A SINK 1 SEL' 'OUT 1'
|
||
|
amixer sset 'FRDDR_A SRC 1 EN' 'on'
|
||
|
amixer sset 'TDMOUT_B SRC SEL' 'IN 0'
|
||
|
|
||
|
cat <<EOF >/storage/.config/asound.conf
|
||
|
pcm.!default {
|
||
|
type plug
|
||
|
slave.pcm "dmixer"
|
||
|
}
|
||
|
|
||
|
pcm.dmixer {
|
||
|
type dmix
|
||
|
ipc_key 1024
|
||
|
slave {
|
||
|
pcm "hw:0,0"
|
||
|
period_time 0
|
||
|
period_size 4096
|
||
|
buffer_size 131072
|
||
|
rate 96000
|
||
|
}
|
||
|
bindings {
|
||
|
0 0
|
||
|
1 1
|
||
|
}
|
||
|
}
|
||
|
EOF
|
||
|
|
||
|
if [ ! -e "/storage/.config/asound.state" ]
|
||
|
then
|
||
|
cat <<EOF >/storage/.config/asound.state
|
||
|
state.Ultra {
|
||
|
control.1 {
|
||
|
iface MIXER
|
||
|
name 'Master Playback Volume'
|
||
|
value.0 223
|
||
|
value.1 223
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type INTEGER
|
||
|
count 2
|
||
|
range '0 - 252'
|
||
|
dbmin -9500
|
||
|
dbmax 0
|
||
|
dbvalue.0 -1094
|
||
|
dbvalue.1 -1094
|
||
|
}
|
||
|
}
|
||
|
control.2 {
|
||
|
iface MIXER
|
||
|
name 'Master Capture Volume'
|
||
|
value.0 226
|
||
|
value.1 226
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type INTEGER
|
||
|
count 2
|
||
|
range '0 - 255'
|
||
|
dbmin -9500
|
||
|
dbmax 0
|
||
|
dbvalue.0 -1081
|
||
|
dbvalue.1 -1081
|
||
|
}
|
||
|
}
|
||
|
control.3 {
|
||
|
iface MIXER
|
||
|
name 'Mic Capture Gain'
|
||
|
value.0 6
|
||
|
value.1 6
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type INTEGER
|
||
|
count 2
|
||
|
range '0 - 15'
|
||
|
dbmin -1800
|
||
|
dbmax 2700
|
||
|
dbvalue.0 0
|
||
|
dbvalue.1 0
|
||
|
}
|
||
|
}
|
||
|
control.4 {
|
||
|
iface MIXER
|
||
|
name 'TDMOUT_B Lane 0 Volume'
|
||
|
value.0 0
|
||
|
value.1 0
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type INTEGER
|
||
|
count 2
|
||
|
range '0 - 255'
|
||
|
}
|
||
|
}
|
||
|
control.5 {
|
||
|
iface MIXER
|
||
|
name 'TDMOUT_B Lane 1 Volume'
|
||
|
value.0 0
|
||
|
value.1 0
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type INTEGER
|
||
|
count 2
|
||
|
range '0 - 255'
|
||
|
}
|
||
|
}
|
||
|
control.6 {
|
||
|
iface MIXER
|
||
|
name 'TDMOUT_B Lane 2 Volume'
|
||
|
value.0 0
|
||
|
value.1 0
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type INTEGER
|
||
|
count 2
|
||
|
range '0 - 255'
|
||
|
}
|
||
|
}
|
||
|
control.7 {
|
||
|
iface MIXER
|
||
|
name 'TDMOUT_B Lane 3 Volume'
|
||
|
value.0 0
|
||
|
value.1 0
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type INTEGER
|
||
|
count 2
|
||
|
range '0 - 255'
|
||
|
}
|
||
|
}
|
||
|
control.8 {
|
||
|
iface MIXER
|
||
|
name 'TDMOUT_B Gain Enable Switch'
|
||
|
value false
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type BOOLEAN
|
||
|
count 1
|
||
|
}
|
||
|
}
|
||
|
control.9 {
|
||
|
iface MIXER
|
||
|
name 'FRDDR_A SRC 1 EN Switch'
|
||
|
value true
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type BOOLEAN
|
||
|
count 1
|
||
|
}
|
||
|
}
|
||
|
control.10 {
|
||
|
iface MIXER
|
||
|
name 'FRDDR_A SRC 2 EN Switch'
|
||
|
value false
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type BOOLEAN
|
||
|
count 1
|
||
|
}
|
||
|
}
|
||
|
control.11 {
|
||
|
iface MIXER
|
||
|
name 'FRDDR_A SRC 3 EN Switch'
|
||
|
value false
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type BOOLEAN
|
||
|
count 1
|
||
|
}
|
||
|
}
|
||
|
control.12 {
|
||
|
iface MIXER
|
||
|
name 'FRDDR_A SINK 1 SEL'
|
||
|
value 'OUT 1'
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type ENUMERATED
|
||
|
count 1
|
||
|
item.0 'OUT 0'
|
||
|
item.1 'OUT 1'
|
||
|
item.2 'OUT 2'
|
||
|
item.3 'OUT 3'
|
||
|
item.4 'OUT 4'
|
||
|
item.5 'OUT 5'
|
||
|
item.6 'OUT 6'
|
||
|
item.7 'OUT 7'
|
||
|
}
|
||
|
}
|
||
|
control.13 {
|
||
|
iface MIXER
|
||
|
name 'FRDDR_A SINK 2 SEL'
|
||
|
value 'OUT 0'
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type ENUMERATED
|
||
|
count 1
|
||
|
item.0 'OUT 0'
|
||
|
item.1 'OUT 1'
|
||
|
item.2 'OUT 2'
|
||
|
item.3 'OUT 3'
|
||
|
item.4 'OUT 4'
|
||
|
item.5 'OUT 5'
|
||
|
item.6 'OUT 6'
|
||
|
item.7 'OUT 7'
|
||
|
}
|
||
|
}
|
||
|
control.14 {
|
||
|
iface MIXER
|
||
|
name 'FRDDR_A SINK 3 SEL'
|
||
|
value 'OUT 0'
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type ENUMERATED
|
||
|
count 1
|
||
|
item.0 'OUT 0'
|
||
|
item.1 'OUT 1'
|
||
|
item.2 'OUT 2'
|
||
|
item.3 'OUT 3'
|
||
|
item.4 'OUT 4'
|
||
|
item.5 'OUT 5'
|
||
|
item.6 'OUT 6'
|
||
|
item.7 'OUT 7'
|
||
|
}
|
||
|
}
|
||
|
control.15 {
|
||
|
iface MIXER
|
||
|
name 'Playback Mux'
|
||
|
value SPK
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type ENUMERATED
|
||
|
count 1
|
||
|
item.0 HP
|
||
|
item.1 SPK
|
||
|
}
|
||
|
}
|
||
|
control.16 {
|
||
|
iface MIXER
|
||
|
name 'TDMOUT_B SRC SEL'
|
||
|
value 'IN 0'
|
||
|
comment {
|
||
|
access 'read write'
|
||
|
type ENUMERATED
|
||
|
count 1
|
||
|
item.0 'IN 0'
|
||
|
item.1 'IN 1'
|
||
|
item.2 'IN 2'
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
EOF
|
||
|
fi
|