Looking for a few beta testers.

Do you have questions about writing plugins or scripts in Python? Meet the coders here.
Post Reply
stottle
Plugin Developer
Posts: 636
Joined: Sun Apr 26, 2009 10:59 pm

Looking for a few beta testers.

Post by stottle » Tue Jul 21, 2009 4:18 pm

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.
Remotes: USB_UIRT
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.

Thanks,
Brett
Attachments
EGMain.PNG
Main Screen
DefaultConfig1.PNG
Configure UI #1
DefaultConfig2.PNG
Configure UI #2

kricker
Experienced User
Posts: 147
Joined: Thu Oct 12, 2006 5:49 am
Contact:

Re: Looking for a few beta testers.

Post by kricker » Tue Jul 21, 2009 4:51 pm

If you could get the SageTV plugin into the mix, I'd be happy to test for you.

stottle
Plugin Developer
Posts: 636
Joined: Sun Apr 26, 2009 10:59 pm

Re: Looking for a few beta testers.

Post by stottle » Tue Jul 21, 2009 5:57 pm

@kricker,

I'm not running SageTV, so I can't test. Does the attached SageTV __init__.py file work for you (backup the __init__.py file in <EGDirectory>\plugins\SageTV, then replace that file with the attached)? I just changed how it finds whether SageTV is running so ContextSwitcher will work with this plugin.

If the attached works, it will work with the beta.

Brett
Attachments
__init__.py
Replacement file for SageTV plugin to work with ContextSwitcher.
(8.03 KiB) Downloaded 281 times

jsonnabend
Experienced User
Posts: 127
Joined: Wed Apr 23, 2008 7:35 pm

Re: Looking for a few beta testers.

Post by jsonnabend » Wed Jul 22, 2009 1:09 pm

Brett, I'd like to beta test the work, but I use SageTV, Winamp and a couple of lesser known/homemade programs. Will I be able to test your program in my setup?

- Jeff

stottle
Plugin Developer
Posts: 636
Joined: Sun Apr 26, 2009 10:59 pm

Re: Looking for a few beta testers.

Post by stottle » Wed Jul 22, 2009 1:49 pm

Jeff,

Let me answer your question, but also expand on what this beta is doing.

This beta will work with most programs and most remotes pretty easily. So you should be in good shape, but the plugin files will need to be updated.

Let me use the term "watchable" for a program like TotalMedia Theatre. You can create a WindowMatcher instance that can look (or watch) for that program starting and stopping. That's one thing the ContextSwitcher plugin does. XBMC can be either watchable (if you are controlling software on the same machine) or non-watchable (if you are controlling the program on a different machine).

This beta can simplify the setup of watchable programs. It will still work just like before (by creating specific macros) for any non-watchable (or watchable but without an updated plugin) program.

When CS (ContextSwitcher) starts, it looks for program or remote plugins that are set up for CS. For program files, all this means is that the plugin has a data member called windowMatch which is an instance of the WindowMatcher class. Any program plugin with that member is automatically handled by CS.

Basically, any program plugin that shows task events when it starts/stops can be adjusted to work with CS by adding one line to the plugin's __init__ function (where the WindowMatcher parameters are adjusted for the program):

Code: Select all

self.windowMatch = eg.WindowMatcher(u'XBMC.exe', None, u'SDL_app', None, None, 1, False, 0.0, 0)
Hope that helps,
Brett

stottle
Plugin Developer
Posts: 636
Joined: Sun Apr 26, 2009 10:59 pm

Re: Looking for a few beta testers.

Post by stottle » Thu Aug 06, 2009 2:26 am

I've got an updated beta available. Since I don't have access to the SVN, I've loaded it on sourceforge for download.

The new version includes the following changes:
1) It includes the installer for the Vista/Win7 MCE IR service, which allows you to run either the USB-UIRT or a Vista MCE remote with the beta.
2) Instead of installing as EventGhost, it installs as EGBeta and can be installed alongside an existing EventGhost install. I don't recommend running both at the same time :D , but they can both be install without effecting each other.
3) I've updated the requested plugins (SageTV and WinAmp), to go along with the plugins provided in the previous release (XBMC, XBMCRepeat, JRMC, JRMJ, TheaterTek, TotalMediaTheatre). Please let me know if there are others I should update.

If you want to use a Vista MCE Remote, download and install both files in the r99 folder. If you are using the USB-UIRT, you just need to run the r99_Setup file. If you want to try this beta and you've got a different remote, let me know and I can see about adding it.

I guarantee it will be quick to set up any of the above apps, and having it know which app to send events to is pretty sweet!

Here's the link to the download:
https://sourceforge.net/projects/satorievent/files/

Brett

kricker
Experienced User
Posts: 147
Joined: Thu Oct 12, 2006 5:49 am
Contact:

Re: Looking for a few beta testers.

Post by kricker » Thu Aug 06, 2009 3:08 am

Cool. Now that they can be installed at the same time, my ability to test is much higher. I was sooo not wanting to have to uninstall EG and re-installl after the test and risk messing up the htpc. WAF would have been very bad.

User avatar
Livin
Experienced User
Posts: 792
Joined: Wed Oct 08, 2008 4:56 am

Re: Looking for a few beta testers.

Post by Livin » Thu Aug 06, 2009 3:18 am

Brett,
I'll test it in the next day or two.

thx
Aaron
setup... XBMC, W7MC for DVR & Live OTA TV, JRMC for multi-zone audio, EG, MiCasaVerde Vera3, USB-UIRT IR receiver, Harmony remote, 5.2 home theater system

stottle
Plugin Developer
Posts: 636
Joined: Sun Apr 26, 2009 10:59 pm

Re: Looking for a few beta testers.

Post by stottle » Thu Aug 06, 2009 3:49 am

kricker wrote:Now that they can be installed at the same time, my ability to test is much higher.
Yeah, I figured that probably kept some testers away!

Brett

stottle
Plugin Developer
Posts: 636
Joined: Sun Apr 26, 2009 10:59 pm

Re: Looking for a few beta testers.

Post by stottle » Thu Aug 06, 2009 3:13 pm

Anyone know why the sourceforge link doesn't update the download count?

I downloaded to make sure everything worked and I'm guessing a few others have downloaded as well, but the count still says zero. Is there something I'm supposed to set on sourceforge?

Brett

User avatar
Livin
Experienced User
Posts: 792
Joined: Wed Oct 08, 2008 4:56 am

Re: Looking for a few beta testers.

Post by Livin » Sat Aug 29, 2009 5:30 am

Brett,
Any new builds that include the latest 0.3.7.r1194 ?
setup... XBMC, W7MC for DVR & Live OTA TV, JRMC for multi-zone audio, EG, MiCasaVerde Vera3, USB-UIRT IR receiver, Harmony remote, 5.2 home theater system

stottle
Plugin Developer
Posts: 636
Joined: Sun Apr 26, 2009 10:59 pm

Re: Looking for a few beta testers.

Post by stottle » Sat Aug 29, 2009 12:14 pm

My time has been focused on the MceRemote service/plugin. Once I get the next version of that out, I need to merge the beta with the newer EG release and get out a new version. Lot's of plans, not enough time....

Brett

Post Reply