70 lines
1.8 KiB
Plaintext
70 lines
1.8 KiB
Plaintext
import "pkg:/source/utils/misc.brs"
|
|
|
|
sub init()
|
|
getData()
|
|
end sub
|
|
|
|
function getData()
|
|
|
|
' If we have no album data, return a blank node
|
|
if m.top.MusicArtistAlbumData = invalid
|
|
data = CreateObject("roSGNode", "ContentNode")
|
|
return data
|
|
end if
|
|
|
|
albumData = m.top.MusicArtistAlbumData
|
|
data = CreateObject("roSGNode", "ContentNode")
|
|
|
|
for each album in albumData.items
|
|
gridAlbum = CreateObject("roSGNode", "ContentNode")
|
|
|
|
if not isValid(album.posterURL) or album.posterURL = ""
|
|
album.posterURL = "pkg:/images/icons/album.png"
|
|
end if
|
|
|
|
gridAlbum.shortdescriptionline1 = album.title
|
|
gridAlbum.HDGRIDPOSTERURL = album.posterURL
|
|
gridAlbum.hdposterurl = album.posterURL
|
|
gridAlbum.SDGRIDPOSTERURL = album.posterURL
|
|
gridAlbum.sdposterurl = album.posterURL
|
|
|
|
data.appendChild(gridAlbum)
|
|
end for
|
|
|
|
m.top.content = data
|
|
|
|
return data
|
|
end function
|
|
|
|
function onKeyEvent(key as string, press as boolean) as boolean
|
|
if not press then return false
|
|
|
|
if key = "up"
|
|
if m.top.itemFocused <= 4
|
|
m.top.escape = key
|
|
return true
|
|
end if
|
|
else if key = "left"
|
|
if m.top.itemFocused mod 5 = 0
|
|
m.top.escape = key
|
|
return true
|
|
end if
|
|
else if key = "right"
|
|
if m.top.itemFocused + 1 mod 5 = 0
|
|
m.top.escape = key
|
|
return true
|
|
end if
|
|
else if key = "down"
|
|
totalCount = m.top.MusicArtistAlbumData.items.count()
|
|
totalRows = div_ceiling(totalCount, 5)
|
|
currentRow = div_ceiling(m.top.itemFocused + 1, 5)
|
|
|
|
if currentRow = totalRows
|
|
m.top.escape = key
|
|
return true
|
|
end if
|
|
end if
|
|
|
|
return false
|
|
end function
|