MP3-Tags aus Dateinamen und Ordnerstruktur importieren

born

Aktives Mitglied
Thread Starter
Dabei seit
30.12.2002
Beiträge
433
Reaktionspunkte
2
Was gibt es für Programme, die die im Topic genannte Funktion haben?

Viele liebe Grüße

Rafal
 
So was :

Hallo born ...

Schau Dir mal Id3X an, das kann aus Ordnerstrukturen den Artist oder Albumname extrahieren.
Selbst kleine Scripte kann man schreiben wenn es mal etwas komplizerter werden soll (wie z.B. Tag aus Dateinamen generieren). Das ganze geht dann natürlich im Batch Modus um sich nicht die Finger wundzutippen. ;)

Viele Grüße
Oliver N.
 
Vielen Dank für den Tipp. Das Programm ist vollkommen in Ordnung.
Leider habe ich keine Erfahrung mit REALbasic. Ich würde gerne wissen mit welcher Funktion man eine Zeichenkette zerteilen kann. Und zwar soll der erste String bis zum ersten Leerzeichen gehen und der zweite den Rest darstellen... bzw. habe ich Dateien in der Form "03 Mein neuer MP3-Track.mp3", aus dem will ich die Tracknummer und den Tracknamen ohne .mp3 extrahieren. Geht das mit REALbasic vielleicht einfacher, als mit der von mir vorgestellten Methode?

Grüße

Rafal
 
Probier's mal so:

Also ich habe ID3X auch erst seit zwei Tagen, bin also genauso Neuling auf dem Gebiet.
Aber in Deinem ID3X Ordner gibt es einen Ordner Namens Docs und dort befindet sich
eine Textdatei "Script Reference.txt". Dort wird der komplette Befehlssatz erklärt.
Aber um mal Dein Beispiel auszuprobieren probiere mal dies:

Ich habe eine MP3 Namens "01 Open your eyes.mp3". Hier will ich per Script den Track
sowie den Titel extrahieren. Wenn Deine MP3 Sammlung immer die selbe Formatierung
hat ist es relativ einfach. Die ersten zwei Ziffern ist der Track, also nehme die ersten zwei
Ziffern vom Dateiname:

Track = Val(Left(Filename,2))

Und der Title ist zwischen der Ziffer und dem Punkt, bei Dir fängt dann also der
Title an der 4. Position an und geht bis zu dem Punkt (also Länge des Dateinamens - 7):

Title = Mid(Filename,4,Len(Filename)-7)

So geht's. Allerdings müssen dann Deine MP3 immer diese Formatierung haben.
Weicht ein Dateiname ab, so wird z.B. der Title verhunzt. Praktischer wäre es wenn
man sagen könnte nimm den Text zwischen dem ersten Leerzeichen und dem
Punkt, aber soweit bin ich noch nicht. ;)
Vielleicht hat jemand anderes noch den ID3X und hat eine elegantere Lösung. ;)

Viele Grüße
Oliver N.
 
Oder so :

Ha, ich habe mir mal die RealBasic Reference mal angeschaut und ich habe meine Lösung
verbessert !
Zuerst das Script für ID3X:

Track = Val(Left(Filename,InStr(Filename," ")-1))
Title = Mid(Filename,InStr(Filename," ")+1,(InStr(Filename,".")-1)-(InStr(Filename," ")))


Hier die Erklärung:
Track: Im Dateinamen wird bis zum Leerzeichen gesucht und der String wird in ein Integer
umgewandelt.

Title: Jetzt wird von Dateinamen genau von ersten Leerzeichen bis zum Punkt gesucht
und dieser String wird als Title genommen.
Probier's mal aus im Batch Script Modus. ;)

Viele Grüße
Oliver N.
 
Vielen Dank!

Erst einmal möchte ich mich für den wirklich gelungenen Lösungsansatz bedanken. Bevor ich gepostet habe, habe ich mir die Skriptreferenz angeschaut. Bei mir sind da lediglich die Funktionen (ohne Beschreibungen) drin mit denen ich leider nicht viel anfangen kann. (O.K., O.K. das Meiste kann man sich denken :p).

Meine MP3-Dateien haben eigentlich grundsätzlich diese Formatierung. Sprich: die ersten beiden Buchstaben sind die Tracknummer (die ich aber nicht brauche, da ID3X vorher im "Batch rename from folder structure" diese setzt). Alle MP3-Dateien haben bei mir grundsätzlich die Endung ".mp3". Mit diesen beiden Informationen kann man dein Skript so gut wie problemlos einsetzen. Einen kleinen Verbesserungsvorschlag habe ich aber. Viele meiner Titel haben einen Punkt im Dateinamen (z.B. "01 N.Y. City.mp3" oder "01 Karaoke feat. die Keksfresser.mp3"). Bei Deiner Lösung wird nach dem ersten (und nicht nach dem letzten Punkt abgeschnitten), was die Titel verhunzt. Indem Du "." in ".mp3" änderst, kann Dir das nicht mehr passieren. Die Zeile sieht dann folgendermaßen aus:

Title = Mid (Filename, InStr (Filename, " ") + 1, (InStr (Filename, ".mp3") - 1) - (InStr (Filename, " ")))

Viele liebe Grüße

P.S. Ein paar Leerzeichen in solchen Einzeilern schaden der Übersicht nicht. ;)
 
Bidde schööön

Einen kleinen Verbesserungsvorschlag habe ich aber. Viele meiner Titel haben einen Punkt im Dateinamen (z.B. "01 N.Y. City.mp3" oder "01 Karaoke feat. die Keksfresser.mp3"). Bei Deiner Lösung wird nach dem ersten (und nicht nach dem letzten Punkt abgeschnitten), was die Titel verhunzt.

Ich wollte Dich nur mal testen. :D
Ne, kleiner Scherz. Hätte ich auch daran denken können, aber Du hast es ja meinen kleinen Feher beseitigt. Viel Spass noch mit dem ID3X.

Viele Grüße
Oliver N.
 
Zurück
Oben Unten