XBMC 13 – Gotham: Note to Add-on developers

Posted By: Martijn on Nov 20, 2013 in Site News
gotham_repo

As we now have reached feature freeze as you have read here, it’s safe to say that there will be no more fundamental changes done that would greatly influence the work that developers need to do to get ready for Gotham. This doesn’t mean changes are excluded but they should be minimal.

Skins

Skins will undergo the most changes because of the difference in Gotham compared to Frodo. This due to changes in code handling, appearance, varying improvements and features.

Due to these changes we have set the GUI API version to 5.0.0 which is a mayor version bump compared to Frodo. This means that Frodo skins will need to be adapted to match the Gotham changes for them to fully work again. For now the GUI version will still be backwards compatible however this might change as we will near the Betas or Release-Candidates versions.

Due to the rather long list of changes I will not mention them specific.

- various new infolabels and infobools
- extend aspect-ratio and resolution flags
- 3D (stereoscopic) support
- change for the videodb:// and musicdb:// paths
- different settings levels
- context menu changes
- label positioning changes
- subtitle add-ons have been split up
- and more…

Hopefully these changes will not be to much work for skin developers to adapt to and we will see the number of true Gotham compatible skins rising before the final release of Gotham.

You can read up the complete list of changes in a dedicated forum thread that can be found here: Changes to the skinning engine for XBMC Gotham

 

Python Add-ons

For python Add-ons also known better as scripts and plugins there will actually be very little change which I’m sure you will all welcome very much. So the good news is that if your Add-on work in Frodo it will most likely also work in Gotham. The only big changes are actually adding new features to the python API that can be used in several ways.

List of newly added features:
- extend Monitor() class with: onDatabaseScanStarted, onNotification
- add missing sort methods
- removing item from ControlList
- autoclose option for yes/no dialog
- background progress dialog as used by the library scan progress dialog
- notification dialog
- xbmcvfs.exists to support check if  directory exists
- convertLanguage for converting between ISO 639-1, ISO 639-2 and normal language name  i.e. Englisch
- add keyboard to dialog class
- removal of $LOCALIZE[SCRIPTXXX] in global skinning engine.

Due to these changes we have set the minimum python API version to 2.1.0 which has to be set in addon.xml. Since this version was already available in Frodo it won’t affect your Add-on in any way. Any Add-on that still has a lower API version set will still work in Frodo but will be marked broken in Gotham.

You can read up the complete list of changes in a dedicated forum thread that can be found here: Changes to the python API for XBMC Gotham.  There’s also a thread with some minor tips that might prove useful here.

The fully updated python API documentation can be found at: XBMC PyDocs

JSON-RPC

JSON-RPC which is used for requesting/sending data and controlling XBMC has also undergone little changes compared to Frodo. They mainly consist of several bug fixes and addition of new features.

List of most important newly added features:

- limits to Files.GetDirectory
- recursive parameter to Playlist.Item directories
- change for the videodb:// and audiodb:// paths as also mentioned for skins
- media parameter to Playlist.Item directory type
- favourites namespace
- profiles namespace
- and more…

The minimum API version for JSON-RPC is still set at 6.0.0 which only has effect for Add-ons. Any outside application needs to query the JSON-RPC introspect to see what version is available.

You can read up the complete list of changes in a dedicated forum thread that can be found here: Changes to the JSON-RPC API for XBMC Gotham

Media information Scrapers

Well this will be the shortest section. Nothing has changed so far and any Frodo scraper should be fully compatible with Gotham.

Add-on repository

gotham_repo2The main benefit of Gotham will be that it will use the same repository as Frodo. The main advantage is that it will save developers time and effort making separate versions for each XBMC version. If the Add-on works in Frodo it should also work in Gotham. However we would still like to ask to test this thoroughly if this is the case. Another advantage is on our side as it requires less time checking and pushing the Add-ons to the public. If your Add-on user API functions that are only available in Gotham you will need to request it to be added to Gotham only which will only make it available for Gotham users.

For skins however we will still require separate versions as there are to many changes in the skin engine between Frodo and Gotham. We understand this is a burden on developers scarce time  but alas this is part of the continuing development we are doing. Especially for skin developers we have a special “Skin development repo” in which they can provide so called beta versions of their skins to users who are wiling to help test it out before releasing it to the larger audience. This repo has more relaxed rules compared to the official repository to help in providing a stepping stone to the final version. Read more in this dedicated forum thread.

For more information about Add-on development you can visit our wiki page about  “development” or visit our forum if you have specific questions.

If you feel ready to include you Add-on to our repository and make it public to our vast amount of users please read the following wiki page explaining the process: Official Add-on repository. This page contains several rules and guidelines which need to be followed before we will allow it to be added. They may sound strict however they are there for several reasons to protect XBMC or the users. Of course our Add-on repository isn’t limited to English Add-ons only. We allow them for every region across the world as long as they follow our guidelines.

Developer courtesy

At times some add-ons, either being it plug-ins or programs or the most beautiful skins become abandoned due the the developer loosing interest, high maintenance or more common and most important that his real life has a higher priority. As most if not all the add-ons are developed as open-source, any one is free to pick up the work where he left and take over support and development to continue the work. However before doing so please take the courtesy to take a few steps as courtesy.
- Try to contact the original developer through either the forum, his development  repo or e-mailing him if possible.
- Most if not all devs appreciated fellow devs sending fixes to them to ease the development.
- Allow some time before actually taking over (few months). So the dev isn’t in for a surprise if he came back from holiday i.e.

If you are not sure feel free to ask around on steps to take. There are some great add-ons out there and it would be a shame if they were lost due to lack of time. So try to help out fellow developers out and I know for sure they will appreciate the effort taken.

Conclusion

If you are an Add-on developer and would like to start working on either Frodo or Gotham Add-ons please visit our download page to acquire the appropriate build of your needs and start coding.

which is of course not limited to English onl

Share on reddit
Share on StumbleUpon


Discussion - 16 Comments

  • Kinji Nov 20, 2013 

    It would would be nice if the forums could be cleaned of all abandoned addons. Then users can actually find the 1 or 2 that are being updated and not broken.

    • smajor Nov 20, 2013 

      As a recent adopter of XBMC as of Frodo, oh gosh, this – yes, please.

  • Milhouse Nov 20, 2013 

    Regarding “Media information Scrapers”, there is a pending change from jmarshall that is dependent on feedback from scraper authors:

    http://trac.xbmc.org/ticket/14339

    It would be good if this change had more visibility so that scraper authors can help test and ensure it lands in time for Gotham.

  • anzerman Nov 20, 2013 

    Will this have any effect of feature requests such as showing upcoming or missing episodes in the tvshows library? :)

    • Martijn Nov 21, 2013 

      No new features will be added from now on until after Gotham

  • Zag Nov 20, 2013 

    Also a reminder to add-on developers to fill out addons.xml properly with all the relevant information such as forum thread, languages supported and source links.

    Name your screenshots to a standard and provide a nice icon.

  • Jakke Nov 21, 2013 

    No info on the new addons repo web interface? http://addons.xbmc.org

    • zag Nov 22, 2013 

      A news item about the new add-on website will come out soon. We’re working on adding some cool new features first ;)

  • eema Nov 21, 2013 

    the link to the feature freeze notification is broken

  • Geoff Nov 22, 2013 

    I hate when developers loosing interest!

    • Martijn Nov 22, 2013 

      Could be many reasons. Most common is their real life is more important and they have little time left for maintaining their add-ons. So this is perfectly understandable

      • Geoff Nov 23, 2013 

        I would argue that losing interest is. Loosing is just being a sloppy developer.

        • Pucko Nov 23, 2013 

          I hate people who doesn’t understand or appreciate the work that other people are doing on their free time and give away to the community without expecting anyting in return.
          If you need the addon get the brains to do it your self or pay someone to do it. Don’t come here and whine.

          • Rakeesh Nov 25, 2013 

            He’s joking (GP mis-spelled losing as loosing)

  • Richard Nov 23, 2013 

    Hi All,

    When will Gotham be released?

  • BigJRM Nov 25, 2013 

    I am sure many of us appreciate the work done by ALL programmers for the XBMC/OpenELEC user community. I also know how LIFE changes and interferes with some of our interests and pastimes. So I do not think they lose interest as much as LIFE interferes with certain interests. For me, the biggest interference in my life was starting my family which took time away from my other interests. I would not change my decisions for my family are very important to me, as I would expect it is to most people. I THANK ALL YOU FINE PROGRAMMERS who do this work for us!

About Kodi

Kodi is a free and open source media player application developed by the XBMC Foundation, a non-profit technology consortium. Kodi is available for multiple operating-systems and hardware platforms, featuring a 10-foot user interface for use with televisions and remote controls. It allows users to play and view most videos, music, podcasts, and other digital media files from local and network storage media and the internet.