View previous topic :: View next topic |
Author |
Message |
borlander Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/52241597940019b62d0274.jpg)
Joined: 10 Jan 2004 Posts: 160 Location: Gummersbach
|
Posted: Mon Nov 22, 2004 11:43 am Post subject: Mit Symlinks unterschiedliche Sichten auf Mp3s erzeugen. |
|
|
Hy nochmal,
ich habe eine große Menge Mp3s mit einwandfreien ID Tags. Jetzt habe ich meine MP3s grob nach Genre sortiert - woweit alles gut. Jetzt lege ich meine MP3s mit ein paar Freunden aus der WG zusammen und die möchten aber alles etwas anders Sortiert haben z.B. Ordner mit dem Anfangsbuchstaben des Interpreten und evt. noch andere Sortierungen.
Jetzt gibt es Tausende MP3 Datenbankden, die man per Webinterface oder Software benutzen kann. Ich möchte aber ein MP3 Datenbank, die die Suchergebnisse durch Symlinks abbildet.
z.B.
/mp3/symlinks/A/Apocalyptica -> /mp3/Alben & Singles/Metal & Gothic/Apocalyptica
/mp3/symlinks/A/Avantasia -> /mp3/Alben & Singles/Metal & Gothic/Avantasia |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Ragin l33t
![l33t l33t](/images/ranks/rank_rect_4.gif)
![](images/avatars/1860578873eaa6a19c784f.jpg)
Joined: 14 Apr 2003 Posts: 776
|
Posted: Mon Nov 22, 2004 2:00 pm Post subject: |
|
|
Entweder du legst das per Hand an oder du schreibst ein kleines Shell-Script, das durch deine Verzeichnisse stöbert und die entsprechenden Links anlegt. Dabei musst du ja nur den Anfangsbuchstaben (ausser .) nehmen und dann der entsprechenden Kategorie zuweisen. Sollte ein recht kurzes Script sein.
Was fertiges kenne ich da leider auch nicht. Aber vielleicht stellst du dein Script ja dann allen anderen zur Verfügung ![Smile :)](images/smiles/icon_smile.gif) _________________ "Innerhalb der Computergemeinschaft lebt man nach der Grundregel, die Gegenwart sei ein Programmfehler, der in der nächsten Ausgabe behoben sein wird."
Clifford Stoll, amerik. Astrophysiker u. Computer- Pionier |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
Kiru n00b
![n00b n00b](/images/ranks/rank_rect_0.gif)
Joined: 22 Nov 2004 Posts: 2
|
Posted: Mon Nov 22, 2004 3:05 pm Post subject: |
|
|
Hi,
mit Perl geht das recht gut.
Im CPAN mal nach MP3::Info für die Tags und File::Path && File::Copy für das File-handling suchen.
unter www.perlmeister.com ist glaube ich auch ein Beispiel. |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
borlander Apprentice
![Apprentice Apprentice](/images/ranks/rank_rect_2.gif)
![](images/avatars/52241597940019b62d0274.jpg)
Joined: 10 Jan 2004 Posts: 160 Location: Gummersbach
|
Posted: Mon Nov 22, 2004 6:36 pm Post subject: |
|
|
Danke für den Tipp.
Ich habe mal etwas angefangen mich mit Perl auseinnander zu setzen.
Das möchte ich euch nicht vorenthalten:
Code: | #!/usr/bin/perl -w
use MP3::Tag;
sub findMp3;
$fileSeperator = "/";
findMp3("Charts & Hits");
sub findMp3
{
local($thePath, @files, @dirs, $dir);
$thePath = $_[0];
opendir( DIR,$thePath ); #Verzeichnis wird geöffnet
@dirs = grep{-d $thePath . $fileSeperator . $_} readdir(DIR); #TODO - . und .. rausfiltern
rewinddir(DIR);
@files = grep{-f $thePath . $fileSeperator . $_} readdir(DIR); #TODO - nur *.MP3
closedir(DIR);
foreach $dir(@dirs)
{
if( $dir eq "." || $dir eq ".." ) { next; }
#print $dir . "\n";
&findMp3($thePath . $fileSeperator . $dir);
}
print &getAlbum($thePath . $fileSeperator, @files) . "\n";
}
sub getAlbum
{
local($mp3,@meta,@info,$file,$album);
$album = "";
#print $_[0] . join(", ",@_[1..$#_]) . "\n";
foreach $file(@_[1..$#_])
{
if( $mp3=MP3::Tag->new($_[0] . $file) )
{
@meta = $mp3->get_tags;
if($meta[1] ne "ID3v2" && $meta[1] ne "ID3v1") #nur MP3 Dateien mit ID Tag verarbeiten
{ next; }
@info=$mp3->autoinfo;
if($album eq "")
{
$album = $info[2] . " - " . $info[3]; #
}
if($album ne $info[2] . " - " . $info[3])
{
return $info[3];
}
$album = $info[2] . " - " . $info[3];
}
}
return $album;
} |
Das Programm zeigt gibt im Moment nur entweder "Albumname" wenn verschiedene Interpreten im Ordner sind oder "Interpret - Albumname" aus.
Das ist schon mal ein Anfang . ich werde das Script Stück für Stück weiter schreiben.
Wer hier schon grobe Fehler sieht oder ein paar Anregungen hat soll sich melden. sven AT hb02 DOT de
PS "emerge MP3-Tag" nicht vergessen |
|
Back to top |
|
![](templates/gentoo/images/spacer.gif) |
|