Apple TV!!

135

Comments

  • zeroiozeroio Junior Member Posts: 13
    Re: Site

    Yep, looks great!
  • truetrue Junior Member Posts: 307
    Updated the site with a call for getting this done for the competitor's systems. I am working for an AMX resi shop now so other than doing it just for fun (like I've got time for that anymore), I don't really have a reason to get it done...might start it for the hell of it though.

    youstra passed any copyright for the touchpanel design to me, and is also working on a nicer looking version. If it's done before this weekend, both will be included in the release. Hope you don't mind me using your name. Thanks =)

    The module does _NO_ popup or page flips of its own so you can use it with your existing systems without worry of it trying to do things you don't want it to do.
  • jjamesjjames AMX Sustaining Engineer Posts: 2,898
    true wrote: »
    The module does _NO_ popup or page flips of its own so you can use it with your existing systems without worry of it trying to do things you don't want it to do.
    I wish more people (*ahem*AMX*ahem*) would follow suite. But then again, I'm moving away from AMX's modules . . . shoulda done that a long time ago.

    Curiously - are you releasing COMM + UI + Panel? Or just a COMM + Panel?

    Anxious to see it.
  • truetrue Junior Member Posts: 307
    jjames,

    There is a comms module (I call it a dev or device module), a UI module and a touchpanel geared to work with the UI module. It'll all be released as a demo standalone project so the necessary stuff to make the module work can be pulled out and put into existing projects. I'll also be benchmarking the string-based system I am using and if it doesn't have too much overhead (I suspect it does), I'll make a channels UI module for people who like using channels for things.
  • truetrue Junior Member Posts: 307
    alright, no beatings will be required
  • youstrayoustra Junior Member Posts: 135
    Thanks True! Great effort and especially thanks for releasing all code.
  • zeroiozeroio Junior Member Posts: 13
    Awesome, Thanks!!

    I'm looking forward to trying this out soon and posting a donation. I did start looking through parse_data where the real action appears to happen, so that's exciting.
  • remeolbremeolb Junior Member Posts: 79
    Haven't had a chance to play with this yet. Has anyone got it to work? Initial thoughts?
  • truetrue Junior Member Posts: 307
    Pairing might not reliably turn on automatically in this version. If this is the case, use send_command or control device on the vdev, and send the command 'pair on' to turn on the pairing service.
  • zeroiozeroio Junior Member Posts: 13
    Tried the AppleTV Module...

    I finally got some time this evening and after about 1 hour of adding the module and putting some debug code in, I'm glad to report that the AppleTV Module WORKS!!!

    In my case I don't have a touch panel to test with, so I put in a debug module which outputs the response instead. I was also able to use several SEND_COMMANDs to control the AppleTV.

    Some info about what the module does...

    1. Allows the AMX to pair up with an AppleTV and become a remote control
    2. Constantly monitors the playback status of the AppleTV and reports album, artist, song, and time
    3. Sends commands to the AppleTV to visually control it... like pressing remote buttons up/down/menu/etc.
    4. Sends commands to the AppleTV to interact with it non-visually... like requesting the playlists and selecting them for playback

    Probably more but that's all I had time for.

    Here's the output when I started playing songs on the AppleTV...

    (0000015571) track: On Melancholy Hill
    (0000015578) artist: Gorillaz
    (0000015584) album: Plastic Beach
    (0000016476) time-elapsed: 0:04
    (0000016484) time-remain: 3:49
    (0000016491) time-total: 3:53
    (0000016499) time-percent: 2
    (0000017470) time-elapsed: 0:05
    (0000017476) time-remain: 3:48
    (0000017483) time-total: 3:53
    (0000017489) time-percent: 3
    (0000020381) status: 4

    ...

    (0000100455) volume: 100%
    (0000100600) track: Laugh Now, Cry Later
    (0000100607) artist: Ice Cube
    (0000100615) album: Laugh Now, Cry Later
    (0000100971) time-elapsed: 0:03
    (0000100978) time-remain: 3:34
    (0000100985) time-total: 3:37
    (0000100992) time-percent: 2
    (0000101408) status: 4
    (0000101415) volume: 100%
    (0000101965) time-elapsed: 0:04
    (0000101972) time-remain: 3:33

    ...

    (0000180596) status: 4
    (0000180603) volume: 100%
    (0000180725) track: Hurt
    (0000180731) artist: Johnny Cash
    (0000180738) album: The Legend Of
    (0000181546) time-elapsed: 1:24
    (0000181552) time-remain: 2:13
    (0000181566) time-total: 3:37
    (0000181579) time-percent: 39
    (0000182540) time-elapsed: 1:25

    Some notes...

    1. I had to download io.axs include from the netlinx commons, it wasn't in the .zip
    2. After setting a static ip on the appletv, the appletv must be rebooted for the port it listens on to work
    3. I used the 'pair on' command whether it was needed or not and the appletv paired just fine

    This is some really nice work true and I hope others find it useful and support it.
  • truetrue Junior Member Posts: 307
    Re: io.axs, forgot Phreak added that dependency. I'll fix this at a later date.

    Re: module working, of course it works :) Just needs lots of things changed, lots of things added, some things fixed. Time and incentive...
  • truetrue Junior Member Posts: 307
    Also, don't be afraid to sign up for the bugtracker and report bugs, or view bugs that currently exist.

    http://mantis.truecontrol.org/

    If you don't want to create an account, but want to view bugs, you can log in as anonymous:anonymous.
  • MountainManMountainMan Junior Member Posts: 3
    io.axs file

    Where do you get the "io" include file? I didn't see it in the common files on my computer, so called tech support and they never heard of it?

    Thanks,

    Jack
  • PhreaKPhreaK Senior Member Posts: 966
    It's part of the NetLinx Common Libraries project. It's not quite ready for official release yet but you can grab io by head over to 'Source' tab then under 'Browse' > 'trunk' > 'io.axi'.
  • MountainManMountainMan Junior Member Posts: 3
    PhreaK wrote: »
    It's part of the NetLinx Common Libraries project. It's not quite ready for official release yet but you can grab io by head over to 'Source' tab then under 'Browse' > 'trunk' > 'io.axi'.

    Thanks for the link and info!

    Jack
  • Spire_JeffSpire_Jeff Formerly Caffeinated Programmer Posts: 1,917
    So, the new AppleTV has been announced.... not sure how excited I am about... any bets on the ability of existing IP control to continue functioning?

    - NO Component video output! Only HDMI and Optical Digital Audio.
    - 1/4 the size of current AppleTV.
    - NetFlix support.
    - Rental ONLY.
    - No local storage, ONLY streaming.
    - iOS 4.2 will allow streaming from an iPad/Pod to the AppleTV.

    and I'm sure I forgot stuff.

    Jeff
  • truetrue Junior Member Posts: 307
    I haven't read the announcement and don't know what the specs are, but so long as it still allows for iTunes connectivity (connecting to a library) control will likely still work. However, nav as implemented in my module and my competitors modules may not work.

    If it does NOT work, but there is control of some kind (including undocumented), I am willing to write a module so long as someone provides a unit and I have time for it. StarCraft II is my new time sink...
  • shr00m-dewshr00m-dew Junior Member Posts: 394
    true wrote: »
    I haven't read the announcement and don't know what the specs are, but so long as it still allows for iTunes connectivity (connecting to a library) control will likely still work.

    On that note, iTunes 10 was anounced today as well. We shall see.

    Kevin D.
  • truetrue Junior Member Posts: 307
    A month later, and an update...

    A customer is upgrading AppleTVs soon, so I should be able to play with one of these units. I still do not have one for myself and don't know what kind of time I will have to work on the code. The biggest thing I wanted to implement - browsing of content - still isn't done, either...

    Updated the aTV remote app today on my phone, so that combined with my passive ethernet tap should help get something working if the module doesn't just work on its own.

    I'll likely need a new aTV to continue development; I'll see if work will get me one otherwise it'll be slow going.
  • truetrue Junior Member Posts: 307
    No control currently with new AppleTV as it seems to only work with home share. Financial assitance would be nice if anyone would like me to document what it takes to get it to work as well as get the module to work with Home Sharing. Hopefully it isn't too hard.
  • dotstyledotstyle Junior Member Posts: 7
    I am having some trouble getting this module to work. I get 403 & 503 http errors from the appletv. Any ideas on what I can try? or what info might be required to help debug the issue?

    I was so excited about this module I even donated before trying it.

    Line 8450 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: HTTP/1.1 403 Forbidden
    Line 8451 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: HTTP HEADER: Code 403
    Line 8452 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Date: Mon, 11 Oct 2010 20:53:55 GMT
    Line 8453 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: RIPT-Server: iTunesLib/3.0.2 (Mac OS X)
    Line 8454 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Content-Type: application/x-dmap-tagged
    Line 8455 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Content-Length: 0
    Line 8456 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header:
    Line 8457 (21:53:56):: CIpEvent::OnLine 0:8:1
    Line 8458 (21:53:56):: GET /login?pairing-guid=0x0000000000000001
    Line 8459 (21:53:56):: HTTP/1.1$0D$0AHost: 192.168.1.15:3689$0D$0AUser-agent: Remote/1.3.3$0D$0AViewer-Only-Client: 1$0D$0AConnection: keep-alive$0D$0A$0D$0A
    Line 8460 (21:53:56):: CIpEvent::OffLine 0:8:1
    Line 8461 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: HTTP/1.1 503 Service Unavailable
    Line 8462 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: HTTP HEADER: Code 503
    Line 8463 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Date: Mon, 11 Oct 2010 20:53:56 GMT
    Line 8464 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: RIPT-Server: iTunesLib/3.0.2 (Mac OS X)
    Line 8465 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Content-Type: text/html
    Line 8466 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Content-Length: 3
    Line 8467 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header:
    Line 8468 (21:53:56):: Apple_DACP_dev_0_0_5pre1: Tagpair: Corrupt data, going too fast? clearing.
  • Spire_JeffSpire_Jeff Formerly Caffeinated Programmer Posts: 1,917
    I am not sure about the communication problem you are having, but I have heard a rumor about the new AppleTV unit. It appears that the new unit is extremely locked down. The people that write the AppleTV modules for Control 4 have given up on trying to crack it for the time being. I am hoping that a new iPad app will shed some light on the subject, but I am not holding my breath.

    I have used the current module successfully with the old AppleTV units, so I know that it will connect. I have not had a chance to try the latest version tho.

    Jeff
  • dotstyledotstyle Junior Member Posts: 7
    Spire_Jeff wrote: »
    I have used the current module successfully with the old AppleTV units, so I know that it will connect. I have not had a chance to try the latest version tho.

    It is the old unit I am trying to connenct to. I just don't seem to be able to pair. It seems like the pairing service isn't seen by the apple tv. (or iTunes I tested that as well, just to see)
  • Spire_JeffSpire_Jeff Formerly Caffeinated Programmer Posts: 1,917
    Is everything on the same network and subnet? I do recall the pairing being a little funky and seeming like it would not work, but I think I just ignored a warning or two and it all started working. As soon as true reads this, I am sure he will have a suggestion.

    Jeff
  • truetrue Junior Member Posts: 307
    Is the pairing service running? Send 'pair on' to the appletv vdev. You should see it as a remote in settings on the AppleTV. Use any code to pair (it usually succeeds right away, but if it fails, back out and try again, and wait a couple minutes and it'll magically work)

    It used to auto-start pairing if it found an error code >400 but I think I broke that.

    The module is tested and known to work with Gen1 models using the latest Apple software. It is untested with iTunes, but does show up in iTunes 10 automagically detected devices when the pairer is on.

    I need an iPad and Gen2 AppleTV to develop a module for it. It may require code to run on a Mac or PC. I may make it a daemon that can run on a server if this is required. Internet will be required for Gen2 devices to work.
  • dotstyledotstyle Junior Member Posts: 7
    true wrote: »
    Is the pairing service running? Send 'pair on' to the appletv vdev. You should see it as a remote in settings on the AppleTV. Use any code to pair (it usually succeeds right away, but if it fails, back out and try again, and wait a couple minutes and it'll magically work)

    I have been sending 'pair on' to the appletv virtual device (confirmed by debug message). It doesn't appear in the remotes list on the Apple tv or iTunes. I have just checked and I don't see the mdns service when I use a sniffer. So that looks like the problem.

    I can pair my iPhone's Remote app and J Sharkey's android app (TunesRemote). I do see the mdns packets for these.

    Any tips on what I could try would be greatly appreciated. I would love to get this module working so I have Apple tv control integrated into my panel.
  • truetrue Junior Member Posts: 307
    Specified local port + 1 should open when this happens then immediately close, followed by opening again (as a server so you won't see this as a message). This is sending the mDNS packet, then setting up the pair confirm server.

    If you don't see this, another module (anothet appletv module?) may be using that local port. Remember, the module uses TWO local IP ports in this version - the defined port and thr defined port + 1.

    Can you post / PM / email me logs whem 'pair on' is sent, and confirm code isn't using this local port?
  • dotstyledotstyle Junior Member Posts: 7
    I can see the local port +1 going online, message to say it's sending the mDNS packet then going offline. But I don't actually see the packet when sniffing. I do however see multicast packets from my other devices like the apple tv & iPhone remote.

    In the apple tv module I changed the mulicast address (224.0.0.251) to the ip of my pc running the sniffer and then I can see the the mDNS packet. Looks like my netlinx doesn't want to send packets to the multicast address or something is blocking it?

    I also tried setting it to the ip of the apple tv but it still didn't appear as a remote. I guess it needs to be multicast.
  • truetrue Junior Member Posts: 307
    Is the gateway set on the master? An NI will send to the mDNS address when set to a standard IP address with the gateway set.

    Other than that, I'm not sure why you wouldn't be seeing it.
  • dotstyledotstyle Junior Member Posts: 7
    true wrote: »
    Is the gateway set on the master?

    I am an idiot. For some reason the gateway wasn't set. I know it was at some point, not sure why it changed. Anyway I was coming on here to say I that I had found my problem and you had already posted the solution. Thanks for time.

    I must learn to start with the basics when looking for a problem.

    Module looks great BTW. I think another donation is in order!
Sign In or Register to comment.