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

Re: Volume



sergio wrote:
Copiei o .KDE para .KDE.old. Alterei os controles e fíz um diff
achando em /home/.kde/share/config/kmixctrlrc. E o arquivo
comum aos dois?

Não.

Depois de ficar procurando em variáveis de
ambiente me veio à  cabeça que poderia estar no /proc.
"Fucei" e lá estava. /proc/asound/card0/codec97#0/ ac97#0-0+regs.
no meu caso. Deve variar de placa para placa de som.
Alterações nos botões alterm diretamente este arquivo.

Sim, isso sim, mas...

Bom, achei que meu problema estava resolvido, pois já a
alterei e altero normalente arquivos no proc com cat e echo.
Mas nesse caso não está funcionando. Quando emito o
comanto cat arquivo-alterardo > /proc/..../ ac97#0-0+regs,
me é retornado a mensagem de que  ac97#0-0+regs é
um dispositivo inexistente.

e está bem que assim seja.

Vocês sabem se há uma forma
de alterar os controles em /dev/mixer diretamente?

Qualquer programa que use o som com alsa, ligase com uma libreria (deve ser libasound.so) que faze as chamadas ao sistema operacional, escrevendo no dispositivo /dev/mixer ou fazendo ioctl para comandos mais específicos. Os programas podem ler também do dispositivo e enterarse dos eventos que lhe aconteçam, como as alterações de volume feitas por outros processos. O alsamixer faze isso; o kmix aparentemente não, mais é esperável, porque como todo ambiente completo, está feito para funcionar sozinho; não me sorprende que não espere ações externas.

O diretório /proc é só para ler, só para obter informação do que aconteçe dentro do kernel. Só a parte /proc/sys, que agora está separada em /sys, mas permanece aí por compatibilidade, é para escrever e configurar o kernel em execução. Mas não é um medio de comunicação com o hardware; para isso estão os arquivos de dispositivos e os drivers.

E finalmente, que vc faça uma alteração num processo e outro processo veja a alteração não implica que têm um arquivo compartido; é mais, sería complicado fazer isso com um arquivo compartido. Em geral, usam pipes, sockets, sinais, ou falam todos a um processo comum, que neste caso é o mesmo kernel.

--
Guillermo Pereyra Irujo
Tandil, Argentina



Reply to: