Versorgung von DISCNUMBER (bei Alben mit mehreren CD's)


#1

Hallo,

Ich habe ein paar generelle Fragen , nachdem ich unzählige CD's mit Anbindung von FreeDB erstellt habe, haben die Files in Tag %album% (Album mit mehreren CD's) verschiedene Varianten wie

CD 1
CD 2
CD1
CD2
(Disc 1)
(Disc 2)

Tag %discnumber% ist nicht versorgt ?

Wie versorgt ihr dann "automatisch" %discnumber% ?

Ein Variante von mir wäre :

  • Filter "_TAG" setzen und jede dieser Varianten eingeben und %discnumber% versorgen .

  • oder wie in Thread DISCNUMBER aus Ordner (CD1) schreiben mit Aktionen wie
    von DetlevD :
    Tag-Felder formatieren:
    Feld: DISCNUMBER
    Formatstring: $regexp(%_directory%,(\d),$1)
    .
    $regexp(%_directory%,'^.*(\d+) ,'$1'
    ist meiner Meinung sehr kompliziert ?

  • Welche Werte sollen in %discnumber% und %track% stehen und muss
    dann %totaldiscs% versorgt werden ?

    Greife wieder einen Thread cd 1 und 2 auf ipod trennen auf und beziehe mich auf
    Info von Cimnine:
    Track: xx/yy Discnumber: aa/bb
    xx = TrackNr
    yy = Total Track of Disc aa
    aa = DiscNr
    bb = Total Discs

    Ich habe meine Alben, welche mehrere CD's haben, wie folgt getaggt
    Beispiel: Album hat 2 CD's zu je 12 Tracks, daher
    %track% : 1/12
    %discnumber% : 1/2

    %totaldiscs% habe ich nicht versorgt , muß ich es versorgen , meiner Meinung dann nicht?

Abschliessend lege ich Alben wie folgt ab:

Konverter Tag - Dateiname

Es soll wenn %discnumber% Wert "1/1" oder nicht versorgt ist, Files ablegt werden
%track% %title% Bsp: 01 Lied.mp3
wenn %discnumber% Wert "1/2" oder "2/2" usw. %discnumber% einfliessen in File-Ablage
%discnumber%%track% %title% Bsp: 101 Lied.mp3

Geht es einfacher, meiner Meinung nicht ?

\Alben$upper($left(%artist%,1))$caps(%artist%)$caps(%artist%)-$caps(%album%) - (%year%)$if(%discnumber%,$if($eql(%discnumber%,1/1),$num(%track%,2),$num(%discnumber%,1)$num(%track%,2)),$num(%track%,2)) $caps(%title%)

Gruss


#2

Hallo,

Wie erweiterte ich die Anforderung , daß ich von ALBUM nach DISCNUMBER schreibe,
d.h. Album-Name [Disc 1] ist DISCNUMBER 1/2

   Album-Name [Disc 2] ist DISCNUMBER 2/2

OK:
ALBUM
Album-Name
Album (Disc 1)

DISCNUMBER
Tag-Felder Formatieren:

DISCNUMBER
$regexp(%album%,'^.*(\d+))$','$1')/2

NEU:
Album-Name
Album [Disc 1]

Tag-Felder Formatieren:
wie entwerte ich [ und ]
habe mehrere Varianten probiert , aber nichts funktioniert.

Kann man eine "gesammelte" reg. exp erstellen für
Album (Disc 1)
Album [Disc 1]

gruss


#3

wäre interessant gewesen, zu sehen, welche Varianten du probiert hast.
Ich meine, dass in regexp [ die Klammer entwertet und in strings '['.

Ich weiß ja nicht, wie oft du diese Diskettennummerierung durchziehen musst.
Aber wäre es nicht am einfachsten, einen Filter anzuwenden, der auf
%album% HAS "Disc 1"
abhebt?
Der würde sich überhaupt nicht um runde und eckige Klammern kümmern.

In die so gefilterten Dateien trägst du dann per "erweiterte Tags" das Feld discnumber mit dem Inhalt 1/1 ein.
Und dann dasselbe für Disc 2.

So ein bisschen habe ich Probleme mit der /2: Es gibt etliche Kompilationen, die deutlich mehr als nur 2 Disks haben ... also warum fix die /2?


#4
$regexp(%ALBUM%,'^.+?\s[[(]?(?:CD|Disc)\s?(\d+)[])]?$','$1')

... oder so ...

$regexp($regexp(%ALBUM%,'[^0-9]',' '),'^.+?(\d+)\s*$','$1')

... oder so ...

$reverse($num($regexp($reverse(%ALBUM%),'[^0-9]',' '),1))

... oder so ...

$regexp(%ALBUM%,'^.+?(\d+)[^\d]*$','$1')

DD.20110510.1545.CEST


#5

hallo,

perfekt, perfekt, vielen,vielen dank

abschliessende frage :

ich habe deinen ausdruck für Ersetzen im Tag ALBUM verwendet für folgende Anwendung
und es funktioniert:

ALT: Album (Disc 1) NEU: Album
ALT: Album [Disc 1] NEU: Album
ALT: Album (CD 1) NEU: Album

Aktion ( die ( ) stehen für $1, richtig ? :slight_smile:
Ersetzen mit reg. Ausdruck
Feld: ALBUM
Reg. Ausdruck: (^.+?)\s[[(]?(?:CD|Disc)\s?(\d+)[])]?$
Treffer: $1

gruss


#6

Kurze Anmerkung zu den Skriptausdrücken in post #4.
Mit Ausnahme des ersten Ausdrucks (dieser enthält die textuelle Alternative CD|Disc) ist es völlig gleichgültig, was in der Eingabezeichenkette enthalten ist (Alphazeichen und Zahlen gemischt)
Es wird immer die Zahlengruppe an der rechten Seite der Eingabezeichenkette ausgegeben.

Was du noch mit den Ausdrücken anstellen möchtest, das bleibt dir überlassen.
Wenn du Änderungen daran vornimmst, dann musst du selbstverständlich damit rechnen, andere Ergebnisse zu erhalten.

DD.20110510.1717.CEST