, posted: 18-Oct-2010 20:45
Retiring my XBOX1 and XBMC setup
was inevitable. It had long since shown its 733mhz CPU was able to output HD but just didn't have the muscle to actually decode anything over SD resolution.
So when Apple announced the new Unibody Mac Mini just days before my birthday I saw it as a perfect own-gift. The Core2Duo CPU was more than adequate to decode all codecs and resolutions and its new super thin and sexy casing was just the sugar on top. As far as I can tell its the best HTPC chassis out there - if only it had BluRay (stay tuned).
The Mini could finally give me a media centre, Freeview PVR and a rock solid *nix based NAS with the ability to run various background servers (UPnP, AirVideo, iTunes etc). Unfortunately controlling all this from the couch was always going to require some work. OS-X's default HTPC app, Frontrow, is extremely basic to say the least. Thankfully there are two great applications that do almost everything, the XBMC fork, Plex
and Elgatos EyeTV
. Both have support for the standard Apple remote, but with only 6 buttons a lot of things were inaccessible or required weird combos to get to. As I already owned the fantastic Logitech Harmony 725 remote I was pretty keen to get it working on my new HTPC but unfortunately Apples infrared remote implementation is very limited and only supports Apple remote controls few commands via 6 buttons. The following steps are from my fair share of reading blogs, wikis and forums on this subject and what I've finally managed to figure out to get this working as I want. The Solution
By default your Mac listens for any Apple remotes telling it do do something, by default it will listen to any remote and do as it commands. I'm sure you could have no end of fun with a single remote in a busy room with a bunch of macs.
Thankfully OS-X does support the ability disable the sensor but also allows you to 'pair' a specific remote to a specific machine. Technically, the way Apple allows pairing is that each remote has a randomly ID assigned between 000-255 on manufacturing. This ID is then broadcast before each button press. If your computer gets an ID different to the remote its paired with it will just ignore the command. Its thanks to this feature we can actually differentiate between many Apple remotes despite them seemingly sending the same command. Now we know this we can then set every key on your harmony to send unique IR codes to you computer. Sweetness. I first discovered this process here
, but it was a quite lengthy process and involved learning each remote individually. I've now discovered a much simpler process which gives teaches your Harmony multiple preset remotes instantly. Setting Up Your Harmony
First thing you'll need to do is setup your Harmony remote to send Apple remote codes. Thankfully thanks to the crowdsourcing nature of the Harmony Remote system people have already submitted a remote setup with all the necessary codes saved.
To set this up open Harmony Remote Software on your mac.
Add a new device and choose Computer, Media Centre PC, Plex and use the name Plex Player. This sets up your remote to send the commands of 10 Apple remotes with differend ID's from the various buttons on your harmony. Now you've done this, you could setup an activity on remote, for now though I would say just use the Device button to access the Plex layout and to test the setup. Running Plex Only?
If you want to use your Harmony with ONLY Plex 8 / 9 you don't need to go through any more steps - just go to Plex's Preferences and then under System \ Control turn on Harmony as the remote setup and enable 'always running'.
This will give you access to all the buttons on the remote including starting up Plex via the Menu button when its not open. All the labeled buttons will do just as you would expect them to. Unfortunately what I found was when I ran other apps along with Plex, they would start competing for the remote commands and I found Frontrow or iTunes popping up when I don't want them. The setup below shows how to get them all playing nicely together. Mapping
You'll need an application called RemoteBuddy
. It lets you assign remote commands to specific actions, whether they be system wide or application specific. They offer a 30 day trial to get you started start and registration is relatively cheap (€19.99/$NZ35). 1. Install, and if necessary Open RemoteBuddy. You will get a new taskbar icon by your clock. 2. Access the RemoteBuddy icon select preferences from there.
3. Click Hardware. Tick 'Enable support for multiple remote controls' and then 'Automatically authorise newly found remotes….' Leave this window open. 4. Now on your Harmony Remote, choose Devices and Plex Player. 5. Click most/all the buttons on your harmony. You should start seeing the right panel of the RemoteBuddy screen start populating with remote controls. You should end up with 10 controls (ID's 150-160). Note that there is no remote for ID 156 so don't worry when it doesn't appear. Now we need to assign these remotes to 'Logical Remotes' so that RemoteBuddy can assign commands to the buttons.
6. Press the + on the left panel to add a Logical Remote, for ease I would recommend a name like Remote 150 so you can keep track of whats what through this process. Note you can't rename the first, default remote (ID150) but can all others you make. 7. Now on the right side, assign each remote ID to a logical remotes name - if you followed the last step this should mean Remote 152 is set to Logical remote with the ID 152 etc…
It should look like the picture below once you've done that. 8. Now for the most boring part, working out which key on your Harmony is sending which remote ID and key to RemoteBuddy. it would be near impossible to work this out but thanks to ShavenYak on the RemoteBuddy forums
here are the remote ID's and buttons. Harmony button - Remote ID Button OK - 150 Select Up - 150 Up Down - 150 Down Left - 150 Left Right - 150 Right VolUp - 152 Up VolDn - 152 Down Mute - 152 Select ChUp - 158 Up ChDown - 158 Down Prev - 153 Down Menu - 150 Menu Exit - 155 Up Guide - 157 Play Info - 153 Up Stop - 151 Play Replay - 160 Up Skip - 160 Down Play - 151 Menu Rec - 155 Down Rew - 154 Up Fwd -154 Down Pause - 152 Menu 1 - 151 Up 2 - 151 Down 3 - 151 Left 4 - 151 Right 5 - 152 Left 6 - 152 Right 7 - 153 Left 8 - 153 Right 9 - 154 Left 0 - 154 Right Clear - 154 Play Enter - 153 Menu Blue - 159 Menu Red - 159 Left Green - 159 Right Yellow - 159 Play Aspect - 157 Up LargeUp - 159 Up LargeDown - 159 Down
PwrToggle - 157 Menu Queue - 157 Down Sleep - 154 Menu F1 - 155 Left F2 - 155 Right F3 - 155 Play F4 - 155 Menu F5 - 160 Left F6 - 160 Right F7 - 160 Play F8 - 160 Menu F9 - 158 Left F10 - 158 Right F11 - 158 Play F12 - 158 Menu F13 - 157 Left F14 - 157 Right There you have it, 62 mappable remote buttons to any application in OS-X. You can go through the depths of RemoteBuddy mapping section and assign commands globally or application specific setups. FYI in my setup I have a both EyeTV & Plex mapped separately and only use Global settings for the RB default OSD via the menu button. As this post is long enough, I've written another post showing
how to turn this into a working setup based around Plex Nine and EyeTV 3.4.
Other related posts:
Vodamoan - new connection pains
Fine Tuning Mac Mini, Logitech Harmony, Plex Nine & EyeTV
Always look on the bright side.....