Klickbare Bewertungsbuttons direkt aus der Playlist?

Begonnen von Sputnik83, 24. November 2010, 07:55:54

Vorheriges Thema - Nächstes Thema

Sputnik83

Hi,
ist es grundsätzlich möglich die "Bewertungssterne" in der Playlist klickbar zu machen?
Also die Bewertung, nicht über das Kontextmenu vornehmen zu müssen, ondern einfach auf den Stern in der Playlist zu klicken.
und wenn ja, wie?



und warum unktioniert die Darstellung der Sterne nicht mit Arial?
Arial unterstützt doch wohl Unicode Zeichen..?

Der Code, den ich benutze:
$rgb(233,155,12,233,155,12)$repeat(★,%rating%)$rgb()$repeat(✩,$sub(5,%rating%))

Sry wenn ich doofe Fragen stelle, aber ich versuche mich das erste mal an einer Foobar Konfiguration.

tedgo

Klickbare Sterne in der Playlist hat nur die EsPlaylist

Arial unterstützt keine Unicode Zeichen, da brauchst du Arial Unicode MS.
Mit der EsPlaylist kann dir dann aber egal sein, welche Schriftart du benutzt. Die hat die Sterne "einprogrammiert" ;)

Erich_2

Nimm die Playliste ESPlaylist von http://foo2k.chottu.net/.

Mit dieser ESPlaylist brauchst Du dich nicht mehr um Schriftart für Sterne kümmern, es sind die Sterne schon eingebaut. In den Einstellungen kann man den Maus-Rating-Klicks Befehle zuweisen und dann schön mit der Maus wählen. Evtl. Tastenbefehle lassen sich trotzdem alternativ verwenden, je nach Laune.

Die Stelle der Klick-Zuweisung fürs Raten habe ich auch erst vor 14 Tagen gefunden, man übersieht sie leicht. Ich habe gerade kein Foobar hier zur Verfügung, sonst würde ich genauer die Stelle angeben können.
Diskussionsforum ist hier: http://www.hydrogenaudio.org/forums/index.php?showtopic=79030

UPS: Tedgo war schneller....

Sputnik83

Ihr seit echt der hit:O
leider lässt sich die ESPlaylist nur sehr bedingt konfigurieren, was wieder andere Probleme mit sich bringt...
Den "Love-Status" von Last.fm kann ich mir wohl nicht anzeigen lassen?!
Daher werde ich wohl bei der NGPlaylist bleiben.
Wie realisiere ich am elegantesten Bewertungsbuttons neben meinen Media-Buttons (play,Pause etc)?
Über ein WSH panel mod script?
Gibt es sowas vorkonfiguriert für deppen wie mich?

tedgo

Natürlich lässt sie sich konfigurieren.
Füge einfach eine der vorgegebenen Spalten hinzu --> Edit Column und schon kannst du nach Lust und Laune die Spalte umbenennen und ein TF-Script nach Belieben einbauen ;)

Für Bewertungsbuttons gibt es massenhaft Samples.
Durchsuch mal hier: http://www.hydrogenaudio.org/forums/index.php?showtopic=77883&hl=
Oder in diesem Thread: http://www.hydrogenaudio.org/forums/index.php?showtopic=70363

Sputnik83



Cool!!!
Wie Ihr sehen könnt, hats funktioniert ;)
Leider hab ich keine Ahnung wie ich den Background einstellen kann :P
Mit RGB Werten?
An welcher Stelle des Scripts?

function RGB(r,g,b){ return (0xff000000|(r<<16)|(g<<8)|(b)); }


var g_drag = 0;
var bool;
var g_metadb;
var imgname;
var rating;
var nrating;
var lrating;
var img;
var hofset=20;
var imgw=20;
var g_tfo = fb.TitleFormat("%rating%");

on_item_focus_change();

function on_paint(gr){
// var info = g_metadb.GetFileInfo();
if (g_metadb) {
for (i = 1; i < 6; i++) {
img = gdi.image(fb.FoobarPath + "Images\\"
+ ((i > (g_drag ? lrating : rating)) ? "NoStar" : "Star" + (g_drag ? "-hover" : "")) + ".png");
// + ((i > (g_drag ? lrating : rating)) ? "No" : "") +"Star" + (g_drag ? ((rating != lrating) ? "-hover" : "") : "") + ".png");
// + ((i > (g_drag ? lrating : rating)) ? "No" : (g_drag ? ((rating != lrating) ? "Red" : "") : "")) +"Star.png");
// + (g_drag ? ((rating != lrating) ? "Blue" : "") : "") + ((i > (g_drag ? lrating : rating)) ? "No" : "") +"Star.png");
gr.DrawImage(img, hofset+imgw*(i-1), 4, 20, 16, 0, 0, 20, 16);
}
}
}

function on_mouse_wheel(delta){}


function on_mouse_lbtn_up(x,y){
// fb.trace("button up");
if (lrating !=rating) {if (g_metadb) {
bool = fb.RunContextCommandWithMetadb("Rating/"+((lrating==0) ? "<not set>" : lrating),g_metadb);
}}
}

function on_mouse_move(x, y) {
if (g_metadb) {
g_drag = 1;
nrating = Math.ceil((x-hofset)/imgw);
if (nrating > 5) nrating = 5;
if (nrating != lrating) {
lrating = nrating;
window.Repaint();
}
}
}
function on_mouse_leave() {
on_metadb_changed()
}

function on_item_focus_change() {
// fb.trace("itm focus changed");
if (g_metadb) {window.UnwatchMetadb();}
g_metadb = fb.GetFocusItem();
if (g_metadb) {
on_metadb_changed();
window.WatchMetadb(g_metadb);
}

}
function on_metadb_changed() {
g_drag = 0;
// fb.trace("changed");
rating = g_tfo.EvalWithMetadb(g_metadb);
if (rating == "?") {rating = 0;}
lrating = rating;
window.Repaint();
}

function on_playback_new_track(metadb) {on_item_focus_change();}
//EOF



;)

tedgo

Jetzt nimmst du doch ein WSH Script?

Na ja...

Geh per Rechtsklick auf die Sterne --> Configure ins Script und aktiviere "Pseudo Transparent"

Sputnik83

Wie du an den Tabs sehen kannst, hab ich beides laufen...
Mit der ESPlaylist hab ich aber noch Probleme, da die Coveransicht manschmal noch nicht so ganz will, wie ich das will...
Das muss ich mir erst noch genauer anschauen.

Der Tip hat jedenfalls gefunkt!
Thx

Wie kann ich die Sterne noch links ausrichten, das sie in der Leiste weniger Platz in Anspruch nehmen?

tedgo

#8
Hab das Script nur überflogen, aber ich denke du müsstest überall das hofset rausnehmen.
Oder machst oben aus
var hofset = 20;
var hofset = 0;

Wie gesagt, habs nur kurz überflogen...
Probier es einfach aus.

Nachfolgenden Beitrag abgetrennt und verschoben, da themenfremd - tedgo