commit f3f8ba9f15482119f953b0e22604fa7d47f9ac2c
parent 0264f5922039a13188ec51cc4084e10c1815cb5c
Author: Brian C. Lane <bcl@users.noreply.github.com>
Date: Sat, 1 Jan 2022 15:05:49 -0800
Merge pull request #7 from bcl/master-play-button
Play movies with 'play/pause' not just select
Diffstat:
1 file changed, 19 insertions(+), 10 deletions(-)
diff --git a/HMS/source/appMediaServer.brs b/HMS/source/appMediaServer.brs
@@ -13,7 +13,7 @@ Function roPosterMediaServer( url As String, has_keystore As Boolean ) As Object
port = CreateObject("roMessagePort")
screen = CreateObject("roPosterScreen")
screen.SetMessagePort(port)
- screen.SetListStyle("arced-portrtait")
+ screen.SetListStyle("arced-portrait")
screen.setListDisplayMode("scale-to-fit")
' Build list of Category Names from the top level directories
@@ -46,13 +46,19 @@ Function roPosterMediaServer( url As String, has_keystore As Boolean ) As Object
screen.SetFocusedListItem(getFocusedItem(url, has_keystore, titles[last_title], metadata.Count()))
end if
+ play_focus = -1
setup_selected = false
while true
msg = wait(30000, port)
if type(msg) = "roPosterScreenEvent" then
+ if msg.isRemoteKeyPressed() and msg.getIndex() = 13 then
+ wasPlayPressed = true
+ else
+ wasPlayPressed = false
+ end if
if msg.isScreenClosed() then
return -1
- elseif msg.isListSelected()
+ elseif msg.isListSelected() then
if msg.GetIndex() = max_titles then
screen.SetContentList(getSetupRow(url))
setup_selected = true
@@ -80,19 +86,22 @@ Function roPosterMediaServer( url As String, has_keystore As Boolean ) As Object
elseif msg.isListItemSelected() and setup_selected = true then
checkServerUrl(true)
screen.SetFocusToFilterBanner(true)
- elseif msg.isListItemSelected()
+ elseif msg.isListItemFocused() then
+ play_focus = msg.getIndex()
+ elseif msg.isListItemSelected() or wasPlayPressed then
+ print "Focus is on"; play_focus
if has_keystore = true then
- setKeyValue(url, titles[last_title], tostr(msg.GetIndex()))
+ setKeyValue(url, titles[last_title], tostr(play_focus))
end if
movies = screen.GetContentList()
- print movies[msg.GetIndex()]
- result = playMovie(movies[msg.GetIndex()], url, has_keystore)
- if result = true and msg.GetIndex() < movies.Count() then
+ print movies[play_focus]
+ result = playMovie(movies[play_focus], url, has_keystore)
+ if result = true and play_focus < movies.Count() then
' Advance to the next video and save it
- screen.SetFocusedListItem(msg.GetIndex()+1)
+ screen.SetFocusedListItem(play_focus+1)
if has_keystore = true then
- if msg.GetIndex() < movies.Count() then
- setKeyValue(url, titles[last_title], tostr(msg.GetIndex()+1))
+ if play_focus < movies.Count() then
+ setKeyValue(url, titles[last_title], tostr(play_focus+1))
end if
end if
end if