BPM Wertebereiche ermitteln


#1

Hallo,
ich möchte gerne versch. Songs nach BPM Eigenschaften sortieren. z.B. alle aus dem Bereich 100-109 BPM od. 110-119 BPM u.s.w..
Welche Aktion ermöglicht es mir diese Abfrage zu machen, so das mir die Info z.B. ins Kommentarfeld geschrieben wird ?

Programmtechnisch stelle ich es mir folgendermassen vor:
Wenn der BPM Wert zwischen 12000-12999 ist, dann schreibe 120BPM ins Kommentarfeld.
Wenn der BPM Wert zwischen 13000-13999 ist, dann schreibe 130BPM ... u.s.w.

Den BPM Wert ermittle ich mit Mixmeister, entferne die Kommastelle jedoch, um es später im Denon DJ Music Manager zu verwenden.


#2

Beschäftige dich mit den Mp3tag Skript Befehlen und Aktionen, vielleicht kommst du dann von alleine auf eine funktionsfähige Lösung.

Als Anregung:
BPM-Nachkommastellen runden ... ?

DD.20070516.1808


#3

Danke Detlev, für die schnelle Antwort.
Mit den Scriptbefehlen ($if und $greater) habe ich natürlich schon herumexperimentiert.
Sobald ich versuche einen Wertebereich in eckigen Klammern mit $if auszuwerten, bekomme ich bei jeder Ziffer ein Ergebnis.
Bsp.
$if([12000-12500],%bpm%,120BPM)
[12000-12500] ist wahr, sobald eine 1,2,5 od. Null im Feld steht.
Das erzeugt natürlich nur Müll, wie aus 12345 -> 120BPM120BPM34120BPM
Mit '," od. $num habe ich ebenfalls erfolglos getestet. <_<

Mit $ifgreater bekomme ich das Ganze nur 1 mal hin. Wenn ich mehrere Scripts hintereinander laufen lasse, gilt immer nur der letzte Vergleich, auch wenn ich dazwischen komplette Formatierungsänderungen mache.
Mit anderen Worten mp3tag arbeitet es (soweit ich es beurteilen kann) nicht sequenziell ab, sondern nimmt offensichtlich das ganze Scriptpaket und wertet es 1 mal als Block aus.

Kann mir wenigstens jemand sagen, wie ich einen Wertebereich (zwei 5stellige Zahlen im Bereich von xxxxx-yyyyy) definieren muss, um mit den Scriptbefehlen weiterarbeiten zu können ?

Mein Logik ist folgende:

  • Tag-Felder importieren "%bpm%":%comment%
  • Tag-Felder formatieren "COMMENT":$ifgreater(11000,%comment%,100BPM,)
  • Tag-Felder formatieren "COMMENT":$ifgreater(12000,%comment%,110BPM,)
  • Tag-Felder formatieren "COMMENT":$ifgreater(13000,%comment%,120BPM,)

Einfacher wäre es natürlich wenn man den Wertebereich irgendwie miteinander vergleichen könnte.

#4

Versuch es mal bitte mit diesen Aktionen

Action #1:
Action type: Format value
Field: COMMENT
Formatstring: $if($and($geql(%comment%,10000),$less(%comment%,11000)),110 BPM,%comment%)

Action #2:
Action type: Format value
Field: COMMENT
Formatstring: $if($and($geql(%comment%,11000),$less(%comment%,12000)),120 BPM,%comment%)

Action #3:
Action type: Format value
Field: COMMENT
Formatstring: $if($and($geql(%comment%,12000),$less(%comment%,13000)),130 BPM,%comment%)

Viele Grüße,
Florian


#5

Jawoll - Florian - Du hast es auf den Punkt gebracht - es funktioniert !
Vielen Dank für den super Support ! :smiley: