Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Mit Symlinks unterschiedliche Sichten auf Mp3s erzeugen.
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
borlander
Apprentice
Apprentice


Joined: 10 Jan 2004
Posts: 160
Location: Gummersbach

PostPosted: Mon Nov 22, 2004 11:43 am    Post subject: Mit Symlinks unterschiedliche Sichten auf Mp3s erzeugen. Reply with quote

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
View user's profile Send private message
Ragin
l33t
l33t


Joined: 14 Apr 2003
Posts: 776

PostPosted: Mon Nov 22, 2004 2:00 pm    Post subject: Reply with quote

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 :)
_________________
"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
View user's profile Send private message
Kiru
n00b
n00b


Joined: 22 Nov 2004
Posts: 2

PostPosted: Mon Nov 22, 2004 3:05 pm    Post subject: Reply with quote

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
View user's profile Send private message
borlander
Apprentice
Apprentice


Joined: 10 Jan 2004
Posts: 160
Location: Gummersbach

PostPosted: Mon Nov 22, 2004 6:36 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum