Login Hasło

#1 2009.02.01 14:33:09

gnejusz_pompejusz
Ociosanek
Skąd: Poznań
Zarejestrowany: 2007.04.09
Posty: 72
System: Debian Lenny
Fluxbox:

Hurtowe dodawanie okładek do plików mp3

Chciałem wrzucić do wszystkich plikow okładki. Dokłaniej chodziło mi o to, aby wymodzić taki skrypt, który przeszuka katalogi i tam gdzie bedzie okładka(czyli na każdy album) zapisał je do plików z tego katalogu.
Znalazłem taki skrypt w sieci
Kod:

Kod:

require 'id3lib'
 
tag = ID3Lib::Tag.new('myfile.mp3')
cover = {
   :id => :APIC,
   :mimetype => 'image/jpeg',
   :picturetype => 3,
   :data => File.read('cover.jpg')
}
 
tag << cover
tag.update!

wg autora mógłby się do tego nadać.

tylko, że woła on o pliki cover.jpg.
Ja mam raczej png i nazywają się jak albumy. Potrafi ktoś zmodyfikować ten kod?

Offline

 

#2 2009.02.01 14:45:02

thalcave
czarny mag
Skąd: gdynia
Zarejestrowany: 2008.03.13
Posty: 63
System: Gentoo
Fluxbox: 1.3.1

Re: Hurtowe dodawanie okładek do plików mp3

zmianę png na jpg uzyskasz narzędziem convert z paczki ImageMagic.

Kod:

cd katalog
OKLADKA=*.png
convert $OKLADKA okladka.jpg

może to Ci pomoże, nie mam jak przetestować jakichkolwiek zmian w tym skrypcie.


linux register user: 484281
"It's great to be here. It's great to be anywhere"
Keith Richards

Offline

 

#3 2009.02.01 16:41:57

Minio
Electric Castle resident
Skąd: Brno, Česko
Zarejestrowany: 2006.11.22
Posty: 546
System: Debian Testing
Fluxbox: Plasma 5.10.5 ;) (Fb 1.3.5)
WWW

Re: Hurtowe dodawanie okładek do plików mp3

Idź z tym na pierwsze lepsze forum poświęcone Ruby i powiedz w czym rzecz. Całość ogranicza się do wykonania tego kodu w pętli (w miejsce myfile.mp3 musi zostać podstawiona ścieżka bezwzględna do pliku na którym będziesz operować). Pomógłbym, ale teraz nie mam czasu uczyć się Ruby od zera do tego podstawowego poziomu.

gnejusz_pompejusz napisał(-a):

Ja mam raczej png i nazywają się jak albumy.

„Raczej PNG” i na ile dokładnie „nazywają się jak albumy”? Bo to jest kwestia struktury Twojego katalogu z muzyką i automatyzacji tego programu. Może nazwę pliku okładki tworzyć na podstawie nazwy katalogu w którym znajduje się plik mp3 na którym operuje, może nazwę pliku okładki tworzyć na podstawie tagu ID3 Album pliku mp3, może korzystać z pierwszego napotkanego pliku jpg w katalogu na którym operuje, z zastrzeżeniem że jakieś mają wyższy priorytet.

Poza tym dochodzi kwestia jaką rozdzielczość (i proporcje szerokości do wysokości...) mają Twoje pliki okładek. Osobiście sugerowałbym napisanie prostego skryptu w bash-u, który wyszukiwałby wszystkie pliki okładek, zmieniał ich wielkość, rozszerzenie (convert) i nazwę na jakąś ustandaryzowaną, którą łatwo uzyskać w programie do załączania okładek (jedną z metod które przedstawiłem powyżej). Jeżeli struktura Twojego katalogu z muzyką na to pozwala, pożądane byłoby zastosowanie stałej nazwy pliku okładki, np. cover.jpg.

thalcave: jak już podajesz kod, to zadbaj żeby był wysokiej jakości. Bo, niestety, to co podałeś nie nadaje się do niczego oprócz przepisania.

Offline

 

#4 2009.02.01 18:15:25

gnejusz_pompejusz
Ociosanek
Skąd: Poznań
Zarejestrowany: 2007.04.09
Posty: 72
System: Debian Lenny
Fluxbox:

Re: Hurtowe dodawanie okładek do plików mp3

Dobra tego converta to już jakoś pokonam. Zmieni się nazwy okładek na cover.jpg. Tylko ja mam(za radą amaroka) tak Muzyka/artysta/album.
Zatem dobrze by było to zrobić rekurencyjnie(?) żeby wystarczyło raz to uruchomić. Jak da radę z convertem to i da radę z tym rubim.
Minio jak też nie znam rubiego, ale że to portal dla ludzi z klasą, to spodziewałem się jakiegoś fachmana, dla którego to będą 2 sekundy roboty.

Offline

 

#5 2009.02.01 18:31:47

Minio
Electric Castle resident
Skąd: Brno, Česko
Zarejestrowany: 2006.11.22
Posty: 546
System: Debian Testing
Fluxbox: Plasma 5.10.5 ;) (Fb 1.3.5)
WWW

Re: Hurtowe dodawanie okładek do plików mp3

gnejusz_pompejusz napisał(-a):

Zatem dobrze by było to zrobić rekurencyjnie(?) żeby wystarczyło raz to uruchomić. Jak da radę z convertem to i da radę z tym rubim.

Jasne, że da, tylko trzeba umieć wink . Jak Ci nie zależy na czasie, to mogę we wtorek (wcześniej się nie da) napisać implementację w shellu.

gnejusz_pompejusz napisał(-a):

Minio jak też nie znam rubiego, ale że to portal dla ludzi z klasą, to spodziewałem się jakiegoś fachmana, dla którego to będą 2 sekundy roboty.

Nic mi nie wiadomo żeby którykolwiek ze stałych bywalców forum miał jakieś doświadczenia z Ruby. azhag czasem coś skrobnie w Pythonie a ja w perl-u.

Offline

 

#6 2009.02.01 19:12:57

gnejusz_pompejusz
Ociosanek
Skąd: Poznań
Zarejestrowany: 2007.04.09
Posty: 72
System: Debian Lenny
Fluxbox:

Re: Hurtowe dodawanie okładek do plików mp3

Zależy nie zależy.wink Jak się uda to fajnie, jak nie to trudno. Dzięki za każdą pomoc. :DMoże znasz jakiś inny sposób żeby tego dokonać?

Offline

 

#7 2009.02.01 20:06:00

Minio
Electric Castle resident
Skąd: Brno, Česko
Zarejestrowany: 2006.11.22
Posty: 546
System: Debian Testing
Fluxbox: Plasma 5.10.5 ;) (Fb 1.3.5)
WWW

Re: Hurtowe dodawanie okładek do plików mp3

gnejusz_pompejusz napisał(-a):

Może znasz jakiś inny sposób żeby tego dokonać?

Właściwie nie, ponieważ nigdy nie potrzebowałem zrobić czegoś takiego. I wątpię żebym kiedykolwiek potrzebował.

Niemniej gdybym, to najpierw sprawdziłbym czy (perl-owy) moduł MP3::Tag potrafi zapisywać obrazki w pliku. Podczas szukania tej informacji natrafiłbym na program id3image, który robi właśnie dokładnie to czego chcesz. Po zapisaniu go na dysk najprawdopodobniej napisałbym wrapper w shellu do wykonywania go rekurencyjnie na wszystkich plikach mp3 w moim katalogu z muzyką.

Ewentualnie zmodyfikowałbym go tak, żeby sam wywoływał się rekurencyjnie na katalogu podanym jako argument, ale wątpię żeby mi się chciało. Zadanie które chcesz wykonać jest raczej jednorazowe i w związku z tym priortytetem jest nie czystość czy przenośność napisanego kodu, ale łatwość i szybkość implementacji. Stąd ani chwili nie wahałbym się przed mariażem dwóch języków.

Offline

 

#8 2009.02.01 22:01:27

gnejusz_pompejusz
Ociosanek
Skąd: Poznań
Zarejestrowany: 2007.04.09
Posty: 72
System: Debian Lenny
Fluxbox:

Re: Hurtowe dodawanie okładek do plików mp3

Mów do mnie jeszcze.lol

Kurka nie znam się na programowaniu. Jakbym wiedział, że to takie kombinowanie to bym nie zaczynał. A inny sposób to jakiś dedykowany program jak id3v2.

Offline

 

#9 2009.02.01 22:58:35

Minio
Electric Castle resident
Skąd: Brno, Česko
Zarejestrowany: 2006.11.22
Posty: 546
System: Debian Testing
Fluxbox: Plasma 5.10.5 ;) (Fb 1.3.5)
WWW

Re: Hurtowe dodawanie okładek do plików mp3

Ależ mój drogi, podałem Ci dedykowane narzędzie — id3image. Uruchamiasz go przez

Kod:

./id3image okladka.jpg plik1.mp3 plik2.mp3

Wszystko co muszisz zrobić to pobrać go, choćby wgetem, i nadać mu atrybut wykonywalności.

Skrypt jest zależny od modułów perl-a MP3::Tag oraz Image::Magick (ten z kolei jest tylko wrapperem dla libmagick, więc potrzebujesz jeszcze ImageMagick). Widzę że używasz Debiana, i szczęśliwie wszystkie te pakiety znajdują się w repo. Zainstaluj libmp3-tag-perl, perlmagick oraz imagemagick.

Skoro pętla rekurencyjna w bash-u również przerasta Twoje skromne umiejętności, to mogę Ci ją napisać. Ale musisz poczekać do wtorku-środy, gdyż wcześniej nie mam zamiaru dać rady stworzyć tego skryptu (chociaż to robota na dosłownie kilka minut).

Powiedz mi tylko — czy w każdym Twoim katalogu znajduje się dokładnie jeden plik z okładką, czy mogą istnieć sytuacje gdy jest ich więcej? Czy wszystkie pliki z okładkami mają takie samo rozszerzenie?

Offline

 

#10 2009.02.02 12:25:05

gnejusz_pompejusz
Ociosanek
Skąd: Poznań
Zarejestrowany: 2007.04.09
Posty: 72
System: Debian Lenny
Fluxbox:

Re: Hurtowe dodawanie okładek do plików mp3

Minio napisał(-a):

Powiedz mi tylko — czy w każdym Twoim katalogu znajduje się dokładnie jeden plik z okładką, czy mogą istnieć sytuacje gdy jest ich więcej? Czy wszystkie pliki z okładkami mają takie samo rozszerzenie?

No raczej powinno byc po jednym. Wydaję mi się, że wszystkie to png. A poczekać mogę i do przyszłego piątku nawet.

Offline

 

#11 2009.02.02 19:31:06

yoyoo2
Użytkownik
Zarejestrowany: 2009.01.17
Posty: 70

Re: Hurtowe dodawanie okładek do plików mp3

a nie masz przypadkiem front + back + obrazki ze srodka albumu?

Offline

 

#12 2009.02.02 21:08:34

gnejusz_pompejusz
Ociosanek
Skąd: Poznań
Zarejestrowany: 2007.04.09
Posty: 72
System: Debian Lenny
Fluxbox:

Re: Hurtowe dodawanie okładek do plików mp3

Raczej nie. Tylko co amarok tam przekopiował.

Offline

 

#13 2009.02.03 17:02:50

Minio
Electric Castle resident
Skąd: Brno, Česko
Zarejestrowany: 2006.11.22
Posty: 546
System: Debian Testing
Fluxbox: Plasma 5.10.5 ;) (Fb 1.3.5)
WWW

Re: Hurtowe dodawanie okładek do plików mp3

Proszę. Powinno działać. Acz od razu mówię, że najlepiej działa gdy pliki mp3 nie są mieszane z podkatalogami również zawierającymi takie pliki (na mojej, bardzo ładnie uporządkowanej, strukturze katalogów sprawdza się wyśmienicie).

Może nie jest to najlepszy z możliwych skryptów, ale nie miałem pomysłów by zrobić to inaczej w bash-u — pozbawionym bardziej zaawansowanych metod kontrolowania pętli.

Mam wrażenie że miałem coś jeszcze o nim napisać, ale zapomniałem wink .

Offline

 

#14 2009.02.08 21:20:12

gnejusz_pompejusz
Ociosanek
Skąd: Poznań
Zarejestrowany: 2007.04.09
Posty: 72
System: Debian Lenny
Fluxbox:

Re: Hurtowe dodawanie okładek do plików mp3

No dzięki chyba działa, narazie nie mam czasu go sprawdzić szerzej.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson