Indigo on one machine, music on another... How to control?

Posted on
Tue Jun 05, 2012 9:39 am
brk offline
Posts: 2
Joined: Mar 05, 2009

Indigo on one machine, music on another... How to control?

I'm hoping this is the best forum in which to post this question...

Here is the basic framework of my system:
1) Indigo running on Mac Mini. This machine is in our theater room, used for DVD playback, local iTunes playback in that room only (dogs are in this room when we are not home).

2) iMac in Kitchen. "The wife's computer". This is also our main music server. It has a bunch of music in iTunes, plus Pandora. Airfoil is installed to send music to various zones, via:

3) A collection of airports and 1st-gen Apple TV's, connected to Russoound amplifiers, sending audio streams to:
- Master bedroom
- Workout room
- Family room (via airspeakers or whatever it's called on yet another mac mini)
- Backyard speakers
- frontyard speakers
- workshop speakers

I would like, via a Keypad linc and/or remote, to be able to instruct Indigo to select a source on the Kitchen iMac (eg: iTunes playlist or Pandora channel), and route that source to a given output, which would be decided based on the keypadlinc/remote (eg: if you select a source from the master bedroom keypadlinc it would be assumed you want to listen in the bedroom, not the workshop, etc.).

What would be the most efficient way to enable a communications link between the Indigo machine and the Kitchen iMac?

My gut instinct was to write some kind of a listener daemon for the Kitchen iMac and then use some plugin to send TCP commands to the Kitchen machine, or make various formed HTTP calls, and then handle those on the Kitchen iMac to execute whatever it was we were trying to achieve. But, I'm hoping there is an easier way that doesn't require me to do much custom development...

Any thoughts or suggestions?

Thanks.

--
brk

Posted on
Tue Jun 05, 2012 10:25 am
jay (support) offline
Site Admin
User avatar
Posts: 18224
Joined: Mar 19, 2008
Location: Austin, Texas

Re: Indigo on one machine, music on another... How to contro

Controlling a remote iTunes from Indigo is easy with the iTunes plugin - just define an iTunes server device for it.

The Airfoil plugin currently only works with a local copy of Airfoil because the only way to control Airfoil is via AppleScript and AppScript (the AppleScript to Python bridge we use) and AppScript is very unforgiving and a bit error prone when running against remote Macs. It's mostly to do with communication issues that are inherent with remote apple events and how timeouts are handled.

Having said that, you can make a one line change in the Airfoil plugin to have it attempt to target a remote Airfoil instance. On line 59 of the plugin.py file inside the Airfoil plugin, you can change this line:

Code: Select all
airfoil = app("Airfoil")


to this

Code: Select all
airfoil = app(url="eppc://USERNAME:PASSWORD@REMOTEMAC://Airfoil")


That's the standard remote apple event URL when targeting a remote Mac from an AppleScript (with the addition of the app name as part of the URL). This will cause the plugin to try to connect to that Mac's copy of Airfoil for all commands. This will probably work ok when there are no problems. However, if anything is wrong (network communication, the remote Airfoil copy isn't running, etc.) then you're likely to get some really odd errors and perhaps funky behavior. So be warned that we don't support this configuration and you're on your own if it doesn't work. ;) At some point and if there's demand we may revisit the Airfoil plugin to see if we can make that an official feature - but because of the underlying problems there may never be a way to make it as foolproof as we usually require when we ship supported features.

Not sure how you'll handle Pandora - I know some other users have tried but I don't know what their success rate is.

Jay (Indigo Support)
Twitter | Facebook | LinkedIn

Posted on
Tue Jun 05, 2012 10:28 am
brk offline
Posts: 2
Joined: Mar 05, 2009

Re: Indigo on one machine, music on another... How to contro

Thanks, that gives me a couple of ideas to start with.

--
brk

Page 1 of 1

Who is online

Users browsing this forum: No registered users and 35 guests