foobar2000 auf Deutsch

foobar2000 => Plugins => Thema gestartet von: Foo Foo in 12. Mai 2010, 08:51:56

Titel: PSS und die relativen Pfade
Beitrag von: Foo Foo in 12. Mai 2010, 08:51:56
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:
Titel: Re: PSS und die relativen Pfade
Beitrag von: tedgo in 12. Mai 2010, 23:10:11
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.
Titel: Re: PSS und die relativen Pfade
Beitrag von: Foo Foo in 12. Mai 2010, 23:25:40
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?
Titel: Re: PSS und die relativen Pfade
Beitrag von: tedgo in 12. Mai 2010, 23:37:09
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