New version 0.5.0-rc6 is out

Keep up to date with EG related information here.
User avatar
topix
Experienced User
Posts: 427
Joined: Sat May 05, 2007 3:43 pm
Location: Germany
Contact:

New version 0.5.0-rc6 is out

Post by topix » Mon Dec 24, 2018 9:10 am

0.5.0-rc6 (2018-12-24)

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

bskchaos
Experienced User
Posts: 56
Joined: Tue Mar 25, 2008 3:04 pm

Re: New version 0.5.0-rc6 is out

Post by bskchaos » Mon Dec 24, 2018 11:38 am

False positive on Win10:
Trojan:Win32/Cloxer.D!cl

User avatar
kgschlosser
Site Admin
Posts: 4383
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: New version 0.5.0-rc6 is out

Post by kgschlosser » Tue Dec 25, 2018 10:17 am

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...
If you like the work I have been doing then feel free to Image

User avatar
kgschlosser
Site Admin
Posts: 4383
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: New version 0.5.0-rc6 is out

Post by kgschlosser » Tue Dec 25, 2018 10:19 am

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.
If you like the work I have been doing then feel free to Image

mbonaccors
Posts: 16
Joined: Thu Apr 26, 2012 2:46 am

Re: New version 0.5.0-rc6 is out

Post by mbonaccors » Thu Dec 27, 2018 10:37 pm

@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!

User avatar
kgschlosser
Site Admin
Posts: 4383
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: New version 0.5.0-rc6 is out

Post by kgschlosser » Fri Dec 28, 2018 2:58 am

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.
If you like the work I have been doing then feel free to Image

mbonaccors
Posts: 16
Joined: Thu Apr 26, 2012 2:46 am

Re: New version 0.5.0-rc6 is out

Post by mbonaccors » Fri Dec 28, 2018 10:18 pm

Cool, thanks! Installing now -

User avatar
kgschlosser
Site Admin
Posts: 4383
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: New version 0.5.0-rc6 is out

Post by kgschlosser » Fri Dec 28, 2018 11:33 pm

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.
If you like the work I have been doing then feel free to Image

User avatar
kgschlosser
Site Admin
Posts: 4383
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: New version 0.5.0-rc6 is out

Post by kgschlosser » Sun Jan 06, 2019 10:36 am

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.

Remote.StopButton

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.

Remote.Volume.Up
Remote.Volume.Down
Remote.Volume.Mute

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.

Remote.Volume.*

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.

{eg.globals.some_variable}

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

{eg.plugins.SomePlugin.SomeAction()}

***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)

eg.plugins.EventGhost.TriggerEvent(
	eventString='Some.Test.Event',
        waitTime=0,
        payload=payload,
        queueEvent=False,
        restoreEvent=True
)

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.
If you like the work I have been doing then feel free to Image

jachin99
Experienced User
Posts: 561
Joined: Sat Feb 13, 2016 8:39 pm

Re: New version 0.5.0-rc6 is out

Post by jachin99 » Tue Jan 08, 2019 2:57 am

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.

User avatar
kgschlosser
Site Admin
Posts: 4383
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: New version 0.5.0-rc6 is out

Post by kgschlosser » Tue Jan 08, 2019 7:27 am

not sure it could be machine related. I do not recall RC6 having an update to the Vista+ MCE IR plugin.
If you like the work I have been doing then feel free to Image

Radar73
Posts: 3
Joined: Fri Dec 14, 2018 9:50 pm

Re: New version 0.5.0-rc6 is out

Post by Radar73 » Fri Jan 11, 2019 11:03 pm

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?

User avatar
kgschlosser
Site Admin
Posts: 4383
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: New version 0.5.0-rc6 is out

Post by kgschlosser » Sat Jan 12, 2019 7:08 pm

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.
If you like the work I have been doing then feel free to Image

Radar73
Posts: 3
Joined: Fri Dec 14, 2018 9:50 pm

Re: New version 0.5.0-rc6 is out

Post by Radar73 » Sat Jan 12, 2019 10:29 pm

Ok, I'll do it that way thanks.

User avatar
kgschlosser
Site Admin
Posts: 4383
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: New version 0.5.0-rc6 is out

Post by kgschlosser » Tue Jan 15, 2019 2:34 pm

@Radar73

did you manage to get everything back up and running??
If you like the work I have been doing then feel free to Image

Post Reply