Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Tip: Elgato EyeTV, Plex, and Mountain Lion

I'm contributing this as a tip to the community. Hopefully others will find it useful.


Let me set the scene first... I use EyeTV on a couple of my Macs, including my Mac Mini acting as a media centre (HTPC). Historically EyeTV integrated with Apple's Front Row, but as we all know, Apple killed off Front Row on the Mac a while back. Now I liked Front Row's simplicity, and I liked EyeTV's integration. After the demise of Front Row, it took me a while but I converted over to using Plex (Plexapp and Media Server). It took a bit of effort on my part, but I now really like Plex too.


I primarily watch TV on the Mac Mini in full screen, so I like to use the (white) Apple Remote to interact. My use case is Apple Remote - to drive EyeTV - press-hold the menu button to switch to Plex - watch/listen media using Plex - Quit Plex to return to EyeTV.


EyeTV still retains the integration with Front Row. When using EyeTV, press-hold the menu key and EyeTV will try to launch /Applications/Front Row. Front Row is no longer available, but I now launch Plex instead.


I achieve this by using an Apple Script application, saved to /Applications, called Front Row. That's right, I fake Front Row using an Apple Script, it simply launches or brings Plex to the front.


Now each major release of MacOSX recently has caused me to alter my Applescript a bit. I recently upgraded from Lion 10.7.x to Mountain Lion 10.8.x, and true to form I had to revisit the Applescript. Purely empirically, I believe ML changed the behaviour of EyeTV on switching.


With previous versions of MacOSX you could see EyeTV switch by taking itself out of fullscreen mode, stop playing, then launching Front Row/Plex. With ML, EyeTV appears to remain in fullscreen mode and continues playing.


This appears to be causing an issue with "ownership" of the Apple Remote events. Plex was not receiving the Apple Remote events, instead the standard MacOSX overlays (volume up/down), iTunes (play/stop/ffwd/rev) interaction was occuring. It took a bit of a leap, but I figured this was due to EyeTV remaining in fullscreen mode and retaining first responser ownership. Since EyeTV was not the foreground application, I assume it simply bubbled the events up to the OS, bypassing Plex. Also, depending on your EyeTV audio preferences (play audio in background), you will still hear EyeTV.


My solution then was to alter my Applescript. My Applescript takes EyeTV out of fullscreen mode (seems to fix the Apple Remote issue), stops the play window, then launches Plex, waits until Plex stops running, and then reverses the EyeTV commands, start playing, jump to Live, enter fullscreen


Here's my Applescript, you may copy it and use it freely, but I offer no support nor warranty whatsoever. If it works for you great, if it doesn't sorry about that but you'll have to figure it out yourself.


-------- copy the lines below -----------

try

tellapplication "EyeTV"

ifitisrunningthen

stop

exit full screen

endif

endtell

tellapplication "Plex"

run

activate

endtell


repeatuntilapplication "Plex" is notrunning

delay 1

endrepeat


tell application "EyeTV"

ifitisrunningthen

enter full screen

play

jump 0 fromending

endif

endtell

on error

say "Could not start Plex. Sorry"

end try

---------- finish copying the line above ----------


We are going to be saving the file to the Applications folder, so you will need an admin account to do this...


Start Applescript Editor (find it in /Applications/Utilities)

Copy and paste the lines above

Hit the Compile (hammer icon) button. This will tell you if everything is okay.

Now, from the File menu, choose Save As...

Call it Front Row, navigate to the Applications folder, and set the file format to Application, click the Save button.


User uploaded file


Test it from EyeTV.


I hope this helps...


My versions

EyeTV 3.6 (build 7031)

Plexapp 0.9.5.2


Plexapp Settings of note:

Preferences > System > Input Devices

Standard

Always Running is off (this stops Plexhelper from continually running, seems to help with Apple Remote events)

Preferences > System > Video Hardware

Display Mode is full screen

Posted on Feb 24, 2013 6:14 AM

Reply
15 replies

May 27, 2013 3:39 PM in response to rthpjm

Wow - this is amazing! Always a Mac person, but switched to Windows 7/WMC setup so I could watch live tv and browse home movies in the same interface. Your simple script allows me to go back to my Mac Mini HTPC setup.


Having one problem (using 10.8.1). The EyeTV sound does not stop. Seems like the script executues, meaning live TV stops, but then it starts again as Plex is being started. Plex remains the application on screen, but EyeTV sound is coming from behind.


Any thoughts?


Thanks, Paul

May 28, 2013 7:30 AM in response to Paul Maher

Hello Paul,


thanks for the vote. Yes I had to change the script slightly too. Here's my current version:


try

tell application "EyeTV"

if it is running then

exit full screen

stop

end if

end tell

on error

say "Something went wrong stopping Eye TV"

end try


try

tell application "Plex"

run

repeat until application "Plex" is running

delay 1

end repeat

activate

end tell

on error

say "Something went wrong starting Plex"

end try


try

repeat until application "Plex" is not running

delay 1

end repeat

on error

say "Something went wrong whilst waiting"

end try


try

tell application "EyeTV"

if it is running then

enter full screen

play

jumpto 1 fromending

end if

end tell

on error

say "Something went wrong restarting Eye TV"

end try


I hope that works for you (it's working for me 😀)


I did log a fault with Elgato along with a development request for them to allow the switch to any selected application (not hard coded /Applications/Front Row). I just got the standard "Thank you, we'll think about it" reply.


I don't think EyeTV is currently top of Elgato's priority list at the moment (sigh!). They've been very quite for years now. For example, there's no real additions to the hardware compatablility list (excluding their own hardware). I've been asking them to support DVB-T2 format broadcasts and devices for over 2 years, still nothing, I guess Europe and Scandinavia combined are small markets and not worth the effort.


Don't get me wrong, EyeTV is a great product, but development activity appears to have slowed.

May 29, 2013 9:11 AM in response to rthpjm

That's too bad about the switch. I was wondering, have you found a way to at least make Front Row visible on the on screen menu in eyetv. I have the same versions of os x and eyetv intalled on a MacBook Air and a Mac Mini. On the Air, is choose view, menu, more and Front Row is right there on the screen for me to select. On the Mine, Front Row does not appear in the menu. Functionality works with Apple Remote (short Menu vs. long Menu), but I can navigate to Front Row in the menu.


I tried downgrading to previous EyeTV versions, no luck.


Paul

May 30, 2013 10:13 AM in response to rthpjm

Shortcut!


Applications use xml format files called .plist to store settings. One of the settings EyeTV uses is "FrontRowReplacementAppPath" I did a quick test and found the setting was blank. I then changed it to 'Applications/VLC.app' and tested using the on-screen menu to trigger FrontRow and VLC opened. You should be able to give your application a better name and target it directly.


Defaults is a command line function! Anything you quote after do shell script will be executed on the command line with no UI.


To use Defaults in Applescript:


The following will return the value for FrontRowReplacementAppPath in the file com.elgato.eyetv.plist:

do shell script "defaults read com.elgato.eyetv FrontRowReplacementAppPath"


To see all the settings for that file:

do shell script "defaults read com.elgato.eyetv"


To see all available files:

do shell script "defaults domains"


To write a new value:

do shell script "defaults write com.elgato.eyetv FrontRowReplacementAppPath -string '/Applications/VLC.app'"


To restore the original value:

do shell script "defaults write com.elgato.eyetv FrontRowReplacementAppPath -string ''"


Defaults is a great way to gather information about an application when using Applescript. Applications define their own terms and values so OS updates should have no effect. Changes to some settings take place as you interact with the UI, such as window position. Scripting new values for window position will change the size/position of that window. Values can be obtained/changed when the app is not running.


I am running 10.7.5 on a mini with EyeTV 3.6.1 (7121)


Other useful items that worked for me:


Remap the AppleRemote play button to launch EyeTV.

http://www.thebitguru.com/projects/iTunesPatch


Restore FrontRow to Lion:

http://discussions.apple.com/thread/3194258

Interface works but iTunes library is unavailable.

May 30, 2013 10:57 AM in response to David Hathaway

Hey David,


Thanks for that. I forgot to take a look at plist configuration.


It's great.


Putting your desired application path in that setting launches it.


There's no need for my Applescript anymore 🙂 Which is just as well because Paul's wish to use the on screen menu item was driving me up the wall. It seemed to have different actions compared to the long-press of the menu button. If I fixed the script for the on screen menu, it broke the actions for the long-press of the button.


Happily we don't need it now.


  1. Delete my script from /Applications
  2. Start a terminal (/Applications/Utilities/Terminal)
  3. type:
    defaults write com.elgato.eyetv FrontRowReplacementAppPath -string '/Applications/Plex.app'
  4. Ta dah, just like David said, and in true Mac style, it just works.


Does anybody know when that key was added to the plist? I'm hoping it's recent and that it may be as a result of my request for a feature enhancement. I suspect it's been there for ages and I had nothing to do with it, but I can dream 😀....

Sep 3, 2013 11:22 AM in response to different computers

Hello DC,


You don't really describe your use-case too clearly. Are you saying that you are happy with Plex as the primary interface, but want access to iTunes media?


There are two scenarios I can think of:

1. Plex integrates with your iTunes music library directly. You can go to the Music Channels > iTunes. You drive Plex as your interface.

2. You might want to switch away from Plex and start iTunes the app and interact with iTunes as the interface. I'm not immediately sure about this approach, nothing immediately springs into my mind. When I get a bit of free time I'll have a poke around.


Others might be able to suggest something in the interveningeriod.....


My item 1 is a plex media server setting, see http://wiki.plexapp.com/index.php/Plex_Media_Server_Preferences

Sep 3, 2013 11:58 AM in response to rthpjm

BTW, I point Plex at the same folder locations used by iTunes. This way both Plex and iTunes can act as a front end for the same media files...


E.g. And assuming your iTunes media folder is in its standard location (in your Home folder), and assuming the Plex Server is running on the same machine that has your iTunes media....

From the Plex server media manager I create "sections" with an appropriate name setting the path to /Users/<your name>/Music/iTunes/iTunes Media/<media type>


Where <your name> is usually your login name

And <media type> is one of

Music

Movies

TV Shows


You get the idea.


I've now moved on from here and all my media is now on a NAS drive.....

Sep 3, 2013 12:03 PM in response to rthpjm

Sorry for the confusion.


I would like to use the remote to control Plex. Then, I would like to be able to quit plex, (so far so good) and have iTunes be controlled by the remote.


I'm aware of Plex's iTunes integration, but I prefer iTunes directly.My problem is that the remote won't switch away--it will quit Plex (via Plex's menu) but it still grabs any remote signals so iTunes doesn't hear them. If I hit Menu on the remote, Plex launches again.


Pointing Plex's Music folder at my iTunes folder results in an unbrowsable mess of artist listings with no Playlists.

Sep 3, 2013 2:13 PM in response to different computers

Okay, DC, try this....


In the Plexapp select Preferences > System > Input Devices


The second item here is labelled - Always running

If the indicator to the right is highlighted, that means the feature is turned on. From your description it sounds like it will be. Turn this option off.


This time when you quit the Plexapp it should release control of the input events.


You might need to logout and back in again to be sure the previous invocation of the Plex Helper app is reset. Maybe even a reboot. (I'm hoping that you won't need this step).


Post back if this helps....

Jul 3, 2015 3:08 AM in response to rthpjm

HI there,


FIngers crossed you guys are still around.


i have a Mac Mini (running OS X 10.10.4) with Elegato Eyetv version 3.6.8 (7405) and Plex Home Theatre (1.2.0.313-7957f053) and PMS (v0.9.11.1.678-c48ffd2)


I want to be able to do pretty much what is described in this thread... use my Mac as a media centre - ie at a basic level run EyeTV and be able to swap to Plex HT using my (aluminion) apple remote. (It would be great to find a system which would include Netflix as well).


I'm not very technical with this, but wonder if the solution given by rthpjm still works? I will give it a go... but wanted to be sure.


Unless anyone has a better solution?


rthpjm wrote:

  1. Delete my script from /Applications
  2. Start a terminal (/Applications/Utilities/Terminal)
  3. type:
    defaults write com.elgato.eyetv FrontRowReplacementAppPath -string '/Applications/Plex.app'
  4. Ta dah, just like David said, and in true Mac style, it just works.


Fingers crossed.

Tip: Elgato EyeTV, Plex, and Mountain Lion

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.