Mit den Global Variables ist es möglich den Speicherort der images (Bilder) festzulegen...
$init_ps_global(images,%ps_foobar2000_path%\images\Silent Night)
%images%/Bild.png
+ wenn Player über das Kontextmenue geöffnet wird werden Buttons und Bilder korrekt angezeigt
+ wenn Player über die .exe (oder Verknüpfung) geöffnet wird werden Buttons und Bilder korrekt angezeigt
- wenn eine portable Installation gewählt wird und der Speicherort des Player sich verändert
muss die Variable gelöscht werden und neu eingelesen werden
oder man legt den Speicherort der images (Bilder) so fest...
,images\Silent Night\Slist.png
+ wenn Player über die .exe (oder Verknüpfung) geöffnet wird werden Buttons und Bilder korrekt angezeigt
+ wenn eine portable Installation gewählt wird und der Speicherort des Player sich verändert
werden Buttons und Bilder korrekt angezeigt
- wenn Player über das Kontextmenue geöffnet wird werden Buttons und Bilder nicht korrekt angezeigt
Frage:
Kennt jemand eine elegantere Lösung die keinen Nachteil hat ??
:crazy2:
Hab das jetzt ausprobiert und kann dein Problem nicht nachvollziehen...
%ps_foobar2000_path% funktioniert bei mir auch mit einer portablen Version und wechselnden Laufwerksbuchstaben, ohne dass ich die Variable löschen und neu anlegen muss.
Hier noch mal die Global Variablen Version...
//GLOBAL VARIABLES
$init_ps_global(images,%ps_foobar2000_path%\images\Silent Night)
//BUTTONS
$imagebutton($sub(%_width%,205),18,27,22,%images%/Slist1.png,%images%/Slist1.png,SETGLOBAL:Main.switch:1;REFRESH,,)
...vieleicht kommst Du ja dahinter?
Ach, jetzt seh ich es:
Nimm statt $init_ps_global() bitte $set_ps_global().
Mit $init_ps_global() wird die Variable einmalig bei der Initialisierung der Config erstellt und sozusagen "fixiert". Das empfiehlt sich, wenn man Variablen für Buttons erstellt, diese per Buttonklick ändern kann und die beim nächsten Start von foobar2000 den letzten Stand beibehalten sollen (z. B. für Tabs im PSS).
Für Images empfiehlt sich das nicht, eben weil sich beim Start einer portablen foobar2000-Installation der Laufwerksbuchstabe u. U. ändern kann.
Dafür brauchst du $set_ps_global(), da diese Variable bei jedem foobar2000 Start neu "gesetzt" wird.
Ich hoffe, ich habe mich verständlich ausgedrückt. Ich versteh mich manchmal selbst nicht... :D