Skip to content

Commit

Permalink
Added Season coverflow view
Browse files Browse the repository at this point in the history
  • Loading branch information
roidy committed May 25, 2013
1 parent 21a74f7 commit 436932d
Show file tree
Hide file tree
Showing 7 changed files with 129 additions and 28 deletions.
12 changes: 11 additions & 1 deletion Settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

settingsMovieView = 'Movie_Grid.xml'
settingsShowView = 'Show_List.xml'
settingsSeasonView = 'Season_List.xml'
settingsForceDirectPlay = False
settingsForceTranscode = False

Expand Down Expand Up @@ -40,12 +41,16 @@ def getMovieViewType():

def getShowViewType():
return settingsShowView

def getSeasonViewType():
return settingsSeasonView

def updateSettings(setting):
#print('ATVLogger', 0, setting)
#dprint('ATVLogger', 0, value)
global settingsMovieView
global settingsShowView
global settingsSeasonView
global settingsForceDirectPlay
global settingsForceTranscode

Expand All @@ -61,5 +66,10 @@ def updateSettings(setting):
if parts[i] == 'ShowView':
if parts[i+1] == 'Grid': settingsShowView = 'Show_Grid.xml'
if parts[i+1] == 'List': settingsShowView = 'Show_List.xml'

if parts[i+1] == 'Bookcase': settingsShowView = 'Show_Bookcase.xml'

if parts[i] == 'SeasonView':
if parts[i+1] == 'List': settingsSeasonView = 'Season_List.xml'
if parts[i+1] == 'Coverflow': settingsSeasonView = 'Season_Coverflow.xml'

return
10 changes: 8 additions & 2 deletions XMLConverter.py
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ def XML_PMS2aTV(address, path):

elif PMSroot.get('viewGroup')=='season':
# TV Season view
XMLtemplate = 'Season.xml'
XMLtemplate = Settings.getSeasonViewType()

elif PMSroot.get('viewGroup')=='movie':
if PMSroot.get('title2')=='By Folder':
Expand Down Expand Up @@ -736,7 +736,13 @@ def ATTRIB_getResString(self, src, srcXML, param):
elif res=='480': return 'SD'
elif res=='sd': return 'SD'
return 'Unknown: ' + res


def ATTRIB_seasonCount(self, src, srcXML, param):
count, leftover, dfltd = self.getKey(src, srcXML, param) # getKey "defaults" if nothing found.
if int(count) >= 5:
return "5"
else:
return count


if __name__=="__main__":
Expand Down
2 changes: 1 addition & 1 deletion assets/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ function checkSettings()
log("No settings found!");
log("Creating default settings");

settings = "PlexConnectSettings:MovieView:Grid:ShowView:List:ForceDirectPlay:false:ForceTranscode:false:TranscoderQuality:9"
settings = "PlexConnectSettings:MovieView:Grid:ShowView:List:SeasonView:List:ForceDirectPlay:false:ForceTranscode:false:TranscoderQuality:9"
atv.localStorage['PlexConnectSettings'] = settings;
}
log(settings);
Expand Down
34 changes: 17 additions & 17 deletions assets/settings.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,26 +63,21 @@ function settings(mode) {
if (!value) return undefined;

if (mode=="MovieView") {
if (value.textContent=="Grid")
{
value.textContent = "List";
}
else
{
value.textContent = "Grid";
}
if (value.textContent=="Grid") value.textContent = "List";
else if (value.textContent=="List") value.textContent = "Grid";
}

if (mode=="ShowView") {
if (value.textContent=="Grid")
{
value.textContent = "List";
}
else
{
value.textContent = "Grid";
}
if (value.textContent=="Grid") value.textContent = "List";
else if (value.textContent=="List") value.textContent = "Grid";
//else if (value.textContent=="Bookcase") value.textContent = "Grid";
}

if (mode=="SeasonView") {
if (value.textContent=="List") value.textContent = "Coverflow";
else if (value.textContent=="Coverflow") value.textContent = "List";
}

rebuildSettingsString();
loadPage("http://trailers.apple.com/&settings:" + atv.localStorage['PlexConnectSettings']);
};
Expand All @@ -96,6 +91,9 @@ function createSettingsPage(doc) {
item = doc.getElementById("ShowView");
var value = item.getElementByTagName("rightLabel");
value.textContent = getSetting("ShowView");
item = doc.getElementById("SeasonView");
var value = item.getElementByTagName("rightLabel");
value.textContent = getSetting("SeasonView");
return doc;
};

Expand Down Expand Up @@ -151,6 +149,8 @@ function rebuildSettingsString()
{
var setting1 = document.getElementById("MovieView").getElementByTagName("rightLabel").textContent;
var setting2 = document.getElementById("ShowView").getElementByTagName("rightLabel").textContent;
var settings = "PlexConnectSettings:MovieView:" + setting1 + ":ShowView:" + setting2 + ":ForceDirectPlay:false:ForceTranscode:false:TranscoderQuality:9";
var setting3 = document.getElementById("SeasonView").getElementByTagName("rightLabel").textContent;
var settings = "PlexConnectSettings:MovieView:" + setting1 + ":ShowView:" + setting2 + ":SeasonView:" + setting3;
settings = settings + ":ForceDirectPlay:false:ForceTranscode:false:TranscoderQuality:9";
atv.localStorage['PlexConnectSettings'] = settings;
};
13 changes: 6 additions & 7 deletions assets/settings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@

<body>
<listWithPreview id="SettingsPage">
<header>
<simpleHeader>
<title>Settings</title>
</simpleHeader>
</header>
<preview>
<keyedPreview>
<title>a </title>
Expand All @@ -37,7 +32,7 @@
<sections>
<menuSection>
<header>
<horizontalDivider alignment="center">
<horizontalDivider alignment="left">
<title>View Settings</title>
</horizontalDivider>
</header>
Expand All @@ -50,11 +45,15 @@
<label>Show View</label>
<rightLabel>List</rightLabel>
</oneLineMenuItem>
<oneLineMenuItem id="SeasonView" onSelect="settings('SeasonView')">
<label>Season View</label>
<rightLabel>List</rightLabel>
</oneLineMenuItem>
</items>
</menuSection>
<menuSection>
<header>
<horizontalDivider alignment="center">
<horizontalDivider alignment="left">
<title>Transcoder Settings</title>
</horizontalDivider>
</header>
Expand Down
44 changes: 44 additions & 0 deletions assets/templates/Season_Coverflow.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<atv>
<head>
<script src="http://trailers.apple.com/updateXML.js"/>
<script src="http://trailers.apple.com/scrobble.js"/>
</head>

<body>
<scroller id="com.sample.menu-items-with-sections" volatile="true" onVolatileReload="reloadPMS_XML('{{getPath()}}')">
<header>
<simpleHeader>
<title>{{VAL(title2)}}</title>
</simpleHeader>
</header>
<items>
<collectionDivider alignment="left">
<title></title>
</collectionDivider>
<shelf id="coverflow" columnCount="{{seasonCount(size)}}">
<sections>
<shelfSection>
<items>
<goldenPoster id="{{VAL(key)}}" onPlay="atv.loadURL('http://trailers.apple.com{{ADDPATH(key)}}')"
onSelect="atv.loadURL('http://trailers.apple.com{{ADDPATH(key)}}')"
onHoldSelect="scrobbleMenu('Season', '{{VAL(ratingKey)}}', '{{ADDR_PMS()}}');">
{{COPY(Directory)}}
<title>{{VAL(title)}}</title>
<image>{{URL(thumb)}}</image>
<defaultImage>resource://Poster.png</defaultImage>
</goldenPoster>{{CUT(Directory/title:CUT:=)}}

<!-- <oneLineMenuItem id="none">
<label>No Seasons</label>
</oneLineMenuItem>{{CUT(Directory/title::=CUT)}}-->
</items>
</shelfSection>
</sections>
</shelf>
<collectionDivider alignment="left">
<title></title>
</collectionDivider>
</items>
</scroller>
</body>
</atv>
42 changes: 42 additions & 0 deletions assets/templates/Season_List.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<atv>
<head>
<script src="http://trailers.apple.com/updateXML.js"/>
<script src="http://trailers.apple.com/scrobble.js"/>
</head>

<body>
<listWithPreview id="com.sample.menu-items-with-sections" volatile="true" onVolatileReload="reloadPMS_XML('{{getPath()}}')">
<header>
<simpleHeader>
<title>{{VAL(title2)}}</title>
</simpleHeader>
</header>
<menu>
<sections>
<menuSection>
<items>
<twoLineEnhancedMenuItem id="{{VAL(key)}}" onPlay="atv.loadURL('http://trailers.apple.com{{ADDPATH(key)}}')"
onSelect="atv.loadURL('http://trailers.apple.com{{ADDPATH(key)}}')"
onHoldSelect="scrobbleMenu('Season', '{{VAL(ratingKey)}}', '{{ADDR_PMS()}}');">
{{COPY(Directory)}}
<label>{{VAL(title)}}</label>
<rightLabel>{{VAL(leafCount)}} Episodes</rightLabel>
<image>{{URL(thumb)}}</image>
<defaultImage>resource://Poster.png</defaultImage>
<preview>
<crossFadePreview>
<image>{{URL(thumb)}}</image>
</crossFadePreview>
</preview>
</twoLineEnhancedMenuItem>{{CUT(Directory/title:CUT:=)}}

<oneLineMenuItem id="none">
<label>No Seasons</label>
</oneLineMenuItem>{{CUT(Directory/title::=CUT)}}
</items>
</menuSection>
</sections>
</menu>
</listWithPreview>
</body>
</atv>

0 comments on commit 436932d

Please sign in to comment.