hab mal den titel aus diesem (http://www.audiohq.de/index.php?showtopic=1573) tutorial genommen...passt am besten, weil genau das is mein problem...
hab diesen code in einer spalte bei coloums ui unter display eingefügt: $puts(rating,
$ifgreater(%play_count%,50,5,
$ifgreater(%play_count%,20,4,
$ifgreater(%play_count%,10,3,
$ifgreater(%play_count%,5,2,
$ifgreater(%play_count%,2,1,0))))))
$repeat(★,$get(rating))
$repeat(✩,$sub(5,$get(rating)))
es werden allerdings immer, egal wie oft der song gespielt wurde 5 kästchen angezeigt...ich weiß nich wo ich was vergessen haben sollte...hat es bei jemanden von euch geklappt? und wenn ja wie?
danke im voraus ;)
Probiers mal so:
$ifgreater(%play_count%,50,?????,
$ifgreater(%play_count%,30,????,
$ifgreater(%play_count%,20,???,
$ifgreater(%play_count%,5,??,
$ifgreater(%play_count%,1,?,!)))))
Ich weiß nicht was die Repeat Funktion für eine Sinn hat ! Bitte um Aufklärung !
so funktionierts einwandfrei...vielen dank ;)
komisch, dass das andre, was öffentlich ist, nicht ging...wer weiß...
Die erste Version funktioniert auf jeden Fall!!
Wenn bei Dir allerdings Kästchen dargestellt werden, dann hast Du nicht die richtige Schrift eingestellt.
Normalerweise sollten die Sterne, die bis zu der Anzahl von 5 fehlen, durch blasse Sterne ergänzt werden. Da Du aber die falsche Schrift hast, werden bei Dir beide Sorten Sterne als Kästchen dargestellt.
z.B. mit der Schrift MS Arial Unicode würdest Du es erkennen können.
Hier ein Beispiel für einen mit 2 gerateten Song:
★★✩✩✩
Zu der Frage mit dem repeat:
Im ersten Teil wird der Variable "raiting" mit dem "puts" Befehl ein Wert (der Bewertungswert für den Song) gespeichert.
$repeat(★,$get(rating))
Repeat macht dann das, was der Name schon sagt, es wiederholt das angegebene Zeichen, in diesem Fall den Stern "raiting"-mal.
Ich hoffe, mein Kauderwelsch ist zu verstehen.
jo, das erste funzt auch...lag daran, dass ich arial unicode ms nicht installiert hatte...
Ich hatte die Schriftart ebenfalls nicht, deswegen hat das obere Beispiel bei mir auch nicht geklappt, und so kam
zu dem vereinfachten Variante meinerseits.
@cMr
Danke für die Erklärung, ist doch immer wieder interessant was für Wege zum Ziel führen können !
Vorweg erstmal: ich binn an die Sache etwas voreilig herangegangen, nun habe ich mich eingelesen es will leider immer noch nicht funktionieren, ich hoffe das ihr den 2. versuch noch ertragen könnt!
1. So sieht der Code aus funzt aber leider nicht: $replace(%Rating%,1,?)
$replace(%Rating%,2,??)
2. Ich habe die Schriftart Schrift MS Arial Unicode installiert, aber mein Foobar nimmt die Sterne nicht, auch wenn ich sie einfüge, sind lediglich Vierecke da!
Ich hoffe ihr wollt/könnt mir noch helfen :P
Was passiert wenn du anstelle der Sterne mal normale Zeichen wie "!" machst?
Diese Zeichen funktionieren.
Na dann liegts wohl doch an der Schriftart.
Ich habe die beiden Topics mal zusammengeführt.
OK, das mit den Sternen funzt nun, ich musste für die Playlist Arial Unicode angeben. Aber mein Code funktioniert leider auch nach mehreren Versuchen nicht was ist denn falsch?
$replace(%Rating%,1,★)
$replace(%Rating%,2,★★)
$replace(%Rating%,3,★★★)
$replace(%Rating%,4,★★★★)
$replace(%Rating%,5,★★★★★)
also ich seh sowieso nich durch, was du da hast...ne variable %rating%? wie auch immer...kenn mich eh noch nich so aus...aber warum nimmst du nich einfach den code aus dem tutorial oder den oben von sebert?? die gehen100%ig...
OK, hab nun Frank's Variante genommen und es geht!! Kann man Foobar denn auch so einstellen, dass sobald man auf den Root Knoten Klickt(Also alle Songs anzeigen) das Foobar dann automatisch nach der Wertung sortiert?
Mich würde Interressieren wo der sogenannte "Root-Knoten" sein soll.
Aber du kannst unter Preferences|General==>Sort Incoming By und dann %rating% eingeben.
kann man irgendwie testen ob die Variabel RATING gesetzt ist und wenn nicht
$ifgreater(%play_count%,50,?????,
$ifgreater(%play_count%,30,????,
$ifgreater(%play_count%,20,???,
$ifgreater(%play_count%,5,??,
$ifgreater(%play_count%,1,?,!)))))
ausgeben ansonsten ein anderer code
hab ne lösung für das ultimative ranking gefunden....
dadurch wird wenn ein manuelles Rating gesetzt ist dieses angezeigt ansonsten nach der Abspielhäufigkeit
$if(%rating%,$transition($repeat(★,%rating%),$rgb(0,0,0),$rgb(200,0,0))$rgb(208,208,208,208,208,208)$repeat(✩,$sub(5,%rating%)),
$ifgreater(%play_count%,70,$transition($repeat(★,5),$rgb(0,0,0),$rgb(200,0,0))$rgb(208,208,208,208,208,208)$repeat(✩,$sub(5,5)),
$ifgreater(%play_count%,30,$transition($repeat(★,4),$rgb(0,0,0),$rgb(200,0,0))$rgb(208,208,208,208,208,208)$repeat(✩,$sub(5,4)),
$ifgreater(%play_count%,15,$transition($repeat(★,3),$rgb(0,0,0),$rgb(200,0,0))$rgb(208,208,208,208,208,208)$repeat(✩,$sub(5,3)),
$ifgreater(%play_count%,10,$transition($repeat(★,2),$rgb(0,0,0),$rgb(200,0,0))$rgb(208,208,208,208,208,208)$repeat(✩,$sub(5,2)),
$ifgreater(%play_count%,5,$transition($repeat(★,1),$rgb(0,0,0),$rgb(200,0,0))$rgb(208,208,208,208,208,208)$repeat(✩,$sub(5,1)) , $repeat(✩,$sub(5,0)) ))))))
)
Auch hier bietet sich wieder ein wesentlich kürzerer und übersichtlicherer Code an:
$puts(rating,
$if2(%rating%,
$ifgreater(%play_count%,70,5,
$ifgreater(%play_count%,30,4,
$ifgreater(%play_count%,15,3,
$ifgreater(%play_count%,10,2,
$ifgreater(%play_count%,5,1,0)))))))
$transition($repeat(★,$get(rating)),$rgb(0,0,0),$rgb(200,0,0))
$rgb(208,208,208,208,208,208)
$repeat(✩,$sub(5,$get(rating)))
könnte es sein das der code nur einmal funktioniert ::)
weil er setzt ja die ranking variable.....
und beim nächsten mal ist sie gesetzt.... und wird nur noch ausgegeben ... und nicht mehr aktualisiert (weil nicht mehr unterschieden werden kann ob vom user oder vom programm gesetzt)
*reine Therorie*
Nein, das ist nicht der Fall.
Die Variable verliert ihre Gültigkeit sofort nachdem das Programm den Code interpretiert hat, also sobald der Inhalt der Spalte für diesen einen Track angezeigt wurde. Beim der nächsten Aktualisierung der Anzeige, zum Beispiel wenn sich die Tags der Datei ändern, wird der Code erneut ausgeführt und die temporäre Variable "rating" wird neu anhand der Felder mit einem Wert belegt und wieder nur zur Anzeige benutzt.
hallo, also wie ihr ja vielleicht wisst habe ich erst vor kurzem mit foobar angefangen........ so jetzt habe ich im Grunde mein foobar so wie ich es wollte aber
skin von navigator bei mytheme.net und ein bißchen modifiziert. ich habe auch meine "rating" spalte und funktioniert auch soweit, sowie die abspielhäufigkeit. ...., nur ist es sehr umständlich zu raten...
1.rechte maustaste
2.properties
3. usw. .....
meine fragen:
wo muss ich den die von euch geschriebenen codes hintun ??
wo muss ich den eine QTG datei hintun??
defekter link entfernt - grimes
Ich habe heut nen neuen, einfachen Code geschrieben der den Tag "PLAY_COUNT" benötigt.
$progress2($meta(PLAY_COUNT),30,8,█,)
8 ist die maximale Anzahl der "Kästen" und 30 die Zahl die im Tag PLAY_COUNT stehen muss damit alle 8 gesetzt werden. Alles über 30 hat auch 8 Kästchen.
So gefällts mir irgendwie besser als mit einzelnen Zeichen wie Sternen.
defekter link entfernt - grimes
//Edit:
Mir fällt grad auf dass es mit dem alten Code auch gegange wäre ^^. Naja, egal. Der hier ist auf jedenfall kürzer...
Schick. Habe ich dann gleich mal übernommen.
Gruß
Sounder