LinuxParty
Pongamos que tienes una colección de ficheros de música (o video) que quieres abrir aleatoriamente, cansado de ser reproducidos uno tras otro, o una lista predeterminada.
Pues estos ficheros son tu solución, este primer ejemplo es un Script de Linux, al que le hemos incluido un fichero de configuración, para que puedas abrir con tu reproductor multimedia preferido, en este ejemplo, el reproductor es SMPlayer.
Para Linux, "necesitas" instalar kdialog, si no lo tienes instalado.
Para una versión de "sólo texto", puedes usar "dialog"
Al fichero lo vamos a llamar "azar.sh", lo debes guardar en tu carpeta de música o vídeos, y recuerda darle permisos de ejecución con:
chmod a+x azar.sh
Este es el código:
#/bin/bash load_conf() { CONF="./azar.conf" if [ -f "$CONF" ] && [ ! "$CONF" == "" ]; then source $CONF else head echo "\$CONF not found." exit 1 fi } load_conf echo $CONF kdialog --yesnocancel "¿Ponemos música un Rato?" --yes-label Adelante --no-label DETENER --cancel-label CANCELAR case $? in 0) echo "Ponemos música" echo "Abriendo un fichero de música al azar" echo 'COMANDO="smplayer"' > ./azar.conf # Si elige "mplayer", en vez de smplayer, los ficheros saltarán automáticamente. echo " " for i in {1..20}; do load_conf Aqui=`pwd` Fichero=`find . -size +1M | shuf -n 1` echo "$Fichero" $COMANDO "$Fichero" done exit 0 ;; 1) echo "DETENIENDO TODO, Paramos la música" echo 'COMANDO="#"' > ./azar.conf killall $COMANDO exit 0 ;; 2) echo "CANELADO" exit 0 ;; esac
Necesitas crear el fichero de configuración, que para este ejemplo será el siguiente:(recuerda que a través del script puedes cambiar el reproductor)
COMANDO="smplayer"
Y para aquellos que por desgracia no se puedan liberar de Windows, este fichero de proceso por lotes BAT:
@echo off & setlocal :: start of main rem Set your path here: set "workDir=%cd%" rem Read the %random%, two times is'nt a mistake! Why? Ask Bill. rem In fact at the first time %random% is nearly the same. @set /a "rdm=%random%" set /a "rdm=%random%" rem Push to your path. pushd "%workDir%" rem Count all files in your path. (dir with /b shows only the filenames) set /a "counter=0" for /f "delims=" %%i in ('dir /s /b ^|find "."') do call :sub1 rem This function gives a value from 1 to upper bound of files set /a "rdNum=(%rdm%*%counter%/32767)+1" rem Start a random file set /a "counter=0" for /f "delims=" %%i in ('dir /s /b ^|find "."') do set "fileName=%%i" &call :sub2 rem Pop back from your path. popd "%workDir%" goto :eof :: end of main :: ********************************************************************************** :: start of sub1 :sub1 rem For each found file set counter + 1. set /a "counter+=1" goto :eof :: end of sub1 :: ********************************************************************************** :: start of sub2 :sub2 rem 1st: count again, rem 2nd: if counted number equals random number then start the file. set /a "counter+=1" if %counter%==%rdNum% (start "" "%fileName%") goto :eof :: end of sub2 :: ********************************************************************************** :: -snap--- end of batch
Por supuesto, eres libre de modificar los códigos fuentes aquí descritos.
-
Documentación
- Explora la Historia Hispánica con este Mapa Interactivo de la Real Academia de Historia
- ¿CÓMO SE INVENTÓ LA RUEDA?
- ¿Estamos en el 'Antropoceno', la era humana? Los científicos dicen: no
- Quemadores de Hidrógeno Verde para una Producción de Asfalto Sostenible
- Jericó: Un Viaje a Través de los Milenios en la Ciudad más Antigua del Mundo
- La Generación Z recurre a los libros y bibliotecas físicos
- El Trágico Declive de la Biblioteca de Alejandría: Una Epopeya Perdida en Llamas
- Los Neandertales fueron los primeros homínidos en controlar el fuego, y no los sapiens, sugiere un estudio
- Un grupo de Hóminidos Eurosiáticos podrían poner en duda todo lo que sebe sobre el del Homo Sapiens, hasta la fecha
- Descubre la Iglesia de San Antonio de los Alemanes: Un Tesoro Arquitectónico en el Corazón de Madrid
- La Asombrosa Reconstrucción de una Mujer Prehistórica Después de 4 Mil Años
- Descubren nuevo fósil de hace 8.7 millones de años en Turquía que desafía la historia sobre el origen de la humanidad
- Los arqueólogos descubren una lengua secreta perdida de hace 3.000 años
- La Queja Más Antigua del Mundo: La Historia Detrás de una Antigua Carta de Cliente Insatisfecho
- ‘Fósil viviente’: de la era de los dinosaurios, el árbol que sobrevivió a la gran extinción.