Что: acbd6a153fbb4fb375be43d87a2ad055b80681e3
Когда: 2019-01-05 16:12:51+03:00
Темы: hard music tip
Включение bitperfect звука в USB звуковухах Долгие годы у меня была только одна USB-звуковуха, которая всегда при подключении имела один и тот же "адрес" в sysctl дереве и делать включение bitperfect-а в ней было тривиально: % cat /etc/devd/myaudio.conf attach 20 { device-name "uaudio[0-9]"; action "/sbin/sysctl dev.pcm.3.bitperfect=1"; }; теперь у меня появилась и USB-гарнитура, которая bitperfect не требует, а порядок подключения может быть самый разный. Пока сделал вот такое решение чтобы только ASUS звуковуху обрабатывать: % cat /etc/devd/myaudio.conf attach 20 { device-name "uaudio[0-9]"; match "vendor" "^0x0b05$"; match "product" "^0x17f3$"; action "/etc/devd/myaudio-asus.sh $vendor $product"; }; % cat /etc/devd/myaudio-asus.sh #!/bin/sh [ $# -eq 2 ] || exit 1 vendor=$1 product=$2 uaudio=$(sysctl dev.uaudio | sed -n "s/^dev\.uaudio\.\([^.]*\)\..*vendor=$vendor product=$product.*\$/\1/p") pcm=$(sysctl dev.pcm | sed -n "s/^dev\.pcm\.\([^.]*\)\.%parent: uaudio$uaudio\$/\1/p") /sbin/sysctl dev.pcm.$pcm.bitperfect=1 Конечно, читается не просто, но задача выполнена за короткий срок и вполне себе работает. Я за такое решение, пускай не очень элегантное, вместо того чтобы иметь невероятный по размерам и сложности framework в виде поделий Поттеринга.
Сгенерирован: SGBlog 0.34.0