Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
taylorcw
Level 7

HDMI-CEC Implimentation

I'd like to impliment an action when a CECStatus event is triggered per: https://developer.roku.com/docs/references/brightscript/events/rocecstatusevent.md

To watch for this event, a message port needs to be opened. How would I you do this? 

Here's my main.brs:   Would I put it in here?


    screen   = CreateObject("roSGScreen")
    port     = CreateObject("roMessagePort")
    
    scene    = screen.CreateScene("MainScene")
    screen.setMessagePort(port)    
    screen.show()

    while(true)
        msg     = wait(0, port)
        msgType = type(msg)

        if msgType = "roSGScreenEvent"
            if msg.isScreenClosed() then return
        end if
    end while


Thanks
0 Kudos
1 Reply
taylorcw
Level 7

Re: HDMI-CEC Implimentation

Figured out the issue. Documentation is incorrect. It should be:
CECStatus.IsActiveSource() to get the current CEC Status, not "ifCECStatus.IsActiveSource()"

    screen   = CreateObject("roSGScreen")
    port     = CreateObject("roMessagePort")
   cecstatus = CreateObject("roCECStatus")
    
  scene    = screen.CreateScene("MainScene")
    screen.setMessagePort(port) 
cecstatus.SetMessagePort(port)
  screen.show()

    while(true)
        msg     = wait(0, port)
        msgType = type(msg)

        if msgType = "roCECStatusEvent"
            print "RECEIVED roCECStatusEvent event"
            print "MSG STATUS: "; CECStatus.IsActiveSource()
        end if

        if msgType = "roSGScreenEvent"
            if msg.isScreenClosed() then return
        end if
    end while
0 Kudos