Export - Addition von Titellängen


#1

Hallo Florian, Hallo Forumteilnehmer,
bin hier neu im Forum und möchte erst einmal ein grosses Lob los werden-das Programm ist echt super. Könnte mir Nackenverspannungen beim Mp3-Formatieren ersparen...
Leider ist bei mir noch nicht so richtig der Groschen gefallen. Zwar bekomme ich mittlererweile einfache Formatierungen und Formatstrings durch Nachlesen im Forum hin, aber irgendwie fehlt mir teilweise das Verständnis.

Vielleicht kann mir jemand bei folgendem Problem helfen.
Habe folgende Tags in eine Textdatei mit

$filename(txt)$loop(%_path%)%track%.%title% - %_length%
$loopend()

exportiert:
01.Ayers Rock (Edit) - 03:34
02.Jealousy (Edit) - 03:40
03.Push! (Melino Original Mix) - 04:28
04.Street Knowledge (Megara Remix) - 03:44

Nun möchte ich, dass die Länge des 1.Titels mit 0:00 anfängt, der 2.Titel mit der Endlaufzeit des 1.Titels, der 3.Titel die Summe aus Titel1 und Titel2 bildet usw.

Beispiel, wie es aus obigen Export aussehen sollte:
01.Ayers Rock (Edit) - 00:00
02.Jealousy (Edit) - 03:34
03.Push! (Melino Original Mix) - 07:14 (Summe Titel1+2)
04.Street Knowledge (Megara Remix) - 11:42 (Summe Titel 1bis3)
05.Atención (DJ Bonito Screen Cut) - 15:26 (Summe Titel 1bis4)...

Hintergrund ist, dass ich dieses Textfeld in ein Hörbuch bei I-Tunes einbinden möchte. Die Hörbuch-Datei habe ich aus den einzelnen MP3-Titeln erstellt.
Anhand dieses Zeitschemas könnte ich die einzelnen Kapitel direkt ansteuern.

Habe für mein Problem weder im Forum noch über die Hilfe etwas verwertbares gefunden...

Bin schließlich bei der Funktion add$(x,y) gelandet, habe ohne Ende und Erfolg rumprobiert...und schließlich wieder im Forum rumgestöbert...

Wofür steht bei der Funktion add$ das x bzw. das Y? Aus der Hilfe bin ich nicht so richtig schlau geworden.

Hoffentlich kann mir jemand helfen?

towarisch


#2

Vorschlag:

$loop(%_path%)
$puts(SumSec,$add($get(SumSec),%_length_seconds%))
%track%.%title%
- %_length%
- %_length_seconds%
- $sub($get(SumSec),%_length_seconds%)
- $num($div($sub($get(SumSec),%_length_seconds%),60),2):$num($mod($sub($get(SumSec),%_length_seconds%),60),2)
$loopend()

DD.20080104.1327.CET


#3
QUOTE (DetlevD @ Jan 4 2008, 13:27) <{POST_SNAPBACK}>
Vorschlag:
$loop(%_path%)
$puts(SumSec,$add($get(SumSec),%_length_seconds%))
%track%.%title%
- %_length%
- %_length_seconds%
- $sub($get(SumSec),%_length_seconds%)
- $num($div($sub($get(SumSec),%_length_seconds%),60),2):$num($mod($sub($get(SumSec),%_length_seconds%),60),2)
$loopend()

DD.20080104.1327.CET


Hallo Detlev D,
vielen Dank für Deine Hilfe und die "Formel". Fast genau so wollte ich es haben-hat prima geklappt.
Habe Deine Zeichenkette durch Rumprobieren ein wenig meinen Bedürfnissen angepasst.
$loop(%_path%)
$puts(SumSec,$add($get(SumSec),%_length_seconds%))
%track%.%title%-$num($div($sub($get(SumSec),%_length_seconds%),60),2)
:$num($mod($sub($get(SumSec),%_length_seconds%),60),2)
$loopend()

Hieraus resultiert:
01.09. Juni 2001 - Saint-Jean-Pied-de-Port-00:00
02.10. Juni 2001 - Roncesvalles-10:11
03.11. Juni 2001 - Zubiri-23:52
04.12. Juni 2001 - Pamplona-30:31
05.13. Juni 2001 - Pamplona-62:22

Würde gerne Spielzeiten über 60 Min. als Std. angezeigt bekommen, also ab dem 5.Titel 01:02:22 usw. Kann man weiter die entstandenen Zeiten vom Titel abrücken, so dass sie bündig untereinander stehen-und wenn wie???

Vielleicht kannst Du mir ja nochmals weiterhelfen und auch ein wenig Helligkeit in mein "Zeichenketten-Dunkel" bringen. Habe versucht, Deinen String mittels Hilfefunktion auseinanderzunehmen. Leider hat sich mir nicht allzuviel erschlossen.

Warum wird beispielsweise beim Beginn Loop "_Path" gesetzt und nicht "_FILNAME"? Loop bedeutet doch eigentlich immer wiederkehrend,oder? Die Verschachtelung von Put, Get Und ADD verstehe ich auch nicht. Bin zwar mit den englischen Vokabeln vertraut, aber nicht mit dieser Kombination mit den Summensekunden.
Vielleicht kannst Du mir das mal auseinanderdröseln. Würde bestimmt dazu beitragen, dass ich ein wenig mehr von den Zusammensetzungen verstehe.

Wäre Dir sehr dankbar für ein paar zusätzliche Info`s.

Towarisch


#4
$loop(%_path%)
$puts(SumSec,$add($get(SumSec),%_length_seconds%))
$puts(TS,$sub($get(SumSec),%_length_seconds%))
$puts(SS,$get(TS))
$puts(HH,$div($get(SS),3600))
$puts(SS,$mod($get(SS),3600))
$puts(MM,$div($get(SS),60))
$puts(SS,$mod($get(SS),60))
$puts(HH,$ifgreater($get(HH),0,$num($get(HH),2):,   ))
$puts(MM,$num($get(MM),2))
$puts(SS,$num($get(SS),2))
$puts(HHMMSS,$get(HH)$get(MM):$get(SS))

%track%.%title%
- Trackstart Seconds: $get(TS)
- Trackstart HHMMSS: $get(HHMMSS)
- Tracklength Seconds: %_length_seconds%
- Tracklength: %_length%
- Sum Seconds: $get(SumSec)
$loopend()

... ansonsten:
Mp3tag Hilfedatei und Forumbeiträge gründlich lesen und versuchen, anstehende Probleme zunächst selbst zu lösen (das dauert manchmal etwas, aber der Lernerfolg ist intensiver).

DD.20080106.1244.CET

Export Skript Update ...
Export.TXT.20080104.Tracklist.Starttime.towarisch.mte (1.35 KB)
DD.20140326.1030.CET

Export.TXT.20080104.Tracklist.Starttime.towarisch.mte (1.35 KB)


#5
QUOTE (DetlevD @ Jan 6 2008, 12:45) <{POST_SNAPBACK}>
$loop(%_path%)
$puts(SumSec,$add($get(SumSec),%_length_seconds%))
$puts(TS,$sub($get(SumSec),%_length_seconds%))
$puts(SS,$get(TS))
$puts(HH,$div($get(SS),3600))
$puts(SS,$mod($get(SS),3600))
$puts(MM,$div($get(SS),60))
$puts(SS,$mod($get(SS),60))
$puts(HH,$ifgreater($get(HH),0,$num($get(HH),2):,   ))
$puts(MM,$num($get(MM),2))
$puts(SS,$num($get(SS),2))
$puts(HHMMSS,$get(HH)$get(MM):$get(SS))

%track%.%title%
- Trackstart Seconds: $get(TS)
- Trackstart HHMMSS: $get(HHMMSS)
- Tracklength Seconds: %_length_seconds%
- Tracklength: %_length%
- Sum Seconds: $get(SumSec)
$loopend()

... ansonsten:
Mp3tag Hilfedatei und Forumbeiträge gründlich lesen und versuchen, anstehende Probleme zunächst selbst zu lösen (das dauert manchmal etwas, aber der Lernerfolg ist intensiver).

DD.20080106.1244.CET

...vielen Dank für Deine Hilfe.
Die Aufgliederung Deiner Exportkonfiguration ist sehr toll und übersichtlich. Es wird mir sicherlich auch weiterhelfen mehr zu verstehen und hat meinen Forschergeist weiter beflügelt. Werde versuchen das Teil mal für mich verständlich auseinanderzupflücken.

Da ich mich erst seit ca. zwei Wochen mit dem Programm und dem Forum intensiver beschäftige, haben sich mir trotz Ausprobierens und Supportsuche einige Dinge einfach noch nicht erschlossen und die Hilfe ist mir leider auch nicht immer eine Hilfe (Verständnisproblem - bin kein Programmierer).

Besten Dank nochmals

:wink:

Towarisch