Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
renojim
Community Streaming Expert

Re: BrightScript documentation?

jblack199, I think you're being a little harsh. I've been programming longer than you and have probably forgotten more languages than most people will ever know. The documentation isn't great, but it's adequate. I hate to say it, but I have to wonder what you've been doing for 23 years if you can't get by with the documentation as it is. I could understand it if you were new to programming, but really? 23 years?

It appears you don't have any specific questions. If you do, there are plenty of helpful people here (and although it doesn't appear so from this post, I consider myself one of them). And just in case you missed it, most of what you need to know about coding channels is in the Component Reference, not the Brightscript Reference.

-JT
Roku Community Streaming Expert

Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.

I am not a Roku employee.
0 Kudos
gonzotek
Level 8

Re: BrightScript documentation?

"renojim" wrote:
It appears you don't have any specific questions. If you do, there are plenty of helpful people here (and although it doesn't appear so from this post, I consider myself one of them). And just in case you missed it, most of what you need to know about coding channels is in the Component Reference, not the Brightscript Reference.
-JT
+1 Reading and re-reading all of the documentation, and examining all of the example code (including packaging it, side-loading it, modifying it, and running the modified code) is essential. jblack199, your example of createObject: most objects that you can create are components, described in the component reference. Components are natively compiled c code (for speed and direct hardware access) that Roku exposes to the scripting interface.

I've also been programming for ~25 years (and that's greater than 2/3 of my life), mostly in scripted/interpreted languages. I certainly wouldn't describe brightscript as my favorite language(sorry Roku Smiley Happy ), but I picked it up fast enough to implement some ideas I had within a few weeks of starting, using only my available hobby time. Everybody learns differently, and has different strengths and weaknesses, but attacking the creators as idiots seems counter-intutitive to furthering your learning of the language. Even if the documentation is deficient in some areas, the large number of major content providers who've already released channels is a testament that the language is functional and adequate for production use. The dev community here is also usually quite helpful, if you ask questions they can answer ("what does xyz component do?", "I know how to do a double linked list in xyz language, but how would one do it in brightscript?", vs. "Why isn't the documentation better"?).
Remoku.tv - A free web app for Roku Remote Control!
Want to control your Roku from nearly any phone, computer or tablet? Get started at http://help.remoku.tv
by Apps4TV - Applications for television and beyond: http://www.apps4tv.com
0 Kudos
destruk
Level 10

Re: BrightScript documentation?

Only 10 years or so for me, for real programming. I don't count commodore 64 basic, timex sinclair, or H89 CP/M/Z100 to have been 'real languages' - but this brightscript stuff is very very easy/simplistic compared to C++. Maybe you're more like Einstein who could theorize about the entire universe but couldn't tie his own shoes. In which case perhaps you could pay someone to 'train you' hands on with how this little roku programming does what it's supposed to do. There's nothing wrong with asking for help, just how you're doing it tends to distance people from taking time to assist you IMO.
0 Kudos
jblack199
Level 7

Re: BrightScript documentation?

@renojim -- what have I been doing the last 23 years? I've been learning and using real programming languages that far excel over brightscript.. plain and simple....

I've read and re-read the documentation several different times.. I've looked at all the examples... I just got the roku unit from work to take home so now I can try and figure out how to do this 'side-load' thing that is referenced here.. but since that's not in the PDF's either, that will be trial and error I suppose just like everything else associated with the roku

As for not having any specific questions, I've asked a few.. such as why there is no REAL documentation... what the hell all these ro functions are and a few others... But it's okay, I don't expect anyone here to answer my questions. Go ahead and keep pushing the PDF's as the 'higher power' which just completely suck..

So, the forums will be done with me. Since the roku online chat is run by idiots, the developers are idiots that can't support their own language (you haven't seen the emails/responses I've sent/received), and the people here on the forums default to 'read the pdf's...' which again makes you all idiots.

I also never said I couldn't learn from the PDF's, but it sure would make it a lot easier of the people who made the PDFs actually included all the functions... if they actually explained what each function is and does.. what the basic syntax is.. and even commented the examples... so instead of several weeks of trial and error I could jump in and have a channel built in a mere 2-3 hours if the documentation is worth a damn... But, after having read the PDF's over 50 times (every single one of them) over the last 2 weeks I haven't written a single piece of code because the documentation doesn't document anything.. I've said it before, but this documentation is: here is some code... here is more code.. good luck!

So to all of you who praise brightscript and the idiot people who created I'm really sorry that you live in the delusional world that the documentation is even remotely close to 'adequate' what with functions missing from it that are shown in examples but aren't in the PDFs (even with the lack of a description)...
0 Kudos
gonzotek
Level 8

Re: BrightScript documentation?

"jblack199" wrote:
I've read and re-read the documentation several different times.. I've looked at all the examples... I just got the roku unit from work to take home so now I can try and figure out how to do this 'side-load' thing that is referenced here.. but since that's not in the PDF's either, that will be trial and error I suppose just like everything else associated with the roku
Either you have not read all of the documentation, or you have and you're being deliberately obtuse. Because side-loading is definitely referenced in the DeveloperGuide.pdf:
7.2 Application Installer Page
Development applications are loaded onto the device using a standard web browser. When enabled for development mode the device hosts a web page for installing your application. To access the installer page, do the following:
1. From your Roku Streaming Player, navigate to “Roku Player Settings”, “player info” to find the IP address of your box.
2. From your development workstation, open a standard web browser and type the following URL:
a. http://<rokuPlayer-ip-address> for example: http://192.168.1.100
3. You should see a page like the one displayed in Figure 1 (Application Install Page) below.
4. Click the “Browse” button and navigate to the location of the application zip file on your development machine as shown in Figure 2 (Application File Browser). The full path to the application .zip file should appear in the text field.
5. Finally, click the “Install” button to deploy the application to the box. The application should install and begin running immediately. You will see a message on the web page indicating it was successfully loaded as shown in Figure 3 (Application Installer page – Installation Complete)
6. Run the application with the application debug console open. When you telnet to the Roku Streaming Player on port 8085 (see section 8.1) you will see the debug console from your application. If there are any errors in your code, they will show up on this console. There is even a debugger attached to this port that will give you source file and line number information for script errors.
The Application Installer page only accepts applications using the zip file format. This process is often referred to as “side-loading” your application.
A simple search across all the pdfs in the documentation folder(Ctrl-Shift-F on Adobe Reader 10 for Windows) turned this up for me in ~5 seconds.

The same technique can be used for ro components:
For example, here's a part of the table of contents for the 3.0 beta sdk component reference:
4.2 roAppManager 26
4.3 roPosterScreen 34
4.4 roSpringboardScreen 43
4.5 roVideoScreen 51
4.6 roSlideShow 60
4.7 roSearchScreen 63
4.8 roSearchHistory 67
4.9 roParagraphScreen 68
4.10 roMessageDialog 71
4.11 roOneLineDialog 75
4.12 roCodeRegistrationScreen 76
4.13 roKeyboardScreen 80
4.14 roPinEntryDialog 83
4.15 roAudioPlayer 84
4.16 roMessagePort 88
4.17 roDeviceInfo 88
4.18 roDateTime 89
4.19 roEVPCipher 91
4.20 roEVPDigest 92
4.21 roHMAC 93
4.22 roTimespan 94
4.23 roRegistry 95
4.24 roRegistrySection 96
4.25 roUrlTransfer 97
5.0 Components First Introduced in Firmware v2.6 103
5.1 roImageCanvas 103
5.2 roFontRegistry 106
5.3 roFontMetrics 107
5.4 roSystemLog 108
5.5 roRegex 111
5.6 roPath 114
5.7 roFileSystem 114
5.8 roVideoPlayer 116
3 4/20/2011 © 2009 Roku Inc.
6.0 Components First Introduced in Firmware v2.7 120
6.1 roGridScreen 120
7.0 Components First Introduced in Firmware v2.9 127
7.1 roAudioMetadata 127
7.2 roImageMetadata 128
8.0 Components First Introduced in Firmware v3.0 132
8.1 roSocketAddress 132
8.2 roStreamSocket 132
8.3 roDataGramSocket
You found one extremely poor example of a component not available on a Roku, roGPIOPort, which was explained above as being a component only available in the BrightSign product, which uses the same language. This is definitely something that should be fixed in the documentation. There have been plenty of similarly bad examples given in the php docs you've referred to as being an example of a 'good' reference. That doesn't make the rest of the documentation invalid or necessarily inadequate.

I'd also like to touch on your numerous 'idiot' comments. You're violating forum policy by flaming(and/or trolling). Most of the people who've attempted to help you in this thread are published channel creators, and are earning income from their channels. Everyone here (with the exception, perhaps, of RokuMarkN) started from the same basic set of documentation and examples, and yet they managed to learn the language and interact with other people learning the language without resorting to insulting each other for not having the answers to their questions. Criticize the docs all you want, I agree whole-heartedly, they absolutely could be improved in multiple ways. But insulting the very people trying to help you is clearly a self-defeating way to go about things.
Remoku.tv - A free web app for Roku Remote Control!
Want to control your Roku from nearly any phone, computer or tablet? Get started at http://help.remoku.tv
by Apps4TV - Applications for television and beyond: http://www.apps4tv.com
0 Kudos
renojim
Community Streaming Expert

Re: BrightScript documentation?

jblack199, please tell me where you work so I can direct your boss to this discussion and he can decide who the real idiot is. You wouldn't last a day working for me.

-JT
Roku Community Streaming Expert

Help others find this answer and click "Accept as Solution."
If you appreciate my answer, maybe give me a Kudo.

I am not a Roku employee.
0 Kudos
RokuMarkn
Level 8

Re: BrightScript documentation?

"gonzotek" wrote:
Everyone here (with the exception, perhaps, of RokuMarkN) started from the same basic set of documentation and examples, and yet they managed to learn the language and interact with other people learning the language without resorting to insulting each other for not having the answers to their questions.


Actually I had no special help with it, I learned Brightscript from the examples and docs, same as everyone else here. I do have access to the source so I have on occasion looked up the code to see how it was handling a particular construct, but I've only done that maybe a couple of times.

jblack199, I'm not sure if you're looking for help, as you've only (as far as I can see) asked one question in your voluminous rants about the docs. I'll answer that question and hope that it will get you started. You said "like the function CreateObject i can figure that out, it creates an object pretty simple.. but what's the object? is the object defined by the rofunction you pass into it? and what are these rofunctions?" The first parameter to CreateObject is not a function but the name of an object, as a string. The list of valid object names, and the parameters that are valid for each object, is found in sections 10 and 11 of the Brightscript Reference, and sections 4 through 8 of the Component Reference.

--Mark
0 Kudos
kc8pql
Level 8

Re: BrightScript documentation?

"jblack199" wrote:
My boss will be disappointed when I tell him to find a fire and die in it if he thinks im going to go through 'trial and error' trying to figure out this piece-meal garbage of a language...

Humm...looks like your boss may be looking for a new developer...
____________________________________________________________________________________________________________
No, I don't work for Roku.
Netflix Player N1000X, XDS 2100X (premature death by lightning)
Roku2 XD 3050X, Roku2 XS 3100R, Roku2 4210R
0 Kudos
jblack199
Level 7

Re: BrightScript documentation?

@renojim i've already showed my boss this thread... nothing has come of that, and he actually agrees with the lack of documentation...

@kc8pql the only thing my boss would find a new developer for, would be to make this roku channel... No real harm there...

Now on with the real questions, since now I've got my boss' roku here at my house so that I can try and learn through trial and error but i'm having one little issue with even getting started....

I hooked my roku up via wired internet directly to my router (roku is on my hdtv which doubles as a computer screen)... I run the connection wizard, and it connects just fine... I run to 192.168.1.1 and login and check to ensure it's coming up.. and it does.. it shows me the address: 192.168.1.128 (same address shown in the roku player itself)

So according to the DeveloperGuide.pdf, section 7.2 if i go to http://192.168.1.128 in my browser it should take me to a page with an upload screen... However all i get is the 'Firefox can't establish a connection to the server at 192.168.1.128' message in the window.... So, what would be blocking that from happening?

There are no security settings in roku screens that I can see that could block the incoming connection. Perhaps it's a port forwarding issue?

edit: figured that one out... didn't go through the step in 7.1 to enable the development mode.
0 Kudos
MultiQs
Level 7

Re: BrightScript documentation?

Wow....
0 Kudos