Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Skripta za sync muzike na MP3 plejer

[es] :: Skript jezici :: Skripta za sync muzike na MP3 plejer

[ Pregleda: 3605 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nikmil

Član broj: 45895
Poruke: 55
*.crnagora.net.



Profil

icon Skripta za sync muzike na MP3 plejer12.06.2006. u 10:10 - pre 184 meseci
Evo olakšanje za sve korisnike Rhythmbox-a Napravio sam skriptu koja kopira muziku na mp3 plejer, a koristi se ovako:

1. U Rhythmboxu se napravi lista pesama i snimi se kao neki fajl
2. Mountuje se mp3 plejer
3. Pozove se skripta
Code:
./sync.sh put_do_playliste put_do_mp3_plejera


Skripta ima još par bugova:
- putanja do playliste mora biti apsolutna (npr. /root/Desktop/playlista , a nipošto ./playlista)
- nisam još uvek dodao opcije randomize i sort, a dodaću i njih i komentare kad budem imao vremena
- imena fajlova sadrže znakove %20, %2C, itd.

Da bi skripta radila potrebna je neka verzija CURL-a.

Code:

#!/bin/sh

cd $2
i=1

for red in $(grep file:// $1)
do
    echo $red
    eval $red
    eval url='$File'$i
    curl -O $url
    i=$(expr $i + 1)
done
Prikačeni fajlovi
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.maksnet.net.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Skripta za sync muzike na MP3 plejer12.06.2006. u 13:29 - pre 184 meseci
Code:

PUT_LISTA=$1;
REZULTAT=`echo $PUT_LISTA | grep -c ^/`;
if [ $REZULTAT -eq 0 ]
then
        PUT_LISTA=`pwd`/$PUT_LISTA;
fi


Sada ce ti raditi i relativne putanje do playliste. Samo umesto $1 koristis $PUT_LISTA.

Mozes da li da zakacis neku mali listicu iz Rythmboxa, da vidim kako ti izgleda, jer stvarno ne vidim cemu curl u celoj ovoj prici. Ti si ga koristio umesto cp, ako sam skapirao, a rekao bih da jesam.
Nece skoditi i ovako nesto na pocetku:
Code:

if [ $# -ne 2]
then
        echo "Upotreba: $0 playlista /putanja/do/playera" 2>&1;
        exit;
fi


Nakon sto sredis putanju do playliste ide:
Code:

if [ ! -s $PUT_LISTA ]
then
        echo "Fajl je postoji!";
        exit;
else if [ ! -r $PUT_LISTA ]
then
        echo "Fajl nije citljiv!";
        exit;
fi


I tako dalje....
JaFreelancer.com
 
Odgovor na temu

nikmil

Član broj: 45895
Poruke: 55
*.crnagora.net.



Profil

icon Re: Skripta za sync muzike na MP3 plejer14.06.2006. u 12:06 - pre 184 meseci
Hvala na savetima, staviću to u skriptu čim budem imao vremena.
Koristio sam curl umesto cp zato što su u playlisti putanje do pesama tipa URL, npr.
file:///My%20Music/neki_fajl.mp3

Pošto nisam znao kako da ovo pretvorim u običnu UNIX-oliku putanju koja bi se mogla koristiti sa cp, koristio sam curl.

Evo jedne playliste:

Code:

[playlist]
NumberOfEntries=4
File1=file:///mnt/share/Dokumenti/My%20Music/muzika/Zabranjeno%20Pusenje%20-%20Best%20of/Zabranjeno%20Pusenje%20-%20Pit%20Bull.mp3
Title1=Pit Bull
File2=file:///mnt/share/Dokumenti/My%20Music/muzika/Zabranjeno%20Pusenje/Zabranjeno%20Pusenje%20-%20Pit%20Bull.mp3
Title2=Pit Bull
File3=file:///mnt/share/Dokumenti/My%20Music/muzika/Zabranjeno%20Pusenje%20-%20Best%20of/Zabranjeno%20Pusenje%20-%20Zeni%20nam%20se%20Vukota.mp3
Title3=Zeni nam se Vukota
File4=file:///mnt/share/Dokumenti/My%20Music/muzika/Zabranjeno%20Pusenje/Zabranjeno%20Pusenje%20-%20Zeni%20nam%20se%20Vukota.mp3
Title4=Zeni nam se Vukota
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.maksnet.net.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Skripta za sync muzike na MP3 plejer14.06.2006. u 13:50 - pre 184 meseci
Obozavam perl!
Code:
$str =~ s/\%([A-Fa-f0-9]{2})/pack('C', hex($1))/seg;

Ti vidi kako ces to da iskoristis.
Ili bolje da ga pises u perlu.
JaFreelancer.com
 
Odgovor na temu

nikmil

Član broj: 45895
Poruke: 55
*.crnagora.net.



Profil

icon Re: Skripta za sync muzike na MP3 plejer15.06.2006. u 08:30 - pre 184 meseci
Samo problem je što ne znam ni p od perl-a. Inače, ovo mi je prva sh skripta :), nešto kao vatreno krštenje :)

Da li bi se ta konverzija kako mogla uraditi u C-u?
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.maksnet.net.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Skripta za sync muzike na MP3 plejer15.06.2006. u 11:22 - pre 184 meseci
Ovako jednostavno ne, ali, moze naravno.
JaFreelancer.com
 
Odgovor na temu

random
Vladimir Vrzić
Beograd

Član broj: 85
Poruke: 3866
*.eunet.yu.

Sajt: www.last.fm/user/vrza


+4 Profil

icon Re: Skripta za sync muzike na MP3 plejer15.06.2006. u 21:41 - pre 184 meseci
Ako već radiš Bourne shell, onda je najbolje da koristiš sed za takve stvari.
int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.maksnet.net.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Skripta za sync muzike na MP3 plejer15.06.2006. u 21:52 - pre 184 meseci
Koji bi bio sed ekvivalent ovom perl kodu?
JaFreelancer.com
 
Odgovor na temu

nikmil

Član broj: 45895
Poruke: 55
*.crnagora.net.



Profil

icon Re: Skripta za sync muzike na MP3 plejer16.06.2006. u 18:37 - pre 184 meseci
Postoji li u bash-u neka komanda slicna funkciji random(n) u C-u koja daje daje neki broj iz intervala 0...n? Ovo mi treba kako bi dodao opciju randomize.
 
Odgovor na temu

random
Vladimir Vrzić
Beograd

Član broj: 85
Poruke: 3866
*.eunet.yu.

Sajt: www.last.fm/user/vrza


+4 Profil

icon Re: Skripta za sync muzike na MP3 plejer16.06.2006. u 22:30 - pre 184 meseci
@Vrider: zapravo, sad kad razmislim malo o tom problemu, napraviti ekvivalentnu komandu u Bourne shellu pomoću sed-a i standardnih Unix alata bi bilo komplikovano. Lakše bi bilo naređati nekoliko linija tipa:

Code:
echo ${string} | sed '{s/%20/ /g}'


za najčešće karaktere koji se kodiraju (razmak, &, ', ", itd), ili sve to staviti u jedan sed skript, a radilo bi posao.

Ako je cilj portabilnost, pomoću perl-a ili na drugi način bi se mogao lako generisati sed skript koji pokriva celu ascii tabelu i koji je ekvivalentan tvom perl one-lineru :).

@nikmil: Svaki put kad referenciraš promenljivu $RANDOM, bash generiše pseudoslučajan broj između 0 i 32767 i vrati njegovu vrednost. Vidi manual za detalje oko inicijalizacije seed-a i sl.

[Ovu poruku je menjao random dana 17.06.2006. u 00:03 GMT+1]
int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
 
Odgovor na temu

random
Vladimir Vrzić
Beograd

Član broj: 85
Poruke: 3866
*.eunet.yu.

Sajt: www.last.fm/user/vrza


+4 Profil

icon Re: Skripta za sync muzike na MP3 plejer16.06.2006. u 23:13 - pre 184 meseci
@Vrider: primer generisanja sed skripta (samo za printable karaktere) u perlu:

$ perl -e 'for ($i = 32; $i < 127; $i++) { print "s/%" . sprintf ("%x", $i) . "/\\x" . sprintf ("%x",$i) . "/g\n"; }' > skript.sed


Ali isti posao se može uraditi i u običnom Bourne shellu!

$ for i in `seq 32 126`; do echo -n "s/%"; printf "%x" $i; echo -n "/\\x" ; printf "%x" $i; printf "/g\n"; done > skript.sed


Kada sve to predamo sed-u dobijamo rešenje koje si tražio (u čistom Bourne shellu, ne mora da bude bash ;o)):

Code:
str=$(echo $str | sed "{$(for i in `seq 32 126`; do echo -n "s/%"; printf "%x" $i; echo -n "/\\x" ; printf "%x" $i; printf "/g\n"; done)}")


Ipak nije bilo toliko komplikovano kako sam na trenutak pomislio da će biti, barem što se tiče količine koda.

[Ovu poruku je menjao random dana 17.06.2006. u 00:24 GMT+1]
int rand(void);

Those who do not understand Unix are condemned to reinvent it, poorly.

Upali lampicu — koristi Jabber!
 
Odgovor na temu

VRider
Marković Damir
(BGD/SD Karaburma)/Pirot

Član broj: 1510
Poruke: 4132
*.maksnet.net.

Jabber: damirm | gmail | com
ICQ: 134002435


+13 Profil

icon Re: Skripta za sync muzike na MP3 plejer17.06.2006. u 02:08 - pre 184 meseci
To, bejbi.
Nisam ni sumnjao da ima neki liner.
JaFreelancer.com
 
Odgovor na temu

[es] :: Skript jezici :: Skripta za sync muzike na MP3 plejer

[ Pregleda: 3605 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.