Gracias Gracias:  0
Me Gusta Me Gusta:  0
No me Gusta No me Gusta:  0
Mostrando resultados del 1 al 1 de 1

Tema: Script bash para tener el mezclador a gusto

  1. #1
    Fecha de Ingreso
    23-julio-2006
    Ubicación
    Mallorca
    Mensajes
    387
    Post Thanks / Like
    Poder de Credibilidad
    14

    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

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Temas Similares

  1. 802.party
    By benysar in forum Portal de ForoSUSE
    Respuestas: 6
    Último mensaje: 24-jun-2005, 14:32
  2. Crear script de inicio para "pureftpd"
    By criosg in forum General OpenSUSE
    Respuestas: 1
    Último mensaje: 30-abr-2005, 19:12
  3. Actualización de cyrus-imapd para SuSE Linux
    By Goltnor in forum Internet, Redes y Wireless
    Respuestas: 0
    Último mensaje: 01-mar-2005, 14:01
  4. Respuestas: 0
    Último mensaje: 15-feb-2005, 18:24
  5. Antivirus y firewall
    By Yoyin in forum Internet, Redes y Wireless
    Respuestas: 5
    Último mensaje: 04-ago-2004, 22:34

Marcadores

Normas de Publicación

  • No puedes crear nuevos temas
  • No puedes responder mensajes
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •