Registrarse
Home
Foros
Miembros
Calendario
Normas
Ayuda

Foros de usuarios de openSUSE
Retroceder   ForoSUSE > Zona Técnica > FAQs, Manuales y Tutoriales


Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook

Respuesta
 
Herramientas Desplegado

Script bash para tener el mezclador a gusto
  #1  
Antiguo 19-feb-2007, 22:35
migtei migtei está desconectado
Miembro Junior
 
Fecha de Ingreso: 23-julio-2006
Ubicación: Mallorca
Mensajes: 387
Agradecimientos: 1
Agradecido 5 Veces en 4 Mensajes
Poder de Credibilidad: 12
migtei está en el buen camino
Script bash para tener el mezclador a gusto

Este es un script que lleva varias versiones de suse funcionando y es muy práctico. Consiste en un script con el que guardamos con un nombre el estado del mezclador de sonido según nos convenga (ver_tele, oir_cd, oir_mp3, sonido_cine, etc), para poder llamarlo sencillamente desde la consola y cambiar el sonido todo de una patada.

Tenemos el script guardamix que guarda la configuración del mezclador (como una instantánea) con el nombre que le des. Puedes guardar tantas como quieras.
El script mimixer es el que se utiliza para cambiar el mezclador seleccionando una de las configuraciones guardadas.
Los script mute y unmute son un secreto secreto ...

Qué hace falta:
Sonido Alsa funcionando
Para una tarjeta de sonido o la primera que reconoce el sistema. Para varias tarjetas habría que modificar los scripts.

Cómo funciona.
Copia los scripts guardamix , mimixer , mute y unmute en el directorio /home/usuario/bin/ que es donde el sistema busca tus programas de usuario. Dales permiso de ejecución con:
Código:
cd /home/usuario/bin
chmod 744 guardamix mimixer mute unmute
Pon el mezclador todo a 0 en silencio total (para hacer la configuración de mute)
Seguidamente en una consola escribe:
Código:
guardamix
y la primera vez el programa crea en tu directorio de usuario el directorio .mialsa donde guardará todas las configuraciones, cada una en un archivo de texto. Para borrar una configuración solo tienes que borrar el archivo con su nombre. El programa te pregunta:
Elige el nombre de la configuracion a guardar y la primera vez que lo ejecutas escribes:
silencio
Seguidamente pones s , return y acaba. Seguidamente pon el mezclador como te gusta oir los mp3 y cuando lo tengas a gusto, otra vez escribe:
guardamix
Y le das un nombre como mp3_x4_altavoces o lo que quieras. Así cada vez que quieras preconfigurarlo con un nombre a tu gusto.
MUY IMPORTANTE NO PONER NUNCA JAMÁS ESPACIOS EN LOS NOMBRES QUE USES

¡Ya está!

Para ponerlo todo como te gusta de una patada, escribe en una consola:
Código:
mimixer
y te aparece cada opción con un número, elige y disfruta. Si quieres pararlo todo escribe mute y tendrás paz y silencio (guardando en /tmp el estado actual del mezclador). Si luego escribes unmute vuelve a como estaba antes de hacer mute.

Ahí va guardamix:

Código:
#!/bin/bash
#Limpia la pantalla o sino comenta la linea siguiente
clear
#Pon la ruta completa al ejecutable alsactl en tu sistema
MI_ALSACTL="/usr/sbin/alsactl"
echo -e "\nCOMANDO PARA GUARDAR LA CONFIGURACION ACTUAL DEL MEZCLADOR\n"
#Pon la ruta al directorio donde guardar los archivos de configuracion
ALMACEN_CONFIGS="$HOME/.mialsa"
#Comprueba y si no existe lo creas y avisas
if [ ! -d "$ALMACEN_CONFIGS" ] ; then
            echo -e "\n\tNo existe el direcorio $ALMACEN_CONFIGS" ;
            echo -e "\tCreando el directorio de configuraciones $ALMACEN_CONFIGS\n" ;
            mkdir $ALMACEN_CONFIGS ;
fi
#Dos funciones: una almacena el nombre y otra verifica que quieres guardarlo
elige()
{
read -p "Elige el nombre de la configuracion a guardar:     "  PREGUNTA
}
sino()
{
echo -e  "\nConfirma que quieres guardar la configuracion con nombre:\t $PREGUNTA\n"
read -p "Elige guardar el nombre:    si=s   no=n   salir=cualquier tecla:   "  SIONO
}
#Presenta las configuraciones disponibles y en caso de tener ninguna avisa
echo -e "\nCONFIGURACIONES DISPONIBLES\n"
#Lista todas las configuraciones evitando cualquier salida a la consola
ls $ALMACEN_CONFIGS/*.alsa > /dev/null 2>&1
#Ahora comprueba si el comando anterior dio error o una lista de archivos
#Si tuvo error
if [ $(echo $?) != "0" ] ; then
    echo -e "\n\tNO HAY CONFIGURACIONES GUARDADAS...todavia...\n" ;
#Y si no tuvo error es que hay archivos.  Entonces listalos
else
    #Lista los arhivos de configuracion quitandoles la ruta y la extension .alsa
    for i in  $(ls $ALMACEN_CONFIGS/*.alsa) ; do ZZZ=$(basename $i) ; echo  "${ZZZ%.alsa}"; done
    #Manera alternativa de hacer lo mismo que la linea anterior pero que puede no funcionar en otros bash
    #for i in  $(ls $ALMACEN_CONFIGS/*.alsa) ; do ZZZ=$(basename $i .alsa) ; echo  "${ZZZ}"; done
fi
#Da algunas instrucciones al usuario
echo -e "\n\tINSTRUCCIONES DE USO:"
echo -e "\tPrimero ajusta el mezclador a tu gusto, luego escribe el nombre que"
echo -e "\tquieres que tenga la configuracion a guardar (sin espacios)."
echo -e "\tPara cambiar una de las de arriba escribe su nombre y se modifica.\n"
#Llama a la funcion elige definida al principio del script
#y almacenas el nombre tecleado en la variable PREGUNTA
elige
#Avisa y pregunta antes de ejecutar
#Llama a la funcion sino para preguntar si no o salir
sino
#loop infinito hasta que tengas un nombre que te guste o abandones el script
while true
do
case $SIONO in
            [sS]) echo -e "\n\tConfiguracion $PREGUNTA guardada.\n"
               #Ejecuta el comando alsactl para guardar el archivo de configuracion
               $MI_ALSACTL -f $ALMACEN_CONFIGS/$PREGUNTA.alsa store
               #En este caso sal del bucle while para acabar todo contento
               break ;;
            [nN]) echo -e "\nNo te gusta el nombre y quieres cambiarlo. Elige de nuevo...\n"
               elige
               sino ;;
            *) #Si decides salir del script, que lo ponga rechulo en letras rojas
               echo -e "\n\t\t\033[31mHAS DECIDIDO SALIR DEL SCRIPT,adios\033[0m\n"
               #En este caso tambien sal del bucle while
               break ;;
esac
done
echo -e "\n\t----------Fin del script----------\n"
y ahí va mimixer:

Código:
#!/bin/bash
#Limpia la pantalla
clear
#NOTA:Para guardar configuraciones del mezlador usables por este script
#utiliza antes el comando guardamix
#Comienza el baile
#Pon la ruta completa al ejecutable alsactl en tu sistema
MI_ALSACTL="/usr/sbin/alsactl"
#El nombre con su ruta del directorio home de usuario esta en la variable de entorno ${HOME}
#Asigna solo los archivos en el directorio ${HOME}/.mialsa/ con extension .alsa  a la variable ARCHIVOS_CONF
#y si no encuentra al menos uno te lo dice y acaba
ARCHIVOS_CONF=`ls  ${HOME}/.mialsa/*.alsa`
[ -z "$ARCHIVOS_CONF" ] && echo -e "\nNo hay ningun archivo de configuracion disponible, usa guardamix ...salir\n" && exit
#Limpia la ruta y la extension .alsa de los nombres de los archivos de configuracion
#metidos en ARCHIVOS_CONF  y guardalos en la variable SOLO_NOMBRES_DE_ARCHIVO
SOLO_NOMBRES_DE_ARCHIVO=$(for i in  $ARCHIVOS_CONF ; do ZZZ=$(basename $i) ; echo -n  " ${ZZZ%.alsa} "; done)
echo -e "\n---------===================================================----------"
#Dile al usuario como funciona la lista de seleccion
echo -e "\n\t--ELIGE UNA CONFIGURACION PARA EL MEZCLADOR DE SONIDO--\n"
echo -e "\tPara salir pulsa una tecla no asignada al menu."
echo -e "\tLas opciones de configuracion a elegir son:\n"
#Presenta una lista de seleccion de configuraciones
select ELEGIDO  in $SOLO_NOMBRES_DE_ARCHIVO
do
#Comprueba si has elegido una tecla invalida y si es cierto sal del script
[ -z "$ELEGIDO" ] && echo -e "\n\t\tNinguna opcion valida, has elegido salir...adieu\n" && exit
#Confirma el numero elegido por el usuario
echo -e "\nTu respuesta es la numero:\t$REPLY\n"
#Confirma el nombre de la configuracion elegida
echo -e "\nSe cargara la configuracion:\t ${ELEGIDO}\n"
#
#ELEGIDO es solo un nombre de configuracion
#Ahora asigna a ARCHIVO_CONF_ELEGIDO el archivo que corresponde al nombre de configuracion ELEGIDO con toda su ruta
ARCHIVO_CONF_ELEGIDO="${HOME}/.mialsa/${ELEGIDO}.alsa"
#Aqui es donde se realiza el cambio de configuracion con el comando alsactl
${MI_ALSACTL}  -f  ${ARCHIVO_CONF_ELEGIDO}   restore
#Comprueba que el comando de cambio de configuracion del mezclador ha funcionado
[ $? = "0" ] && echo -e "\nEl resutado del cambio de configuracion ha sido:\tSATISFACTORIO\n" \
|| echo -e "\nAVISO: Ha ocurrido alguna cagada al cargar el archivo de configuracion $ARCHIVO_CONF_ELEGIDO\n"
#
#Salir del bucle select
break
done
#Avisa que has acabado
echo -e "\n\t\tfin del script\n"
echo -e "\n---------===================================================----------\n\n"
Ahí va mute:

Código:
#!/bin/bash
#NOTA: Para que funcione este comando tiene que existir /home/usuario/.mialsa/silencio.alsa
#Para crear ese archivo pon todo el mezclador a cero y luego ejecuta
#el comando guardamix guardando una configuracion con el nombre silencio
#Comienza el baile
#Limpia la pantalla o si no quieres comenta la linea siguiente
clear
#Pon la ruta completa al ejecutable alsactl en tu sistema
MI_ALSACTL="/usr/sbin/alsactl"
#Guarda la configuracion actual en el archivo /tmp/mute.alsa. Si no existe lo crea
${MI_ALSACTL} -f /tmp/mute.alsa store
#Ahora aplica la configuracion /home/usuario/.mialsa/silencio.alsa
${MI_ALSACTL} -f $HOME/.mialsa/silencio.alsa  restore  \
&& echo -e "\t................SILENCIO TOTAL................\n"
#fin del script
Ahí va unmute:

Código:
#!/bin/bash
#Limpia la pantalla.  Si no quieres comenta la linea siguiente
clear
#Pon la ruta completa al ejecutable alsactl en tu sistema
MI_ALSACTL="/usr/sbin/alsactl"
#Llama al archivo /tmp/mute.alsa que guardaste antes al ejecutar el comando mute
$MI_ALSACTL  -f /tmp/mute.alsa  restore \
&& echo -e "\n\t................SONIDO RESTAURADO................\n"
#fin del script
Suerte ...

Última edición por migtei; 08-sep-2008 a las 00:09
Responder Citando
Respuesta

Marcadores


(0 miembros y 1 visitantes)
 
Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
802.party benysar Portal de ForoSUSE 6 24-jun-2005 14:32
Crear script de inicio para "pureftpd" criosg General OpenSUSE 1 30-abr-2005 19:12
Actualización de cyrus-imapd para SuSE Linux Goltnor Internet, Redes y Wireless 0 01-mar-2005 13:01
Nokia lanza el lenguaje Python de programación de fuente abierta Goltnor Noticias 0 15-feb-2005 17:24
Antivirus y firewall Yoyin Internet, Redes y Wireless 5 04-ago-2004 22:34



Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook


La franja horaria es GMT +2. Ahora son las 06:03.
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.

Esta página está bajo una licencia de Creative Commons, salvo que no se indique lo contrario.
Creative Commons License

Valid CSS!

Diseño por:Designed by: vbdesigns.devbdesigns.de 
Contáctenos - ForoSUSE - Archivo - Declaración de Privacidad - Arriba