mjuza.sh - uzivanje u muzici
by
Gavrilo Prodanovic
—
last modified
Mar 06, 2011 08:27 PM
Skripta koja ce iz nekoga foldera da izabere nasumicno neki broj pjesama, i pusti ih nekim muzickim plejrom kao mplayer, mpg321, mpg123. Po zelji moze da ugasi racunar posle pustanja pjesama ili da kreira ram disk i da u njega smjesti pjesme ako imate bucan HDD. Za vise opcija ./mjuza -h
Primjeri koriscenja: "./mjuza -g -r -b 15 ~/Music/"
Skripta kada bira pjesme iz nekoga direktorijuma gleda i poddirektorijume.
mjuza.sh — text/x-sh, 3 kB (3353 bytes)
File contents
#!/bin/bash ## FUNKCIJE pomoc () { echo 'KORISTITE [-h] [-t dir] [-r] [-d] [-e command] [-g] [-s] [-b n] DIREKTORIJUM(I)' echo '-h Ispisuje ovu pomoc' echo '-t dir kreira se temp direktorijum gde da se smjeste fajlove ako se ne navede onda "tmp-muzika"' echo '-r pravi ram disk i u njih smjesta fajlove, potrebno biti u sudo listi ili biti root' echo '-d ne brise temp dir nakon zavrsetka slusanja muzika' echo '-e command koristi externu komandu za pustanje pjesama, ako se nenavede koristi programe mplayer, mpg321 i mpg123' echo '-g gasi racunar posle zavrsetka slusanja, potrebno biti u sudo listi ili root' echo '-s bira pjesme na tenade :) , nema ucinka ako se koristi sa -e' echo '-b n Koliko pjesama da izabere i stavi u tmp direktorijum, podrazumjevano 10' exit 1 } ## END ## UZIMANJE ARGUMENATA # ZA ISPISIVANJE POMOCI if [ $# -eq 0 ] then pomoc fi if [ $1 = -h ]; then pomoc; fi # ISPITIVANJE OSTALIH ARGUMENATA # POSTAVLJANJE DEFAULT VRIJEDNOSTI tmp_muzike=tmp-muzika ram_disk=0 # NEPRAVI SE RAM DISK ne_brisi=0 # BRISE FAJLOVE POSLE SLUSANJA komanda=DEF # NIJE NAVEDENA EKSTERNA KOMANDA KORESTE SE DEFAUL gasi=0 # NE GASI POZAR POSLE MUZIKE :) tenade=0 # NE PEVA NA TENADE KAKO KAZE MOJA BABA :D broj=10 # BIRA 10 PESAMA OD FRLJUCKE xD #TRAZI ARGUMENTE KOJI SU ZADATI brojac=1 brarg=$# while [ $brojac -le $brarg ] do if [ $1 = -t ]; then tmp_muzike=$2 shift; shift; brojac=`expr $brojac + 1` elif [ $1 = -r ]; then ram_disk=1 shift elif [ $1 = -d ]; then ne_brisi=1 shift elif [ $1 = -e ]; then komanda=$2 shift; shift; brojac=`expr $brojac + 1` elif [ $1 = -g ]; then gasi=1 shift elif [ $1 = -s ]; then tenade=1 shift elif [ $1 = -b ]; then broj=$2 shift; shift; brojac=`expr $brojac + 1` fi brojac=`expr $brojac + 1` done ## END ## NASUMICNO BIRANJE LISTE PJESAMA mkdir $tmp_muzike # KREIRANJE DIR-A if [ $ram_disk -eq 1 ]; then # PRAVLJENJE RAM DISKA sudo mke2fs /dev/ram0 sudo mount /dev/ram0 $tmp_muzike sudo chmod -R 777 $tmp_muzike fi br_pesama=`find "$@" -name '*.mp3' | wc -l`; br_pesama=`expr $br_pesama - 1` for i in `seq 1 $broj` do br=$[ $RANDOM % $br_pesama + 1 ] pesma=`find "$@" -name '*.mp3' | sed -n "$br p"` ; cp "$pesma" $tmp_muzike done ## END ## PUSTANJE MUZIKE [GASENJE KOMPA] [I OSLOBADJANJE RESURSA] #PUSTANJE PJESAMA if [ $komanda = DEF ]; then if [ $tenade -eq 0 ]; then mplayer $tmp_muzike/* if [ `echo $?` -eq 127 ]; then mpg321 $tmp_muzike/*; fi if [ `echo $?` -eq 127 ]; then mpg123 $tmp_muzike/*; fi elif [ $tenade -eq 1 ]; then mplayer -shuffle $tmp_muzike/* if [ `echo $?` -eq 127 ]; then mpg321 -z $tmp_muzike/*; fi if [ `echo $?` -eq 127 ]; then mpg123 -z $tmp_muzike/*; fi fi else $komanda $tmp_muzike/* # Pokrece ekternu komandu fi #POSPREMANJE TEMP DIREKTORIJUMA if [ $ne_brisi -eq 0 ]; then rm -r $tmp_muzike/* echo "Brisanje temp direktorijuma..." if [ $ram_disk -eq 1 ]; then echo "Razmontiranje /dev/ram0" sudo umount /dev/ram0; fi rmdir $tmp_muzike fi # GASENJE RACUNARA if [ $gasi -eq 1 ]; then echo "Gasenje racunara" sleep 3 sudo halt; fi ## END exit 0
Document Actions