Kodi - add-ons/plugin.video.vrt.nu GitHub Wiki
Kodi development
Our vision on improving this project is that we want to fix/improve upstream to create a better add-on. In this light we have contributed to other projects, like inputstreamhelper, inputstream.adaptive, routing, service.upnext and skin.estuary.
But we are also bound to limitations in Kodi or Kodi's add-on interface that we would like to see improved.
Kodi Plugin API shortcomings
General
- We would like to register add-on calls to the autostart selection menu so users can boot into add-on functionality (See this comment and Automation)
- Support for non-blocking spaces ( ) in Kodi formatted text (to avoid splitting multi-word strings)
- Current add-on design is old/broken, restarting the script for every menu-call is not very efficient
- uselanguageinvoker is mostly a hack
- Kodi does not have a solution for localized day-of-the-week or month strings
- JEOS (Just Enough OS) solutions, like LibreELEC, do not offer full localization so this needs to come from Kodi #224
- Emoji support would be nice for e.g. having a lock sign for Geo-blocked content
- Changing a view back to Sort by Default doesn't take effect #382 xbmc#16370
- It would be nice if skins could expose colouring information to add-ons so that
- A colour for emphasizing information in text is possible
- We use colours to emphasize: availability, geo-locked, today's EPG, search keyword in plot
- Add support for [url] bb-code, this could be formatted in Kodi skins, and become a real link in the web interface/Smartphone app
- Add support for listing separator in virtual directories (a separator ListItem)
- Add support for unplayable LitsItems (i.e. don't work and are grayed-out automatically as per theme style)
Video-on-Demand / Live TV
Ideally Video-on-Demand content (movies, tvshows) and live TV or live Radio streams are listed in Kodi's Movies, TV shows and TV/Radio listings. And ideally we have different content views, and ListItems for live-tv and video-on-demand content.
- Would be nice if e.g. Live TV or Radio streams could be added/registered in the Kodi TV/Radio menus
(e.g. directly into a Live TV stream, today's TV guide or recently added videos)
See #209
- Feature request at: https://forum.kodi.tv/showthread.php?tid=348763
- We lack an interface to add chapters to video streams
- Feature request at: https://forum.kodi.tv/showthread.php?tid=347080
Metadata / InfoLabels
Currently the metadata/infolabel support for add-ons was not designed with Video-on-Demand or Live TV in mind. And because of this add-ons have to add this information to the plot.
- For Video-on-Demand listitems we lack properties for
- Broadcast date/time vs Added date/time (when it was broadcasted, and when it became available, often the same)
- Availability / Disposal (due-by) information (to indicate when content will be removed)
- Geo-blocked (to indicate which content may not work outside of Europe / country)
- Channel name (or brand name) this content is associated with
- Support for custom ids internal to content provider (id, publicationid, videoid, whatsonid)
- Permalink information (short URL going straight to content online)
- Mark programs/tvshows as being tracked/followed
- Mark episodes as 'to watch later'
- For Live TV listitems we lack properties for
- Channel name
- EPG information (playing now, playing next)
Currently we have to reuse other InfoLabels, or abuse the plot or ListItem label to make this information available.
- we add availability/geo-blocked/permalink information to the "plot"
- we add broadcast information in the "premiered" infolabel
- we add channel information in the "studio" infolabel
- we add a ° marker to the label to indicate when a tvshow/episode is being followed
- we add short EPG information to the plot of Live TV channels
But this doesn't make it possible to e.g. sort by availability date, or disposal date.
But we also need to integrate with existing context menus for "Mark as watched" and "Mark as unwatched", or "Reset resume position". xbmc#17372
Add-on API
- Impossible to set the menu list sort order default (ascending/descending)
- There is a JSONRPC call to influence this, but we would like to change the default and leave it up to the user
- Feature request at: https://forum.kodi.tv/showthread.php?tid=350699
- Not possible to set the cursor to a specific menu item by default (e.g. to "Today" in TV guide)
- Fanart does not work on ".." (Parent directory) while visually that looks better
- Would be nice if it would be possible to set a default fanart, thumbnail or icon for the container which is inherited
- The
setContent
interface is confusing and inadequate - There is no way to enforce bandwidth-limitation from an add-on (e.g. Setting network.bandwidth on a ListItem)
- This only works for InputStream Adaptive (inputstream.adaptive.max_bandwidth)
- It would be nice if translation would work using msgid (string) instead of msgctxt (number)
- Doing it like that would make our source code more readable as it would not be littered with numbers
- Make help-entries work in add-on Settings pages, like how it works for Kodi Settings page
- This already works when using the XML-based settings (included in Leia and newer) (See https://github.com/xbmc/xbmc/blob/master/system/settings/linux.xml)
- When ordering TV shows by Name or by Episode it should be showing season+episode, like in local listings
#xbmc/16371
- It should also include the duration in this listing
- There is no interface to update resume position or playcount value for plugin:// sources
#568
- Feature request at: https://forum.kodi.tv/showthread.php?tid=350726
Documentation
- A lot of the documentation is incomplete
- e.g. xbmcaddon getSettings() does not specify what happens if a setting is nonexisting (hint: it returns an empty string)
- The documentation ought to be hosted in a repository so it's easy to fix and update