Export - Bin am verzweifeln


#1

Hallo Mp3Tag-Gemeinde.
Ich sitze schon Tage an einer nfo.mte und finde einfach (den für Euch kleinen) Fehler nicht.

Ich benutze folgende Formel:

Û $loop(%track%)$puts(PT,%_length%)$puts(Tr,$ifgreater(%track%,99,, )$num(%track%,2).)$iflonger(%artist% - %title%,55,$puts(X1,$trim($left(%artist% - %title%,$strrchr($left(%artist% - %title%,55), ),55)))$get(Tr) $left($get(X1)$repeat( ,55),55) $repeat( ,$sub(12,$add($len($get(Tr)),$len($get(PT)))))[$replace(%_length%,_,:) Û]$add($len($get(Tr),$len($get(PT))))
 Û $repeat( ,$len($get(Tr)))$puts(X2,$trim($mid(%artist% - %title%,$len($get(X1)) ,55)))$right($repeat( ,55)$get(X2),$sub(55,$len($get(Tr))))$repeat( ,12)Û,$get(Tr) $left(%artist% - %title%$repeat( ,55),55) $repeat( ,$sub(10,$add($len($get(Tr),$len($get(PT))))))[$replace(%_length%,_,:) Û])$loopend()

Es sollte eigenlich wie folgt aussehen:

bringt mir aber dieses:

Nur wenn die Playtime über 60 Minuten beträgt.

Ich hoffe das ich es soweit erklärt habe und einer von Euch (alten) Hasen mir den Fehler aufzeigt.
Danke im voraus
Plumber44

Juhu habe den fehler gefunden.
Hier die funktionierende Passage aus dem Gesamt-Quellcode:

 Û $loop(%track%)$puts(PT,%_length%)$puts(Tr,$ifgreater(%track%,99,, )$num(%track%,2).)$iflonger(%artist% - %title%,50,$puts(X1,$trim($left(%artist% - %title%,$strrchr($left(%artist% - %title%,50), ),50)))$get(Tr) $get(X1)$repeat( ,$sub(50,$len($get(X1))))$repeat( ,$sub(11,$len($get(PT))))[$replace(%_length%,_,:)] Û
 Û $repeat( ,$len($get(Tr)))$puts(X2,$trim($mid(%artist% - %title%,$len($get(X1) ),50)))$right($repeat( ,66)$get(X2),$sub(56,$len($get(Tr))))$repeat( ,10) Û,$get(Tr) $left(%artist% - %title%$repeat( ,50),50) $repeat( ,$sub(10,$len($get(PT))))[$replace(%_length%,_,:)] Û)
 Û $loopend()

Trotzdem Danke für Eure Anteilnahme.
Man muss sich nur richtig einlesen, dann kommt auch ein Ergebnis raus welches man haben möchte.
LG
Plumber 44


A little help please....
#2

stell deine komplette Formel mal bitte in ([code][/code]) rechte Icon für "In Code Tag einbetten" unter Schriftarten oberhalb des Textfensters
z.b.

Û $loop(%track%)$puts(PT,%_length%)$puts(Tr,$ifgreater(%track%,99,, )$num(%track%,2).)$iflonger(%artist% - %title%,55,$puts(X1,$trim($left(%artist% - %title%,$strrchr($left(%artist% - %title%,55), ),55)))$get(Tr) $left($get(X1)$repeat( ,55),55) $repeat( ,$sub(12,$add($len($get(Tr)),$len($get(PT)))))[$replace(%_length%,_,smile.gif Û]$add($len($get(Tr),$len($get(PT))))
Û $repeat( ,$len($get(Tr)))$puts(X2,$trim($mid(%artist% - %title%,$len($get(X1)) ,55)))$right($repeat( ,55)$get(X2),$sub(55,$len($get(Tr))))$repeat( ,12)Û,$get(Tr) $left(%artist% - %title%$repeat( ,55),55) $repeat( ,$sub(10,$add($len($get(Tr),$len($get(PT))))))[$replace(%_length%,_,smile.gif Û])$looend()

ohne Smiley'z


#3

ich glaube es einfach mal nicht dass dieses Script überhaupt funktioniert.
siehe am Ende $looend() diesen Befehl kenne ich so nicht.
wenn ich davon ausgehe das du es hierein kopiert hast dann kann es nicht gehen!


#4

dito, erst beim zweiten lesen geseh'n. Trotzdem läuft das Teil in einen Error


#5

Da ist mir ein Schreibfehler unterlaufen. soll natürlich $loopend() heißen
Ist soeben berichtigt worden. (Hatte es nur hinten angesetzt weil ja der Ausschnitt
mit $loop(%track%) beginnt.)

LG
Plumber44


#6

Wo ist der komplette Code....?

Wie helfen, wenn auch das berichtigte loopend nichts bringt?


#7

Wie gefällt es dir besser?

14. Jefferson Airplane - A small package of value will 01:40
 <!--coloro:#000000--><span style="color:#000000"><!--/coloro-->come to you<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->,<!--colorc--></span><!--/colorc--> <!--coloro:#000000--><span style="color:#000000"><!--/coloro-->shortly<!--colorc--></span><!--/colorc--></b><!--fontc--></span><!--/fontc--><!--sizec--></span><!--/sizec-->

... oder ...

14. Jefferson Airplane - A small package of value will 01:40
                                    <!--coloro:#000000--><span style="color:#000000"><!--/coloro-->come to you<!--colorc--></span><!--/colorc--><!--coloro:#000000--><span style="color:#000000"><!--/coloro-->,<!--colorc--></span><!--/colorc--> <!--coloro:#000000--><span style="color:#000000"><!--/coloro-->shortly<!--colorc--></span><!--/colorc--></b><!--fontc--></span><!--/fontc--><!--sizec--></span><!--/sizec-->

DD.20121018.2100.CEST


#8

Ich denke mal das es mit dem weiter lesen 2. Zeile irgendwie besser ist wenn der Rest nach rechts verschoben ist. Beispiel 2.Zeile Rest = (Radio Edit).
Den Rest nach links an den Anfang zu stellen ist nicht schlecht wenn der Titel wieder einmal alle möglichen Interpreten und Prodozenten u.s.w. beinhaltet. Dann könnte man noch eine Abfrage auf weitere Zeilen hinzu fügen.
Mir kam es eigentlich nur wegen der Position der Playtime länger als 60 Minuten an.
Habe ja den Fehler nach langen Testen endlich gefunden. (Anfängerglück).
LG
Plumber


#9
01: $filename($getEnv('USERPROFILE')'\Desktop\Mp3tag.Test.NFO.txt',UTF-8)

02:
03: $puts(REM,'--------------------------------------------------')
04: $puts(REM,'Das ist ein Mp3tag MTE Beispiel Exportskript. ')
05: $puts(REM,'Quick and dirty ... nicht besonders getestet! ')
06: $puts(REM,'--------------------------------------------------')
07: $puts(REM,' Zeilenumbruch links orientiert ... ')
08: $puts(REM,' 01. Clubsound Germany - Warmduscher 01:13:56 ')
09: $puts(REM,' Megamix ')
10: $puts(REM,' 02. Various Artists - Compilation Funk 34:28 ')
11: $puts(REM,' Maxi CD ')
12: $puts(REM,'--------------------------------------------------')
13: $puts(REM,' Zeilenumbruch rechts orientiert ... ')
14: $puts(REM,' 01. Clubsound Germany - Warmduscher 01:13:56 ')
15: $puts(REM,' Megamix ')
16: $puts(REM,' 02. Various Artists - Compilation Funk 34:28 ')
17: $puts(REM,' Maxi CD ')
18: $puts(REM,'--------------------------------------------------')
19: $puts(REM,'Achtung: Leere Ausgabezeilen minimieren ... ')
20: $puts(REM,'... durch Zusammenfassen der Skriptzeilen! ')
21: $puts(REM,'--------------------------------------------------')
22: $puts(REM,'DD.20121018.2140.CEST ')
23: $puts(REM,'--------------------------------------------------')
24:
25: $loop(%TRACK%)
26: $puts(LM,55)
27: $puts(CrLf,$char(13)$char(10))
28: $puts(Sp3,$repeat(' ',3))
29: $puts(Sp5,$repeat(' ',5))
30: $puts(Sp8,$repeat(' ',9))
31: $puts(Sp55,$repeat(' ',$get(LM)))
32: $puts(Tr,$right($get(Sp3)$num(%TRACK%,2),3)'. ')
33: $puts(Pt,$right($get(Sp8)%_length%,9))
34: $puts(ArTi,%ARTIST%' - '%TITLE%)
35: $puts(ArTi1,$iflonger($get(ArTi),$get(LM),$trim($left($get(ArTi),$strrchr($left($get(ArTi),$get(LM)),' '),$get(LM))),$get(ArTi)))
36: $puts(ArTi2,$trim($replace('^'$get(ArTi),'^'$get(ArTi1),)))
37: $puts(L1,$get(Tr)$left($get(ArTi1)$get(Sp55),$get(LM))$get(Pt))
38: $puts(L2,$iflonger($get(ArTi2),0,$get(Sp5)$left($get(ArTi2)$get(Sp55),$get(LM)),))
39: $get(L1)$iflonger($get(ArTi2),0,$get(CrLf)$get(L2),)
40: $loopend()
41:
42: $loop(%TRACK%)
43: $puts(LM,55)
44: $puts(CrLf,$char(13)$char(10))
45: $puts(Sp3,$repeat(' ',3))
46: $puts(Sp5,$repeat(' ',5))
47: $puts(Sp8,$repeat(' ',9))
48: $puts(Sp55,$repeat(' ',$get(LM)))
49: $puts(Tr,$right($get(Sp3)$num(%TRACK%,2),3)'. ')
50: $puts(Pt,$right($get(Sp8)%_length%,9))
51: $puts(ArTi,%ARTIST%' - '%TITLE%)
52: $puts(ArTi1,$iflonger($get(ArTi),$get(LM),$trim($left($get(ArTi),$strrchr($left($get(ArTi),$get(LM)),' '),$get(LM))),$get(ArTi)))
53: $puts(ArTi2,$trim($replace('^'$get(ArTi),'^'$get(ArTi1),)))
54: $puts(L1,$get(Tr)$left($get(ArTi1)$get(Sp55),$get(LM))$get(Pt))
55: $puts(L2,$iflonger($get(ArTi2),0,$get(Sp5)$right($get(Sp55)$get(ArTi2),$get(LM)),))
56: $get(L1)$iflonger($get(ArTi2),0,$get(CrLf)$get(L2),)
57: $loopend()

DD.20121018.2200.CEST


#10

Detlev um die unnötigen Zeilenumbrüche zu beseitigen könnte man so vorgehen:

$loop(%TRACK%)$replace($puts(LM,55)
$puts(CrLf,

)

$puts(Sp3,$repeat(' ',3))
$puts(Sp5,$repeat(' ',5))
$puts(Sp8,$repeat(' ',9))
$puts(Sp55,$repeat(' ',$get(LM)))
$puts(Tr,$right($get(Sp3)$num(%TRACK%,2),3)'. ')
$puts(Pt,$right($get(Sp8)%_length%,9))
$puts(ArTi,%ARTIST%' - '%TITLE%)
$puts(ArTi1,$iflonger($get(ArTi),$get(LM),$trim($left($get(ArTi),$strrchr($left($get(ArTi),$get(LM)),' '),$get(LM))),$get(ArTi)))
$puts(ArTi2,$trim($replace('^'$get(ArTi),'^'$get(ArTi1),%DUMMY%)))
$puts(L1,$get(Tr)$left($get(ArTi1)$get(Sp55),$get(LM))$get(Pt))
$puts(L2,$iflonger($get(ArTi2),0,$get(Sp5)$right($get(Sp55)$get(ArTi2),$get(LM)),%DUMMY%))
$get(L1)$iflonger($get(ArTi2),0,$get(CrLf)$get(L2),%DUMMY%),$char(13)$char(10),,

,$char(13)$char(10))
$loopend()


#11

Danke Dano, sehr schön (... hätte ich eigentlich direkt mit einbauen können ... :rolleyes:)

DD.20121019.0730.CEST