Descripción: Script que nos permite escuchar de forma aleatorio nuestra colección de musica que tengamos almacenada, en el equipo o Discos Externos.
Script: Random-Music.sh
#!/bin/bash
# Random-Music.sh
# Creator: Inameiname
# Initial Command Creator: nothingspecial
# Original 'Music Shuffle' Creator: VH-BIL & Me
# Version: 1.0
#
# Set IFS so that it won't consider spaces as entry separators.
# Without this, spaces in file/folder names can make the loop go wacky.
IFS=$'\n'
# See if the Nautilus environment variable is empty
if [ -z $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS ]; then
# ================================================================================
# Project : Music Shuffle
# Author : VH-BIL & Me
# Date : 10th Nov 2009 & 9th Sep 2010
# Info :
# The "DestPath" variable holds the path of where to write all the
# playlists.
#
# The variable "MixedDestPath" holds the path and filename for the playlist
# of the mixed Music.
#
# The "Music_Count" variable is then number of individual Music files to be
# displayed in the menu.
#
# Arrays "Music_Name" and "Music_Path" hold information about the Music files in
# the menu. "Music_Name" is the name of the Music file and "Music_Path" is the path
# to where all the Music is stored. The number of Music files must
# be recorded in "Music_Count"
#
# The "Mixed_Count" variable is the number of Music files to be put combined
# into the mixed Music playlist.
#
# Just like the "Music_Name" and "Music_Path" variables the "Mixed_Name" and
# Mixed_Path hold the name and file path of the Music files to be in the
# mixed Music playlist.
#
# This is one of the first scripts I have made. I work as a programmer
# but as a C# programmer. I wanted an easy way of playing my Music files shuffled
# while not having to update playlists when adding new .
# ================================================================================
tty -s; if [ $? -ne 0 ]; then gnome-terminal -e "$0"; rm -R $HOME/.gnome2/nautilus-scripts/.playlists/; exit; fi
# The Destination Path Of All The Playlists
DestPath="$HOME/.gnome2/nautilus-scripts/.playlists/"
# The Path And Filename Of The Mixed Music Playlist
MixedDestPath="$HOME/.gnome2/nautilus-scripts/.playlists/MixedMusic.plist"
mkdir $DestPath && touch $HOME/.gnome2/nautilus-scripts/.playlists/MixedMusic.plist && touch $HOME/.gnome2/nautilus-scripts/.playlists/"My Music Library (on PC)".plist && touch $HOME/.gnome2/nautilus-scripts/.playlists/"My Music Library (on external hard drive)".plist
# Colour Codes
black='\E[30;40m'
red='\E[31;40m'
green='\E[32;40m'
yellow='\E[33;40m'
blue='\E[34;40m'
magenta='\E[35;40m'
cyan='\E[36;40m'
white='\E[37;40m'
# My Music Libraries
Music_Count=2 # change if need be
Music_Name[0]="My Music Library (on PC)"
Music_Path[0]="$HOME/Music/"
Music_Name[1]="My Music Library (on external hard drive)"
Music_Path[1]="/media/path/to/your/drive/and/folder/"
# Music_Name[2]=""
# Music_Path[2]="/media/path/to/your/drive/and/folder/"
# Music_Name[3]=""
# Music_Path[3]="/media/path/to/your/drive/and/folder/"
# Music_Name[4]=""
# Music_Path[4]="/media/path/to/your/drive/and/folder/"
# Music_Name[5]=""
# Music_Path[5]="/media/path/to/your/drive/and/folder/"
# Music_Name[6]=""
# Music_Path[6]="/media/path/to/your/drive/and/folder/"
# Music_Name[7]=""
# Music_Path[7]="/media/path/to/your/drive/and/folder/"
# Music_Name[8]=""
# Music_Path[8]="/media/path/to/your/drive/and/folder/"
# Music_Name[9]=""
# Music_Path[9]="/media/path/to/your/drive/and/folder/"
# Music_Name[10]=""
# Music_Path[10]="/media/path/to/your/drive/and/folder/"
# Music_Name[11]=""
# Music_Path[11]="/media/path/to/your/drive/and/folder/"
# Music_Name[12]=""
# Music_Path[12]="/media/path/to/your/drive/and/folder/"
# Music_Name[13]=""
# Music_Path[13]="/media/path/to/your/drive/and/folder/"
# Music_Name[14]=""
# Music_Path[14]="/media/path/to/your/drive/and/folder/"
# Music_Name[15]=""
# Music_Path[15]="/media/path/to/your/drive/and/folder/"
# Mixed Music
Mixed_Count=2
Mixed_Name[0]="My Music Library (on PC)"
Mixed_Path[0]="$HOME/Music/"
Mixed_Name[1]="My Music Library (on external hard drive)"
Mixed_Path[1]="/media/path/to/your/drive/and/folder/"
DisplayMenu()
{
echo -en $white
clear
echo -en $white
echo "Music Shuffle Script"
echo -en $red
echo "================="
echo
for ((cnt=0 ; cnt<=Music_Count-1 ; cnt++))
do
if [ $cnt -lt 10 ]
then
echo -en $cyan
echo -n "("
echo -en $blue
echo -n $cnt
echo -en $cyan
echo -n ") "
echo -en $white
echo ${Music_Name[cnt]}
else
echo -en $cyan
echo -n "("
echo -en $blue
echo -n $cnt
echo -en $cyan
echo -n ") "
echo -en $white
echo ${Music_Name[cnt]}
fi
done
if [ $Music_Count -lt 10 ]
then
echo -en $cyan
echo -n "("
echo -en $blue
echo -n $Music_Count
echo -en $cyan
echo -n ") "
echo -en $white
echo "Mixed Music"
else
echo -en $cyan
echo -n "("
echo -en $blue
echo -n $Music_Count
echo -en $cyan
echo -n ") "
echo -en $white
echo "Mixed Music"
fi
let "Music_Count += 1"
if [ $Music_Count -lt 10 ]
then
echo -en $cyan
echo -n "("
echo -en $blue
echo -n $Music_Count
echo -en $cyan
echo -n ") "
echo -en $white
echo "Display Mixed Music"
else
echo -en $cyan
echo -n "("
echo -en $blue
echo -n $Music_Count
echo -en $cyan
echo -n ") "
echo -en $white
echo "Display Mixed Music"
fi
let "Music_Count -= 1"
echo
echo -n "Make A Selection :"
}
DisplayMixedMusic()
{
echo
for ((cnt=0 ; cnt<=Mixed_Count-1 ; cnt++))
do
echo -en $white
echo ${Mixed_Name[cnt]}
done
echo
}
ShuffleEpisode()
{
cd /
find "${Music_Path[$1]}" > "$DestPath${Music_Name[$1]}.plist"
mplayer -playlist "$DestPath${Music_Name[$1]}.plist" -shuffle
}
MixedMusic()
{
echo "" > $MixedDestPath
cd /
for ((cnt=0 ; cnt<=Mixed_Count-1 ; cnt++))
do
find "${Mixed_Path[$cnt]}" > "$DestPath${Mixed_Name[$cnt]}.plist"
echo "" > $MixedDestPath"_cat"
cat "$DestPath${Mixed_Name[$cnt]}.plist" $MixedDestPath > $MixedDestPath"_cat"
rm $MixedDestPath
mv $MixedDestPath"_cat" $MixedDestPath
done
mplayer -playlist $MixedDestPath -shuffle
}
DisplayMenu
read input
if [ $input -eq $Music_Count ]
then
MixedMusic
fi
let "Music_Count += 1"
if [ $input -eq $Music_Count ]
then
DisplayMixedMusic
fi
let "Music_Count -= 1"
if [ $input -lt $Music_Count ]
then
ShuffleEpisode $input
fi
fi
# Loop through the list (from either Nautilus or the command line)
for ARCHIVE_FULLPATH in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
NEWDIRNAME=${ARCHIVE_FULLPATH%.*}
FILENAME=${ARCHIVE_FULLPATH##*/}
NAME=${ARCHIVE_FULLPATH##*/.*}
# open a terminal window and run the important stuff
tty -s; if [ $? -ne 0 ] ; then gnome-terminal -e "$0"; exit; fi
mplayer -loop 0 -quiet -shuffle -playlist <(find -L $ARCHIVE_FULLPATH -type f | egrep -i '(\.mp3|\.wav|\.flac|\.ogg|\.m4a|\.aac|\.mpa|\.mid|\.aif|\.iff|\.m3u|\.ra)')
done
Es necesario tener mplayer instalado y estar situado en ~/.gnome/nautilus-scripts con los permisos respectivos
0 comentarios:
Publicar un comentario