On Mon, Dec 12, 2005 at 11:37:51PM +0100, Jakub Piotr Cłapa wrote:
> Ogólnie wygląda bardzo nieźle. Nie miałbyś ochoty dorzeźbić tego trochę 
> i wrzucić do distro? (np. ładowanie emulacji powinno być kompleksowe i w 
> skrypcie, żeby do /etc/sysconfig/alsa można było dodać konfigurację)
Mogę spróbować coś porzeźbić, ale muszę jeszcze trochę poczytać na temat
udeva i alsy. Poniżej propozycja jak to wstępnie widzę.

------------- /etc/udev/rules.d/alsa.rules -----------
SUBSYSTEM=="sound", KERNEL=="controlC*", RUN+="/etc/udev/scripts/alsa"
SUBSYSTEM=="sound", KERNEL=="pcm*", RUN+="/etc/udev/scripts/alsa"
SUBSYSTEM=="sound", KERNEL=="seq*", RUN+="/etc/udev/scripts/alsa"

--------------- /etc/udev/scripts/alsa ---------------
#!/bin/sh

.. /etc/rc.d/init.d/functions
.. /etc/sysconfig/alsa

add_pcm()
{
        if is_yes("$OSS_EMULATION"); then
                /sbin/modprobe --ignore-install snd_pcm_oss
        fi
        eval "$PCM_POSTINST"
}

add_seq()
{
        if is_yes("$OSS_EMULATION"); then
                /sbin/modprobe --ignore-install snd_seq_oss
        fi
        eval "$SEQ_POSTINST"
}

case "$ACTION" in
        add)
                case "${KERNEL}" in
                        pcm*)
                                add_pcm
                        ;;
                        seq*)
                                add_seq
                        ;;
                        controlC*)
                                /usr/sbin/alsactl restore
                        ;;
                esac
        ;;
        del)
                /usr/sbin/alsactl store
        ;;
esac
------------------------------------------------------

Skrypt ma tylko dawać pogląd jak zamierzam do tego podejść. Muszę
poczytać jakie zmienne są przekazywane do skryptów wywoływanych przez
udeva i dopiero dostosować całość pod to. Muszę przemyśleć również
kwestię dodatkowych modułów których udev sam nie ładuje (np.
snd-emu10k1-synth). Proszę o przyjżenie się temu i komentarz.

> > Jeśli chodzi o zachowywanie ustawień, to ręcznie zrobiłem 'alsactl
> > store' po ustawieniu alsamixerem.
> 
> To dałoby się chyba zrobić na siłe dla wszystkich kart przy shutdown lub 
> jeśli udev obsługuje REMOVE to na evencie? Może jeszcze jakoś inaczej 
> dałoby się zapisywać także ustawienie dla kart, które zostały wypięte 
> przed shutdownem.
Event bedzie pewnie tylko przy dzwięku usb w momencie wyjęcia wtyczki,
przynajmniej tak mi się wydaje. Można by zrobić obsługę eventu i
dodatkowo wstawić skrypt do /etc/rc.d który zapisze konfigurację przy
shutdown.

-- 
Pozdrawiam
Przemysław Białek
_______________________________________________
pld-users-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl

Odpowiedź listem elektroniczym