Page 1 of 4

New version 0.5.0-rc6 is out

Posted: Mon Dec 24, 2018 9:10 am
by topix
0.5.0-rc6 (2018-12-24)

  • [PowerDVD] switch from WindowMatcher to ctypes, PEP8 formatting 339 (GruberMarkus)
Fixed bugs: Download now

Re: New version 0.5.0-rc6 is out

Posted: Mon Dec 24, 2018 11:38 am
by bskchaos
False positive on Win10:

Re: New version 0.5.0-rc6 is out

Posted: Tue Dec 25, 2018 10:17 am
by kgschlosser
There is nothing we can do about Virus scanners dinging EventGhost. It is because of how EG is so tightly wound up into the Windows API. It is accessing portions of the API that will throw up flags. Some portions are not even documented by Microsoft...

Re: New version 0.5.0-rc6 is out

Posted: Tue Dec 25, 2018 10:19 am
by kgschlosser
I also wanted to say I'm sorry for the broken parts of EG in the last release. that was completely my fault (ACHEW.. topix not doing quality control.... ACHEW!! ).. But in all seriousness. I am sorry for the couple of things that got broken.

Re: New version 0.5.0-rc6 is out

Posted: Thu Dec 27, 2018 10:37 pm
by mbonaccors
@kgschlosser, there are broken parts in rc6 or rc5? Running rc5 right now - does rc6 fix anything other than the two items in the changelog? Thanks for all the help everyone!

Re: New version 0.5.0-rc6 is out

Posted: Fri Dec 28, 2018 2:58 am
by kgschlosser
it fixes not being able to install a plugin and it also fixes not being able to restart EG from the file menu. I think one of the plugins was updated as well as a pretty nasty bug in the plugin was repaired also.

Re: New version 0.5.0-rc6 is out

Posted: Fri Dec 28, 2018 10:18 pm
by mbonaccors
Cool, thanks! Installing now -

Re: New version 0.5.0-rc6 is out

Posted: Fri Dec 28, 2018 11:33 pm
by kgschlosser
known issues:

Some installations may experience an error if they have the the logging date/time stamps enabled and open one of the menus in the menu bar at the top of EG then click on the log to close the menu. We are still trying to track down the source of the problem. but it appears to only affect only Windows 10 users and it does not effect all of them. We do not know the catalyst of the problem. If you experience this issue the error is not going to cause any kind of a problem. For those of you that do have this problem. if you happen to discover the exact thing that is causing it (It has to do with something that varies per Windows installation whether it is a setting or maybe the version) PLEASE let us know. this is going to be the thing that will allow us to correct the problem. We believe the problem is internal to the GUI package we use called wxPython. now we can patch wxPython to solve the problem. but we need to know what to patch. and in order to know what to patch we need to know what is causing the problem (it's like a dog chasing it's tail)

There was a report of a user having an issue with the language portions of EG stating there is no language en_US. this was after an upgrade. if anyone else has/had this issue information on what was done to solve it would be helpful. But also just reporting that you had the issue will help determine if it is isolated to just that single user. telling us to look more at the users specific setup. or if we need to look at the internal code in EG for the problem.

Re: New version 0.5.0-rc6 is out

Posted: Sun Jan 06, 2019 10:36 am
by kgschlosser
another issue has been reported. I modified the Trigger Event action to have some extra abilities. and during that process i goof something. if you specify an event without a dot "." in it then the Main prefix will be added. and if you have a dot in it then the Main is not added.

I will be adding a check box to turn the addition of the Main on or off. it will be defaulted to on so it will not break the current API. I am sorry for this oversight. the problem was reported a long while ago. I simply forgot about it.

I do want to give a little bit of instruction as to what the whole Trigger Event changes are and do.

Event String
Events are separated by "."'s, the purpose for this is to group them
together. As an example if you wanted to group events together by a
device type this can be done by using the following example.


So you would be able to group all of the various buttons to a remote.
Plugins use this same grouping mechanism for generating events. You also
have the ability to go one step further and group a group.


The purpose for this is when you add an event to an action you can
target specific groups by using the * so if you wanted to target all of
the events that take place for Remote.Volume you would add an event to
the macro like this.


This will run that macro for any event that begins with Remote.Volume.

You also have the ability to set the event string using a python
expression (see below).

Wait Time

The amount of time to wait before triggering the event. this has a
resolution of hundredths of a second.

Event Payload

When an event occurs you are able to attach a data packet to the
event. This data packet can be any kind of a python object.

Most common ones are:
integers = 1 2 3 4 5
floats = 0.00
lists = []
tuple = ()
dictionaries = {}
unicode strings = u'', u""
and strings = "", ''

When there is an attached payload you will see the payload in the log.

You also have the ability just like the Event String to attach a
python expression (see below).

Add to Queue
If the wait time is set to 0.00 this option will appear. Adding the
event to the queue means that the event will get triggered after the
event that caused this action to run has been fully processed. that means that all macros with the event in it have to be processed, if there any pending events to be run then those will get run before this one does.

If unchecked the event will get triggered right away Not being added
to the queue and not waiting until the event that started this action
has finished processing.

A little more detail. as an example if you add a Trigger Event action with the queue checked off. then you add a Wait action of say 5.0 seconds.
Then run the macro. you will see that the event does not get triggered until after the wait period is over and the macro has finished running.
This is not an ideal mechanism in some cases. one of them being the use of jumps from python code (which cannot be done) so if you wanted to run another macro at specifically that time. you cannot do it.

Restore eg.event
If add to queue has not been checked this option will appear. This
relates more to the scripting portions of EventGhost. What this done is
each and every time an event gets triggered there are 2 variables that
get set into place. Those 2 variables are eg.event and eg.eventString.
When you trigger an event while the current event is running those 2
variables will get changed to the new event. Upon completion of the new
event if you would like to change those variables back to the event that
ran this action then check this box.

Using a Python Expression
You can use a python expression in several ways. The expression
**MUST** be wrapped in curly braces {}. This is the identifier that
tells EventGhost that it needs to do some work.

You can pass global variables which are stored in eg.globals by
wrapping the variable name in the curly braces.


If you want to transfer the results of another action you can do this
as well.


***Or maybe you want to do something a little more complex.***

A different value passed based on if a global is True or False.

{"TV.On" if eg.globals.tv_power else "TV.Off"}

Or checking a global for a specific value and passing True or False.

{eg.plugins.SomePlugin.SomeAction() == 100}

When using a python expression in a payload the curly braces are the
same thing that is used in a dictionary but our crafty programmers have
accounted for this so don't worry.

These expressions get run when the TriggerEvent Action gets run. So if you
have a programmed wait time (see below) the data may be different at the
start of the wait time then at the end.

Now here is a really crafty bit.

If you say wanted to use this action from inside of a python script you can. and if you wanted to trigger the event to run a macro right away you can do that as well..

now here is the crazy piece. what if you wanted to have that second macro return data to the first... well we can do that as well.

this would be the example of a python script that triggers an event immediately.

Code: Select all

payload = dict(results=None)


print payload

and say this is another python script that is in a macro with the event 'Some.Test.Event'

Code: Select all

eg.event.payload['result'] = 'This is a successful test'
when the payload gets printed out by the first script after the event it triggered has completed. you will see the text that was set in place by the second script get printed.

You can only do this with mutable objects. which are lists, dictionaries (dict), and class instances.

It is a nice thing to be able to do if you do not want to store a bunch of variables in eg.globals.

These additions are for keeping your configuration tree nice and tidy. so if you have common code that needs to be shared between more then one macro but the information it would need changes. this is the mechanism that will make it easier to pass that information. so you do not have to have duplicate macros.

Re: New version 0.5.0-rc6 is out

Posted: Tue Jan 08, 2019 2:57 am
by jachin99
I cant exactly narrow this down to a newer version of EG but I just rebuilt a PC, and threw RC6 on to try things out. The Vista+ MCE plugin seems to do a much better job of handling HID input, and sending out blasts. Before, there would often be a delay between me pressing Vol up, and the actual volume on my TV changing, and there were many times where the blasts weren't even executed. This isn't the case with RC6, and volume changes now occur in near real time, maybe a half second dely at most.

Re: New version 0.5.0-rc6 is out

Posted: Tue Jan 08, 2019 7:27 am
by kgschlosser
not sure it could be machine related. I do not recall RC6 having an update to the Vista+ MCE IR plugin.

Re: New version 0.5.0-rc6 is out

Posted: Fri Jan 11, 2019 11:03 pm
by Radar73
I used to be able to run this inside a vb script:

Code: Select all

Set objEG = WScript.CreateObject("EventGhost")
objEG.TriggerEvent "Kodi.UpdateVideo"
With RC6 I get an error that it couldn't create object Eventghost.

Any idea what's happened or how to get the previous functionality back?

Re: New version 0.5.0-rc6 is out

Posted: Sat Jan 12, 2019 7:08 pm
by kgschlosser
you are the first person I have ever seen that used the COM server portion of EG. the problem was that sometimes i would not work. we removed the COM server portions of the script.

if you want to trigger an event run eventghost again with -e "some.event" to trigger an event.

Re: New version 0.5.0-rc6 is out

Posted: Sat Jan 12, 2019 10:29 pm
by Radar73
Ok, I'll do it that way thanks.

Re: New version 0.5.0-rc6 is out

Posted: Tue Jan 15, 2019 2:34 pm
by kgschlosser

did you manage to get everything back up and running??