Import von Cover aus Bilddatei


#1

Hi,

ich habe mich jetzt seit Stunden durch das Forum gearbeitet, finde aber für mein Problem keine Lösung. Entweder habe ich etwas bei der Suche übersehen, oder einfach nicht verstanden. Daher muss ich mich vorab schonmal entschuldigen, falls ich jetzt eine schon beantwortete Frage wiederhole. Also :

Meine MP3-Sammlung ist immer mit folgender Ordnerstruktur angelegt :

-Albumname
--CD1
--CD2
--Cover

Bedeutet, dass es zu jedem Album einen Ordner mit dem entsprechenden Albumnamen gibt. In diesem befindet sich immer ein Unterordner mit dem Namen COVER. Darin lege ich immer die Coverdatei mit dem Namen COVER.JPG ab.

Wie schaffe ich es mittels eine Aktion für den Coverimport, die Datei COVER.JPG in den TAG der MP3-Datei zu bekommen ?

Das Anlegen einer Aktion ist kein Problem, ich komme aber mit der Syntax nicht klar, um immer die Datei COVER.JPG aus dem Ordner COVER in den TAG zu bekommen.

Hat dazu bitte jemand einen Tipp für mich........

Vielen Dank für Eure Hilfe
Fraubi


#2

Wenn die Musikdateien in den Ordnern CD1 CD2, ... sind:
$replace(%_folderpath%,%_directory%,)\cover\cover.jpg

Wenn die Musikdateien im Ordner Albumname sind (weil es nur eine CD gibt):
cover\cover.jpg

EDIT:
ach ja, da gab's noch nen Trick:
$replace(%_folderpath%,%_directory%,)\cover\cover.jpg
ist das selbe wie
..\cover\folder.jpg

EDIT2:
Und hiermit klappt es sowohl wenn die Audiodatei im Ordner CD1, CD2, ... gespeichert ist, als auch wenn sie im Ordner Albumname gespeichert ist:
$if($eql($left(%_directory%,2),cd),..\cover\cover.jpg,\cover\cover.jpg)


#3

Zwei Alternativen in einem Formatstring:

Aktion: Album-Cover importieren
Formatstring: [$eql($left($lower(%_directory%),2),'cd')'..\']'.\Cover\Cover.jpg'
oder 
Formatstring: $if($eql($left($lower(%_directory%),2),'cd'),'..','.')'\Cover\Cover.jpg'

+---Album1
|   |   Track1.mp3
|   |   Track2.mp3
|   |
|   \---Cover
|           Cover.jpg
|
\---Album2
    +---CD1
    |       Track1.mp3
    |       Track2.mp3
    |
    +---CD2
    |       Track1.mp3
    |       Track2.mp3
    |
    \---Cover
            Cover.jpg

DD.20101102.2330.CET


Album-Cover aus Datei importieren fehlerhaft in v2.89
#4

Danke für die schnelle Hilfe, ich habe mich letztlich für die Lösung von DetlevD entschieden. Funktioniert prima und spart mir sehr viel Arbeit. Darauf wäre ich alleine nie gekommen, hört sich für mich nach böhmischen Dörfern an. Aber hauptsache es läuft.

Eine Frage würde ich gerne noch nachschieben, da Ihr Euch ja mit solchen Sachen super auskennt : Kann man diese tolle Funktion auch irgendwie nutzen, um den Albumnamen auch automatisch in den ID-TAG in den Bereich ALBUM zu bekommen (Aufbau der Ordnerstruktur siehe oben) ? Das würde mir noch viel mehr Arbeit abnehmen......

Danke schonmal bis hier, vielleicht habt ihr ja noch so einen klasse Tipp für mich.

Gruß
Fraubi

QUOTE (DetlevD @ Nov 3 2010, 00:30) <{POST_SNAPBACK}>
Zwei Alternativen in einem Formatstring:
Aktion: Album-Cover importieren
Formatstring: [$eql($left($lower(%_directory%),2),'cd')'..\']'.\Cover\Cover.jpg'
oder 
Formatstring: $if($eql($left($lower(%_directory%),2),'cd'),'..','.')'\Cover\Cover.jpg'

+---Album1
|   |   Track1.mp3
|   |   Track2.mp3
|   |
|   \---Cover
|           Cover.jpg
|
\---Album2
    +---CD1
    |       Track1.mp3
    |       Track2.mp3
    |
    +---CD2
    |       Track1.mp3
    |       Track2.mp3
    |
    \---Cover
            Cover.jpg

DD.20101102.2330.CET


#5

Aktion: Tag-Felder importieren
Quellformat: $if($eql($left($lower(%_directory%),2),cd),%_parent_directory%,%_directory%)
Formatstring: %album%


#6

Alternativ:

Aktion Tag-Felder formatieren:
Feld: ALBUM
Formatstring: $if($eql($left($lower(%_directory%),2),cd),%_parent_directory%,%_directory%)

(Das ist natürlich dasselbe in grün, aber man sieht gut, dass fast jede Tag-Felder formatieren Aktion nur ein Spezialfall der Tag-Felder importieren Aktion ist.)

mfG
gnor


#7

EINFACH GENIAL !!

Vielen Dank, das klappt echt super. Wenn ich das vor Monaten schon gewusst hätte, hätte ich den Sommer mehr im Garten verbringen können und hätte mich nicht Ewigkeiten mit dem Taggen meiner MP3's beschäftigen müssen.... :rolleyes:

Ich verstehe zwar nach wie vor nicht, was ihr da für tolle Befehle an welcher Stelle verwendet, obwohl mir PC's auch nicht so ganz fremd sind. Müsste es nicht auch machbar sein, den ID-TAG DISCNUMBER automatisch an Hand der Verzeichnisnamen (CD1, CD2, CD3) befüllen zu lassen (also bei CD1 wäre DISCNUMBER = 1, bei CD2 wäre es eine 2 und so weiter) ? Oder kann man sowas nicht realisieren, weil man mit einer Wenn-Dann- Abfrage arbeiten müsste (also wenn das Verzeichnis = CD1 dann DISCNUMBER = 1)

Tut mir leid, dass ich euch hier so für meine Zwecke ausnutze, aber je mehr ich erkenne, was das Programm so alles kann, umso mehr Einsatzmöglichkeiten fallen mir ein.......

Viele Grüße, und falls es mit dem Taggen der Discnummer nicht klappt, auf jeden Fall schonmal vielen Dank.......

Fraubi


#8

Drück mal F1 im Programm, dann kommst du zur deutschen Hilfe.
Lies dir dort mal vor allem Aktionen, Skriptbefehle und Konverter durch, dürfte einiges erklären.

Wenn du deine Dateien bisher in einem regelmäßig strukturierten Ordner und Dateinamen System angelegt hast, kriegst du mit Mp3Tag ohne Problem alle Informationen davon in die Tags.

ganz einfach
Dateiname - Tag Konverter:
cd%discnumber%/%dummy%

oder
Aktion: Tag-Felder importieren
Quellformat: %_directory%
Formatstring: cd%discnumber%

Wird der Formatstring nicht gefunden, also wenn der Ordner nicht mit cd beginnt, wird gar nichts geschrieben.


#9

Vielleicht ein bisschen universeller:
Quellformat: $if($eql($len(%discnumber%),0),$lower(%_directory%),cd%discnumber%)
Formatstring: cd%discnumber%

Dabei werden zum einen auch großgeschriebene CD-Verzeichnisse mit einbezogen und die CD-Nummer wird nicht gelöscht, wenn das Verzeichnis nicht das gewünschte liefert.

Die Methode wäre zwar umständlich, würde aber auch gehen (allerdings nicht bis zu beliebig vielen CDs).

Edit: Gerade gesehen, könnte man als Bedingung auch nur %discnumber% nehmen, also:
$if(%discnumber%,cd%discnumber%,$lower(%_directory%))
Ich habe gerade nichts zum Probieren.

mfG
gnor


#10

Super, das läuft soweit, die Eierlegendewollmichsau funktioniert prima. Danke Euch für die Hilfe.

Habe jetzt entdeckt, dass ich bei Alben, die nur aus einer CD bestehen, keinen Ordner mit dem Namen CD1 habe, sondern die MP3-Dateien direkt im Ordner mit dem Albumnamen liegen. Ich müsste daher jetzt nur noch eine Aktion definieren, mit der ich, wenn das Feld DISCNUMBER leer ist, den Inhalt mit einer 1 fülle.

Habe inzwischen schon wieder fast 2 Stunden gebastelt, ich weiß nur nicht, wie ich der Aktion ERSETZEN begreiflich machen soll, dass sie nach einem leeren Feld DISCNUMBER schauen soll. Bei der Aktion ERSETZEN habe ich bei Feld DISCNUMBER eingetragen. In das Feld ORIGINAL muss zwingend was eingetragen werden. Trage ich ein Leerzeichen ein, sucht die Aktion auch nach einem Leerzeichen. Suchen soll sie aber nach einem Feld mit nichts drin. Wie gebe ich das wohl ein ?

Viele Grüße und schönes Wochenende
Fraubi


#11

Aktion: Tag-Feld formatieren
Feld: DISCNUMBER
Formatstring: $if2(%discnumber%,1)

Das schaut ob %discnumber% forhanden ist. Wenn ja, gibt es den bestehenden Wert von discnumber, wenn nein gibt es 1.
Ersetzten kannst du nur in Tags die schon da sind, fehlt aber die discnumber, dann steht da nicht nicht 0 oder ein Leerzeichen, sondern das Tag is gar nicht da.


#12

That's it. Das ist so genial, nu läuft es genauso, wie ich es mir immer gedacht habe. Bislang zig Einzelklicks, nun einfach per Aktion und einem Klick. Super.

Vielen Dank nochmal für die tolle und schnelle Hilfe. Ich glaube, ich muss mich auch mal intensiver mit der Syntax bei den unterschiedlichen Aktionen beschäftigen. Da gibt es bestimmt noch die ein oder andere Funktion, die sich sinnvoll bei mir einsetzen lässt.Ich denke da so an das Taggen von Hörbüchern, in diesem Bereich arbeite ich noch immer manuell.

Viele Grüße und schönes Wochenende
Fraubi


#13

... das wird ja wohl auch 'mal Zeit! :rolleyes:

DD.20101107.0815.CET


#14

Wo finde ich wohl eine gute Anleitung dazu ? In der Hilfe von MP3-Tag finde ich kaum detaillierte Angaben über das Thema.........und ich hätte noch zig Ideen, die es mittels Aktionen umzusetzen gäbe.....

Gruß
Fraubi


#15

ich zitiere mich jetzt selbst von weiter oben:

Vor allem Skriptbefehle ist wohl das, was du brauchst.
Zugegeben, die Erklärungen sind oft etwas kurz gefasst, aber einfach ausprobieren was passiert hilft doch weiter. Oder die Funktionsbefehle als Suchbegriff im Forum verwenden, dann findest du in der Regel auch einige Beispiele.


#16

Der oberste Thread hier im Unterforum ist auch eine Linksammlung, wo du ggf. hilfreiche Dinge findest.
Probieren geht aber immer noch am besten.

mfG
gnor


#17

Dann werde ich mich mal im Selbststudium üben, wenn Ihr also demnächste Fragen habt... :rolleyes:

Viele Grüße
Fraubi