2010-12-31, 21:43
Hi,
Add-on Library for showing details of Movie Sets.
You've dreamed of this! And me, I had nightmares for this!
All infos is retrieved from your database. Not scraping website.
Remember:
This addon run in background if window "VideoNav" is Active. On window close, the add-on will close by itself.
I recommend closing the window before leaving XBMC. Because is possible XBMC crash.
Developed and tested only with (XBMC SVN r35717; Windows XP)
Download : http://passion-xbmc.org/addons/?Page=Vie....moviesets
Sources : http://passion-xbmc.googlecode.com/svn/t....moviesets
Minimum required, "button" for launch and "container".
Parameter button XBMC.RunScript(script.moviesets[,containerId,windowId,busy])
Example of use:
MyVideoNav.xml:
includes.xml:
MOVIESETS INFOLABELS AND WINDOW PROPERTIES
Legend: (*) if not exists return empty
WINDOW PROPERTIES AVAILABLE:
INFOLABELS AVAILABLE:
Now Shows Info:
For More ;-) look file: "/script.moviesets/resources/skins/skin.confluence/720p/ViewsMovieSets.xml"
Shows Info Only on "Video - Library -> Movies -> Sets" Listing:
Any suggestions are welcome or if I failed to put useful information. Ask me or submit a path.
If you want my mod for Confluence, but not all view as info for saga only list ( Saga Info and Fanart )
copy folder in addon from "script.moviesets/resources/skins/skin.confluence" to "XBMC/addons/skin.confluence"
Cheers And Happy New Year!
Frost
Previews:
List View: "Video - Library -> Movies -> Title"
List View: "Video - Library -> Movies -> Sets"
Add-on Library for showing details of Movie Sets.
You've dreamed of this! And me, I had nightmares for this!
All infos is retrieved from your database. Not scraping website.
Remember:
This addon run in background if window "VideoNav" is Active. On window close, the add-on will close by itself.
I recommend closing the window before leaving XBMC. Because is possible XBMC crash.
Developed and tested only with (XBMC SVN r35717; Windows XP)
Download : http://passion-xbmc.org/addons/?Page=Vie....moviesets
Sources : http://passion-xbmc.googlecode.com/svn/t....moviesets
Minimum required, "button" for launch and "container".
Parameter button XBMC.RunScript(script.moviesets[,containerId,windowId,busy])
Code:
- containerId : [opt] - id 7000 is default
- windowId : [opt] - id 10025 is default
- busy : [opt] - (if you want show dialog busy on retrieving info. add "busy" on argument 3 )
MyVideoNav.xml:
PHP Code:
<defaultcontrol always="true">7777</defaultcontrol>
<!-- MINIMAL REQUIRED FOR ADDON MOVIE SETS -->
<include>MovieSetsAddonButton7777</include>
<include>MovieSetsContainer</include>
PHP Code:
<!-- REQUIRED FOR SETUP INFOS OF MOVIE SETS -->
<include name="MovieSetsAddonButton7777">
<include condition="System.HasAddon(script.moviesets)">MovieSetsStartButton</include>
<control type="button" id="7777">
<description>Don't Run Movie Sets</description>
<include>MovieSetsBaseButton</include>
<include condition="System.HasAddon(script.moviesets)">MovieSetsIsAliveCondition</include>
</control>
</include>
<include name="MovieSetsStartButton">
<!-- XBMC.RunScript(script.moviesets[,containerId,windowId,busy]) -->
<!-- containerId : [opt] - id 7000 is default -->
<!-- windowId : [opt] - id 10025 is default -->
<!-- busy : [opt] - (if you want show dialog busy on retrieving info. add "busy" on argument 3 ) -->
<control type="button" id="7777">
<description>Run Movie Sets</description>
<onfocus>XBMC.RunScript(script.moviesets,,,busy)</onfocus>
<include>MovieSetsBaseButton</include>
<visible>IsEmpty(Window(10025).Property(MovieSets.IsAlive))</visible>
</control>
</include>
<include name="MovieSetsIsAliveCondition">
<visible>!IsEmpty(Window(10025).Property(MovieSets.IsAlive))</visible>
</include>
<include name="MovieSetsBaseButton">
<hitrect x="0" y="0" w="0" h="0" />
<posx>0</posx>
<posy>0</posy>
<width>1</width>
<height>1</height>
<onfocus>SetFocus(50)</onfocus>
<texturenofocus>-</texturenofocus>
<texturefocus>-</texturefocus>
<label>-</label>
<font>-</font>
</include>
<!-- REQUIRED CONTAINER, CONTAINS ALL MOVIE SET INFO -->
<include name="MovieSetsContainer">
<control type="list" id="7000">
<description>Container Movie Sets</description>
<hitrect x="0" y="0" w="0" h="0" />
<posx>0</posx>
<posy>0</posy>
<width>1</width>
<height>1</height>
<onleft>50</onleft>
<onright>50</onright>
<onup>50</onup>
<ondown>50</ondown>
<pagecontrol>-</pagecontrol>
<itemlayout height="1" width="1" />
<focusedlayout height="1" width="1" />
<visible>System.HasAddon(script.moviesets)</visible>
</control>
</include>
Legend: (*) if not exists return empty
WINDOW PROPERTIES AVAILABLE:
Code:
- Window([id]).Property(MovieSets.IsAlive) -> [ return true or empty, if addon is running ]
- Window([id]).Property(Content.MovieSets) -> [ return true or empty, if Container.FolderPath is videodb://1/7/ ]
Code:
- Container(id).ListItem([offset]) ----> [ first item is empty/dummy item ]( eg: Container(7000).ListItem.Label )
- .Label ----> [ Title of Set ] -> [ first item : "Movie Sets" ]
- .Label2 ---> [ idSet ] --------> [ first item : "Total of MovieSets in your db" ]
- .Icon -----> * [ return cached icon of set, if user has created with xbmc ]
- .Path -----> [ ActivateWindow(10025,videodb://1/7/[idSet]/) ]
- .Title ----> [ Same as .Label ]
- .Genre ----> [ return all genres of movies in set ]
- .Plot -----> [ return all plot of movies in set ]
- .Duration -> [ return total time in minutes of all movies in set ]
- .Rating ---> [ return sum of rating divided by total movies in set ]( eg: (5.6 + 7.5) / 2 movies )
- .Votes ----> [ return sum of votes for all movie in set ]
- .Property(HasMovieSets) ----> [ return true or empty, if item currently selected is movieset ]
- .Property(WatchedMovies) ---> [ Shows the number of watched movies for the currently selected movieset ]
- .Property(UnWatchedMovies) -> [ Shows the number of unwatched movies for the currently selected movieset ]
- .Property(TotalMovies) -----> [ Shows the number of total movies for the currently selected movieset ]
- .Property(ExtraFanart) -----> * [ return first folder "../extrafanart" of movies for the currently selected movieset ]( eg: moviepath/../extrafanart )
- .Property(Fanart_Image) ----> * [ return first fanart of movieset sorted by sortTitle tag ]
Properties of each movie for the currently selected movieset
base property "movie.ID." Possible ID ( 1 - 10 or more )
- .Property(movie.ID.Title) -------> [ return title of ID ]
- .Property(movie.ID.sortTitle) ---> [ return sort title of ID ] http://wiki.xbmc.org/index.php?title=Movie_Sets#Editing_the_.NFO_file
- .Property(movie.ID.Filename) ----> [ return filename of ID ]
- .Property(movie.ID.Path) --------> [ return path of ID ]
- .Property(movie.ID.Plot)---------> [ return plot of ID ]
- .Property(movie.ID.Icon) --------> * [ return cached icon of ID ]
- .Property(movie.ID.Fanart) ------> * [ return cached fanart of ID ]
- .Property(movie.ID.ExtraFanart) -> * [ return folder "extrafanart" of ID ]( eg: moviepath/extrafanart )
For More ;-) look file: "/script.moviesets/resources/skins/skin.confluence/720p/ViewsMovieSets.xml"
PHP Code:
<label>$INFO[Container(7000).ListItem.Title]</label>
<label>$INFO[Container(7000).ListItem.Plot]</label>
<label>$INFO[Container(7000).ListItem.Duration,, $LOCALIZE[12391]]</label>
<texture>$INFO[Container(7000).ListItem.Icon]</texture>
<texture>$INFO[Container(7000).ListItem.Property(movie.1.icon)]</texture>
<texture>$INFO[Container(7000).ListItem.Property(movie.5.icon)]</texture>
<texture background="true">$INFO[Container(7000).ListItem.Property(Fanart_Image)]</texture>
<visible>ListItem.IsFolder + !IsEmpty(Container(7000).ListItem.Property(HasMovieSets))</visible>
PHP Code:
<visible>!IsEmpty(Window(10025).Property(Content.MovieSets))</visible>
<visible>StringCompare(Container.FolderPath,videodb://1/7/)</visible>
<control type="list" id="7700">
<viewtype label="Saga Info">list</viewtype>
<visible>!IsEmpty(Window(10025).Property(Content.MovieSets)) | StringCompare(Container.FolderPath,videodb://1/7/)</visible>
...
</control>
If you want my mod for Confluence, but not all view as info for saga only list ( Saga Info and Fanart )
copy folder in addon from "script.moviesets/resources/skins/skin.confluence" to "XBMC/addons/skin.confluence"
Cheers And Happy New Year!
Frost
Previews:
List View: "Video - Library -> Movies -> Title"
List View: "Video - Library -> Movies -> Sets"