Notice: This forum has been recovered from an old backup, so some content, links, and dates may be outdated. The forum is currently read-only while we restore sign-in and registration functionality. Details

If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.

Neue Hardcore-Beta-Test-Runde f├╝r 0.3.1

Allgemeines zum Thema EventGhost
Meier
Posts: 22
Joined: Fri Feb 10, 2006 6:18 am
Contact:

Post by Meier »

Bitmonster wrote:Sieht eher so aus, als ob der Task von EG noch nicht beendet war, bevor der neue gestartet wurde. Keine Ahnung wieso. Schau mal im Taskmanager nach, ob da noch einer hängt. Wenn da ein EG-Task lief, kann es sein, dass der Installer die EXE nicht ausgetauscht hat und daher der COM-Server nicht funktioniert. Also unter Umständen nochmal installieren.
nee...sonst kommt beim setup ja die fehlermeldung, dass eventghost noch gestaret ist...war es aber nicht mehr....hatte extra im task-manager nachgeschaut...der fehler trat auch bisher nur einmal auf...
---------
visit:
Meierspage.de
User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Post by Bitmonster »

Und weiter geht das Testen. Der Source-Code wurde einer sehr umfangreichen Restrukturierung unterzogen und deshalb kann es durchaus wieder viele Bugs geben. Also auf ein m├Âglicherweise erforderliches Downgrade einstellen.

Was sich geändert hat:
* NewJumpIf ist jetzt die bevorzugte Sprunganweisung. Das alte Jump, JumpIf und StopIf habe ich aus der Liste der verf├╝gbaren Befehle entfernt. Wenn noch solche alten Befehle im Baum sind, funktionieren sie weiterhin, aber man kann eben keine neuen mehr davon hinzuf├╝gen.
* FindWindow hat die StopMacro-Option verloren, da jetzt alles ├╝ber NewJumpIf gesteuert werden kann.

Info f├╝r die Poweruser, die mit Python-Scripts arbeiten:
Einige eg-Variablen und Funktionen wurden umbenannt. Sollten eure Skripte jetzt knallen, einfach hier melden bei welchem Befehl es passiert und ich erzähle dann Stück für Stück die neuen Zugriffspfade.

Info f├╝r Plugin-Schreiber:
Auch hier haben sich einige Sachen geändert. Vorrangig bei dem serial-Modul. Ich glaube bis jetzt hat nur owagner dieses benutzt und dem werde ich dann seine Plugins kurz umschreiben.

Info f├╝r technisch Interessierte:
Das elementare eg-Modul ist jetzt gar kein "echtes" Modul mehr. Es wird zwar weiterhin einfach mit "import eg" geladen, aber in Wirklichkeit ist "eg" jetzt eine Instanz einer Klasse. Der Vorteil ist, dass ich jetzt alle Eigenschaften eines Python-Objektes damit nutzen kann, wie z.B. Deskriptoren.
Weiterhin wurde die Implementierung von PythonScript-Befehlen so umgebaut, dass der Source gleich beim Laden/├ändern kompiliert wird und bei der Ausf├╝hrung nur noch der Bytecode ausgef├╝hrt werden muss. Dieses sollte PythonScript-Befehle schneller machen und bei der Gelegenheit konnte ich dann auch gleich einbauen, dass Fehlermeldungen dabei auf den Source des Skriptes verweisen k├Ânnen.

http://www.eventghost.org/downloads/Eve ... Update.exe
Stoffel
Experienced User
Posts: 51
Joined: Tue Feb 07, 2006 7:30 pm

Post by Stoffel »

so, hab upgedatet, von 0.3.0.479 auf die 0.3.1.524
bekomme jetzt folgende Fehlermeldung
IgorPlugUSB.TV
Aktiviere exklusiv: Zoom Player
Wenn Tastendruck länger als 1.0 s, gehe zu: ZP Starten
Fehler in Befehl: "Wenn Tastendruck länger als 1.0 s, gehe zu: ZP Starten"
Traceback (most recent call last):
File "C:\Programme\EventGhost\eg\TreeItems\ActionItem.py", line 255, in Execute
File "eg/CorePlugins/EventGhost/__init__.py", line 440, in __call__
File "C:\Programme\EventGhost\eg\Init.py", line 191, in __post__setattr__
Can't assign to eg-instance
Zoom Player: BringToFront
Zoom Player: FullScreen
Send Ir Maskierung runter
IgorPlugUSB.ButtonReleased
ZoomPlayer.NoConnection
ZoomPlayer.close
ZoomPlayer.NoConnection
ZoomPlayer.close
IgorPlugUSB.RC5_3021
IgorPlugUSB.ButtonReleased
IgorPlugUSB.U6840302
IgorPlugUSB.ButtonReleased
IgorPlugUSB.RC5_3021
IgorPlugUSB.ButtonReleased
die RC5 und U6840... Meldung loggt EG einfach nur mit, da sendet YARD was an Receiver und den IR Empfänger der Maskierung

unter 0.3.0.479 geht das ohne Probleme

Stoffel
User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Post by Bitmonster »

Da ich gerade ein Update von Python und wxPython bei mir vorgenommen habe, hier mal die nächste Version als Full-Installer.

Damit sollte der JumpIfLongPress-Bug behoben sein.

http://www.eventghost.org/downloads/Eve ... _Setup.exe
Stoffel
Experienced User
Posts: 51
Joined: Tue Feb 07, 2006 7:30 pm

Post by Stoffel »

Supi, damit funktionierts wieder. 8)

Aber gleich ein neues Problem. Ich hab bei mir ja die sogenannte Pipi Pausen Taste eingebaut, die funktioniert wie folgt:
langer Tastendruck auf Play/Pause -> Makro wird gestartet OSD Pipi Pause und da das OSD keine Zeiteinstellung hat, habe ich einen warten Befehl hinterhergeschickt, damit das OSD nach dieser Zeit wieder weg geht, tuts auch, allerdings startet dann der ZP wieder. Ohne dass in EG ein Play/Pause angezeigt wird. :(

Stoffel
User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Post by Bitmonster »

Hab ich nicht ganz verstanden. Kopiere mal das ganze Makro hierher.
Stoffel
Experienced User
Posts: 51
Joined: Tue Feb 07, 2006 7:30 pm

Post by Stoffel »

ich hoffe ich kopier das jetzt richtig hier hinein
<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="505">
<Macro Name="Pipi Pause OSD" id="128">
<Action>
OSD.ShowOSD(u'Pipi Pause', u'0;-13;0;0;0;400;0;0;0;0;3;2;1;66;Calligraph421 BT', (255, 255, 0), (0, 0, 0), 4, (0, 0), 0, 3.0)
</Action>
<Action>
EventGhost.Wait(60.0)
</Action>
</Macro>
</EventGhost>
und der lange Tastendruck sieht wie folgt aus
<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="505">
<Macro Name="Play">
<Event Name="Green">
</Event>
<Action>
ZoomPlayer.fnPlay()
</Action>
<Action>
EventGhost.JumpIfLongPress(1.0, XmlIdLink(128))
</Action>
</Macro>
</EventGhost>
Edit:
hab gerade gemerkt, dass ich auf dem Laptop noch nicht die aktuellste Version habe und auch erst gerade festgestellt, dass man das OSD doch schon mit einer Zeitangabe versehen kann
Stoffel
User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Post by Bitmonster »

Und was funktioniert jetzt nicht?
Stoffel
Experienced User
Posts: 51
Joined: Tue Feb 07, 2006 7:30 pm

Post by Stoffel »

So, jetzt hab ich das ganze nochmal am Keller PC ausgetestet.

Fehler behoben, alles meine Schuld. :oops:

Verstehe tu ich das nur nicht, denn in der älteren Version funktionierte es ja.

Ich versuche nochmal eine Erklärung.

Drücke ich länger als 0,5 sec. auf die Taste Play für den ZP, wird eine Pause des ZP vorgenomen, ein OSD wird eingeblendet und das Licht dimmt hoch.
Den OSD Befehl hatte ich in der älteren Version mit einem Warten Befehl getunt, der ja nicht mehr notwendig ist, da man jetzt das OSD zeitlich einstellen kann.

In der jetztigen Version allerdings, wurde der ZP pausiert, das OSD eingeblendet und der ZP startete wieder.
Das hab ich jetzt wegbekommen, denn der Pause Befehl war noch eingebaut, den brauche ich ja nicht, da der ZP f├╝r Play und Pause ja auch ├╝ber die gleiche Taste funktioniert.

Der Pause Befehl sieht wie folgt aus
<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="526">
<Macro Name="Pause" Enabled="False">
<Event Name="Pause">
</Event>
<Action>
ZoomPlayer.fnPause()
</Action>
<Action>
EventGhost.AutoRepeat(0.59999999999999998, 0.29999999999999999, 0.29999999999999999, 3.0)
</Action>
</Macro>
</EventGhost>
wobei ich mich frage wof├╝r das Autorepeat dabei gut sein soll.

Noch ne Anmerkung
Ich hab die ganzen Zoomplayer Befehle von den ersten Versionen von EG ├╝bernommen und die XML Datei dann nur auf meine Tastenbefehle angepasst.
Der von mir nicht genutzte Pasuen Befehl hat dabei nie gest├Ârt. Jetzt ist er erstmal deaktiviert.

Stoffel
User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Post by Bitmonster »

Das Autorepeat ist wirklich ├╝berfl├╝ssig. Habe es gerade aus der Example-XML gel├Âscht. Keine Ahnung, wie das dahin kam.
User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Post by Bitmonster »

Und wieder eine neue Version:
http://www.eventghost.org/downloads/Eve ... _Setup.exe

Ich m├Âchte jetzt langsam die 0.3.1 offiziell rausgeben und daher w├ñre es gut, wenn sich auch Leute melden, die nach einigen Arbeiten mit dieser Version (und vielleicht den n├ñchsten paar notwendigen Hotfix-Versionen) keine Fehler feststellen, damit ich einen Eindruck davon bekomme, wie stabil die 0.3.1 Version ist.

F├╝r Plugin-Schreiber:
Es hat sich noch eine Kleinigkeit bei dem AddAction/AddGroup Befehlen ge├ñndert. Es wird jetzt nicht mehr ein self.AddGroup() verwendet um die Hauptgruppe f├╝r die Aktionen des Plugins zu erzeugen, sondern man ruft gleich self.AddAction() f├╝r die Aktionen auf. AddGroup wird nur noch ben├Âtigt, wenn man eine weitere Untergruppe braucht. Die Hauptgruppe wird beim ersten Aufruf von AddAction automatisch angelegt.

Deshalb kann es sein, dass bei euren alten Plugins jetzt eine Verschachtelung zuviel erscheint.
User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Post by Bitmonster »

Noch eine Anmerkung f├╝r Plugin-Schreiber:
Ich habe die Plugins 'Winamp' und 'Foobar2000' etwas ausf├╝hrlicher mit Kommentaren versehen. Dieses sollte den Einstieg in die Plugin-Schreiberei etwas leichter machen.

Dabei wird den alten Hasen auffallen, dass dort die Aktionen gar nicht mehr mit AddAction initiiert werden. EG beobachtet jetzt die Erzeugung von neuen eg.ActionClass-Klassen beim Laden des Plugins und kann sie alle auf einmal mit dem Plugin verkn├╝pfen mit dem Befehl AddAllActions. Beim Winamp-Plugin findet sich nicht einmal dieser Befehl, weil die Default-__init__ von eg.PluginClass dieses macht.
MonsterMagnet
Plugin Developer
Posts: 137
Joined: Fri Feb 10, 2006 12:04 pm

Post by MonsterMagnet »

Dazu noch eine Idee, kannst Du noch soetwas wie eine erweiterte Hilfe einf├╝hren ?

D.h. wenn man in einem Setup Dialog Hilfe aufruft, die M├Âglichkeit gegeben ist einen extra Hilfe Dialog zu zeigen ?
User avatar
Bitmonster
Site Admin
Posts: 2239
Joined: Mon Feb 06, 2006 10:28 pm

Post by Bitmonster »

Wäre denkbar, aber eigentlich wollte ich das vermeiden. Ich befürchte der User wird einfach zu selten auf den Hilfe-Knopf drücken um überhaupt zu sehen, dass dort etwas anderes steht als im AddPlugin/AddAction-Dialog. Deshalb fand ich es eigentlich besser, wenn dort gleich alles wissenswerte steht.
MonsterMagnet
Plugin Developer
Posts: 137
Joined: Fri Feb 10, 2006 12:04 pm

Post by MonsterMagnet »

O.K.

Kann mich auch nur schwer an meinen letzten Hilfe Button erinnern.
(Auch wenn mir das manchmal gut tun w├╝rde...)

P.S. Wie kommt eigentlich D.J.Ötzi mit Burgerdance auf meine Platte :?:
Post Reply