As posted in this thread
, I've been looking for ways to make the EG setup simpler. I've got a prototype working that I'm pretty excited about. I'm looking for some people willing to test it out and give me some feedback. The purpose is to make it easier to get up and running using a remote control for your favorite programs.
Right now, it only works for the following programs and remotes.
Programs: XBMC, XBMCRepeat, JRMC, JRMJ, TheaterTek, TotalMediaTheatre.
At this stage, if you have a USB_UIRT remote (ideally set up to transmit MCE commands) and you are willing to try this beta software (it will overwrite your existing EG install), PM me an email address and I will send you the installer. Sorry, but I can't put this on the EventGhost site, so its email for now (about 12 megs).
I've got screenshots as attachments, so you can take a look.
Ok, so what does it do? Two things.
1) It watches which apps open and close, and it sends events only to the most recently focused plugin. That means no more exclusion macros.
2) It automatically associates remote events ("Play") to plugin actions ("Play"), so a lot of remote buttons work, out-of-the-box and don't need to be configured. There's also a new UI for configuring buttons (see the 2nd and 3rd screenshots), where you can add/modify actions - directly associated with buttons.
Watching apps open/close is done by the ContextSwitcher plugin. That is (1)
on the first screenshot, including the macro to send events to its handler. It looks at the active plugins and finds remote plugins which provide a list of events (only set up for USB_UIRT right now), as well as program plugins which provide a WindowMatcher data member (only the programs listed above, so far). Task events processed to used to update which plugin events get sent to (that's not how its implemented, but that's the idea). Notice that the J River Media Jukebox (free music player) plugin is loaded, but there isn't a context folder for it (2)
. Actions are run from the ContextSwitcher plugin as well, so setting up Context folders for each app isn't necessary.
Hitting the new configure icon (3)
allows you to see what actions each program responds to....
All of the buttons under JRMJ (J River Media Jukebox) that are green have actions associated with them (2nd screenshot). Clicking or Mousing over the buttons will show you what the action is, double clicking a button will let you edit it.
From this UI, you can also build other types of actions, such as LongPress, If, Group or AutoRepeat, as shown in the third screenshot. Editted but unsaved actions are shown in blue, while buttons with no associated action are shown as grey icons. Hitting save write out custom actions to an xml file, which ContextSwitcher will load at startup.
To me, assigning actions directly to key presses is more intuitive, which is why I spent so much time on this UI.
I've included a different Example.xml file, which already has the ContextSwitcher plugin set to autoload. It also has a macro set up to forward events to it. You can still add macros for "non-program" events, they will still run normally as they always have. "non-program" means that the plugin doesn't have a WindowMatcher function set up, which makes sense for things like Home Automation. Another way to say it is that "programs" (I can't think of a better word) will be watched by Task events to decide whether they should receive events, "non-programs" won't. You can also associate those events with "global" in the new UI. The actions listed under "global" are always run when the button is pressed, "program" events will only run if there isn't a "global" match. The actions under each program column will only run if that program is running. If more than one of the programs from these columns is running, only the most recently active program will receive events.
There's a lot going on behind the scenes, but this beta should add new capability without breaking anything that EG does already.
Again, PM me with your email if you want to beta test.