[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

udev e audio USB



Ciao a tutti!

Ho un paio di casse USB che ho sempre usato con mplayer passando il
giusto parametro (-ao alsa=hw=1.0): molto scomodo, soprattutto quando
non te lo ricordi :(
 
Poi ieri sera ho scoperto /proc/asound/cards e .asoundrc: mi si è
aperto un mondo.

Se inserisco le casse ottengo 
 root - ~:# cat /proc/asound/cards
  0 [V8237  ]: VIA8237 - VIA 8237
                VIA 8237 with ALC850 at 0xd800, irq 5
  1 [Audio  ]: USB-Audio - USB Audio
                C-Media INC. USB Audio at usb-0000:00:10.2-1, full speed

E quindi scrivendo in /<mia_home>/.asoundrc

 	defaults.ctl.card 1
	defaults.pcm.card 1
	defaults.timer.card 1

seleziono a livello globale le casse USB (che per ALSA hanno id=1).

E fin qui già mi piace, dato che riesco ad usare le casse con
UrbanTerror, qualsiasi lettore audio e via dicendo.

Poi mi son detto: invece di modificare a mano ogni volta il
file .asoundrc, sarebbe fantastico che in automatico il sistema mi
prendesse come default le casse USB _se e solo se_ sono inserite.

Naturalmente, ho pensato a udev (finalmente capisco a cosa serve :)

Seguendo questa guida[0], ho scritto una semplicissima regola di udev
sì fatta:

 root - ~:# cat /etc/udev/rules.d/85-usb-audio.rules
KERNEL=="pcmC1D0p", ACTION=="add", SUBSYSTEM=="sound",\
        RUN+="/home/lsighi/.asound_files/select_usb_audio.sh"
KERNEL=="pcmC1D0p", ACTION=="remove", SUBSYSTEM=="sound",\
        RUN+="/home/lsighi/.asound_files/select_VIA_audio.sh"

dove: pcmC1D0p è il device creato in /dev per le casse USB;
      "select_usb_audio.sh" è lo script che esegue se attacco le casse;
      "select_VIA_audio.sh" è lo script per quando scollego le casse.

A questo punto, quei due banali script, non fanno altro che copiare
il file .asoundrc giusto a seconda che le casse USB sia collegate o no:

	 ~/.asound_files:$ cat select_usb_audio.sh 
	#!/bin/bash
	cd /home/lsighi
	rm -f .asoundrc
	cp .asound_files/audio_USB .asoundrc

e

	 ~/.asound_files:$ cat select_VIA_audio.sh 
	#!/bin/bash
	cd /home/lsighi
	rm -f .asoundrc
	cp .asound_files/audio_VIA .asoundrc

dove:

 	 ~/.asound_files:$ cat audio_USB 
	defaults.ctl.card 1
	defaults.pcm.card 1
	defaults.timer.card 1

e

	 ~/.asound_files:$ cat audio_VIA 
	defaults.ctl.card 0
	defaults.pcm.card 0
	defaults.timer.card 0

sono i due file di configurazione di .asoundrc che vengono copiati
nella home.
Come si vede in "audio_USB" seleziono il device 1 (cioè le casse USB) e
in "audio_VIA" seleziono il device 0 (cioé la scheda audio integrata
del mio PC, con chipset VIA). 

I due script e i due file di configurazione li ho salvati, per
comodità, nella mia home in .asound_file.

Ero così entusiata del risultato, che non ho resistito a scrivere due
righe, che a qualcuno forse possono sembrare banali, ma ad altri forse
potrebbero risultare utili :-)

Ciao a tutti e buona domenica!

[0]http://ubuntuforums.org/showthread.php?t=500208
-- 
Luca Sighinolfi

 Se smetti di essere curioso, sei bello che morto.
				  
                      	  Al Pacino, Profumo Di Donna

Attachment: signature.asc
Description: PGP signature


Reply to: