Remove unsed/unreferenced code
This commit is contained in:
parent
a17b93824e
commit
58972c5ece
|
@ -1,33 +0,0 @@
|
||||||
Sub Init()
|
|
||||||
m.top.functionName = "listenInput"
|
|
||||||
End Sub
|
|
||||||
|
|
||||||
function ListenInput()
|
|
||||||
port=createobject("romessageport")
|
|
||||||
InputObject=createobject("roInput")
|
|
||||||
InputObject.setmessageport(port)
|
|
||||||
|
|
||||||
while true
|
|
||||||
msg=port.waitmessage(500)
|
|
||||||
if type(msg)="roInputEvent" then
|
|
||||||
print "INPUT EVENT!"
|
|
||||||
if msg.isInput()
|
|
||||||
inputData = msg.getInfo()
|
|
||||||
'print inputData'
|
|
||||||
for each item in inputData
|
|
||||||
print item +": " inputData[item]
|
|
||||||
end for
|
|
||||||
|
|
||||||
' pass the deeplink to UI
|
|
||||||
if inputData.DoesExist("mediaType") and inputData.DoesExist("contentID")
|
|
||||||
deeplink = {
|
|
||||||
id: inputData.contentID
|
|
||||||
type: inputData.mediaType
|
|
||||||
}
|
|
||||||
print "got input deeplink= "; deeplink
|
|
||||||
m.top.inputData = deeplink
|
|
||||||
end if
|
|
||||||
end if
|
|
||||||
end if
|
|
||||||
end while
|
|
||||||
end function
|
|
|
@ -1,9 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
|
|
||||||
<component name="InputTask" extends="Task">
|
|
||||||
<interface>
|
|
||||||
<field id="inputData" type="assocarray" />
|
|
||||||
</interface>
|
|
||||||
|
|
||||||
<script type="text/brightscript" uri="InputTask.brs" />
|
|
||||||
</component>
|
|
|
@ -1,127 +0,0 @@
|
||||||
sub init()
|
|
||||||
m.top.currentPage = 0
|
|
||||||
m.top.maxPages = 0
|
|
||||||
m.top.layoutDirection = "horiz"
|
|
||||||
m.top.horizAlignment = "center"
|
|
||||||
m.top.vertAlignment = "center"
|
|
||||||
end sub
|
|
||||||
|
|
||||||
sub recountPages()
|
|
||||||
if m.top.currentPage = 0 or m.top.maxPages = 0
|
|
||||||
return
|
|
||||||
end if
|
|
||||||
while m.top.getChildCount() > 0
|
|
||||||
m.top.removeChildIndex(0)
|
|
||||||
end while
|
|
||||||
|
|
||||||
currentPage = m.top.currentPage
|
|
||||||
maxPages = m.top.maxPages
|
|
||||||
|
|
||||||
minShown = 1
|
|
||||||
maxShown = maxPages
|
|
||||||
|
|
||||||
if currentPage > 1
|
|
||||||
addPage("<")
|
|
||||||
minShown = currentPage - 3
|
|
||||||
end if
|
|
||||||
|
|
||||||
if minShown <= 0 then minShown = 1
|
|
||||||
|
|
||||||
if currentPage < maxPages then maxShown = currentPage + 3
|
|
||||||
if maxShown >= maxPages then maxShown = maxPages
|
|
||||||
|
|
||||||
for i=minShown to maxShown step 1
|
|
||||||
addPage(i)
|
|
||||||
end for
|
|
||||||
|
|
||||||
if currentPage <> maxPages
|
|
||||||
addPage(">")
|
|
||||||
end if
|
|
||||||
|
|
||||||
m.top.pageFocused = m.top.findNode(stri(currentPage).trim())
|
|
||||||
|
|
||||||
m.top.pageFocused.color = "#00A4DCff"
|
|
||||||
|
|
||||||
updateLayout()
|
|
||||||
end sub
|
|
||||||
|
|
||||||
sub updateLayout()
|
|
||||||
dimensions = m.top.getScene().currentDesignResolution
|
|
||||||
height = 115
|
|
||||||
m.top.translation = [dimensions.width / 2, dimensions.height - (height / 2)]
|
|
||||||
end sub
|
|
||||||
|
|
||||||
sub addPage(i)
|
|
||||||
p = CreateObject("roSGNode", "Label")
|
|
||||||
p.height = 50
|
|
||||||
p.width = 50
|
|
||||||
p.color = "#a1a1a1FF"
|
|
||||||
if type(i) = "roInt"
|
|
||||||
i = stri(i).trim()
|
|
||||||
end if
|
|
||||||
p.id = i
|
|
||||||
p.text = i
|
|
||||||
m.top.appendChild(p)
|
|
||||||
end sub
|
|
||||||
|
|
||||||
function onKeyEvent(key as string, press as boolean) as boolean
|
|
||||||
if not press then return false
|
|
||||||
|
|
||||||
if key = "OK"
|
|
||||||
p = m.top.focusedChild.id
|
|
||||||
if p = ">"
|
|
||||||
m.top.pageSelected = m.top.currentPage + 1
|
|
||||||
else if p = "<"
|
|
||||||
m.top.pageSelected = m.top.currentPage - 1
|
|
||||||
else
|
|
||||||
m.top.pageSelected = m.top.focusedChild.id
|
|
||||||
end if
|
|
||||||
m.top.currentPage = m.top.pageSelected
|
|
||||||
recountPages()
|
|
||||||
return true
|
|
||||||
else if key = "left"
|
|
||||||
focusPrev()
|
|
||||||
return true
|
|
||||||
else if key = "right"
|
|
||||||
focusNext()
|
|
||||||
return true
|
|
||||||
else if key = "up"
|
|
||||||
if m.top.getParent().findNode("picker") <> invalid
|
|
||||||
m.top.getParent().findNode("picker").setFocus(true)
|
|
||||||
else if m.top.getParent().lastFocus <> invalid
|
|
||||||
m.top.getParent().lastFocus.setFocus(true)
|
|
||||||
else
|
|
||||||
m.top.getParent().setFocus(true)
|
|
||||||
end if
|
|
||||||
return true
|
|
||||||
end if
|
|
||||||
|
|
||||||
return false
|
|
||||||
end function
|
|
||||||
|
|
||||||
sub focusNext()
|
|
||||||
i = getFocusIndex()
|
|
||||||
if (i + 1) = m.top.getChildCount() then return
|
|
||||||
|
|
||||||
m.top.pageFocused.color = "#a1a1a1FF"
|
|
||||||
m.top.pageFocused = m.top.getChild(i + 1)
|
|
||||||
m.top.pageFocused.color = "#00A4DCff"
|
|
||||||
m.top.pageFocused.setFocus(true)
|
|
||||||
end sub
|
|
||||||
|
|
||||||
sub focusPrev()
|
|
||||||
i = getFocusIndex()
|
|
||||||
if i = 0 then return
|
|
||||||
|
|
||||||
m.top.pageFocused.color = "#a1a1a1FF"
|
|
||||||
m.top.pageFocused = m.top.getChild(i - 1)
|
|
||||||
m.top.pageFocused.color = "#00A4DCff"
|
|
||||||
m.top.pageFocused.setFocus(true)
|
|
||||||
end sub
|
|
||||||
|
|
||||||
function getFocusIndex()
|
|
||||||
for i=0 to m.top.getChildCount() step 1
|
|
||||||
if m.top.getChild(i).id = m.top.pageFocused.id then return i
|
|
||||||
end for
|
|
||||||
return invalid
|
|
||||||
end function
|
|
|
@ -1,11 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<component name="Pager" extends="LayoutGroup" >
|
|
||||||
<interface>
|
|
||||||
<field id="currentPage" type="integer" onChange="recountPages" />
|
|
||||||
<field id="maxPages" type="integer" onChange="recountPages" />
|
|
||||||
<field id="pageFocused" type="node" />
|
|
||||||
<field id="pageSelected" type="string" />
|
|
||||||
<field id="escape" type="boolean" alwaysNotify="true" />
|
|
||||||
</interface>
|
|
||||||
<script type="text/brightscript" uri="Pager.brs" />
|
|
||||||
</component>
|
|
|
@ -1,116 +0,0 @@
|
||||||
sub init()
|
|
||||||
|
|
||||||
m.rowList = m.top.findNode("RowList") ' createObject("roSGNode", "RowList")
|
|
||||||
' m.top.appendChild(m.rowList)
|
|
||||||
|
|
||||||
m.rowList.itemComponentName = "HomeItem"
|
|
||||||
|
|
||||||
formatRowList()
|
|
||||||
|
|
||||||
m.rowList.setfocus(true)
|
|
||||||
|
|
||||||
m.rowList.observeField("rowItemSelected", "itemSelected")
|
|
||||||
|
|
||||||
end sub
|
|
||||||
|
|
||||||
sub formatRowList()
|
|
||||||
|
|
||||||
' how many rows are visible on the screen
|
|
||||||
m.rowList.numRows = 2
|
|
||||||
|
|
||||||
m.rowList.rowFocusAnimationStyle = "fixedFocusWrap"
|
|
||||||
m.rowList.vertFocusAnimationStyle = "fixedFocus"
|
|
||||||
|
|
||||||
m.rowList.showRowLabel = [true]
|
|
||||||
m.rowList.rowLabelOffset = [0, 20]
|
|
||||||
m.rowList.showRowCounter = [true]
|
|
||||||
|
|
||||||
sideborder = 100
|
|
||||||
m.rowList.translation = [111, 155]
|
|
||||||
|
|
||||||
m.rowItemSizes = []
|
|
||||||
|
|
||||||
itemWidth = 480
|
|
||||||
itemHeight = 330
|
|
||||||
|
|
||||||
m.rowList.itemSize = [1920 - 111 - 27, itemHeight]
|
|
||||||
' spacing between rows
|
|
||||||
m.rowList.itemSpacing = [0, 105]
|
|
||||||
|
|
||||||
' spacing between items in a row
|
|
||||||
m.rowList.rowItemSpacing = [20, 0]
|
|
||||||
|
|
||||||
m.rowList.visible = true
|
|
||||||
end sub
|
|
||||||
|
|
||||||
|
|
||||||
sub setupRows()
|
|
||||||
|
|
||||||
for each item in m.top.objects.Items
|
|
||||||
|
|
||||||
homeItem = CreateObject("roSGNode", "HomeData")
|
|
||||||
homeItem.json = item.json
|
|
||||||
|
|
||||||
if homeItem.Type = "Video" or homeItem.Type = "Movie" or homeItem.Type = "Episode" then
|
|
||||||
|
|
||||||
if m.videoRow = invalid then
|
|
||||||
m.videoRow = CreateObject("roSGNode", "HomeRow")
|
|
||||||
m.videoRow.title = tr("Videos")
|
|
||||||
m.videoRow.usePoster = true
|
|
||||||
m.videoRow.imageWidth = 180
|
|
||||||
end if
|
|
||||||
|
|
||||||
m.videoRow.appendChild(homeItem)
|
|
||||||
|
|
||||||
else if homeItem.Type = "MusicAlbum"
|
|
||||||
|
|
||||||
if m.albumRow = invalid then
|
|
||||||
m.albumRow = CreateObject("roSGNode", "HomeRow")
|
|
||||||
m.albumRow.imageWidth = 261
|
|
||||||
m.albumRow.title = tr("Albums")
|
|
||||||
m.albumRow.usePoster = true
|
|
||||||
end if
|
|
||||||
|
|
||||||
m.albumRow.appendChild(homeItem)
|
|
||||||
|
|
||||||
else if homeItem.Type = "Series"
|
|
||||||
|
|
||||||
if m.seriesRow = invalid then
|
|
||||||
m.seriesRow = CreateObject("roSGNode", "HomeRow")
|
|
||||||
m.seriesRow.title = tr("Series")
|
|
||||||
m.seriesRow.usePoster = true
|
|
||||||
m.seriesRow.imageWidth = 180
|
|
||||||
end if
|
|
||||||
|
|
||||||
m.seriesRow.appendChild(homeItem)
|
|
||||||
|
|
||||||
else
|
|
||||||
print "Collection - Unknown Type ", homeItem.Type
|
|
||||||
end if
|
|
||||||
end for
|
|
||||||
|
|
||||||
data = CreateObject("roSGNode", "ContentNode")
|
|
||||||
|
|
||||||
if m.videoRow <> invalid then
|
|
||||||
data.appendChild(m.videoRow)
|
|
||||||
m.rowItemSizes.push([188, 331])
|
|
||||||
end if
|
|
||||||
|
|
||||||
if m.seriesRow <> invalid then
|
|
||||||
data.appendChild(m.seriesRow)
|
|
||||||
m.rowItemSizes.push([188, 331])
|
|
||||||
end if
|
|
||||||
|
|
||||||
if m.albumRow <> invalid then
|
|
||||||
data.appendChild(m.albumRow)
|
|
||||||
m.rowItemSizes.push([261, 331])
|
|
||||||
end if
|
|
||||||
|
|
||||||
m.rowList.rowItemSize = m.rowItemSizes
|
|
||||||
m.rowList.content = data
|
|
||||||
|
|
||||||
end sub
|
|
||||||
|
|
||||||
function itemSelected()
|
|
||||||
m.top.selectedItem = m.rowList.content.getChild(m.rowList.rowItemSelected[0]).getChild(m.rowList.rowItemSelected[1])
|
|
||||||
end function
|
|
|
@ -1,12 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<component name="CollectionDetail" extends="JFGroup">
|
|
||||||
<children>
|
|
||||||
<RowList id="rowList" />
|
|
||||||
</children>
|
|
||||||
<interface>
|
|
||||||
<field id="collectionId" type="string" onChange="collectionIdChanged" />
|
|
||||||
<field id="selectedItem" type="node" alwaysNotify="true" />
|
|
||||||
<field id="objects" type="assocarray" onChange="setupRows" />
|
|
||||||
</interface>
|
|
||||||
<script type="text/brightscript" uri="CollectionDetail.brs" />
|
|
||||||
</component>
|
|
|
@ -22,8 +22,6 @@ sub Main()
|
||||||
m.overhang = CreateObject("roSGNode", "JFOverhang")
|
m.overhang = CreateObject("roSGNode", "JFOverhang")
|
||||||
m.scene.insertChild(m.overhang, 0)
|
m.scene.insertChild(m.overhang, 0)
|
||||||
|
|
||||||
m.page_size = 48
|
|
||||||
|
|
||||||
app_start:
|
app_start:
|
||||||
m.overhang.title = ""
|
m.overhang.title = ""
|
||||||
' First thing to do is validate the ability to use the API
|
' First thing to do is validate the ability to use the API
|
||||||
|
@ -266,18 +264,6 @@ sub Main()
|
||||||
results = SearchMedia(query)
|
results = SearchMedia(query)
|
||||||
options.itemData = results
|
options.itemData = results
|
||||||
options.query = query
|
options.query = query
|
||||||
else if isNodeEvent(msg, "pageSelected")
|
|
||||||
group.pageNumber = msg.getRoSGNode().pageSelected
|
|
||||||
collectionType = group.subType()
|
|
||||||
if collectionType = "Collections"
|
|
||||||
CollectionLister(group, m.page_size)
|
|
||||||
else if collectionType = "TVShows"
|
|
||||||
SeriesLister(group, m.page_size)
|
|
||||||
else if collectionType = "Channels"
|
|
||||||
ChannelLister(group, m.page_size)
|
|
||||||
end if
|
|
||||||
' TODO - abstract away the "picker" node
|
|
||||||
group.findNode("picker").setFocus(true)
|
|
||||||
else if isNodeEvent(msg, "itemSelected")
|
else if isNodeEvent(msg, "itemSelected")
|
||||||
' Search item selected
|
' Search item selected
|
||||||
node = getMsgPicker(msg)
|
node = getMsgPicker(msg)
|
||||||
|
|
|
@ -297,15 +297,6 @@ function CreateSidePanel(buttons, options)
|
||||||
|
|
||||||
end function
|
end function
|
||||||
|
|
||||||
function CreatePaginator()
|
|
||||||
group = CreateObject("roSGNode", "Pager")
|
|
||||||
group.id = "paginator"
|
|
||||||
|
|
||||||
group.observeField("pageSelected", m.port)
|
|
||||||
|
|
||||||
return group
|
|
||||||
end function
|
|
||||||
|
|
||||||
function CreateVideoPlayerGroup(video_id, audio_stream_idx = 1)
|
function CreateVideoPlayerGroup(video_id, audio_stream_idx = 1)
|
||||||
' Video is Playing
|
' Video is Playing
|
||||||
video = VideoPlayer(video_id, audio_stream_idx)
|
video = VideoPlayer(video_id, audio_stream_idx)
|
||||||
|
@ -320,46 +311,3 @@ function CreateVideoPlayerGroup(video_id, audio_stream_idx = 1)
|
||||||
|
|
||||||
return video
|
return video
|
||||||
end function
|
end function
|
||||||
|
|
||||||
function SeriesLister(group, page_size)
|
|
||||||
sort_order = get_user_setting("series_sort_order", "Ascending")
|
|
||||||
sort_field = get_user_setting("series_sort_field", "SortName")
|
|
||||||
|
|
||||||
item_list = ItemList(group.id, {"limit": page_size,
|
|
||||||
"StartIndex": page_size * (group.pageNumber - 1),
|
|
||||||
"SortBy": sort_field,
|
|
||||||
"SortOrder": sort_order,
|
|
||||||
"IncludeItemTypes": "Series"
|
|
||||||
})
|
|
||||||
group.objects = item_list
|
|
||||||
|
|
||||||
p = group.findNode("paginator")
|
|
||||||
p.maxPages = div_ceiling(group.objects.TotalRecordCount, page_size)
|
|
||||||
end function
|
|
||||||
|
|
||||||
function CollectionLister(group, page_size)
|
|
||||||
sort_order = get_user_setting("boxsets_sort_order", "Ascending")
|
|
||||||
sort_field = get_user_setting("boxsets_sort_field", "SortName")
|
|
||||||
|
|
||||||
item_list = ItemList(group.id, {"limit": page_size,
|
|
||||||
"StartIndex": page_size * (group.pageNumber - 1),
|
|
||||||
"SortBy": sort_field,
|
|
||||||
"SortOrder": sort_order,
|
|
||||||
})
|
|
||||||
group.objects = item_list
|
|
||||||
|
|
||||||
p = group.findNode("paginator")
|
|
||||||
p.maxPages = div_ceiling(group.objects.TotalRecordCount, page_size)
|
|
||||||
end function
|
|
||||||
|
|
||||||
function ChannelLister(group, page_size)
|
|
||||||
sort_order = get_user_setting("channel_sort_order", "Ascending")
|
|
||||||
sort_field = get_user_setting("channel_sort_field", "SortName")
|
|
||||||
group.objects = Channels({"limit": page_size,
|
|
||||||
"StartIndex": page_size * (group.pageNumber - 1),
|
|
||||||
"SortBy": sort_field,
|
|
||||||
"SortOrder": sort_order,
|
|
||||||
})
|
|
||||||
p = group.findNode("paginator")
|
|
||||||
p.maxPages = div_ceiling(group.objects.TotalRecordCount, page_size)
|
|
||||||
end function
|
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
function api_BrandingConfig()
|
|
||||||
' Gets branding configuration
|
|
||||||
' {
|
|
||||||
' LoginDisclaimer: string
|
|
||||||
' CustomCss: string
|
|
||||||
' }
|
|
||||||
resp = APIRequest("Branding/Configuration")
|
|
||||||
return getJson(resp)
|
|
||||||
end function
|
|
|
@ -1,27 +1,3 @@
|
||||||
function ItemsList(params = {} as object)
|
|
||||||
' Gets items based on a query.
|
|
||||||
resp = APIRequest("Items", params)
|
|
||||||
data = getJson(resp)
|
|
||||||
' TODO - parse items
|
|
||||||
return data
|
|
||||||
end function
|
|
||||||
|
|
||||||
function UserItems(params = {} as object)
|
|
||||||
' Gets items based on a query
|
|
||||||
resp = APIRequest(Substitute("Items/{0}/Items", get_setting("active_user")), params)
|
|
||||||
data = getJson(resp)
|
|
||||||
' TODO - parse items
|
|
||||||
return data
|
|
||||||
end function
|
|
||||||
|
|
||||||
function UserItemsResume(params = {} as object)
|
|
||||||
' Gets items based on a query
|
|
||||||
resp = APIRequest(Substitute("Items/{0}/Items/Resume", get_setting("active_user")), params)
|
|
||||||
data = getJson(resp)
|
|
||||||
' TODO - parse items
|
|
||||||
return data
|
|
||||||
end function
|
|
||||||
|
|
||||||
function ItemGetPlaybackInfo(id as string, StartTimeTicks = 0 as longinteger)
|
function ItemGetPlaybackInfo(id as string, StartTimeTicks = 0 as longinteger)
|
||||||
params = {
|
params = {
|
||||||
"UserId": get_setting("active_user"),
|
"UserId": get_setting("active_user"),
|
||||||
|
@ -80,87 +56,6 @@ function SearchMedia(query as string)
|
||||||
return data
|
return data
|
||||||
end function
|
end function
|
||||||
|
|
||||||
' List items from within a library
|
|
||||||
function ItemList(library_id = invalid as string, params = {})
|
|
||||||
if params["limit"] = invalid
|
|
||||||
params["limit"] = 30
|
|
||||||
end if
|
|
||||||
if params["page"] = invalid
|
|
||||||
params["page"] = 1
|
|
||||||
end if
|
|
||||||
params["parentid"] = library_id
|
|
||||||
params["recursive"] = true
|
|
||||||
|
|
||||||
url = Substitute("Users/{0}/Items/", get_setting("active_user"))
|
|
||||||
resp = APIRequest(url, params)
|
|
||||||
data = getJson(resp)
|
|
||||||
results = []
|
|
||||||
for each item in data.Items
|
|
||||||
imgParams = {}
|
|
||||||
if item.ImageTags.Primary <> invalid then
|
|
||||||
' If Primary image exists use it
|
|
||||||
param = { "Tag" : item.ImageTags.Primary }
|
|
||||||
imgParams.Append(param)
|
|
||||||
end if
|
|
||||||
param = { "AddPlayedIndicator": item.UserData.Played }
|
|
||||||
imgParams.Append(param)
|
|
||||||
if item.UserData.PlayedPercentage <> invalid then
|
|
||||||
param = { "PercentPlayed": item.UserData.PlayedPercentage }
|
|
||||||
imgParams.Append(param)
|
|
||||||
end if
|
|
||||||
if item.type = "Movie"
|
|
||||||
tmp = CreateObject("roSGNode", "MovieData")
|
|
||||||
tmp.image = PosterImage(item.id, imgParams)
|
|
||||||
tmp.json = item
|
|
||||||
results.push(tmp)
|
|
||||||
else if item.type = "Series"
|
|
||||||
if item.UserData.UnplayedItemCount > 0 then
|
|
||||||
param = { "UnplayedCount" : item.UserData.UnplayedItemCount }
|
|
||||||
imgParams.Append(param)
|
|
||||||
end if
|
|
||||||
tmp = CreateObject("roSGNode", "SeriesData")
|
|
||||||
tmp.image = PosterImage(item.id, imgParams)
|
|
||||||
tmp.json = item
|
|
||||||
results.push(tmp)
|
|
||||||
else if item.type = "BoxSet"
|
|
||||||
if item.UserData.UnplayedItemCount > 0 then
|
|
||||||
param = { "UnplayedCount" : item.UserData.UnplayedItemCount }
|
|
||||||
imgParams.Append(param)
|
|
||||||
end if
|
|
||||||
tmp = CreateObject("roSGNode", "CollectionData")
|
|
||||||
tmp.image = PosterImage(item.id, imgParams)
|
|
||||||
tmp.json = item
|
|
||||||
results.push(tmp)
|
|
||||||
else if item.type = "Episode"
|
|
||||||
imgParams.Append({ "AddPlayedIndicator": item.UserData.Played })
|
|
||||||
tmp = CreateObject("roSGNode", "TVEpisodeData")
|
|
||||||
tmp.image = PosterImage(item.id, imgParams)
|
|
||||||
tmp.json = item
|
|
||||||
results.push(tmp)
|
|
||||||
else if item.type = "MusicAlbum"
|
|
||||||
tmp = CreateObject("roSGNode", "AlbumData")
|
|
||||||
tmp.image = PosterImage(item.id, imgParams)
|
|
||||||
tmp.json = item
|
|
||||||
results.push(tmp)
|
|
||||||
else if item.type = "Video"
|
|
||||||
tmp = CreateObject("roSGNode", "VideoData")
|
|
||||||
tmp.image = PosterImage(item.id, imgParams)
|
|
||||||
tmp.json = item
|
|
||||||
results.push(tmp)
|
|
||||||
else if item.type = "Folder"
|
|
||||||
tmp = CreateObject("roSGNode", "FolderData")
|
|
||||||
tmp.json = item
|
|
||||||
results.push(tmp)
|
|
||||||
else
|
|
||||||
print "Items.brs::ItemList received unhandled type: " item.type
|
|
||||||
' Otherwise we just stick with the JSON
|
|
||||||
results.push(item)
|
|
||||||
end if
|
|
||||||
end for
|
|
||||||
data.items = results
|
|
||||||
return data
|
|
||||||
end function
|
|
||||||
|
|
||||||
' MetaData about an item
|
' MetaData about an item
|
||||||
function ItemMetaData(id as string)
|
function ItemMetaData(id as string)
|
||||||
url = Substitute("Users/{0}/Items/{1}", get_setting("active_user"), id)
|
url = Substitute("Users/{0}/Items/{1}", get_setting("active_user"), id)
|
||||||
|
@ -262,42 +157,3 @@ function TVEpisodes(show_id as string, season_id as string)
|
||||||
data.Items = results
|
data.Items = results
|
||||||
return data
|
return data
|
||||||
end function
|
end function
|
||||||
|
|
||||||
' The next up episode for a TV show
|
|
||||||
function TVNext(id as string)
|
|
||||||
url = Substitute("Shows/NextUp", id)
|
|
||||||
resp = APIRequest(url, { "UserId": get_setting("active_user"), "SeriesId": id })
|
|
||||||
|
|
||||||
data = getJson(resp)
|
|
||||||
for each item in data.Items
|
|
||||||
item.image = PosterImage(item.id)
|
|
||||||
end for
|
|
||||||
return data
|
|
||||||
end function
|
|
||||||
|
|
||||||
function Channels(params = {})
|
|
||||||
if params["limit"] = invalid
|
|
||||||
params["limit"] = 30
|
|
||||||
end if
|
|
||||||
if params["page"] = invalid
|
|
||||||
params["page"] = 1
|
|
||||||
end if
|
|
||||||
params["recursive"] = true
|
|
||||||
|
|
||||||
resp = APIRequest("LiveTv/Channels", params)
|
|
||||||
|
|
||||||
data = getJson(resp)
|
|
||||||
results = []
|
|
||||||
for each item in data.Items
|
|
||||||
imgParams = { "maxWidth": 712, "maxheight": 400 }
|
|
||||||
tmp = CreateObject("roSGNode", "ChannelData")
|
|
||||||
tmp.image = PosterImage(item.id, imgParams)
|
|
||||||
if tmp.image <> invalid
|
|
||||||
tmp.image.posterDisplayMode = "scaleToFit"
|
|
||||||
end if
|
|
||||||
tmp.json = item
|
|
||||||
results.push(tmp)
|
|
||||||
end for
|
|
||||||
data.Items = results
|
|
||||||
return data
|
|
||||||
end function
|
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
function ItemCounts()
|
|
||||||
' Gets counts of a library
|
|
||||||
' Query:
|
|
||||||
' UserId: Get counts from specific user's library
|
|
||||||
' IsFavorite: Get counts of favorite items
|
|
||||||
resp = APIRequest("Items/Counts", {})
|
|
||||||
data = getJson(resp)
|
|
||||||
return data
|
|
||||||
end function
|
|
||||||
|
|
||||||
function LibraryMediaFolders()
|
|
||||||
' Gets all user media folders
|
|
||||||
' Query:
|
|
||||||
' IsHidden: Filter by folders that are marked hidden, or not
|
|
||||||
resp = APIRequest("Library/MediaFolders")
|
|
||||||
data = getJson(resp)
|
|
||||||
return data
|
|
||||||
|
|
||||||
end function
|
|
Loading…
Reference in New Issue
Block a user