
hugetv
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-10-2015
10:45 AM
I can do as a guide
this epg for videoplay

Our system http://www.rokumanager.com
6 REPLIES 6

hugetv
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-23-2015
04:42 AM
Re: I can do as a guide
someone could help make this possible
Our system http://www.rokumanager.com

RokuJoel
Binge Watcher
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-23-2015
11:10 AM
Re: I can do as a guide

hugetv
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-23-2015
08:20 PM
Re: I can do as a guide
ok and I managed to do it but I have a problem with time bara
http://i.imgur.com/hXLe9QB.png
'******************************************
'* paint.brs
'* display the screen and dynamic overlay
'******************************************
Sub PaintFullscreenCanvas()
splash = []
canvasItems = []
navItems = []
'Clear previous contents
m.canvas.ClearLayer(0)
m.canvas.ClearLayer(1)
m.canvas.ClearLayer(2)
m.canvas.ClearLayer(3)
' display a custom loading image
if m.progress < 100
splash.Push({
url: "pkg:/images/splash.png"
TargetRect: m.textRect
})
endif
if m.overlay
' Display overlay with a list of canvasItems
' Get the canvas size to work with
canvasRect = m.targetRect
' Set the starting Y value, top of the overlay
yVal = canvasRect.h - 150
' Get the overall width
wVal = canvasRect.w
' Set the offsets for the controls
controlxoff = int( canvasRect.w / 2 ) - 115
controlyoff = yVal+200
' Set the width of the time bars
barwidth = int( wVal / 6 )
' Get values from the json feed for the selected title, this should be loaded in a sub
mytitle = m.feedData.Videos[m.playing].title
mydesc = m.feedData.Videos[m.playing].desc
mytag = m.feedData.Videos[m.playing].tag
myepisode = m.feedData.Videos[m.playing].episode
myepisode2 = m.feedData.Videos[m.playing].episode2
myimage = m.feedData.Videos[m.playing].image
' Calculate horizontal offset when there is a highlight tag
font_registry = CreateObject("roFontRegistry")
font_regular = font_registry.getdefaultfont()
' Need to factor the length to get a good fit - research font behavior
tagOffset = 110 + int( 2/3 * font_regular.GetOneLineWidth( mytag, 999 ) )
' Calculate horizontal offset for Station, symbols
stationoff = tagOffset + int( 2/3 * font_regular.GetOneLineWidth( myepisode, 999 ) ) - 30
symbol_1off = stationoff + 125
symbol_2off = stationoff + 225
symbol_3off = stationoff + 300
' normally the times would come from the feed or device. hardcode for demo:
starttime = "11:00 AM"
endtime = "1:00 PM"
' Calculatation for the time display and for the orange bar
print m.position " is the current position in seconds"
' time bars are gray by default
bar2color = "#FF999999"
bar3color = "#FF999999"
' the percent of the bar shown orange is m.position divided by half hour (1800 sec)
' multiply by barwidth to get the width of the orange portion
' need to add 1 since 0 makes it unlimited width
worange = 1 + int( barwidth * m.position / 1800 )
print "width of orange on the second time bar is " str(worange)
' Format the current time display
mymin = int ( m.position / 10 )
'mysec = m.position mod 60
if mymin < 30 then
' Hack to set current time display
mytime = "11:" + str(30 + mymin).trim()
' horizontal starting point of highlighted time bar
hloffset = 195+barwidth
' set the placement offset for the current time
offsettime = 217 + worange + int ( barwidth * 2 / 3 )
else
' hack for demo - ultimately all bars would be dynamic
' 2nd bar full orange
bar2color = "#FFFFA500"
' set the placement offset for the current time
offsettime = 217 + worange + int ( barwidth * 2 / 3 )
if mymin > 59
' 3rd bar full orange
bar3color = "#FFFFA500"
' horizontal starting point of highlighted time bar
hloffset = 195+barwidth*3
' width of highlight
worange = worange - (2*barwidth)
else
' horizontal starting point of highlighted time bar
hloffset = 195+barwidth*2
' width of highlight
worange = worange - barwidth
endif
if mymin > 89
' went past the end, go to beginning?
' hack the display for now
mymin = 30
endif
if mymin > 39
mytime = "12:"
else
mytime = "12:0"
endif
mytime = mytime + str(mymin - 30).trim()
endif
print "current time to display " + mytime
canvasItems = [
{
color:"#AA000000"
TargetRect:{x:0,y:yVal,w:wVal,h:350}
},
{
Text:mytitle
TextAttrs:{Color:"#FFFFFFFF", Font:"Medium",
HAlign:"Left", VAlign:"VCenter",
Direction:"LeftToRight"}
TargetRect:{x:40,y:yVal-15,w:500,h:60}
},
{
url: myimage
TargetRect:{x:40,y:yVal+35,w:80,h:80}
},
{
Text:"LIVE"
TextAttrs:{Color:"#00FF18", Font:"Mini",
HAlign:"Left", VAlign:"VCenter",
Direction:"LeftToRight"}
TargetRect:{x:140,y:yVal+30,w:50,h:40}
},
{
Text:myepisode
TextAttrs:{Color:"#FFFFFFFF", Font:"Small",
HAlign:"Left", VAlign:"VCenter",
Direction:"LeftToRight"}
TargetRect:{x:190,y:yVal+30,w:550,h:40}
},
{
Text:"NEXT"
TextAttrs:{Color:"#0000FF", Font:"Mini",
HAlign:"Left", VAlign:"VCenter",
Direction:"LeftToRight"}
TargetRect:{x:140,y:yVal+85,w:50,h:40}
},
{
Text:myepisode2
TextAttrs:{Color:"#FFFFFFFF", Font:"Small",
HAlign:"Left", VAlign:"VCenter",
Direction:"LeftToRight"}
TargetRect:{x:190,y:yVal+85,w:550,h:40}
},
{
Text:starttime
TextAttrs:{Color:"#FFFFFFFF", Font:"Mini",
HAlign:"Left", VAlign:"VCenter",
Direction:"LeftToRight"}
TargetRect:{x:140,y:yVal+62,w:100,h:20}
},
{
color:"#FFFFA500"
TargetRect: {x:140, y:yVal+83, w:barwidth-3, h:4}
},
{
color:bar2color
TargetRect: {x:140+barwidth, y:yVal+83, w:barwidth-3, h:4}
},
{
color:bar3color
TargetRect: {x:140+barwidth*2, y:yVal+83, w:barwidth-3, h:4}
},
{
color:"#FF999999"
TargetRect: {x:140+barwidth*3, y:yVal+83, w:barwidth-3, h:4}
},
{
Text:endtime
TextAttrs:{Color:"#FFFFFFFF", Font:"Mini",
HAlign:"Left", VAlign:"VCenter",
Direction:"LeftToRight"}
TargetRect:{x:200+barwidth*3,y:yVal+62,w:100,h:20}
},
{
color:"#FFFFA500"
TargetRect: {x:hloffset, y:yVal+83, w:worange, h:4}
},
{
color:"#EFFFFFFF"
TargetRect: {x:hloffset+worange, y:yVal+83, w:2, h:4}
},
{
Text:"TIME:"+mytime
TextAttrs:{Color:"#FFFFFFFF", Font:"Mini",
HAlign:"HCenter", VAlign:"VCenter",
Direction:"LeftToRight"}
TargetRect:{x:200+barwidth*4,y:yVal+15,w:100,h:12}
}
]
else
' No overlay
canvasItems = []
endif
m.canvas.SetLayer(0, { Color: "#00000000", CompositionMode: "Source" })
if (splash.Count() > 0)
m.canvas.SetLayer(1, splash)
m.canvas.SetLayer(2, canvasItems)
else
m.canvas.SetLayer(1, canvasItems)
endif
canvasItems.Clear()
splash.Clear()
End Sub
http://i.imgur.com/hXLe9QB.png
Our system http://www.rokumanager.com
armagedon79
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-02-2015
11:44 AM
Re: I can do as a guide
where can get this source code ?

hugetv
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-12-2015
10:59 AM
Re: I can do as a guide
help pliss
Our system http://www.rokumanager.com

hugetv
Visitor
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-30-2015
03:11 PM
Re: I can do as a guide
It helps to implement my code
VideoPlayer.brs
VideoPlayer.brs
' Plays the video file
Sub playVideoMovies(episode As Object)
port = CreateObject("roMessagePort")
screen = CreateObject("roVideoScreen")
screen.SetMessagePort(port)
vid_to_play = episode
vid_to_play = {
Stream: { url: episode.StreamUrl }
StreamFormat: episode.StreamFormat
Title: episode.Title
'SubtitleConfig: episode.SubtitleUrl
SubtitleUrl: episode.SubtitleUrl
SwitchingStrategy: "full-adaptation"
Live: episode.Live
PlayStart: episode.PlayStart
}
screen.SetLoop(true)
screen.SetPositionNotificationPeriod(1)
screen.AddHeader("User-Agent", "")
screen.SetContent(vid_to_play)
doCerts(screen)
screen.Show()
timer=createobject("rotimespan")
timer.mark()
' 20 seconds = 20000
refreshTime = 10000
currentTime = 0
while true
msg = wait(10, port)
currentTime = currentTime + timer.totalmilliseconds()
'print currentTime
timer.mark()
if currentTime > refreshTime then
currentTime = 0
'print "refresh"
AuthUser()
AuthLogin()
end if
if type(msg) = "roVideoScreenEvent" then
print "showHomeScreen | msg = "; msg.getMessage() " | index = "; msg.GetIndex()
if msg.isScreenClosed()
print "Screen closed"
exit while
elseif msg.isRequestFailed()
print "Video request failure: "; msg.GetIndex(); " " msg.GetData()
elseif msg.isStatusMessage()
print "Video status: "; msg.GetIndex(); " " msg.GetData()
elseif msg.isButtonPressed()
print "Button pressed: "; msg.GetIndex(); " " msg.GetData()
elseif msg.isPlaybackPosition() then
'print "Play position: "; msg.GetIndex(); " " msg.GetData()
nowpos = msg.GetIndex()
RegWrite(episode.ContentId, nowpos.toStr())
elseif msg.isFullResult() then
RegWrite(episode.ContentId, "0")
exit while
elseif msg.isPartialResult()
print "Video playback was interrupted: "; msg.GetType()
else
print "Unexpected event type: "; msg.GetType()
end if
else
'print "Unexpected message class: "; type(msg)
end if
end while
End Sub
Our system http://www.rokumanager.com