2015-06-06, 01:37
I know there are URLresolver and youtube-dl, but these two addons have (just my opinion) some design flaws if it comes to extensibility. But I don't want to go in details with these two addons. They have the right to be there, but I hope we can do better.
I first realized the problem as I developed the SoundCound addon. If you want to share a SoundCloud-URL from your phone or web-page, you get a normal URL, no ID or what so ever to use with the API of SoundCloud. So, there was no solution for Yatse to construct a valid plugin-uri for SoundCloud. After some talks with Tolriq we solved the problem - Yatse is sending the full url directly to the addon, the addon is resolving the URL into an ID and after that everything is working fine.
The newest adventure was this #248 on GitHub for YouTube, extending in this issue #176.
It seems KODI is missing some central endpoint on which addons can register for domains (like operating system work). For example take Android - apps can register for domains - so if I select a link for IMDB the IMDB app will open the link directly, not my browser - the same for YouTube and SoundCloud on my phone or Tablet.
So this is a test to use one addon, which will check for registered domains and call the corresponding addon(s) for the domain on an specified endpoint. The difference is, that the addons register the domains and not uri2addon. The developers of KORE or Yatse can more relax, because they don't have to know every addon on earth...even URLresolver hasn't to be updated. So if I create a new addon, I can just provide the domains supported by the addon and the sharing feature should work from every device or browser-extension immediately.
KODI should benefit from the easy extensibility.
I hope this illustrates simplified the purpose of the addon. uri2addon don't know any of the addons or what is supported or possible. The addons 'tell' uri2addon what is possible. For example the URLresolver has to know most of the endpoints of the addons and is more of a compendium of all addons, which means it's not really an addon-/plugin-system anymore.
To test this, you need the script.uri2addon and YouTube 5.1.6~beta3 of my repository. After that you can call all youtube.com and (shortened) youtu.be urls to play videos and even resolve the playlist features.
I first realized the problem as I developed the SoundCound addon. If you want to share a SoundCloud-URL from your phone or web-page, you get a normal URL, no ID or what so ever to use with the API of SoundCloud. So, there was no solution for Yatse to construct a valid plugin-uri for SoundCloud. After some talks with Tolriq we solved the problem - Yatse is sending the full url directly to the addon, the addon is resolving the URL into an ID and after that everything is working fine.
The newest adventure was this #248 on GitHub for YouTube, extending in this issue #176.
It seems KODI is missing some central endpoint on which addons can register for domains (like operating system work). For example take Android - apps can register for domains - so if I select a link for IMDB the IMDB app will open the link directly, not my browser - the same for YouTube and SoundCloud on my phone or Tablet.
So this is a test to use one addon, which will check for registered domains and call the corresponding addon(s) for the domain on an specified endpoint. The difference is, that the addons register the domains and not uri2addon. The developers of KORE or Yatse can more relax, because they don't have to know every addon on earth...even URLresolver hasn't to be updated. So if I create a new addon, I can just provide the domains supported by the addon and the sharing feature should work from every device or browser-extension immediately.
KODI should benefit from the easy extensibility.
I hope this illustrates simplified the purpose of the addon. uri2addon don't know any of the addons or what is supported or possible. The addons 'tell' uri2addon what is possible. For example the URLresolver has to know most of the endpoints of the addons and is more of a compendium of all addons, which means it's not really an addon-/plugin-system anymore.
To test this, you need the script.uri2addon and YouTube 5.1.6~beta3 of my repository. After that you can call all youtube.com and (shortened) youtu.be urls to play videos and even resolve the playlist features.
Code:
plugin://script.uri2addon/play/?uri=[URL_ENCODED_URI]