Release Play Random Videos - context item and script
#1
Play Random Videos
A Kodi add-on to quickly play random videos from (nearly) any list. This add-on can play random episodes from TV shows, movies from genres/sets/years/tags, and videos
from playlists, file systems, and just about anything else*.

It adds a context item to most playable lists of videos and provides a script that can be executed by skins with RunScript and JSON-RPC with Addons.ExecuteAddon.

Install it from the official Kodi repo, under "Context menus".
Source available on GitHub at script.playrandomvideos.

Skin usage
Skins can use it with an action like so: RunScript(script.playrandomvideos, "<list path>", "label=<list label>").

List path is the path to the list to play, like ListItem.FolderPath, which should be escaped ($ESCINFO[]). label is the list name, like ListItem.Label or FolderName, and is required when available, also escaped/quoted. There are optional arguments watchmode, which can override the default watch mode selected in the add-on settings, and singlevideo to play just a single video, if you have occasion for such an action.

In MyVideoNav.xml an action like RunScript(script.playrandomvideos, "$INFO[Container.FolderPath]", "label=$INFO[Container.FolderName]", watchmode=$INFO[Control.GetLabel(10)]) makes for a good button in the sidebar or as some other container-focused option. Use

Code:
<visible>ListItem.IsFolder + !ListItem.IsParentFolder + !SubString(ListItem.FolderPath, plugin, Left) + !SubString(ListItem.FolderPath, addons, Left) + !SubString(ListItem.FolderPath, sources, Left) + !StringCompare(ListItem.FolderPath, add)</visible>

to match the context item's visibility on this window.

A label is available with $ADDON[script.playrandomvideos 32100], 'Play Random'.

watchmode accepts 'Unwatched', 'Watched', and 'Ask me', as well as their localized equivalents with these IDs: `16101`, `16102`, and `36521`. In MyVideoNav.xml, watchmode=$INFO[Control.GetLabel(10)] should match the behavior of the button that switches between watched/unwatched/all, if it is on your window. singlevideo needs no value.

Button/menu actions

It is also possible to create an action that always plays randomly from one specific list, for use in a home menu or even as flair on another window, which can be assigned with Skin Shortcuts or added directly to skin files.

- Play randomly from a list of all movies: RunScript(script.playrandomvideos, "videodb://movies/")
- all episodes: RunScript(script.playrandomvideos, "videodb://tvshows/")
- all music videos: RunScript(script.playrandomvideos, "videodb://musicvideos/")
- from any of your playlists: RunScript(script.playrandomvideos, "special://playlists/video/<playlist filename>")
- movies from any genre: RunScript(script.playrandomvideos, "videodb://movies/genres/xx/", "label=Documentary")
- episodes from any TV network: RunScript(script.playrandomvideos, "videodb://tvshows/studios/xx/", "label=Cartoon Network")

Plugins
It doesn't work for plugin paths Sad. I would like it to, but I can't figure a good way to implement it, considering all the things plugins do.

Troubles?
If you are experiencing an error, please post your log file and a brief description of the issue.
Reply


Messages In This Thread
Play Random Videos - context item and script - by rmrector - 2015-09-12, 07:25
Got an error - by Brad Peterson - 2018-12-26, 02:25
FTP Media? - by GaryK4 - 2021-06-01, 14:31
Logout Mark Read Team Forum Stats Members Help
Play Random Videos - context item and script2