Forum:	cPOS Skins
Téma:	Button trouble... aktiv? nicht aktiv?
---------------------------------------------

SirGroovy2004:
Servus Gemeinde,

wie kann man einen Button erstellen, so dass man an der Grafik sieht, ob die Funktion aktiv ist oder nicht. In meinem Fall ist es eine rein kosmetische Sache, da ich mit Hilfe des Buttons die Gamma Werte Reduzieren möchte. Hier mal ein Auszug aus meiner skin.ini:

Button16Function=GAMMA
Button16Up=gamma_btn_Up.jpg
Button16Down=gamma_btn_Down.jpg
Button16X=318
Button16Y=218
Button16ImageFunction=GAMMA
Button16Image=gamma_btn_Down.jpg
Button16ImageX=318
Button16ImageY=218

Konkret: ist gamma nicht aktiviert, sieht das VW Zeichen so aus:



fährt man mit der Maus darüber geschieht nichts. Der Button bleibt unverändert.



klickt man den Button, so verändert er sein Aussehen wie folgt:



Der Clou bei der Sache soll sein, dass der Button dann so bleibt! Und zwar so lange, bis man ihn wieder klickt! 

Wie macht man sowas?

Recht herzlichen DAnk für die Aufmerksamkeit.

SirGroovy2004

fuchs:
Hi,
für diese Abfrage gibt es noch keine Funktion, aber mit diesem Zweizeiler wäre das erledigt:

in der Funktion &quot;GetBoolValue&quot; nach GetBoolValue = boScratchpadRubber suchen und darunter folgendes einfügen:

Code:
Case &quot;gamma&quot;
&nbsp; &nbsp; &nbsp; &nbsp; GetBoolValue = &#40;iGamma = 100&#41;


Das Bild würde dann immer angezeigt, wenn der Bildschirm hell ist.

Diese Funktion wäre damit natürlich auch in allen anderen Objekten und im Eventhandler nutzbar.

gruß
fuchs

Sebastian:
oh cool sirgroovy bastelnt nen vw skin...
willste den auch veröffentlichen?

SirGroovy2004:
Servus Fuchs,
dann werde ich diese Sache doch gleich mal mit den anderen Devs &quot;besprechen&quot; :) Vielen Dank! Es ist mir immer wieder eine Ehre!
Servus Sebastian,
ja. Alles was SirGroovy &quot;bastelt&quot; wird veröffentlicht. :)
CU
SirGroovy2004

bombel:
Für sowas hätt ich auch Bedarf (Pause-Button, der solange leuchtet, bis man ihn wieder drückt).
Liebe Grüße
Uwe

fuchs:
SirGroovy, es ist MIR eine Ehre für jemanden, der sich so für cpos einsetzt, mal ne Kleinigkeit zu machen.

bombel, &quot;repeat&quot;, &quot;shuffle&quot;, &quot;play&quot;, &quot;pause&quot;, &quot;fforward&quot; und &quot;rewind&quot; gehen schon lange.

gruß
fuchs

Sebastian:
Zitat:Servus Sebastian, 
ja. Alles was SirGroovy &quot;bastelt&quot; wird veröffentlicht.
cool da bin ich ja mal gespannt ;)

bombel:
Hallo Fuchs,
bei der 500.28 ????
Was mach ich dann falsch?
Button14Function=pause
Button14Up=pause_Up2.jpg
Button14Over=pause_Over2.jpg
Button14Down=pause_Down2.jpg
Button14X=650
Button14Y=521
Die Grafiken wären ok. Oder meintest Du per Image pause abfragen?
Ich hab momentan Pause. Angezeigt (per Button) wird pause_Up2.jpg.

naruto:
@Fuchsaha für SirG. aber für mich nicht :(
@SirG. geht es mit dem Aktuellen Release, sollte schon drinnen sein.
Cu

fuchs:
@bombel:
Button14ImageFunction=pause
Button14Image=pause_Over2.jpg oder so
Button14ImageX=0
Button14ImageY=0
@sir:
die koordinaten für das image sind relativ zu den button koordinaten, deshalb müssen sie auf 0 stehen, wenn das image oben links im button erscheinn soll.
@naruto:
falls du die sache mit c1500's lfb meinst: dafür hab ich mir mehr zeit genommen als für diese kleine codeänderung und ihm in 2 emails alle tipps gegeben, diemir einfielen. 
was ich an support für cpos noch mache, hängt nur vom jeweiligen aufwand ab undnicht von der person, die um hilfe bittet.
ich bin absolut begeistert von deiner arbeit, aber für fehlersuche in fremdem code fehlt mir einfach die zeit, bitte hab verständnis dafür. 
danke
gruß
fuchs

naruto:
@fuchs: war nicht so ernst gemeint ;)

SirGroovy2004:
Servus Fuchs,
aha. Dann müsste es also so richtig sein:

Button16Function=GAMMA
Button16Up=gamma_btn_Up.jpg
Button16Down=gamma_btn_Down.jpg
Button16X=318
Button16Y=218
Button16ImageFunction=GAMMA
Button16Image=gamma_btn_Down.jpg
Button16ImageX=0
Button16ImageY=0
Recht herzlichen Dank für die Aufmerksamkeit.
SirGroovy2004

SirGroovy2004:
SErvus Fuchs,
Servus Naruto,
es funktioniert! Vielen Dank.
CU
SirGroovy2004

bombel:
Hallo Fuchs,
danke für den Hinweis! Hab's nur leider zu spät gesehen und inzwischen zumindest im Mixer LED's gemalt. Schaut aber auch nicht so ohne aus.
Aber für Pause kann ich das wohl super gebrauchen.
Wußte garnicht, daß das mit ButtonImageFunction geht.
Liebe Grüße
Uwe

Sceezy:
Hi,
ich hab grad fast das gleiche Problem!
Und Zwar möchte ich einen Button erstellen, mit dem man zwischen Shuffle, Repeat und Normal hin und her schaltet. Er soll aber gleichzeitig als Anzeige dienen was grade aktiv von den 3 Möglichkeiten ist.
Benutze folgenden Code:
Button2Function=playmode_switch
Button2Up=normal.jpg
Button2X=163
Button2Y=490
Button2ImageFunction=shuffle
Button2Image=shuffle.jpg
Button2ImageFunction=repeat
Button2Image=repeat.jpg
Das Problem ist aber das er mir das Bild für Repeat nicht anzeigt.
Beim drücken des Buttons passiert folgendes:
normal Bild (Normal ist aktiv)
*drück*
shuffle Bild (Shuffle ist aktiv)
*drück*
normal Bild (Normal ist aktiv)
*drück*
normal Bild (Repeat ist aktiv)
*drück*
normal Bild (Normal ist aktiv)
*drück*
shuffle Bild (Shuffle ist aktiv)
usw.....
es wird also richtig die Funktion umgeschaltet, aber irgendwie wird der Teil
Button2ImageFunction=repeat
Button2Image=repeat.jpg
nicht beachtet.

Beim Play/Pause Button gehts... sind da aber auch nur 2 Bilder.

Ich hoffe die Beschreibung ist genau genug und mir kann wer helfen, sonst muss ich meinen Skin wieder verwerfen :cry: 
Gruß
Sceezy

bombel:
Hi,
nein, das stimmt nicht mehr so,
beim zweiten Mal repeat drücken kommt jetzt repeatdir, also ein zusätzlicher Modus:
Image0Function=repeat
Image0Picture=main_repeat.jpg
Image0X=510
Image0Y=60
Image1Function=shuffle
Image1Picture=main_shuffle.jpg
Image1X=510
Image1Y=60
Image2Function=repeatdir
Image2Picture=main_repeatdir.jpg
Image2X=510
Image2Y=60
Wie Du das jetzt mit ButtonImage löst.... keine Ahnung ;-)
Schade, daß es kein Button0Image7Function, Button0Image8Function ect. gibt ;-)

Sceezy:
Danke für die Hilfe bombel!
Ich hab mich mal weiter dran versucht, jedoch ohne Erfolg :(
Ist es überhaupt möglich bei einem Button 2x oder 3x ButtonImage zu verwenden? Denn es wir immer nur das 1. ButtonImage verarbeitet.
Wenn dem so ist, kann man das im Code ändern? Fänd ich echt super, weil dann müsst ich nicht extra Platz im Skin für die Statusanzeige vom aktiven Modus opfern!
Gruß
Sceezy

shaneL:
@sceezy
es wird pro button nur ein bild eingelesen. wenn dich aber noch etwas geduldest, kannst das so machen wie du möchtest. ich bin gerade dabei variable buttons als skinelement einzufügen, deren sichtbarkeit sich über beliebige events steuern lässt. in deinem fall müssten dann nur 4 dieser varbuttons an gleicher stelle plaziert werden, auf buttonimage könntest dann in diesem fall sogar ganz verzichten...ist aber damit natürlich genauso verfügbar.
gruss

bombel:
&lt;freu&gt; dann kann ich auch endlich SOURCE und PLAY/PAUSE umsetzen!

Sceezy:
:toothy7:Solche Buttons wären echt super!
Dann werd ich erstmal mit dem Rest meines Skins weiter arbeiten und auf die VarButtons warten.
Vielen vielen Dank shanel! Freue mich tierisch:occasion9: 
Gruß
Sceezy

shaneL:
funktion(en) gibts in neuer beta - syntax steht in der changelog
...macht was draus :wink:
gruss

Sceezy:
Gibts die neue Beta schon? :shock: 
Wo bekommt man die?
Gruß
Sceezy

SirGroovy2004:
Servus Sceezy,

bitte folge dem Link zur aktuellsten Pre Version im Wiki. Ich versuche für euch immer alm Ball zu bleiben:

http://www.carpc-wiki.info/index.php?title=CPos_die_aktuellste_x.pre_Version%21_HIER%21&amp;

SirGroovy2004


Edit by MacG: Link gekürzt

Sceezy:
Hi,
unter dem Link gibts aber noch keine neuere als ich selbst schon hab.
Ich hab jetzt shaneL's Nachricht so interpretiert, das er schon ne neue Beta fertig hat mit der varButton Funktion, aber wos die gibt hat er ja nicht verraten :)
Gruß
Sceezy

SirGroovy2004:
Servus Sceezy,
merkst was? :) Es gibt also noch keine aktuellere. Es sei denn... Ja, es sei denn, du versuchst mal in cPos die Update Funktion zu nutzen...? Wenns nicht klappt, keine Angst! Im cPos-Verzeichnis befindet sich nach dem erfolgreichen Update ein Ordner Update. Die darin Befindliche cPos.exe einfach mit der bisherigen austauschen. Fertisch.
Recht herzlichen Dank für die Aufmerksamkeit.
SirGroovy2004

Sceezy:
Ja ok hast schon recht ;)
Den Updatebutton drück ich schon im 5min Takt,bin einfach zu scharf auf die Funktion :)

shaneL:
hi,

sorry - war wohl etwas mißverständlich. sollte heißen: funktion ist in butter und in neuer beta drin, sobald diese verfügbar ist :wink: 

gruss

Sceezy:
Ok, dann hab ich das falsch verstanden :)
sry wegen dem Wirbel...
Gruß
Sceezy

Sceezy:
so die Neue Beta mit den VarButtons is ja nun verfügbar, aber ich finde einfach nicht raus wie ich den Playmode Switch nun mit den VarButtons realisiere.
Kennt sich vielleicht jemand mit der neuen Funktion aus oder hat schon was herausgefunden?
Gruß
Sceezy

bombel:
was genau brauchst Du?
Ich zeige Dir mal, was ich so gemacht hab:
VarButton0Visible=pause/True
VarButton0Function=pause
VarButton0Up=play_Up2.jpg
VarButton0Over=play_Down2.jpg
VarButton0Down=play_Down2.jpg
VarButton0X=650
VarButton0Y=521
VarButton1Visible=pause/False
VarButton1Function=pause
VarButton1Up=pause_Up2.jpg
VarButton1Over=pause_Down2.jpg
VarButton1Down=pause_Down2.jpg
VarButton1X=650
VarButton1Y=521
Dadurch wird Play / Pause in einem Button je nach Zustand angezeigt.
Für Playmode... Du meinst nicht die Repeat-Funktion, oder?
Falls doch: Ich weiss nicht, ob das geht, aber probiermal aus,
ob mit z.B. VarButton0Visible=repeatdir/True etwas zu machen ist.

Sceezy:
Danke bombel, jetzt hab ich's verstanden :)
Mir fehlt nur noch der name für den Playmode &quot;normal&quot; !
repeat, repeatdir und shuffle kenn ich...
Das ganze würde dann so aussehen:

VarButton0Visible=repeat/True
VarButton0Function=playmode_switch
VarButton0Up=repeat.jpg
VarButton0X=650
VarButton0Y=521 
VarButton1Visible=shuffle/True
VarButton1Function=playmode_switch
VarButton1Up=shuffle.jpg
VarButton1X=650
VarButton1Y=521 
VarButton2Visible=repeatdir/True
VarButton2Function=playmode_switch
VarButton2Up=repeatdir.jpg
VarButton2X=650
VarButton2Y=521 
VarButton3Visible=?&quot;normal&quot;?/True
VarButton3Function=playmode_switch
VarButton3Up=normal.jpg
VarButton3X=650
VarButton3Y=521

shaneL:
hi,
hab zufällig grade netz und will mal nicht so sein :wink: 

also: für 'normal' trägst du folgendes ein.

VarButton3Visible=evbool_0
VarButton3Function=playmode_switch
VarButton3Up=normal.jpg
VarButton3X=650
VarButton3Y=521

dann machst noch einen eventhandlereintrag ( am besten gleich im skin)

function = evbool_0

event = repeat = Off &amp; shuffle = Off &amp; repeatdir = Off

edit: falls du keine transparenz in den buttons benutzt und die größe auch gleich ist, kannst du alternativ für 'normal' auch einen normalen button verwenden - normalerweise müsste der von den varbuttons abgedeckt werden ...spart natürlich resourcen, wenns so auch geht.

...das /True könnt ihr jeweils auch weglassen, da ohnehin default.

@bombel
dein problem mit Play/Pause schau ich mir mal an - bei allen anderen von mir getesteten funktionen hatte ich das nie :cry: 

gruss

shaneL:
@bombel
bug leider bestätigt :cry: 
...der skinstatus des &quot;gedrückten&quot; varbuttons wird von allen folgenden gerade sichtbaren im skin übernommen. naja, falls mir das meer zu langweilig wird, hab ich ja jetzt was zu tun :wink:

Sceezy:
@shaneL
Die Idee mit nen normalen Button unter den VarButtons hat geklappt! :)
Vielen Dank! :)

Sceezy:
Gibt es schon was neues zu dem VarButton Bug?
Ich wollte im Mediaplayermenu je nach dem welcheListe angezeigt wird (audio oder video) nen Button anzeigen. 
VarButton3Visible=folder_audio/True
VarButton3Function=gofolder_audio
VarButton3Up=audiofolder.jpg
VarButton3X=50
VarButton3Y=200 
VarButton4Visible=folder_video/True
VarButton4Function=gofolder_video
VarButton4Up=videofolder.jpg
VarButton4X=50
VarButton4Y=200
jedoch wird immer nur der VarButton angezeigt dessen Ordner als erstes in nem menu auftaucht. sprich wird als erstes das menu mit aktivem audio folder geöffnet wird der VarButton3 angezeigt, jedoch auch wenn man ins menu mit dem video folder geht.
Gruß
Sceezy

bombel:
Hallo Sceezy,
den Bug kenne ich noch gar nicht. Habs aber auch so nicht verwendet.
Hast Du das ganze mal mit FALSE quasi umgekehrt probiert?
VarButton3Visible=folder_video/False
VarButton3Function=gofolder_audio
VarButton3Up=audiofolder.jpg 
VarButton3X=50 
VarButton3Y=200 
VarButton4Visible=folder_audio/False 
VarButton4Function=gofolder_video 
VarButton4Up=videofolder.jpg 
VarButton4X=50 
VarButton4Y=200

shaneL:
hi,
den &quot;bug&quot; meinst du also! ... is aber nicht wirklich einer :wink: , sondern nur ne falsche logig bzgl. deiner verwendung ( mit bombels vorschlag gehts auch nicht)
eigentlich müsst es so klappen:
VarButton3Visible=folder_audio/True; sichtbar nur wenn audio
VarButton3Function=gofolder_video
VarButton3Up=audiofolder.jpg
VarButton3X=50
VarButton3Y=200
VarButton4Visible=folder_video/True;sichtbar nur wenn video
VarButton4Function=gofolder_audio
VarButton4Up=videofolder.jpg
VarButton4X=50
VarButton4Y=200
werds aber mal selber prüfen, evtl. tut auch die folder_ fkt. nicht, wie sie soll

Sceezy:
Hi,
So wie du es geschrieben hast Funktioniert es.
Ich geb zu es klingt so logischer, aber ich möchte in meinem Fall nur ins Musik Hauptverzeichnis wechseln, wenn ich im Musikmenue bin.
Danke für deine Bemühungen!

shaneL:
so wars gemeint :wink: 
...nur ist mir jetzt dein problem nicht ganz klar??? was meinst du mit 
' auch wenn man ins menü mit dem videofolder geht wird der button3 angezeigt'
die fkt folder_ greift nur, wenn du über 'gofolder_' die verzeichnisse wechselst, nicht, wenn du über die liste ins video gehst. hat aber nix mit den varbuttons zu tun. ...hab ich das jetzt richtig interpretiert?
wenn du im menu per 2. varbutton-paar gofolder_ wie von mir beschrieben ausführst, geht auch deine fkt einwandfrei.
ansonsten hab ich dir gestern ne testversion geschickt - in der wäre eine weitere fkt. verfügbar 'function=video&quot; ( siehe changelog)
diese greift immer, wenn ein video abgespielt wird ( für audio: video/false verwenden) ...vielleicht bringt dich das weiter
gruss

bombel:
ich glaub ich mach keine ungetesteten Vorschläge mehr ;-)
Aber ich wußte glaub auch nicht genau, worum es ging.
Dachte, daß es komplett nicht greift, aber scheinbar geht es hier mehr um das Darstellungsproblem ;-)
So, nach dieser fadenscheinigen Rechtfertigung geht es mir eindeutig besser! ;-)

Sceezy:
Hi, bin eben mal zum testen gekommen.
Ich weis war schon ziemlich verwirrend geschrieben was mein Problem ist, sry.:oops: 

Aber...

Zitat:
die fkt folder_ greift nur, wenn du über 'gofolder_' die verzeichnisse wechselst, nicht, wenn du über die liste ins video gehst. hat aber nix mit den varbuttons zu tun. ...hab ich das jetzt richtig interpretiert?

Hast recht, wusste ich nicht!


Zitat:
wenn du im menu per 2. varbutton-paar gofolder_ wie von mir beschrieben ausführst, geht auch deine fkt einwandfrei.

Stimmt!


Zitat:
ansonsten hab ich dir gestern ne testversion geschickt - in der wäre eine weitere fkt. verfügbar 'function=video&quot; ( siehe changelog)
diese greift immer, wenn ein video abgespielt wird ( für audio: video/false verwenden) ...vielleicht bringt dich das weiter 

Damit funktioniert es wie gewollt! :)


Meine Idee ist es das im Mediaplayermenü, das ja für Video und Audio gleichermaßen gilt, bei aktiver Audioliste ein Button zum Wechseln in das Haupt Audioverzeichniss sichtbar ist und bei aktiver Videoliste ein Button für das Videoverzeichniss.

Funktioniert jetzt aber super, das Problem lag also nicht beim VarButton sondern bei der von mir falsch benutzen Funktion.

Gruß und vielen Dank!
Sceezy

vbherodes:
ich hab da auch ne Frage.
Ziel: ein Umschaltbutton für TA am Radio (hab nun auch ein ADS TEch :-))) ). Bei aktiviertem TA soll soll die Schrift 00ff00 sein, ansonsten 000000. 
hierzu hab ich folgendes gebaut:
Code:VarButton0Visible = radio_ta/true
VarButton0Function =radio_ta 
VarButton0Up=btn_empty_a.bmp
VarButton0Over=
VarButton0Down=btn_empty_b.bmp
VarButton0X=0
VarButton0Y=0
Varbutton0LabelFont=arial
Varbutton0LabelFunction=Text
Varbutton0LabelCaption=TA
Varbutton0LabelFontSize=20
Varbutton0LabelColor=&amp;Hffffff
Varbutton0LabelAlignment=2
Varbutton0LabelWidth=60
Varbutton0LabelHeight=60
Varbutton0LabelX=0
Varbutton0LabelY=12
VarButton1Visible =radio_ta/False
VarButton1Function=radio_ta
VarButton1Up=btn_empty_a.bmp
VarButton1Over=
VarButton1Down=btn_empty_b.bmp
VarButton1Down=btn_empty_b.bmp
VarButton1X=0
VarButton1Y=0
Varbutton1LabelFont=arial
Varbutton1LabelFunction=Text
Varbutton1LabelCaption=TA
Varbutton1LabelFontSize=20
Varbutton1LabelColor=&amp;H00ff00
Varbutton1LabelAlignment=2
Varbutton1LabelWidth=60
Varbutton1LabelHeight=60
Varbutton1LabelX=0
Varbutton1LabelY=12
allerdings funzt es nicht so wie ich mir es wünsche, sprich es schaltet nicht um.
Ist da ein Denkfehler drinne?
Mfg
Marc

Sceezy:
Also mir fällt jetzt beim Angucken erstmal nur auf, das du bei aktiviertem TA (Varbutton0LabelColor=&amp;Hffffff) hast und bei deaktiviertem TA (Varbutton1LabelColor=&amp;H00ff00).
Das stimmt nicht mit dem überein, was du gerne hättest. Pass die 2 Zeilen nochmal richtig an, vielleicht war es das ja schon, denn ansonsten sieht alles richtig aus.
