Add-ons

Add-ons are packages that add features and functions not normally included with XBMC. Add-ons are usually developed by third-parties. Add-ons provide extra value and flexibility by making it easy for programmers to add new functions to the program, and letting users pick and choose which packages they want to use. XBMC's supported add-ons include plugins, scripts, skins, and EventClients.

(This page is intended as a guide for XBMC users. There are dedicated pages available if you're looking for more details on Python Development or Skinning XBMC)

=Python Add-ons= To quote Python.org, "Python® is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code."

What this means to you is that Python provides third-party developers with a full-featured scripting language. Scripts and plugins can be incredibly powerful. There are many available, and more being developed every day.

Understanding the Difference between Plugins and Scripts
It can be easy to confuse "Plugins" made for XBMC with "Scripts" made for XBMC. While the distinction can be subtle, scripts are applications launched directly by the user. A plugin, on the other hand, builds a list of menu items when the user browses into its virtual folder. Even though both are Python files ("*.py"), if you try to run a plugin file from the scripts window, you will only get an error message. Plugins can only be accessed as virtual folders in the regular menu structure.

From a design perspective, plugins, unlike scripts, do not really provide new functionality to XBMC. Instead, they provide an easy way to display content listings in XBMC through the native GUI interface.

Plugins
Plugins. Plugins provide an easy way for third-party developers to present content listings in XBMC through the native GUI interface. This content is usually gathered from online sources like Internet audio and video streams, (i.e. Internet TV channels, radio stations, or Podcasts), or pictures from websites such as Flickr and Picasa Web.

You can find complete instructions on downloading and installing a plugin here.

Scripts
Scripts. XBMC combines a Python interpreter with the WindowXML application framework (an XML-based widget toolkit for creating GUI windows), so that script developers can create new tools much like the Dashboard Widgets in Apple Mac OS X or the Microsoft Gadgets in Windows Sidebar.


 * Current python scripts for XBMC include applications like
 * Cinema guides
 * TV guides (EPG)
 * E-mail and Instant Messaging clients
 * Train timetables
 * Front-end controls for PVR software and hardware (like MediaPortal, MythTV, TiVo, ReplayTV, Dreambox/DBox2)
 * Internet radio browsers (like SHOUTcast, Xm radio, Sirius Satellite Radio)
 * P2P file-sharing downloaders (BitTorrent)
 * IRC instant messaging chat
 * Casual games (sometimes also referred to as mini-games or party-games) like Tetris, Snake, Space Invaders, Sudoku, and many more.

You can find complete instructions on downloading and installing a script here.

=Skins= Skins. XBMC boasts a flexible and robust framework of its GUI (clearly demonstrated by the many other software projects copying it). This same flexibility makes theme-skinning and personal customization readily accessible. You can easily download and use third-parties skins in XBMC to customize your viewing experience. If you're interested, you could also create your own skin (or modify an existing skin) to share with others via public websites dedicated to Xbox skins trading.

Note: "Project Mayhem" is the official default skin for XBMC. "Project Mayhem" is now in its third version, commonly abbreviated as "PMIII." XBMC also includes a high-definition version of this skin called "PM3.HD."

In addition to the many third-party skins of original and unique design, you can also find skins that are near replicas of other popular multimedia software, including Apple TV and Front Row, Microsoft Windows Media Center Edition (MCE), MediaPortal, Meedio/MeediOS, HDeeTV, Kaleidescape, Xbox 360, PlayStation 3, and others. Each skin provides a totally different and unique user experience, showing just how flexible XBMC’s skinning engine really is.

You can find complete instructions on downloading and installing a custom skin here.