foobar2000 auf Deutsch

foobar2000 => Plugins => Thema gestartet von: mexx in 21. August 2009, 14:13:37

Titel: Ratinganzeige im Album Art Panel
Beitrag von: mexx in 21. August 2009, 14:13:37
Nachdem ich leider die Ratinganzeige mit Bildern (jpg,png) im Tackinfo_mod Panel nicht meinen Wünschen entsprechend hinbekommen habe, habe ich es im Album Art Panel versucht.

Es zeigt mir auch alle zum jeweiligen Rating gehörenden Bilder richtig an.

Aber wenn ich bei einem laufenden Titel das Rating ändere, muss ich erst ins Panelfenster klicken, um die Änderung auch dort zu haben. Sonst wird, bis zum Neustart des Titels das Bild des alten Ratings angezeigt.

Dies sollte aber automatisch erfolgen. Geht das überhaupt und wenn ja, wie?

Danke schon mal für die Hilfe
mexx
Titel: Re: Ratinganzeige im Album Art Panel
Beitrag von: TomPro in 21. August 2009, 15:54:30
Auch hier steht im dazugehörigen Wiki die Antwort.

Es giebt 4 Bereiche di Du definieren kannst


// Global
// Background
// PerTrack
// PerSecond


Bei der überwachung von Datenveränderungen muss Du also den Bereich mit

// PerSecond

starten und dann deinen Code eingeben.

Gruß TomPro
Titel: Re: Ratinganzeige im Album Art Panel
Beitrag von: fbuser in 21. August 2009, 16:31:15
Zitat von: TomPro in 21. August 2009, 15:54:30
Auch hier steht im dazugehörigen Wiki die Antwort.
In diesem? (http://wiki.hydrogenaudio.org/index.php?title=Foobar2000:Components_0.9/Album_Art_Panel_%28foo_uie_albumart%29#Links) Nö. Was du beschreibst, ist eine Krückenlösung, die sich auf das TrackInfo-Panel bezieht. Danach ist hier aber nicht gefragt. Für das Album-Art-Panel sehe ich für das gewünschte Verhalten momentan keine Lösung.
Titel: Re: Ratinganzeige im Album Art Panel
Beitrag von: mexx in 21. August 2009, 16:42:33
Zitat von: fbuser in 21. August 2009, 16:31:15
...Für das Album-Art-Panel sehe ich für das gewünschte Verhalten momentan keine Lösung.

Schade.  :'( Muss ich mir was anderes einfallen lassen.

THX
mexx

Edit:
Hab ne Lösung fürs Album Art Panel gefunden.  :)

$if(%rating%,Pfad zum Bild\images%rating%.*,)
--> Bilder für den Ratingeintrag
--Pfad zum Bild\images.* --> Bild ohne Ratingeintrag

Haken rein bei Cycle sources during playback und Cycle time auf 1 sec stellen.
Titel: Re: Ratinganzeige im Album Art Panel
Beitrag von: grimes in 21. August 2009, 17:34:38
Wäre das nicht eine Aufgabe für ein WSH-Panel?

Ein paar Codeschnipsel, die mir durch den Kopf gehen:

img = gdi.image(fb.FoobarPath + "Images\\" ...
(Rating-Bilder laden)

var rating = fb.TitleFormat("%rating%")
(Rating-Information einlesen)

if (rating = 5){img anzeigen}
Titel: Re: Ratinganzeige im Album Art Panel
Beitrag von: mexx in 21. August 2009, 20:31:49
Zitat von: grimes in 21. August 2009, 17:34:38
Wäre das nicht eine Aufgabe für ein WSH-Panel?.....

Möglich. Aber leider ist der WSH-Code für mich ein Buch mit sieben Siegeln. :-[
Titel: Re: Ratinganzeige im Album Art Panel
Beitrag von: grimes in 22. August 2009, 00:32:46
Hier der WSH-Code:

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

var imgPath = fb.FoobarPath + "images\\";
var rat1 = gdi.Image(imgPath + "images1.jpg");
var rat2 = gdi.Image(imgPath + "images3.jpg");
var rat3 = gdi.Image(imgPath + "images2.jpg");

function Rating (x,y,w,h){
var star = fb.TitleFormat("%rating%");

this.draw = function (gr) {
if(star.eval()==0) gr.DrawImage(rat1, 0, 0, window.Width, window.Height, 0, 0, 91, 91);
    else {if(star.eval()==1) gr.DrawImage(rat1, 0, 0, window.Width, window.Height, 0, 0, 91, 91);
              else {if(star.eval()==2) gr.DrawImage(rat1, 0, 0, window.Width, window.Height, 0, 0, 91, 91);
                      else {if(star.eval()==3) gr.DrawImage(rat2, 0, 0, window.Width, window.Height, 0, 0, 91, 91);
                                else {if(star.eval()==4) gr.DrawImage(rat3, 0, 0, window.Width, window.Height, 0, 0, 91, 91);
                                          else {if(star.eval()==5) gr.DrawImage(rat3, 0, 0, window.Width, window.Height, 0, 0, 91, 91);
                                                    else gr.DrawImage(rat1, 0, 0, window.Width, window.Height, 0, 0, 91, 91);
}}}}}
}
}

function on_paint(gr){
rating.draw(gr);
}

function on_size(){
ww = window.Width;
wh = window.Height;
rating = new Rating(0,0,ww,wh);
}


function on_playback_new_track(metadb) {
window.Repaint();
}

//EOF


Ich hoffe es funktioniert einigermaßen, ist schnell hin gehackt.
(Bilder bitte in images-Ordner)
Titel: Re: Ratinganzeige im Album Art Panel
Beitrag von: mexx in 24. August 2009, 08:24:04
mmmhhh,

Bilder sind im Image-Ordner von Foobar.

Aber leider : Script Error.
Titel: Re: Ratinganzeige im Album Art Panel
Beitrag von: grimes in 24. August 2009, 13:23:09
Funktioniert bei mir klaglos. :-\
Die Bilder müssen images1.jpg bis images3.jpg heißen, sonst funktionierts nicht. In der Console gibts genauere Fehlermeldung.
Fürs sekündliche Repaint bitte folgende Funktion einfügen:


function on_playback_time(time){
window.Repaint();
}


Aber Du hast ja auch eine Lösung gefunden. :)
Titel: Re: Ratinganzeige im Album Art Panel
Beitrag von: mexx in 24. August 2009, 13:31:40
Zitat von: grimes in 24. August 2009, 13:23:09
Funktioniert bei mir klaglos. :-\
Die Bilder müssen images1.jpg bis images3.jpg heißen, sonst funktionierts nicht....

Bilder heißen genau so.

Zitat von: grimes in 24. August 2009, 13:23:09
....In der Console gibts genauere Fehlermeldung.....

Wie komm ich da ran?

Zitat von: grimes in 24. August 2009, 13:23:09
....Aber Du hast ja auch eine Lösung gefunden. :)

Naja, ne elegantere wär mir schon lieber. ;)

Gruß
mexx
Titel: Re: Ratinganzeige im Album Art Panel
Beitrag von: grimes in 24. August 2009, 13:38:59
Die WSH-Lösung würde ich auch bevorzugen, u.a. dafür ist das Panel ja da!

Zur Console gehts mit: Main Menu | View | Console
Titel: Re: Ratinganzeige im Album Art Panel
Beitrag von: mexx in 24. August 2009, 13:45:11
Jetzt gehts. :top:

Keine Ahnung warum es jetzt geht.

Allerdings sollte dann, wenn es keinen Eintrag im Ratingfeld gibt, auch ein Bild angezeigt werden.

Name: images.jpg

Auch wenns jetzt fast OT ist, vielleicht kannst du ja nochmal helfen. ;)
Titel: Re: Ratinganzeige im Album Art Panel
Beitrag von: grimes in 24. August 2009, 13:58:44
Bitte Code an geeigneter Stelle einfügen oder ergänzen (rot):


//unter die anderen Variablen
var rat0 = gdi.Image(imgPath + "images.jpg");

//letzte Zeile im if-Bereich
else gr.DrawImage(rat0, 0, 0, window.Width, window.Height, 0, 0, 91, 91);


Bitte viertes Bild Deiner Wahl in images-Ordner kopieren (Name: images.jpg)

Nachfrage: Eigentlich sollte sich das Bild der Panelgröße anpassen (window.Height und window.Width), oder willst Du immer ein quadratisches Bild haben?
Titel: Re: Ratinganzeige im Album Art Panel
Beitrag von: mexx in 24. August 2009, 14:07:15
Zitat von: grimes in 24. August 2009, 13:58:44
Bitte Code an geeigneter Stelle einfügen oder ergänzen (rot):


//unter die anderen Variablen
var rat0 = gdi.Image(imgPath + "images.jpg");

//letzte Zeile im if-Bereich
else gr.DrawImage(rat0, 0, 0, window.Width, window.Height, 0, 0, 91, 91);


Bitte viertes Bild Deiner Wahl in images-Ordner kopieren (Name: images.jpg)

:top: :top: :top: Supi....funzt. So wollt ich es haben.  :crazy: :crazy: :crazy:

Zitat von: grimes in 24. August 2009, 13:58:44...Nachfrage: Eigentlich sollte sich das Bild der Panelgröße anpassen (window.Height und window.Width), oder willst Du immer ein quadratisches Bild haben?

Nein. Es ist jetzt alles korrekt. Hatte nur vergessen im Script die Bildgröße 0, 0, 80, 80 anzupassen.

THX
mexx