Apple TV!!
id4c
Posts: 4
I was curious if there is a way to have feedback from the Apple TV for wireless touch panels. Similar to the iPhone applications like iRemote and iLuvControl.
Something where the customer can preview cover art and libraries and would also give feedback on status of song or movie.
Any help would be awesome! Thanks.
Something where the customer can preview cover art and libraries and would also give feedback on status of song or movie.
Any help would be awesome! Thanks.
0
Comments
Since Apple TV is able to communicate with iTunes and whatnot, obviously there is a protocol. Howevr, Apple is very coy about giving it out. The iPod was the same way. At first 'no protocol for you!" After a bit, the protocol started showing up on hackerz sites ad lo and behold Apple sends it out a week later.
I suspect the same will be true with Apple TV. It'll come out when Apple is good and ready to spill the beans.
For now, it's IR.
Putting the open source XBMC onto an Apple TV is real easy.
And XBMC has some additional file support advantages over the original Apple software.
And I've seen a 2 way application using one of AMX's "competitors" (from Utah) for this...
Let me tell you it's AWESOME.
I can post the youtube link if you want..but it's sorta opposition product stuff..(that's why I'm, asking first)
So it can be done. I'm sure one of the bright programmers at AMX could do the same...
Here's hoping....
http://dacp.jsharkey.org/
does AMX do project work on this type of thing or would we have to rely on a community development?
My guess would be we'd have to rely on community development, since it'd be sort of a "hack" - wouldn't it? I don't believe AMX condones any development on stuff that's not "official", but that's not a bad thing thing.
I think this is true.
When we first started doing Tripplite, their 'official' protocol only gave outbound feedback. I knew they obviously had some kind of protocol for control since their software could operate the thing. So, I port sniffed it and figured out their control protocol. (Things like turning a zone on and off, etc..) I emailed it to AMX but they've never said boo about it. It's still not in their module. Too bad bacause it works quite well and doesn't hurt a thing.
We don't try to control them any more and have opted for using PS Audio's controlled power center. So, I never persued it. The Tripplite is just an UPS and Conditioner for us now.
It seems that autonomic has gotten its hands on the protocol. I guess they are going to be releasing a module for AMX soon.
Jeff
When has cheap ever been a consideration for anything in the AMX domain? Do you want to give us some idea on what pricing on this thing might be?
It looks polished, possibly supported and also like it probably took a fair heft of time to do. It's probably got a target market of dealers that can certainly be counted in the thousands rather than the tens of thousands. I wouldn't expect it to be cheap but I'd certainly want to know if it was any good.
I should also at this point try and stay on topic and say, "no I don't know anyone with a free Apple TV module"
The module controls the Apple TV via IP and allows much more control than the IR remote. For example it will send album art to a touch panel.
You're right, AMX is not about cheap. There is no suggested retail price for the module but the dealer cost is higher than the cost of a couple Apple TV's. I agree that the price of the module is probably very much worth it for someone that needs a great looking GUI for a touch panel. All I want to do is send meta data to an R4 remote. I can't justify the price of the module to do this. Also, it would be nice to ditch the IR emitter on the front of the Apple TV by using IP control. There has to be some simple code that can be written in NetLinx that would allow someone to do this.
The pricing (according to AMX thinking) would be about $1k per install. The module is tied to the processor via an activation code that is computed from the processor's MAC Address.
Seems cool, but I have learned my lessons about being the first one to jump in the pool.
When thinking about how programmers generally make their living writing code, this was the best I could come up with for free. Now, if you are looking for help writing your own module based on the protocol (which, as was pointed out, is available on the web) and you need to bounce an idea off someone, or you are stuck on a part, I would be glad to help.
Jeff
P.S.
Yes, someone did piss in my corn flakes this morning... then they flushed em down the toilet, so I didn't even get to eat them.... now I'm cranky and hungry :P
http://dacp.jsharkey.org/
http://appletvhacks.blogspot.com/
http://www.perceptiveautomation.com/userforum/viewtopic.php?p=25468
http://www.packetevents.com/2008/07/secrets-behind-itunes-remote-with-iphone/
http://blog.mycroes.nl/2008/08/pairing-itunes-remote-app-with-your-own.html
mlog mstt ?mlid (?'P
Here is a tip for others doing the same thing:
- You must run Autonomic's register program to get an "activation code" for each processor you put it on.
- In order to get the activation code their register asks for the "processor ID" of the master.
- It's a little unclear from Autonomic's instructions what this is, but it's the value returned by GET_UNIQUE_ID(). Do something like cUID = GET_UNIQUE_ID() in your start routine, where cUID is a 6 cell CHAR array. Pop open the debugger and make sure display is set to Hexadecimal.
- Type in all the characters you see (except the commas of course), HOWEVER, note that each char must be zero-filled to 2 digits, i.e. 1 becomes 01, 0 becomes 00. Also note that the register program you downloaded from Autonomic won't let you enter uppercase letters. So you must express a byte like "A8" as "a8"
- That kind of threw me for a loop but yes the Unique_ID is in fact what they want (the field requires 12 characters). Just remember to zero fill and lowercase any letters that may appear. Type in the unique ID again (or copy paste it), click Activate, and you'll get the 24 character string to plug into your module.
Hope that helps someone out.
I see yet another 3rd party UI file that provides pages AND popups; that assumes you are going to build your system around their product. Lovely. At least it's not 50 pages like AudioRequest's. Shouldn't take too long to integrate. I'll just have to run all the TP commands from the module through a virtual device so that I can squelch all the page flips I don't want.
Anyone else have this module running yet?
Not yet but I will be very interested to hear your feedback.
Can you browse movies available for rent/purchase from the TP, too? I assume you can only browse media you already own.
The UI file is obnoxious. It has pages AND popups, uses ICONS (remember them?), and has a dynamic image named NowPlaying which can't be renamed anywhere because you get next to no access/customization what takes place in this module. The module accepts a server port (e.g. 5008) as a parameter and sets the dynamic image URLs to that port on the master. The browser art is being pulled down and stored locally on the master somehow. It's a little strange but I assume necessary.
Again, another 3rd party UI that assumes you are going to build your program around their product. They should all look at Jon Parker's iPort module UI. That's how it's done.
But I think with a little bit of work and an in-between virtual device rather than letting this module talk directly to my touchpanels, I believe I will be able to work this module into our system in another day or so. It talks to and controls the AppleTV (or iTunes) and that is the important thing. I think it pays for the time it would have taken me to figure out how to do that myself.
Overall it gets a positive review.
Escient did some similar things with their Vision module. I about ripped what little hair I have out when I discovered all the icons assigned to the wrong slots, which is especially annoying when you aren't certain which icons go with a specific function. Ditto for using generic popup names (as if nothing else in my project might possible use a page named "Music," eh?). At least Escient provided the axs so you could edit that nonsense out.
But the icon thing gets to me ... and even AMX is using them extensively in VA and AMX.home. They are fine, as long as whatever code that uses them is the only thing using them. Throw one foreign module in there that also uses the same icon slots, and you now have a broken panel graphic.
Thanks for the report, and the heads up. I'll 3rd the "3rd party UIs can be a pain" motion. I've finally gotten my head wrapped around the Escient Fireball/iPod dock module, and it is pretty easy to incorporate now. Agreed that Icons are a pain all around.
I have used the Autonomic Control program for their PC integration WMC system, that turns a PC into a music server and is controllable from the TP. The AppleTV module uses the same GUI page layout as the Mirage software does. I ran into the same issues with the icons in the wrong locations. If their sample pages are copied to your TP file, they don't put the icons in the correct slots, they get added at the first available location. They are also doing page flips from code and the page flips effect all panels in the system, not just the panel that is currently controlling it. I sent a detailed email explaining what was happening and how it could be done. Here is their response:
Thank you for your valuable feedback. We have heard some similar suggestions from AMX integrators, and we are working on revisions to the modules that incorporate many of your requests.
Basically, for $500, you get a partially working module. Unfortunately, sales guys think it takes 5 minutes to drop in this module and it should work perfectly, like a ReQuest. Until 3rd party modules work better in the real world situation, we are stuck with partial, unpolished integration!
Paul
I'll second that. I also understand wanting to protect your product, but their policy is such that you can't even move a license once it has been applied. The only exception is hardware failure if you get a teacher's note from AMX. This is probably the biggest reason why I haven't purchased a license yet. I would like to get one installed on my test equipment to integrate it into my framework. But I don't need my text box permanently allowed to run the thing.
It'll be full two-way with cover art and etc. and be easy to integrate into existing designs, so I don't have to build a system around some set vision.
As this is on work time and I am being paid for it, it's up to the company I work for to decide what is done with it. I'd like to release it as open source code, but my boss may want to make a few bucks on it - regardless, if we release it, it definitely won't be a closed module. I'll bring it up once it's complete and we get our job done with it.
EDIT 20100403: This device isn't very easy to even get started talking to I've manually created an mDNS packet and have my device appearing as a remote, and sent auth back at the PIN entry screen, so I can now register an NI as a remote for the AppleTV. Now to write the one-way commands, then to write the parser and two-way stuff...
EDIT 20100404: Parser written. Seems to work to get my session-id and parse any other sent data. Now I need to get my one-way commands working, then start requesting play status info and cover art... if only there was decent documentation on this stuff I don't have enough IEC power cables at home though so the NI is unplugged while I charge a touchpanel and take a break.
In the end, with how much we (intend to?) use the AppleTV product (we're primarily a resi shop), giving me a portion of the money we'd give another company for something that fits perfectly into our design, doesn't have to be licensed per NI, and can be modified at will makes more sense.
EDIT AGAIN: One-way working for nav, menu, select, shuffle and repeat. Progressing quickly. I'll stop posting status updates, but in another couple of hours, I should hopefully have now playing feedback and cover art. Then the fun stuff like search queries and the like (ok, I lied, this is another edit: I have cover art and now playing feedback)
My plans are to have an open source module and basic UI available for two-way AppleTV control and integration into existing designs. Right now I have standard remote pairing with the AppleTV, standard nav control, now playing title/artist/album feedback and cover art feedback support. It will be freely available to download and use under a liberal copyleft license. (I'm still not decided on how much so for this to be.)
If someone does NOT want to distribute source, they can get a license. If someone wants a bug fixed or a feature added, money talks. I doubt I'll get any business with this but who knows...I'll put up a website within the next few days with details of what the module supports, a feature list / todo list / bugtracker, and a download link when I am comfortable with progress.