# script.embuary.info Script to provide skinners the option to call The Movie DB for actor and video infos. Unlike ExtendedInfo it requires a skin integration and it does not include a browser and it only crawls for the most basic and required information. It also includes a lightweight alternative to `script.tv.show.next.aired` based on Trakt.tv plus the TVDb. ## Search by string Some examples * ```RunScript(script.embuary.info,call=person,query='"Bruce Willis"')``` * ```RunScript(script.embuary.info,call=tv,query='"Californication"')``` * ```RunScript(script.embuary.info,call=movie,query='"Iron Man"')``` * ```RunScript(script.embuary.info,call=movie,query='"Iron Man"',year=2008)``` * ```RunScript(script.embuary.info,call=movie,query='"Iron Man"',year=2008,exact=true)``` `'" "'` is not required, but useful if a string contains special characters. which needs to be escaped. *Multiple results* The script provides a selection dialog if multiple results were returned. ## Search by The Movie DB, IMBDb or TVDb ID * ```RunScript(script.embuary.info,call=person,tmbd_id=65)``` * ```RunScript(script.embuary.info,call=tv,tmbd_id=65)``` * ```RunScript(script.embuary.info,call=tv,tmbd_id=65,season=1)``` * ```RunScript(script.embuary.info,call=tv,external_id=70559)``` (ID must be TVDb or IMDb) * ```RunScript(script.embuary.info,call=tv,dbid=1)``` (fetches TVDb from uniqueid table in the database if available; title + year is used as fallback) * ```RunScript(script.embuary.info,call=movie,tmbd_id=65)``` * ```RunScript(script.embuary.info,call=movie,external_id=tt0371746)``` (IMDb ID) * ```RunScript(script.embuary.info,call=movie,dbid=1)``` (fetches IMDb ID from uniqueid table in the database if available; title + year is used as fallback) ## Options * An TMDb API key is already shipped but can be replaced in the add-on settings * To get support for Rotten Tomatoes or IMDb ratings it's required to add a own OMDb key in the settings * EN is used as default language. It can be changed in the add-on settings, but will still be used if important informations are missing from the result (The Movie DB doesn't have a own fallback logic). * US is used as default country locale for certifications. Other supported locales can be set in the add-on settings. ## Required windows, reserved IDs and properties *Important* * I hate it if a script takes control about the focus. Because of that it's up to the skinner to add a `` tag. * `ListItem.DBID` is filled if the found item is part of the local library. * All actions on the control IDs below are controlled by the script. * The script doesn't set any window property for the called item. You have to call it from the main container. Examples: `$INFO[Container(10051).ListItem.Directors]`, `$INFO[Container(10051).ListItem.Rating]`, `$INFO[Container(10051).ListItem.Art(thumb)]` *script-embuary-person.xml* * List control ID `10051` = All available information of the called person. * List control ID `10052` = All movies starring with actor xyz * List control ID `10053` = All shows starring with actor xyz * List control ID `10054` = Actor portraits * List control ID `10055` = A combined list of all movies and shows starring with actor xyz Special properties: * `Container(10051).ListItem.Property(TotalMedia)` = Total count of media which is also available in your library * `Container(10051).ListItem.Property(TotalTVShows)` = Total count of shows which is also available in your library * `Container(10051).ListItem.Property(TotalMovies)` = Total count of movies which is also available in your library * `Container(10051).ListItem.Property(Birthday)` = Date of birth * `Container(10051).ListItem.Property(Deathday)` = Date of death * `Container(10051).ListItem.Property(Age)` = Current age / died at the age of * `Container(10051).ListItem.Property(Place_Of_Birth)` = Place of birth * `Container(10051).ListItem.Property(Known_For_Department)` = Known for department (acting, directing, etc.) * `Container(10051).ListItem.Property(Gender)` = Gender (male/female) * `Container(10051).ListItem.Property(Biography)` = Biography * `Container(10052).ListItem.Property(Role)` = Character role * `Container(10053).ListItem.Property(Role)` = Character role * `Container(10055).ListItem.Property(Role)` = Character role *script-embuary-video.xml* * List control ID `10051` = All available information of the called item. * List control ID `10052` = Cast * List control ID `10053` = Similar titles * List control ID `10054` = YouTube results * List control ID `10055` = Backdrop images * List control ID `10056` = Crew (for seasons it is used to display guest stars) * List control ID `10057` = Collection items * List control ID `10058` = Seasons * List control ID `10059` = Poster images Special properties for all items: * `Container(id).ListItem.Property(UnwatchedEpisodes)` = Local unwatched episodes * `Container(id).ListItem.Property(WatchedEpisodes)` = Local watched episodes * `Container(id).ListItem.Property(TotalEpisodes)` = Local available episodes * `Container(id).ListItem.Property(File)` = Local filename and path of movie Special properties: * `Container(10051).ListItem.Property(Votes.IMDB)` = IMDb votes * `Container(10051).ListItem.Property(Rating.IMDB)` = IMDb rating * `Container(10051).ListItem.Property(Rating.Rotten)` = Rotten Tomatoes rating * `Container(10051).ListItem.Property(Rating.Rotten_Avg)` = Average Rotten Tomatoes rating * `Container(10051).ListItem.Property(Votes.Rotten)` = Rotten Tomatoes votes * `Container(10051).ListItem.Property(Rating.Rotten_User)` = Rotten Tomatoes user rating * `Container(10051).ListItem.Property(Rating.Rotten_User_Avg)` = Average Rotten Tomatoes user rating * `Container(10051).ListItem.Property(Votes.Rotten_User)` = Rotten Tomatoes user votes * `Container(10051).ListItem.Property(Rating.Metacritic)` = Metacritic rating * `Container(10051).ListItem.Property(Release)` = Retail release date * `Container(10051).ListItem.Property(Budget)` = Budget * `Container(10051).ListItem.Property(Revenue)` = Revenue * `Container(10051).ListItem.Property(Awards)` = Awards * `Container(10051).ListItem.Property(Homepage)` = Homepage * `Container(10051).ListItem.Property(Network.%i)` = Network name (%i = 0,1,2,3,...) * `Container(10051).ListItem.Property(Network.icon.%i)` = Network icon (%i = 0,1,2,3,...) * `Container(10051).ListItem.Property(Studio.%i)` = Studio name (%i = 0,1,2,3,...) * `Container(10051).ListItem.Property(Studio.icon.%i)` = Studio icon (%i = 0,1,2,3,...) * `Container(10051).ListItem.Property(Collection)` = Belongs to collection * `Container(10051).ListItem.Property(Collection_id)` = Collection ID * `Container(10051).ListItem.Property(Collection_poster)` = Collection poster art * `Container(10051).ListItem.Property(Collection_fanart)` = Collection fanart * `Container(10051).ListItem.Property(NextEpisode)` = Next aired episode name * `Container(10051).ListItem.Property(NextEpisode_number)` = Next aired episode number * `Container(10051).ListItem.Property(NextEpisode_season)` = Next aired episode season number * `Container(10051).ListItem.Property(NextEpisode_plot)` = Next aired episode plot * `Container(10051).ListItem.Property(NextEpisode_date)` = Next aired episode date * `Container(10051).ListItem.Property(NextEpisode_thumb)` = Next aired episode thumb * `Container(10051).ListItem.Property(LastEpisode)` = Last aired episode name * `Container(10051).ListItem.Property(LastEpisode_number)` = Last aired episode number * `Container(10051).ListItem.Property(LastEpisode_season)` = Last aired episode season number * `Container(10051).ListItem.Property(LastEpisode_plot)` = Last aired episode plot * `Container(10051).ListItem.Property(LastEpisode_date)` = Last aired episode date * `Container(10051).ListItem.Property(LastEpisode_thumb)` = Last aired episode thumb * `Container(10051).ListItem.Property(Region_release)` = Movie release date of set country if it's different to ListItem.Premiered *script-embuary-image.xml* * List control ID `1` = Is used to display a portrait/backdrop images in fullscreen. * Scrollbar control ID `2` = Will be the focused on window init. *additional properties* * Configured language code `Window(home).Property(script.embuary.info-language_code)` * Configured country code `Window(home).Property(script.embuary.info-country_code)` * Filled property if a next script is going to be called `Window(home).Property(script.embuary.info-nextcall)`. Will be cleared afterwards. ## Overwriting onback or provide an additional onclose action You can add a custom onback or a general onclose action in script-embuary-video.xml and script-embuary-person.xml *Example* * `SetProperty(onclose,SetFocus(100))` = To set a general action if a window is going to be closed. Like reseting the focus to a default control. * `SetProperty(onnext,SetFocus(100))` = To set a general action if a window is going to be closed and a script window is called. Like reseting the focus to a default control. * `SetProperty(onback_10052,SetFocus(900))` = Don't close the window, but set focus to ID 900 if onback was called while container 10052 was in focus. ## Widgets The script ships following widgets: * `plugin://script.embuary.info/movie/trending` = trending movies * `plugin://script.embuary.info/movie/upcoming` = upcoming movies * `plugin://script.embuary.info/movie/now_playing` = now playing movies * `plugin://script.embuary.info/movie/top_rated` = top rated movies * `plugin://script.embuary.info/movie/popular` = popular movies * `plugin://script.embuary.info/tv/trending` = trending shows * `plugin://script.embuary.info/tv/top_rated` = top rates shows * `plugin://script.embuary.info/tv/popular` = popular shows * `plugin://script.embuary.info/tv/airing_today` = shows airing today * `plugin://script.embuary.info/tv/on_the_air` = shows on the air * `plugin://script.embuary.info/discover/tv/all` = discover shows * `plugin://script.embuary.info/discover/tv/year/1996` = discover shows by year * `plugin://script.embuary.info/discover/tv/genre/28` = discover shows by TMDb genre ID * `plugin://script.embuary.info/discover/movie/all` = discover movies * `plugin://script.embuary.info/discover/movie/year/1996` = discover movies by year * `plugin://script.embuary.info/discover/movie/genre/28` = discover movies by TMDb genre ID * `plugin://script.embuary.info/discover/person` = discover persons * `plugin://script.embuary.info/nextaired/week` = airing episodes based on your local TV show library (Monday - Sunday) * `plugin://script.embuary.info/nextaired/0` = airing episodes based on your local TV show library (Monday) * `plugin://script.embuary.info/nextaired/1` = airing episodes based on your local TV show library (Tuesday) * `plugin://script.embuary.info/nextaired/2` = airing episodes based on your local TV show library (Wednesday) * `plugin://script.embuary.info/nextaired/3` = airing episodes based on your local TV show library (Thursday) * `plugin://script.embuary.info/nextaired/4` = airing episodes based on your local TV show library (Friday) * `plugin://script.embuary.info/nextaired/5` = airing episodes based on your local TV show library (Saturday) * `plugin://script.embuary.info/nextaired/6` = airing episodes based on your local TV show library (Sunday) Next airing special properties: * `ListItem.Property(AirDay)` = Airing day (Monday, Wednesday, etc.) * `ListItem.Property(AirTime)` = Airing time All of them can be accessed by the addons -> video addons node so it's easy to set them with the skinshortcuts script.