[bash] tworzenie playlisty

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
daniel_raq
Piegowaty Guziec
Piegowaty Guziec
Posty: 16
Rejestracja: 05 kwie 2006, 19:00
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

[bash] tworzenie playlisty

Post autor: daniel_raq »

Witam
Jestem osoba dosyc zielona w bashu i dla tego prosze o wyrozumialosc w tych sprawach
Potrzebuje skrypt ktory po odpaleniu stworzy mi playliste z plikow wideo znajdujacych sie w katalogu. Moglby mi ktos pomoc w tej sprawie?
Awatar użytkownika
f00sek
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 109
Rejestracja: 18 kwie 2009, 15:54
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: [bash] tworzenie playlisty

Post autor: f00sek »

Kod: Zaznacz cały

ls *.avi >plik
System.out.println ("Java programmer");
daniel_raq
Piegowaty Guziec
Piegowaty Guziec
Posty: 16
Rejestracja: 05 kwie 2006, 19:00
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: [bash] tworzenie playlisty

Post autor: daniel_raq »

f00sek pisze:

Kod: Zaznacz cały

ls *.avi >plik
niestety tak zapisuje tylko nazwy plikow i zaden program nie odpala jej
terrapin
Piegowaty Guziec
Piegowaty Guziec
Posty: 8
Rejestracja: 07 mar 2009, 08:24
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME

Odp: [bash] tworzenie playlisty

Post autor: terrapin »

Taka playlista wyglada inaczej w zaleznosci od programu.
Jesli chcesz odtworzyć po kolei pliki z katalogu
to zacznij od czegos w stylu :

Kod: Zaznacz cały

for i in *avi
do
nazwa_programu_do_odtworzenia $i
done
ale może nie być to takie łatwe.
rack

Odp: [bash] tworzenie playlisty

Post autor: rack »

jak osoba wyżej napisała. Najpierw ustal jak wygląda lista plików do odtwarzania dla twojego programu... są to zwykłe tekstowe pliki ... Jeżeli nie wiesz jak to wygląda w praktyce to popatz na m3u dla winampa:

Alternative\Band - Song.mp3
Classical\Other Band - New Song.mp3
cos_tam.mp3
F:\more music\foo - bar.mp3
http://www.site.com:8000/listen.pls
http://www.site.com/~user/mine.mp3

itd ...
daniel_raq
Piegowaty Guziec
Piegowaty Guziec
Posty: 16
Rejestracja: 05 kwie 2006, 19:00
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: [bash] tworzenie playlisty

Post autor: daniel_raq »

to powinna byc playlista w pliku. najlepiej taka jaka tworz totem co takiego

Kod: Zaznacz cały

[playlist]
NumberOfEntries=6
File1=file:///media/disk/Wideo/pierwszy.avi
File2=file:///media/disk/Wideo/drugi.avi
File3=file:///media/disk/Wideo/trzeci.avi
File4=file:///media/disk/Wideo/czwarty.avi
File5=file:///media/disk/Wideo/piaty.avi
Awatar użytkownika
sibul
Wytworny Kaczor
Wytworny Kaczor
Posty: 318
Rejestracja: 16 paź 2007, 22:29
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Odp: [bash] tworzenie playlisty

Post autor: sibul »

pobaw się za pomocą ls -l lub zrób listę amarokiem i zapisz do pliku.
OS X 10.8.3
dawidgarus
Wytworny Kaczor
Wytworny Kaczor
Posty: 418
Rejestracja: 09 lut 2007, 23:17
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: [bash] tworzenie playlisty

Post autor: dawidgarus »

zapisujemy skrypt i nadajemy mu prawa do wykonywania:

Kod: Zaznacz cały

#!/bin/sh
echo > /tmp/playlist123
i=1
for file in *.avi; do
  echo "File"$i"=file://"`pwd`"/"$file >> /tmp/playlist123
  i=$[i+1]
done
echo "[playlist]"
echo "NumberOfEntries="$i
cat /tmp/playlist123
rm /tmp/playlist123
użycie:

Kod: Zaznacz cały

skrypt > playlista.txt
daniel_raq
Piegowaty Guziec
Piegowaty Guziec
Posty: 16
Rejestracja: 05 kwie 2006, 19:00
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: [bash] tworzenie playlisty

Post autor: daniel_raq »

dzieki wielkie za pomoc po malych przerobkach dziala spiewajaco
finalna wersja wyglada tak

Kod: Zaznacz cały

#!/bin/sh
echo > pls.pls
i=0
b=0
echo "[playlist]" >> ./pls.pls
	for file in ./przyklad/*.*; do
	   b=$((b+1))
	done
echo "NumberOfEntries="$b >> ./pls.pls
for file in ./przyklad/*.*; do
   i=$((i+1))
	echo "File"$i"=file://"`pwd`"/"$file >> ./pls.pls
done

dawidgarus
Wytworny Kaczor
Wytworny Kaczor
Posty: 418
Rejestracja: 09 lut 2007, 23:17
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: [bash] tworzenie playlisty

Post autor: dawidgarus »

troszkę nieelegancki ten twój kod...

Kod: Zaznacz cały

#!/bin/sh
echo "[playlist]" > ./pls.pls
c=${#$(echo ./przyklad/*.*)[@]}
echo "NumberOfEntries="$[c+1] >> ./pls.pls
for file in ./przyklad/*.*; do
	echo "File"$i"=file://"`pwd`"/"$file >> ./pls.pls
done
niby robi to samo, ale ładniej wygląda. ;)
daniel_raq
Piegowaty Guziec
Piegowaty Guziec
Posty: 16
Rejestracja: 05 kwie 2006, 19:00
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME
Architektura: x86_64
Kontakt:

Odp: [bash] tworzenie playlisty

Post autor: daniel_raq »

mowilem ze orlem z programowanie to nie jestem ;p

I tym optymistycznym akcentem mozna uznac temat za zamkniety :)
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 7 gości