"EnTerr" wrote:
Building completely proprietary protocol via sockets for each channel is brain-dead. There is (alas only partial) solution in SDK 3:Since Firmware version 3.0:
• input enables a developer to send custom events to their Brightscript application. It takes a user defined list of name-value pairs sent as query string uri parameters. The external control server places these name-value pairs into a BrightScript associative array and passes them directly through to the currently executing channel script via a Message Port attached to a created roInput object. Please refer to Section 3.1 below for more detailed recommendations on how to pass your data. Messages of type roInputEvent have a GetInfo() method that will obtain the associative array. The arguments must be URL-encoded. This command is sent via a POST with no body.
Example: POST /input?acceleration.x=0.0&acceleration.y=0.0&acceleration.z=9.8
This ensures only one-way communication, injecting data from outside to running app. But there is no way to query status - this being the kind of synchronous invocation (http request - needs to pause and wait for result while message is passed to queue and wait to be handled and reply returned - then retuen that back) it seems against messaging implementation in brightscript (from the little i have seen). Which is a dirty shame, because i have been looking recently at the external control protocol of DirecTV DVRs - it reports status very nicely, what program is playing now, what's next on which channel etc
"RokuKevin" wrote:
No, but there will be apps that process launch params by the end of the year 😉
--Kevin
We’re upgrading Roku Community to bring you a faster, more mobile-friendly experience. You may notice limited functionality or read-only access during this time. Read more here.
Planned Downtime:
Community will be unavailable for up to 24–48 hours during the upgrade window during the week of May 19th and you may notice reduced functionality.
In the meantime, for additional assistance, visit our Support Site.
We're sorry for this disruption — we’re excited to share what’s next!