INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Running some JRiver features in the background as a service  (Read 5659 times)

jachin99

  • Citizen of the Universe
  • *****
  • Posts: 559
Running some JRiver features in the background as a service
« on: August 31, 2016, 08:03:32 am »

I'm trying to create a uniform remote control layout across all of the programs on my PC.  What this means to me is that when I press the movies button on my remote, it will bring me to the movies section of an app whether that app is Netflix, JRiver, Hulu, Vudu, Amazon video, etc.  I can do this for the most part with event ghost by using the function keys on my keyboard to both launch a program, and activate its remote control profile with event ghost.  In event ghost, I have a combination of remapped key profiles, and screen clicks to navigate through each app.  For instance, when I press F1 to launch Netflix, the EG remote profile that gets activated with it allows me to press down twice, and mouse scroll down the menu, and if I press right or left arrow, EG creates a screen click that will press the respective over arrows to scroll sideways through each category within Netflix.  The scrolling profile I have in event ghost scrolls just enough to keep the area of each screen click within the margins for the side arrows.  I should then be able to create a new scroll wheel profile, and screen area click profile for each program, that activates when I press that program's respective function key and launch it.  All of this allows me control various programs and websites, and everything seems to work pretty good so far. 

I run into problems with JRiver because pressing the movies button for instance will click on the movies section of vudu but, it will also bring up the movies section of JRIver over the program I am trying to control.  I need JRiver running all of the time because I depend on it to turn my TV and stereo on and off, and to switch inputs on the TV.  Is there a way to run JRiver where I get to keep the remote control functionality of the program without having it interfere with my remote profiles for other programs?  Is there a setting somewhere that I can change that will stop it from performing specific actions unless it is running in the foreground. 

I know this is a long post, and maybe hard to understand but any help is appreciated. 
Logged

~OHM~

  • Citizen of the Universe
  • *****
  • Posts: 1825
  • "I Don't Play The Music The Music Plays Me"
Re: Running some JRiver features in the background as a service
« Reply #1 on: August 31, 2016, 10:38:00 am »

just a thought...go to start button in windows and find JRiver Media Center 22 or if you have the icon on desktop (taskbar will not work) right click it and choose properties and choose Run then choose Minimized and apply your way out. Not sure if this will do it but worth a try.
Logged
“I've Reached A Turning Point In My Life. I Now Realize I Have More Yesterdays Then Tomorrows”

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 71458
  • Where did I put my teeth?
Re: Running some JRiver features in the background as a service
« Reply #2 on: August 31, 2016, 11:04:05 am »

I don't think you can get some parts of MC's Remote support to work without having all parts working.  _Maybe_ you could use the MC Remote learning to teach it to do something else when you press certain buttons.
Logged

blgentry

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 8009
Re: Running some JRiver features in the background as a service
« Reply #3 on: August 31, 2016, 03:43:53 pm »

What you're describing doesn't sound like a very robust way of building a remote control system.  Two issues to start:

A.  Only one program should drive your various remote control devices.  Using Event Ghost to then use JRiver to send commands to your other components is not the way to go.  One program should drive everything.  Not a pass through or daisy chain.  This is a recipe for complexity and failure.
B.  Relying on mouse scrolls and specific screen sections seems unreliably and quirky.  Ideally, the programs you are controlling need hot keys or other affirmative ways of activating functions and features.  Scrolling and clicking are fine for people.  They are not reliable for automation.

Start with a more robust, reliable, straight forward architecture and everything will work better.

All of this is just my opinion.

Brian.
Logged

jachin99

  • Citizen of the Universe
  • *****
  • Posts: 559
Re: Running some JRiver features in the background as a service
« Reply #4 on: August 31, 2016, 05:52:51 pm »

I would like to do this instead but screen clicks are the only way to use all the functionality in some of these apps.  I use netflix daily while i use mc occasionally
Logged

RoderickGI

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 8186
Re: Running some JRiver features in the background as a service
« Reply #5 on: August 31, 2016, 06:22:40 pm »

Brian's point A was my first thought when I read your description. I assume that you are using the MC IR Blaster setup to blaster Power On/Off commands to your TV and stereo. Can't Event Ghost use the hardware IR Blaster to do that instead? That would keep control in one app on your PC.

However, the major point is Jim's; MC's IR Remote Control support is provided by the MC Service that runs whenever MC is running (so I've been told), so it doesn't matter if MC is in the foreground or background, it is going to see the IR commands and respond accordingly. The only way to stop that and still have IR functionality would be to have Event Ghost capture all IR commands, and based on the setup in Event Ghost, and the status of MC, pass some commands through to MC. Or perhaps not use MC IR capabilities at all, and have Event Ghost send MWCS commands to MC that duplicate the normal IR commands.

I'm not an Event Ghost user, so I don't know if that is possible. Even if it is, it would be a lot of work to effectively duplicate all IR commands MC uses in Event Ghost, then add rules as to when they should be passed through, and when they shouldn't, or to set up all the MWCS commands.

Maybe Event Ghost could disable the MC Service when MC is in the background, and re-enable it when MC is in the foreground? That may work. But do you use MC's volume control when using other applications, or an external volume control? Because if you use MC's volume control via the IR Remote, then you can't disable the MC Service that provides that capability. Again, maybe you could disable the service, and then have Event Ghost capture the volume down/up commands, and send them to MC using MCWS.

Just some thoughts. Maybe they help. Maybe not.
Logged
What specific version of MC you are running:MC27.0.27 @ Oct 27, 2020 and updating regularly Jim!                        MC Release Notes: https://wiki.jriver.com/index.php/Release_Notes
What OS(s) and Version you are running:     Windows 10 Pro 64bit Version 2004 (OS Build 19041.572).
The JRMark score of the PC with an issue:    JRMark (version 26.0.52 64 bit): 3419
Important relevant info about your environment:     
  Using the HTPC as a MC Server & a Workstation as a MC Client plus some DLNA clients.
  Running JRiver for Android, JRemote2, Gizmo, & MO 4Media on a Sony Xperia XZ Premium Android 9.
  Playing video out to a Sony 65" TV connected via HDMI, playing digital audio out via motherboard sound card, PCIe TV tuner

jachin99

  • Citizen of the Universe
  • *****
  • Posts: 559
Re: Running some JRiver features in the background as a service
« Reply #6 on: August 31, 2016, 07:29:56 pm »

Just a quick reply because i dont have time to go into detail right now.  I need mc because it is the only way to turn the tv on and off for reasons i can describe later.  I can setup EG to pass mcc commands through the command line for just about everything else and there are 2 EG plugins available for mc.  Even with a combination of EG and jriver remotes i dont get interference issues.  My mce remote is RF and doesnt even need an ir blaster to work.  In EG i use the generic HID plugin for my remote.
Logged

jachin99

  • Citizen of the Universe
  • *****
  • Posts: 559
Re: Running some JRiver features in the background as a service
« Reply #7 on: September 01, 2016, 09:05:35 am »

What you're describing doesn't sound like a very robust way of building a remote control system.  Two issues to start:

A.  Only one program should drive your various remote control devices.  Using Event Ghost to then use JRiver to send commands to your other components is not the way to go.  One program should drive everything.  Not a pass through or daisy chain.  This is a recipe for complexity and failure.
B.  Relying on mouse scrolls and specific screen sections seems unreliably and quirky.  Ideally, the programs you are controlling need hot keys or other affirmative ways of activating functions and features.  Scrolling and clicking are fine for people.  They are not reliable for automation.

Start with a more robust, reliable, straight forward architecture and everything will work better.

All of this is just my opinion.

Brian.

Brian, a lot of what you say makes sense but there isn't one program that can accomplish everything for me right now.  The MCE IR event ghost plugin isn't working for quite a few people on windows 10 so that option is out.  I have tried other IR programs but I run into the same problems, and nothing has worked.  I have tried buying a HDMI CEC adapter, and I can get my TV remote to pass commands to my PC but it will not turn the tv off or on.  Both my TV, and Stereo have HDMI CEC control, but the video out went bad on the stereo so HDMI CEC through the stereo isn't an option.  Before that video out blew, this worked fine, and I'll be getting the stereo fixed or replaced probably in the next couple of months.

Onto having one program controlling everything, I would like to do this, and event ghost is the only thing that I have found that can give me the level of control I want over all of my equipment.  JRiver is great for controlling JRiver itself, and external equipment but It can't control external programs to the same extent event ghost can.  To add to this, JRiver does very little to control the PC itself.  I do realize that there are some menu options that let me reset, or power off the PC but I can't get JRiver to send commands to my equipment based of IFTT events.  For example, I cannot get jriver to change the power state of my TV and stereo based on the power state of my PC.  If I could, then I could have JRiver turn on my equipment when my PC is turned on or woken up.  My remote has a sleep and wake button for the PC, and if I could set IFTT events through JRiver, then I could at least automate the turn on/ turn off process.  Right now, my PC never sleeps, and I have the * key on my remote programmed to turn my tv and stereo on and off through JRiver.

After toying around in event ghost, I found that I can't get consistent events to activate my remote control profiles for windows store apps but it works great for executables.  For example, In order to start Netflix, I have tried using the windows application frame host as a trigger along with other windows processes but more than one application probably uses this process, and when things like the application frame host, WWA host, etc. start, then stop, then start again so its like the trigger for the remote profile is flickering and confusing EG. 

Setting up different screen click profiles for different windows store apps is a PITA but it actually works great for Netflix (And Netflix only) because the of the layout of their app.  If the app is laid out symmetrically, then I can predict the scrolling behavior of the page, and I know where my screen click is going to occur every time.  Instead of activating the remote profile based on windows events, I created batch scripts to launch each program, assigned a hotkey to those batch scripts (F1 launches Netflix, F2 Launches Hulu, etc.), and in event ghost those hotkeys activate the remote profiles, while disabling remote profiles for every other program.  To make things a little easier to remember, my keyboard is designed for a Samsung smart TV so the F keys have colored teletext logos on them.  Red is Netflix, green is hulu, light green is Spotify, and blue is Vudu.  My problem right now is that in order to use the movies key on my remote for example, I have to suppress that command in JRiver so JRiver doesn't pop up over the program I intend to use.  I know its hard to believe but the Netflix remote actually works great.  The Hulu, and Vudu remotes are complicated, and I haven't tried building one for Amazon yet but I've never used it so I'm not concerned with that right now. 

One possible workaround for this is to use event ghost to pass MCC commands through the command line, and disable the remote control function in JRiver.  The reason I don't do this is because I need JRiver to turn my TV on or off because event ghost, and everything else I have tried won't do it. 

I'm not really convinced anyone has a solution for this but if someone thinks of something I'm missing, I'd be glad to listen
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 71458
  • Where did I put my teeth?
Re: Running some JRiver features in the background as a service
« Reply #8 on: September 01, 2016, 09:24:18 am »

I'm not sure if it will help, but we can now control a power strip like this one:
https://www.amazon.com/ZEN20-Z-Wave-Smart-Energy-Power/dp/B01HAQHQ5I

You could read about Engen on this board:
http://yabb.jriver.com/interact/index.php/board,48.0.html


Logged

jachin99

  • Citizen of the Universe
  • *****
  • Posts: 559
Re: Running some JRiver features in the background as a service
« Reply #9 on: September 01, 2016, 09:49:42 am »

I've been poking around the Engen board every now and then, but I've always wondered if your going create a kind of universal smart remote inside of one remote where it can control smart tvs, smart AVRs, etc.  The TV has an Ipad app so if that somehow tied into one remote, I might be able to disable the remote control feature all together, and pass web commands through event ghost to one remote (If that's possible).  The powerstrip would be helpful if it could somehow tell the tv to turn on when it receives power on commands. 
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 71458
  • Where did I put my teeth?
Re: Running some JRiver features in the background as a service
« Reply #10 on: September 01, 2016, 09:54:55 am »

We would probably add some logic in MC's remote handling, so that when you use a remote to power up the PC, Engen would turn on a power strip.
Logged

jachin99

  • Citizen of the Universe
  • *****
  • Posts: 559
Re: Running some JRiver features in the background as a service
« Reply #11 on: September 01, 2016, 11:43:10 am »

That would be really useful for a lot of things but, the power strip itself cannot turn tell the TV to turn on (Unless there is something I don't know about), which means I still need JRiver's remote to turn the TV on, and off.  If I read your post correctly, you are saying you might pipe JRiver's remote handling into Engen so that things like powerstrips (or other zwave devices) see remote control events? 

Where that would help is if event ghost could listen for the traffic between one remote, and the power strip, and have TCPIP (?) events, or a vera wave EG plugin (Possibly?) trigger macros.  This could bridge the gap between Engen's network events, and event ghost.  Bridging JRiver's remote handling, and engine could also be really useful if someone wanted to use a point and click remote to turn lights, on or off.  I have tried to convince my family to use tablets and phones as remotes but everyone is used to a regular TV remote so I can see this being useful to a lot of people.  Also, I don't have a way to keep my tablet charged while it sits on my glass coffee table in the living room of my tiny apartment so I can't rely on something that isn't always available to control my lights. 
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 71458
  • Where did I put my teeth?
Re: Running some JRiver features in the background as a service
« Reply #12 on: September 01, 2016, 12:07:38 pm »

If I read your post correctly, you are saying you might pipe JRiver's remote handling into Engen so that things like powerstrips (or other zwave devices) see remote control events? 
That's the idea.
Logged
Pages: [1]   Go Up