Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Apple TV 5.0+ custom plugin loader

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 Espresso.xcodeproj
Octocat-spinner-32 Libraries
Octocat-spinner-32 Resources
Octocat-spinner-32 Sources
Octocat-spinner-32 Espresso.plist
Octocat-spinner-32 README
README
Espresso: 	Apple TV 5.0+ custom plugin loader.
What:		The title pretty much says it all.
Why:		So you can load your own custom plugins
Who:		Brandon Holland (bholland@brandon-holland.com)
Where:		http://brandon-holland.com
Version:	0.2(turbo-manatee)

More:
Espresso searches and loads plugins called "Frappuccinos" from the 
AppleTV.app/Frappuccinos folder. You'll have to create this folder.

Espresso is now able to load frappliances just like in the good old days and
it will do the heavy lifting to get your legacy plugin into the new menu system.

Frappuccinos are NSBundles with the frappuccino file extension. It contains a
binary (containing the plugin code), an Info.plist, and resources. 

The principal class of a Frappuccino should be a subclass of BRController that you create. 
This will be the controller that gets displayed when your app button gets selected on the main menu.

There are some custom keys that should be added to each Frappuccinos Info.plist. 
These keys are used to define the appearance of the app button in the main menu. 

The keys are:

EPFrappuccino 			(dct)	Dictionary containing all other keys + values
EPFrappuccinoIdentifier		(str) 	Unique identifier for plugin
EPFrappuccinoTitle		(str)	Display title for icon on main menu
EPFrappuccinoImageName 		(str)  	Image name (including extension) for icon within plugin bundle
EPFrappuccinoPreferredOrder 	(num)	Used to determine placement of your icon on the main menu

Espresso is not meant as a replacement for DHowett's beigelist. Instead exists as a collection 
of ideas, research, and solutions in the form of an implementation. Hopefully the work here can be 
leveraged somehow. Use at your own risk.



Something went wrong with that request. Please try again.