Home AMX User Forum AMX Design Tools

Apple TV!!

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.
«1345

Comments

  • ericmedleyericmedley Posts: 4,177
    id4c wrote: »
    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.

    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.
  • How about a XBMC Apple TV?

    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....
  • mstocummstocum Posts: 120
    There's an open source Android AppleTV remote app that someone wrote. It may be possible to port his code to Duet.

    http://dacp.jsharkey.org/
  • hodeyphodeyp Posts: 104
    getting an amx apple tv module would be way cool, very very slick definitely with genius playlists and airtunes control as well.

    does AMX do project work on this type of thing or would we have to rely on a community development?
  • jjamesjjames Posts: 2,908
    hodeyp wrote: »
    getting an amx apple tv module would be way cool, very very slick definitely with genius playlists and airtunes control as well.

    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.
  • ericmedleyericmedley Posts: 4,177
    jjames wrote: »
    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.
  • Spire_JeffSpire_Jeff Posts: 1,917
    http://www.cepro.com/article/autonomic_bows_two_way_ip_control_and_feedback_for_apple_tv/

    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
  • youstrayoustra Posts: 135
    Yeah - the protocol's out there -- do a web search and you'll see plenty of info. Autonomic's dragging its heels getting an AMX module out there...
  • I just spoke to Autonomics and their AMX Apple TV module is now available but it isn't cheap if you're just looking for some basic two-way communication. There module has a really slick GUI and is capable of navigating the entire Apple TV from a touch panel without requiring a TV. What I would like to do is I think more basic. Has anyone else found the IP control protocol and been able to control the Apple TV?
  • iainshawiainshaw Posts: 133
    Cheap?

    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"
  • DHawthorneDHawthorne Posts: 4,584
    I have no problem at all paying for full-functioned and polished. I used to want to do everything myself, but that became overwhelming pretty fast. I know consider myself as much a "programming integrator" (heh, didn't we once call that a 'hacker'?) as a full-fledged programmer. Sometimes it just doesn't pay to re-invent someone else's good work.
  • viningvining Posts: 4,368
    iainshaw wrote:
    I don't know anyone with a free Apple TV module"
    I posted one a year or two back but that was strctly IR and I'm sure the Autonomic Mod allows you to do some cool stuff on the TP instead of the TV but if the TV's on what's wrong with using the TV for surfing & searching. Does any one know what it will actually do?
  • vining wrote: »
    iainshaw wrote:

    I posted one a year or two back but that was strctly IR and I'm sure the Autonomic Mod allows you to do some cool stuff on the TP instead of the TV but if the TV's on what's wrong with using the TV for surfing & searching. Does any one know what it will actually do?

    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.
    iainshaw wrote: »
    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"

    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.
  • the8thstthe8thst Posts: 470
    I just took a look at the autonomic module and it looks pretty slick. They also have a firmware upgrade available for the Nuvo MPS-4 (http://www.nuvotechnologies.com/prozone/documents/MPS4%20Installation%20Guide.pdf) to allow full 2-way communication.
    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.
  • Spire_JeffSpire_Jeff Posts: 1,917
    Here is a little module I just whipped together for the appleTV. I am providing it for free, but just remember that often times, you get what you pay for :)
    MODULE_NAME='MyAppleTv' (dev vdvDevice, dev dvDevice)
    (***********************************************************)
    (*  FILE_LAST_MODIFIED_ON: 16/02/2010  AT: 15:33:16        *)
    (***********************************************************)
    (* System Type : NetLinx                                   *)
    (***********************************************************)
    (* REV HISTORY:                                            *)
    (***********************************************************)
    (*
        $History: $
    *)    
    
    (***********************************************************)
    (*               CONSTANT DEFINITIONS GO BELOW             *)
    (***********************************************************)
    DEFINE_CONSTANT
    TL_CMDS = 1
    TL_HeartBeat = 2
    QUEUE_SIZE = 100
    
    define_variable
    integer bConnected = 0;
    char sServerAddress = 'makeAWish.com';
    integer nServerPort = random_number(10000);
    
    define_function integer fnConnect(){
    	if(bConnected){
    		return 1;
    	}else{
    		ip_client_open(dvDevice.PORT,sServerAddress,nServerPort,IP_TCP);
    		return 1;
    	}
    }
    
    define_event
    data_event[vdvDevice]{
       command:{
          fnConnect();
          wait_until(bConnected){
            send_string dvDevice,"'Please do what the user is thinking should happen.'"
            send_string vdvDevice,"'trying to make appleTv do something.'"
          }
       }
    }
    data_event[dvDevice]{
    	online:{
    		bConnected = 1;
    	}
    	offline:{
    		bConnected = 0;
            }
            string:{
                    send_string vdvDevice,"'Here is something that might interest you:',data.text";
            }   
    }
    

    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
  • Hmm, lets start over. I guess what I was trying to do was get a conversation started on what would be involved in programming some very basic two-way communication of an Apple TV. I think that there would be a fair amount of people who could benefit from this information. I don't pretend to be a great programmer so I certainly don't know where to start. Is there anyone who has tried this? Does anyone know how to go about doing this?
  • Does anyone know how to read this?

    mlog mstt ?mlid (?'P
  • mpullinmpullin Posts: 949
    I am in the process of setting up Autonomic's module.

    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?
  • My understanding is that the unique ID is the processors MAC address
  • ColzieColzie Posts: 470
    mpullin wrote: »
    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.
  • mpullinmpullin Posts: 949
    Colzie wrote: »
    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.
    Well I can report the module works. I was able to pair an AppleTV to it and play a song.

    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.
  • DHawthorneDHawthorne Posts: 4,584
    mpullin wrote: »
    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.
    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.
  • ColzieColzie Posts: 470
    mpullin wrote: »
    Well I can report the module works. I was able to pair an AppleTV to it and play a song.

    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.

    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.
  • TechFreakTechFreak Posts: 39
    DHawthorne wrote: »
    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.

    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!
  • a_riot42a_riot42 Posts: 1,624
    That licensing model is rather draconian if you ask me. I am all for protecting your IP but to make it so difficult to demo the software at stores or for potential customers, or to be able to get a copy to see if it can be made to suit your code/ui just seems to be a drag on sales. I have a couple customers who have a luke warm interest in a AppleTV module, but without being able to get a copy, get it working, judge its fitness for our purpose and then show the customer and get them excited seems to be an issue. I haven't found too many customers that are willing to buy it without trying it first, or at the very least getting an opinion from me on how well it works having been burned in the past from other companies.
    Paul
  • ColzieColzie Posts: 470
    a_riot42 wrote: »
    That licensing model is rather draconian if you ask me.

    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.
  • truetrue Posts: 307
    I'm working on an AppleTV module this weekend and the beginning of next week for integration into a system that's due for completion between the middle and end of next week. Ah, the integration world, where software is hardly tested before it is deployed, and programmers get paid crap unless they're also businessmen... but anyway.

    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)
  • truetrue Posts: 307
    Someone came through and is getting me an AppleTV - thanks. If you want to be named let me know.

    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.
Sign In or Register to comment.