From AwkwardTV
Revision as of 12:53, 5 August 2008 by Dwarfland (talk | contribs) (Uninstalling Plug-ins)
Jump to: navigation, search

Manually installing Plug-ins

To install, just copy the plug-in to /System/Library/CoreServices/ on your Apple TV.

After it's in place on the Apple TV, you need to restart Finder (either with killall Finder if you have killall installed, otherwise use ps awx|grep Finder to get the PID and then kill PID.)

Automatically installing plug-ins from the directory (Submit yours here)

ATV_Loader is a plug-in that accesses this directory and installs/updates plug-ins online. This is probably the easiest method of getting/updating plug-ins. So you need to install one plug-in manually only, namely ATV Loader, which will in turn allow you to install all the other plug-ins from a GUI.

Uninstalling Plug-ins

By SSH you can:

cd /System/Library/CoreServices/

then remove the PLUGIN.frappliance directory of the plug-in you want to remove then just reboot

sudo reboot

Ideas for Plug-ins

(Please comment if you are working on one of these)

Without fully knowing what kind of capabilities are possible, here are some suggested plugins. Someone with some more development knowledge can perhaps update this section letting us know what capabilities we have here (can we run any objective-c code? Can we display anything, or are we limited to the list view?) Can we enable dashboard over the ATVs default finder app? that would take care of many of these small plugins.

FYI #1: When adding plug-in ideas please keep in mind that a plug-in (aka appliance) is for the most part it's own UNIQUE entity. What does that mean? In short once a specific .appliance has been selected/chosen from the AppleTV main menu, that process/program/plugin/appliance is in charge. In other-words only ONE SINGLE 'appliance' can be in operation at any one time. It is however QUITE possible for a appliance author to write an appliance that will in turn launch any number of other OS X (command line **AND/OR** GUI) applications.

FYI #2: Plugins requests that deal with things that 'pop stuff up' over the top of something that is already playing movie, music, photo slideshow, etc... A plug-in (appliance) can not modify or add functionality to an existing plug-in. For example an oft requested plug-in is a 'CALLER-ID' plug-in. This simply can NOT EXIST (not in the form of a plug-in anyway) - remember if someone did write a growl (or caller-id) plugin then once you 'enter it' it would also have to have the ability to play movies, music, photo slideshows etc because you couldn't use the Apple supplied ones (not without exiting out from the CALLER-ID plug-in first).

FYI #3: Doesn't the AppleTV have a screen saver that pops up over the top of ANY plug-in no matter what plug-in is running? Yes as a matter of fact it does BUT the screen-saver is NOT a appliance/plug-in its some other form of addon. It's not know (to this author) if the way screen-savers work would be a way to implement things like CALLER-ID type functionality.

Audio & Video Support: (local)

  • Music Visualizer - Can someone get R4 on here? I am tired of looking at nothing while music plays. Wouldn't be that hard if you can get the OS installed? Maybe front row will be re-released with visualizer.
  • Camera - Multi-pane web cam viewer.
    • View all your home network web cams in a multi pane security monitor style setup.
  • Camera - Security Camera Video Surveillance
  • DVD Playback - From VIDEO_TS or ISO image.
  • EyeTV - perhaps the Source of CyTV is a start
  • Network Image/Video Player - HTTP image/video sniffer.
    • Displays any image files sniffed off the network as a slide show.
  • Photo browser. (think digital camera preview browser)
    • High MP images look good with the stock browser but there's no manual zoom in.
    • Main browser: <</>> move forward and back to next image. Zoom to fit.
    • Main browser: Play/Pause put image in 1:1 zoom.
    • Zoom browser: <</>>/+/- will slide the image in the respective direction.
    • Zoom browser: Play/Pause go back to Main browser.
    • Optional slideshow mode.
    • Optional grid view.
  • Quartz Composer Compositions (.qtz files)
  • Slingbox Player
  • Squeezebox - SlimServer Now Playing-plugin
    • Displaying currently playing artist, song, album art etc. Communicate with the SlimServer thru the CLI, telnet to port 9090.
  • Video Diary - Connect an iSight, and make a video diary.

Audio & Video Support: (internet)

  • Player - Plug-in to list subscriptions & stream videos
  • Netflix streaming rentals.
  • Flickr Plugin, can be configured with a flickr account and play/stream photos just like the synced AppleTV photos.
  • Zattoo Player (probably only works in Switzerland)
  • Joost wrapper of some sort (0.9 already has Apple Remote support)
  • Pandora wrapper
  • wrapper. Very similar functionality to existing application for Mac. Latest software is Open Source GPL available at svn://
  • webcam server /multiwebcam server so ATV could work as a surveillance station with wireless internet capabilities.

Non-Video Information Display: (local)

Non-Video Information Display: (internet)

  • Usenet client plugin
  • iChat or Jabber
  • Google Earth plugin.
  • BitTorrent client
  • Ebay item watcher plugin.
  • RSS Reader
  • Stocks
  • Simple Web Browser (based on webkit, loads bookmarks, no text input) - See Plugins/SimpleBrowser for some interface suggestions if anyone wants to have a go at implementing
  • Weather Plug-in - Source for a ROKU HD with location entry Can this be ported ??
  • A webcam viewer
  • A Dashboard like plugin that accepts multiple dashboard like widgets.

Proposal: Existing Dashboard Widgets would provide a lot of momentum

(Running actual Dashboard widgets would bring a huge number of existing 'apps'. Dashboard Widgets run in a WebKit view, so this seems like it should be pretty achievable.)

A lot of the functionality above (and a huge amount more) could be delivered by enabling existing Dashboard widgets. With the addition of a 'Dashboard' menu item, the user could browse a list of installed widgets, clicking on one would show it centred on the screen.

Pressing << / >> could switch back and forth between installed widgets, rather than require the user to switch back to the Dashboard menu, every time.

This would add a huge amount of functionality, and provide a pretty slick UI in the process; 'most' Dashboard Widgets would look great on an LCD/Plasma around the size of the ATV menu graphics, on the same dark background (perhaps even with a reflection added, for final polish.)

FWIW I'd suggest that a Dashboard plugin would have tremendous pay-off, assuming there are not major complications.

Games & Emulators

  • MAME Loader - List selection of roms to play.
    • Work is being done on this!
  • SNES Loader - List selection of roms to play.
  • Frets On Fire & XBOX360 Guitar Controller Support (Both work on Intel iMac, so shouldn't be too difficult?)

Maintenance, Utilities & Others

  • A plug-in downloader and maintainer (See Patchstick for more info)
  • Plug-in manager, so that you don't have all yout plugins in the main menu
  • Maintenance plug-in. Contains options to Reboot, Shutdown, Restart, Mount network shares (from xml file, in conjunction with Sharity and Automounter

These don't 'fit' into the true definition of what a plug-in/appliance is.

  • Salling Clicker or Romeo
  • iPhone remote control a la Signal
  • Airtunes Adapter/Integration with Movies
  • Adding and Editing Playlists in the BackRow Frontend (later usable on 10.5 Frontrow?)- See Plugins/Playlists for some interface suggestions if anyone wants to have a go at implementing
  • Ability to mirror mac display. View games that you play on your mac on your big screen TV over the network. This would look like death


FRAppliance 101 - a great introduction to writing plugins.


ericIII from the AwkwardTV crew has created a plug-in for the Apple TV that, like Sabertooth’s plugin, hooks into the main Apple TV GUI. However, this one plays videos, and sports a (for now, hardcoded) list of .AVI files that are not located in the Media Library.
ApplianceTest Source Code.