Scriptbefehle


#1

Hi
Ich würde ein Paar neue Scriptbefehle vorschlagen, wie Addieren, Substrahieren, Dividieren usw, damit man z.B. beim Exportieren etwas ausrechnen konnte (z.B. durchschnittliches Bitrate, durchschnittliche Titellänge).
peace :smiley:


#2

Hallo!

Mp3tag Development Build Status

Gruß
Sebastian Mares


#3

Hallo alll,
hast du es schon geschafft, die durchschnittliche Titellänge auszurechnen?

Ich habe es versucht, aber bin daran gescheitert, dass %_total_time% und %_total_time_raw% scheinbar nicht zur Weiterverarbeitung geeignet sind. Egal, welche Funktion ich anwende, ich erhalte immer die Zeile
[unrecognized variable or operator: 00:28:32]
Alle weiteren Zeilen in dem Block (Header oder Footer) werden zudem ignoriert.
Eigentlich wollte ich $div(%_total_time_raw%,%_total_files%) machen. Das ging nicht. Nicht einmal $div(%_total_time_raw%,2) geht. Also dachte ich: dann extrahiere ich die einzelnen Zahlen für Stunden, Minuten und Sekunden und arbeite damit weiter. Aber schon bei $left(%_total_time_raw%,2) bin ich gescheitert.

Gibt es noch einen undokumentierte Platzhalter für die Gesamtzeit oder kann man irgendwie die einzelnen %_length_seconds% der Dateien zusammenzählen und damit weiterrechnen?

Vielleicht wäre ein eigener Platzhalter für die Durchschnittslänge doch ganz nett. Am liebsten hätte ich das Format m:ss.

Hier im Unterforum Vorschläge kann ich mir ja mal was wünschen...

Gruß,
Julchen


%_total_time_raw% fehlt übrigens noch in der Hilfe.


#4

Du darfst die " Zeichen nicht vergessen.
So: $div("%_total_time_raw%", "%_total_files%")

Allerdings liefert %_total_time_raw% denselben Wert wie %_total_time% bei mir.


#5

Ersteres liefert keine Tagesangaben sondern nur HH:MM:SS

Viele Grüße,
~ Florian


#6

Ich überleg mir dazu mal was.

Danke - wird gefixt!

Viele Grüße,
~ Florian


#7

Danke für den Hinweis. Allerdings liefert $div("%_total_time_raw%", "%_total_files%") bei mir immer 0. Liegt wahrscheinlich daran, dass $div immer nur die Vorkommastelle der Division liefert ($div(5,3) gibt 1) und zudem bei der Weiterverarbeitung von %_total_time_raw% nur der Stundenteil beachtet wird. $mul("%_total_time_raw%",3600) liefert bei 08:12:34 nur 28800, was 8*3600 ist.

Ich dachte jetzt, ich rechne das also über $mid und $right aus. Wenn ich die Gesamtzeit jetzt in die Einzelteile zerlege und jeweils auf Sekunden umrechne, diese addiere und dann durch die Dateienanzahl teile und dieses Ergebnis (wären ja jetzt Sekunden) wieder in m:ss umrechne. Das wäre ein ziemlich langer String.

Aber ich kann keine Rechnungen mit mehr als 1 Funktion in einem machen, wie
$mul("$mid("%_total_time_raw%",2,3)",60)
Dann kommt wieder [unrecognized variable or operator: 08:12:34] und alle weiteren Zeilen in dem Block (Header oder Footer) werden ignoriert.

Ich gebe hier erst mal auf und hole mir die Durchschnittslänge weiterhin von der HTML-Datei, die winamp 2.9 exportiert.

Der Unterschied zwischen %_total_time_raw% und %_total_time% macht sich erst ab einer Gesamtlänge von über 24 Stunden bemerkbar. Siehe:
export total time

Edit: Ich sehe gerade, Florian war schneller. Schön, dass du dir Gedanken machen willst.

Gruß,
Julchen


#8

Der aktuelle Development Build hat nun einen "echten" %_total_time_raw% Platzhalter, der die Gesamtspielzeit in Sekunden liefert. Mit dem lässt sich jetzt sicher auch rechnen.

Um Funktionen zu schachteln musst Du so vorgehen:
$mul(mid("%_total_time%",2,3),60) (also das $-Zeichen in der geschachtelten Funktion weglassen und die Funktion nicht in Anführungszeichen schreiben).

Viele Grüße,
~ Florian


#9

Ich habe es geschafft. Der String für die Durchschnittslänge lautet bei mir für das Format n:ss
$div(div("%_total_time_raw%", "%_total_files%"),60):$num(sub(div("%_total_time_raw%", "%_total_files%"),mul(div(div("%_total_time_raw%", "%_total_files%"),60),60)),2)


#10

Spitze :smiley:

HTAPutParamsToClipboard.v101.rar (3.62 KB)