Add-on manager: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
{|
{{outdated}}
| valign="top" |
{{XBMC faq toc Inline}}
The Add-on manager is a new feature in the XBMC 10.0 "Dharma" release, its purpose is to manage the various add-ons to the XBMC application.<br />
'''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.
The term Add-on encompasses just about anything that is not part of the core XBMC application and includes (not limited to):<br />
* [[Scrapers|Media scrapers]] (Media information metadata collectors)<br />
* Scripts<br />
* Plug-ins<br />
* [[Skins]]<br />
* [[Visualizations]]<br />


In the future the plan is to break even more of the XBMC core components out to Add-ons, with the current binary add-on effort being a key component.
(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]], [[Skinning XBMC]], or creating an [[EventServer|EventClient]].)


The Add-ons manager can be browsed like any other XBMC section and the various Add-ons installed/uninstalled, enable/disabled etc. The default function is to have the Add-ons manager Auto update all installed Add-ons when new versions are available from a centralized repository. In the official skin Confluence, it is done by executing a "Left" action to bring up a slide in submenu and deselecting "Auto update". There you can also disable to be notified if new versions are available and when they are updated.
See here for a complete [[List of XBMC Addons]]


See also:
__TOC__
* [[Add-on Repositories]]
= Python Add-ons =
* [[Official Add-on Repository]]
To quote [http://python.org 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."''
* [[Unofficial Add-on Repositories]]
|
[[File:settings.addon.manager.jpg|right|360px]]
|}


[[Category:Settings]]
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 [[Plugins|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 [[Plugins|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 [[Plugins|here]].
 
== [[Scripts]] ==
[[Scripts]]. XBMC combines a Python interpreter with the [[Window Structure|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 [[Scripts|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 [[Skins|here]].
 
 
= [[EventServer|EventClients]] =
[[EventServer|EventClients]]. XBMC acts as an [[EventServer]], allowing it to respond to software commands from any properly-configured EventClient. The most popular EventClients are programs that allow users to control XBMC with remotes or gamepad-controllers. However, EventClients can be configured for any process that needs to send software commands to XBMC.
 
To keep this communication as fast and plug-and-play as possible, we chose UDP. UDP is used in applications like network games because it is one of the lowest layers of network communication. This method grants low latencies and little overhead.
 
You can find complete instructions on configuring an EventServer and EventClient [[EventServer|here]].
 
[[Category:Usage]]
[[Category:Add-ons]]
[[Category:Add-ons]]
[[Category:To-Do]]
[[Category:Python]]

Revision as of 22:05, 18 November 2011

Time.png THIS PAGE IS OUTDATED:

This page or section has not been updated in a long time, no longer applies, refers to features that have been replaced/removed, and/or may not be reliable.

This page is only kept for historical reasons, or in case someone wants to try updating it.

Template:XBMC faq toc Inline 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, Skinning XBMC, or creating an EventClient.)

See here for a complete List of XBMC Addons

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.


EventClients

EventClients. XBMC acts as an EventServer, allowing it to respond to software commands from any properly-configured EventClient. The most popular EventClients are programs that allow users to control XBMC with remotes or gamepad-controllers. However, EventClients can be configured for any process that needs to send software commands to XBMC.

To keep this communication as fast and plug-and-play as possible, we chose UDP. UDP is used in applications like network games because it is one of the lowest layers of network communication. This method grants low latencies and little overhead.

You can find complete instructions on configuring an EventServer and EventClient here.