first beta push
|
@ -29,12 +29,13 @@ function init()
|
|||
m.server_setup = m.top.findNode("server_setup")
|
||||
m.sidebar = m.top.findNode("sidebar")
|
||||
m.videoplayer = m.top.findNode("videoplayer")
|
||||
|
||||
m.top.backgroundColor = "0x00000000"
|
||||
m.top.backgroundURI = ""
|
||||
m.content_contains = "config_videos"
|
||||
m.searchResultsReceived = false
|
||||
m.ConfigComplete = false
|
||||
m.search_task = invalid
|
||||
|
||||
m.server_url = "vod.newellijay.tv"
|
||||
m.DeepLinkContentId = Invalid
|
||||
m.DeepLinkMediaType = Invalid
|
||||
|
||||
|
@ -55,7 +56,7 @@ function init()
|
|||
' Flag that we need to send a launch complete signal beacon
|
||||
'
|
||||
m.launchCompleteSent = false
|
||||
|
||||
set_setting("server", "https://vod.newellijay.tv")
|
||||
loadConfig()
|
||||
end function
|
||||
|
||||
|
@ -288,7 +289,12 @@ end sub
|
|||
sub loadVideoInfo(uuid)
|
||||
m.url_task = createObject("roSGNode", "load_video_info_task")
|
||||
m.url_task.observeField("response", "onVideoInfoResponse")
|
||||
m.url_task.url = get_setting("server","") + "/api/v1/videos/" + uuid
|
||||
m.url_task.url.test = get_setting("server","") + "/api/v1/videos/" + uuid
|
||||
if m.url_task.url.test <> invalid
|
||||
m.url_task.url = m.url_task.url.test
|
||||
else
|
||||
m.url_task.url = get_setting("server","") +/api/v1/video-playlists" + uuid
|
||||
end if
|
||||
m.url_task.control = "RUN"
|
||||
end sub
|
||||
|
||||
|
@ -705,7 +711,7 @@ sub onConfigResponse(obj)
|
|||
m.strings = settings.strings
|
||||
m.iso639_1 = settings.iso639_1
|
||||
|
||||
m.overhang.Title = settings.instance_name
|
||||
|
||||
|
||||
'
|
||||
' Various screens need the configuration too to setup
|
||||
|
|
|
@ -50,10 +50,10 @@ SPDX-License-Identifier: MIT
|
|||
visible="true"
|
||||
translation="[0,0]"
|
||||
logoUri="pkg:/images/logo.png"
|
||||
title = "PeerVue"
|
||||
showOptions="false"
|
||||
logoBaselineOffset="25"
|
||||
height="115"
|
||||
showClock="false"
|
||||
/>
|
||||
|
||||
<sidebar
|
||||
|
|
0
components/screens/SummaryDisplay/SummaryDisplay.brs
Executable file → Normal file
9
components/screens/SummaryDisplay/SummaryDisplay.xml
Executable file → Normal file
|
@ -32,12 +32,13 @@ SPDX-License-Identifier: MIT
|
|||
|
||||
<children>
|
||||
|
||||
<Label
|
||||
<ScrollingLabel
|
||||
id="Title"
|
||||
color="0xFFFFFF"
|
||||
text="" >
|
||||
text=""
|
||||
maxWidth="800">
|
||||
<Font role = "font" uri = "pkg:/fonts/UKIJCJK.ttf" size = "32" />
|
||||
</Label>
|
||||
</ScrollingLabel>
|
||||
|
||||
<Label
|
||||
id="ReleaseDate"
|
||||
|
@ -52,7 +53,7 @@ SPDX-License-Identifier: MIT
|
|||
height="120"
|
||||
lineSpacing="7"
|
||||
text=""
|
||||
width="1500"
|
||||
width="800"
|
||||
wrap="true" >
|
||||
<Font role = "font" uri = "pkg:/fonts/UKIJCJK.ttf" size = "32" />
|
||||
</Label>
|
||||
|
|
0
components/screens/background/background.brs
Executable file → Normal file
5
components/screens/background/background.xml
Executable file → Normal file
|
@ -25,7 +25,8 @@ SPDX-License-Identifier: MIT
|
|||
|
||||
<children>
|
||||
<Rectangle
|
||||
id="backgroundColor"/>
|
||||
id="backgroundColor"
|
||||
color="ffffff"/>
|
||||
<Poster
|
||||
id="oldBackground"/>
|
||||
<Poster
|
||||
|
@ -34,7 +35,7 @@ SPDX-License-Identifier: MIT
|
|||
<Rectangle
|
||||
id="shade"
|
||||
color="0x000000"
|
||||
opacity="0.65"/>
|
||||
opacity="0"/>
|
||||
|
||||
<Animation
|
||||
id="fadeoutAnimation"
|
||||
|
|
|
@ -72,7 +72,7 @@ function addContent(videoInfo)
|
|||
node.description = ""
|
||||
end if
|
||||
|
||||
node.HdGridPosterUrl = get_setting("server", "") + item.thumbnailPath
|
||||
node.HdGridPosterUrl = get_setting("server", "") + item.previewPath
|
||||
node.ShortDescriptionLine1 = item.name
|
||||
node.ShortDescriptionLine2 = ""
|
||||
node.Length=item.duration
|
||||
|
|
|
@ -36,9 +36,10 @@ SPDX-License-Identifier: MIT
|
|||
<children>
|
||||
<background
|
||||
id="Background"
|
||||
width="1920"
|
||||
height="1080"
|
||||
color="0xAAAAAA"
|
||||
width="915"
|
||||
height="525"
|
||||
color="ffffff"
|
||||
translation="[990, 15]"
|
||||
/>
|
||||
|
||||
<side_icons
|
||||
|
@ -47,16 +48,16 @@ SPDX-License-Identifier: MIT
|
|||
|
||||
<RowList
|
||||
id="rowList"
|
||||
itemSize="[1760, 327]"
|
||||
itemSpacing="[20, 0]"
|
||||
itemSize="[1760, 269]"
|
||||
itemSpacing="[22, 0]"
|
||||
numRows="2"
|
||||
rowFocusAnimationStyle="floatingFocus"
|
||||
rowItemSize="[[393, 220]]"
|
||||
rowItemSpacing="[[25, 4.5]]"
|
||||
rowLabelOffset="[[60, 35]]"
|
||||
showRowCounter="true"
|
||||
rowItemSpacing="[[25, 15]]"
|
||||
rowLabelOffset="[[0, 8]]"
|
||||
showRowCounter="false"
|
||||
showRowLabel="true"
|
||||
translation="[160, 375]"
|
||||
translation="[160, 540]"
|
||||
/>
|
||||
|
||||
<Poster
|
||||
|
@ -68,6 +69,7 @@ SPDX-License-Identifier: MIT
|
|||
<SummaryDisplay
|
||||
id="summary"
|
||||
translation="[160, 145]"
|
||||
width="800"
|
||||
itemSpacings="[10,25]"
|
||||
/>
|
||||
|
||||
|
|
|
@ -91,13 +91,14 @@ SPDX-License-Identifier: MIT
|
|||
minWidth="150"
|
||||
/>
|
||||
|
||||
<Label
|
||||
<ScrollingLabel
|
||||
id="title"
|
||||
maxWidth="900"
|
||||
color="0xFFFFFF"
|
||||
text=""
|
||||
translation="[800,200]" >
|
||||
<Font role = "font" uri = "pkg:/fonts/UKIJCJK.ttf" size = "48" />
|
||||
</Label>
|
||||
</ScrollingLabel>
|
||||
|
||||
<Label
|
||||
id="publishdate"
|
||||
|
@ -105,7 +106,7 @@ SPDX-License-Identifier: MIT
|
|||
wrap="true"
|
||||
width="1000"
|
||||
text=""
|
||||
translation="[800,250]" >
|
||||
translation="[800,265]" >
|
||||
<Font role = "font" uri = "pkg:/fonts/UKIJCJK.ttf" size = "24" />
|
||||
</Label>
|
||||
|
||||
|
|
|
@ -8,14 +8,18 @@ function init()
|
|||
m.keyboard = m.top.FindNode("keyboard")
|
||||
m.prompt_text = m.top.FindNode("prompt_text")
|
||||
m.server_name = m.top.FindNode("server_name")
|
||||
m.server_url = m.top.FindNode("server_url")
|
||||
|
||||
m.server_url = "vod.newellijay.tv"
|
||||
|
||||
m.instances = []
|
||||
|
||||
m.keyboard.text = ""
|
||||
m.keyboard.text = "vod.newellijay.tv"
|
||||
|
||||
m.top.observeField("visible", "onVisibleChange")
|
||||
m.clear_button.observeField("buttonSelected", "onClearButtonPressed")
|
||||
m.enter_button.setFocus(true)
|
||||
|
||||
|
||||
|
||||
end function
|
||||
|
||||
sub onVisibleChange()
|
||||
|
@ -28,13 +32,15 @@ sub onVisibleChange()
|
|||
m.server_url.text = current_server
|
||||
m.server_name.text = current_name
|
||||
m.keyboard.text = current_name
|
||||
m.keyboard.setFocus(true)
|
||||
m.keyboard.setFocus(false)
|
||||
updateServerInfo(m.keyboard.text)
|
||||
m.enter_button.setFocus(true)
|
||||
end if
|
||||
end sub
|
||||
|
||||
sub onClearButtonPressed()
|
||||
m.keyboard.text = ""
|
||||
updateServerInfo(m.keyboard.text)
|
||||
|
||||
|
||||
end sub
|
||||
|
||||
function updateConfig(settings)
|
||||
|
@ -49,20 +55,24 @@ function onKeyEvent(key, press) as Boolean
|
|||
m.keyboard.setFocus(false)
|
||||
m.clear_button.setFocus(false)
|
||||
m.enter_button.setFocus(true)
|
||||
updateServerInfo(m.keyboard.text)
|
||||
handled = true
|
||||
else if (key="up") and not m.keyboard.hasFocus()
|
||||
m.enter_button.setFocus(false)
|
||||
m.enter_button.setFocus(true)
|
||||
m.clear_button.setFocus(false)
|
||||
m.keyboard.setFocus(true)
|
||||
m.keyboard.setFocus(false)
|
||||
updateServerInfo(m.keyboard.text)
|
||||
handled = true
|
||||
else if (key="right" or key="left") and m.enter_button.hasFocus()
|
||||
m.clear_button.setFocus(true)
|
||||
m.enter_button.setFocus(false)
|
||||
m.clear_button.setFocus(false)
|
||||
m.enter_button.setFocus(true)
|
||||
handled = true
|
||||
updateServerInfo(m.keyboard.text)
|
||||
else if (key="right" or key="left") and m.clear_button.hasFocus()
|
||||
m.clear_button.setFocus(false)
|
||||
m.enter_button.setFocus(true)
|
||||
handled = true
|
||||
updateServerInfo(m.keyboard.text)
|
||||
end if
|
||||
else if (key="OK")
|
||||
updateServerInfo(m.keyboard.text)
|
||||
|
|
|
@ -29,9 +29,10 @@ SPDX-License-Identifier: MIT
|
|||
id="server_name"
|
||||
text=""
|
||||
width="1500"
|
||||
translation="[250,125]" >
|
||||
translation="[250,125]"
|
||||
visible="false">
|
||||
<Font role = "font" uri = "pkg:/fonts/UKIJCJK.ttf" size = "48" />
|
||||
</Label>
|
||||
</Label>
|
||||
|
||||
<Label
|
||||
id="server_url"
|
||||
|
@ -39,27 +40,57 @@ SPDX-License-Identifier: MIT
|
|||
font="font:SmallestSystemFont"
|
||||
width="1500"
|
||||
translation="[250,200]"
|
||||
visible="false"
|
||||
/>
|
||||
|
||||
<Label
|
||||
id="prompt_text"
|
||||
text="Server Name (example: Ploud Video France):"
|
||||
text="Welcome to New Ellijay TV!"
|
||||
font="font:MediumSystemFont"
|
||||
width="1500"
|
||||
width="800"
|
||||
translation="[250,300]"
|
||||
/>
|
||||
<Label
|
||||
id="press"
|
||||
text="Brought to you by the Ellijay Makerspace!"
|
||||
font="font:MediumSystemFont"
|
||||
width="900"
|
||||
translation="[250,400]"
|
||||
/>
|
||||
<Label
|
||||
id="press"
|
||||
text="Local first, community produced television and video on demand."
|
||||
font="font:MediumSystemFont"
|
||||
width="1200"
|
||||
translation="[250,350]"
|
||||
/>
|
||||
<Label
|
||||
id="press"
|
||||
text=""
|
||||
font="font:MediumSystemFont"
|
||||
width="900"
|
||||
translation="[250,450]"
|
||||
/>
|
||||
<Label
|
||||
id="press"
|
||||
text="Press Start"
|
||||
font="font:MediumSystemFont"
|
||||
width="900"
|
||||
translation="[250,525]"
|
||||
/>
|
||||
|
||||
<Keyboard
|
||||
id="keyboard"
|
||||
translation="[250, 350]"
|
||||
visible="false"
|
||||
/>
|
||||
|
||||
<Button
|
||||
id="enter_button"
|
||||
text="Update"
|
||||
text="Start"
|
||||
showFocusFootprint="true"
|
||||
translation="[250, 800]"
|
||||
minWidth="150"
|
||||
translation="[250, 600]"
|
||||
minWidth="250"
|
||||
/>
|
||||
|
||||
<Button
|
||||
|
@ -68,6 +99,7 @@ SPDX-License-Identifier: MIT
|
|||
showFocusFootprint="true"
|
||||
translation="[750, 800]"
|
||||
minWidth="150"
|
||||
visible="false"
|
||||
/>
|
||||
|
||||
</children>
|
||||
|
|
|
@ -23,9 +23,9 @@ function init()
|
|||
' into an attribute in the XML
|
||||
'
|
||||
crlf = chr(13)+chr(10)
|
||||
about_text = tr("PeerVue is an open source channel to view content hosted by a PeerTube instance.") + " "
|
||||
about_text = about_text + tr("Source for this channel is at https://github.com/n76/PeerVue") + crlf + crlf
|
||||
about_text = about_text + tr("For information about PeerTube see https://https://joinpeertube.org/") + crlf + crlf
|
||||
about_text = tr("New Ellijay TV is a community run Streaming and Video on Demand Service from Ellijay, GA.") + " "
|
||||
about_text = about_text + tr("Source for this channel is at https://ellijaymakerspace.org/code") + crlf + crlf
|
||||
about_text = about_text + tr("For information about New Ellijay TV see https://newellijay.tv/") + crlf + crlf
|
||||
about_text = about_text + tr("UKIJCKJ font") + " ©2017 Tursun Sultan https://fontlibrary.org/en/font/ukij-cjk" + crlf + crlf
|
||||
about_text = about_text + tr("Search and gear icons") + " ©2020 Remix-Design https://github.com/Remix-Design/RemixIcon" + crlf + crlf
|
||||
m.about_info.text = about_text
|
||||
|
|
|
@ -23,29 +23,14 @@ function load()
|
|||
configuration.iso639_1 = json.iso639_1
|
||||
configuration.instances = json.instances
|
||||
|
||||
server = get_setting("server", "")
|
||||
if (server = "")
|
||||
configuration.instance_name = ""
|
||||
else
|
||||
'
|
||||
' Get name of instance
|
||||
'
|
||||
?"[load_config_task] server for instance name: ";server
|
||||
feedData = getFeed(server + "/api/v1/config")
|
||||
configuration.instance_name = feedData.instance.name
|
||||
end if
|
||||
server = "https://vod.newellijay.tv"
|
||||
configuration.instance_name = "New Ellijay TV "
|
||||
|
||||
'
|
||||
' Done with basic configuration, give it to our home scene
|
||||
'
|
||||
m.top.configuration = configuration
|
||||
|
||||
if (server = "")
|
||||
?"[load_config_task] no server defined"
|
||||
m.top.complete = "done"
|
||||
else
|
||||
doSearches( json.categories )
|
||||
end if
|
||||
doSearches( json.categories )
|
||||
end if
|
||||
'
|
||||
' Tell home scene that we have loaded all the configured videos
|
||||
|
|
0
fonts/UKIJCJK.ttf
Executable file → Normal file
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 61 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 16 KiB |
BIN
images/logo.png
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 295 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 111 KiB |
Before Width: | Height: | Size: 33 KiB After Width: | Height: | Size: 69 KiB |
6
manifest
|
@ -3,7 +3,7 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
|
||||
## Channel Details
|
||||
title=PeerVue
|
||||
title=New Ellijay TV
|
||||
|
||||
## Channel Icons
|
||||
#### Per: https://developer.roku.com/docs/developer-program/getting-started/architecture/channel-manifest.md
|
||||
|
@ -30,6 +30,6 @@ screensaver_title=PeerVue
|
|||
supports_input_launch=1
|
||||
|
||||
## Channel version
|
||||
major_version=1
|
||||
minor_version=12
|
||||
major_version=2
|
||||
minor_version=13
|
||||
# build_number generated by make file
|
||||
|
|