Bug 3044 - sound-scripts are very rigid for now
: sound-scripts are very rigid for now
Status: CLOSED WONTFIX
: Sisyphus
(All bugs in Sisyphus/sound-scripts)
: unstable
: all Linux
: P4 enhancement
Assigned To:
:
:
:
:
: 8212
  Show dependency tree
 
Reported: 2003-09-25 17:05 by
Modified: 2007-06-11 21:52 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2003-09-25 17:05:04
Date: Thu, 25 Sep 2003 12:52:40 +0300 (EEST)
From: Serge Ryabchun <sr osdn org ua>
To: Sisyphus altlinux ru
Subject: /etc/rc.d/init.d/sound, aumix, alsa, oss

Не совсем понятна наша политика со звуком:
Если есть ALSA, грузим ALSA, иначе грузим OSS. IMHO, очень жесткая
завязка. У меня 3 источника звука - es1371, на ней висят колонки, в
зависимости от задачи грузятся alsa или oss; via8235, воткнут в
телевизор вместе с tvout, грузится alsa; и tvtuner, но этим за
последний год я не пользовался, хотя он таки есть. Те меня совершенно
не устраивает имеющийся стартовый скрипт, пришлось заменить своим:

cat /adm/sound >>>>>>>>>>>>---

#!/bin/bash

function rm_sound_modules() {

    [ -f /etc/sysconfig/sound-0.alsa -o -f /etc/sysconfig/sound-0.oss ] &&
modprobe -r sound-slot-0
    [ -f /etc/sysconfig/sound-1.alsa -o -f /etc/sysconfig/sound-1.oss ] &&
modprobe -r sound-slot-1
    [ -f /etc/sysconfig/sound-2.alsa -o -f /etc/sysconfig/sound-2.oss ] &&
modprobe -r sound-slot-2
}

function probe_sound_modules() {

     [ -f /etc/sysconfig/sound-0.alsa -o -f /etc/sysconfig/sound-0.oss ] &&
modprobe sound-slot-0
     [ -f /etc/sysconfig/sound-1.alsa -o -f /etc/sysconfig/sound-1.oss ] &&
modprobe sound-slot-1
     [ -f /etc/sysconfig/sound-2.alsa -o -f /etc/sysconfig/sound-2.oss ] &&
modprobe sound-slot-2
}

case "$1" in
    start|restart|reload)
        rm_sound_modules
        probe_sound_modules
        ;;
    stop)
    	rm_sound_modules
        ;;
    set)
    	case "$2" in
            0|1|2)
            	case "$3" in
                    alsa|oss)
                        rm_sound_modules
                    	rm -f /etc/sysconfig/sound-$2.* 2> /dev/null
                        touch /etc/sysconfig/sound-$2.$3
                        probe_sound_modules
                    	;;
                esac
            	;;
            *)
            	;;
        esac
    	;;
    *)
    	;;
esac
exit 0


<<<<<<<<<<<<---

в quake3 зовется "sudo /adm/sound set 0 oss", а в winex "sudo /adm/sound set 0 alsa"

В modules.conf прописано:

alias char-major-116 snd
post-install sound-slot-0       /usr/bin/aumix -d /dev/mixer  -f /etc/.aumixrc 
-L >/dev/null 2>&1 || :
pre-remove sound-slot-0         /usr/bin/aumix -d /dev/mixer  -f /etc/.aumixrc 
-S >/dev/null 2>&1 || :
post-install sound-slot-1       /usr/bin/aumix -d /dev/mixer1 -f /etc/.aumixrc1
-L >/dev/null 2>&1 || :
pre-remove sound-slot-1         /usr/bin/aumix -d /dev/mixer1 -f /etc/.aumixrc1
-S >/dev/null 2>&1 || :

if     -f /etc/sysconfig/sound-0.oss
    alias sound-slot-0 es1371
    alias sound-service-0-0 es1371
elseif -f /etc/sysconfig/sound-0.alsa
    alias snd-card-0 snd-ens1371
    	below snd-card-0 snd-pcm-oss
    alias sound-slot-0 snd-card-0
    alias sound-service-0-0 snd-mixer-oss
    alias sound-service-0-1 snd-seq-oss
    alias sound-service-0-3 snd-pcm-oss
    alias sound-service-0-8 snd-seq-oss
    alias sound-service-0-12 snd-pcm-oss
endif
                                                                               
                                   
if     -f /etc/sysconfig/sound-1.oss
    alias sound-slot-1 via82cxxx_audio
    alias sound-service-1-0 via82cxxx_audio
elseif -f /etc/sysconfig/sound-1.alsa
    alias snd-card-1 snd-via82xx
    	below snd-card-1 snd-pcm-oss
    alias sound-slot-1 snd-card-1
    alias sound-service-1-0 snd-mixer-oss
    alias sound-service-1-1 snd-seq-oss
    alias sound-service-1-3 snd-pcm-oss
    alias sound-service-1-8 snd-seq-oss
    alias sound-service-1-12 snd-pcm-oss
endif
------- Comment #1 From 2003-09-25 17:07:03 -------
From: Serge Ryabchun <sr osdn org ua>
---

Btw, у меня есть initsripts.bin:

$ ./rc.service
Usage:
        rc.service --rc.sysinit [--log]
        rc.service --rc {0|1|2|3|4|5|6}
        rc.service {--clock|--random|--numlock|--setfont|--setsysfont} [parameter]
        rc.service {--network|--netfs} [parameter]
        rc.service {--ifup|--ifdown} <device>
        rc.service {--idetune}

специально делался для маломощных тачек, критичных к времени загрузки,
их есть у меня, полностью совместим с Альтовым initscripts по /etc/sysconfig/*,
собирается с dietlibc, не использует malloc()/*printf(), ip вместо ifconfig,
минимум форков, кое-какие скрипты форкаются в background, но это пока не
кофигурится, то, что после -- может быть именем типа clock, S??clock,
K??clock эквивалентно "rc.service --clock". Кое-что из этого пока в отключенном
состоянии.
------- Comment #2 From 2004-01-11 19:21:25 -------
changed maintainer 
------- Comment #3 From 2004-08-14 00:52:04 -------
Не совсем сюда, но по поводу двух+ звукокарт:
http://www.dzhi.sp.ru/drivers/four_sndcard.html
------- Comment #4 From 2006-02-17 15:22:11 -------
требуется пересмотр по текущим обстоятельствам
------- Comment #5 From 2006-12-29 23:18:54 -------
re
------- Comment #6 From 2006-12-29 23:19:46 -------
Боюсь, в рамках sound-scripts это не будет исправлено никогда.

2 sr: мож как-нить подумаем, что с этой бодягой теперь делать? ;-)