Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
malloys
Visitor

Re: Eclipse plugin for Brightscript Beta

"MidnightJava" wrote:
... Are you sure that roku sends NOTIFY messages continuously every minute?


Yes, for the 2 units I own ( pre Roku 2, running firmware version 2.8 ), I see NOTIFY messages from both boxes every minute or so.
And... According to the External Control Guide doc in the SDK (up to and including the 3.0 version of the doc), that's expected:
"... we multicast NOTIFY messages periodically (currently once per minute, but this may change)."

So, you've most likely got something in/on your network that prevents you from seeing the multicast broadcast NOTIFY messages.
Could be your router (not forwarding multicast traffic) or something filtering in-bound multicast traffic on your computer's network adapter.

FWIW, I've personally experienced one specific VPN configuration that un-intentionally filtered/blocked *all* multicast traffic (and therefore the Roku boxen's SSDP NOTIFY messages). The VPN sysadmin's intention was to prevent multicast traffic from traversing in and out of his network, but the VPN software (or possibly just a misconfiguration) was filtering out multicast traffic even from local subnet to local subnet. The moment I disconnected from that particular VPN, I started seeing the Roku SSDP NOTIFY messages again.
0 Kudos
TheEndless
Channel Surfer

Re: Eclipse plugin for Brightscript Beta

Not intending to hijack, but feel free to direct me elsewhere if I am...

With Eclipse, is there any way to open a project instead of a workspace? I have two different machines I regularly develop on, so my source is all stored on a network share. I'm able to mount the share on my laptop, but I get a "workspace is in use" error everytime I try to open it. It'd be much easier to either open a project, or be able to use a file system browser directly in Eclipse. I tried the Remote System Explorer plugin, but that complained about a missing daemon running on the server hosting the share. I suppose I could figure out what daemon is missing and install it, but that seems like overkill when I can browse and open the individual files directly via the mounted share. Am I missing something obvious?

I really want a unified development/build environment across machines, and this Eclipse plugin seems like exactly what can provide that (one's a PC, the other's a Mac), but every time I try to use it, I run into some new little annoyance that my OCD refuses to allow me to workaround.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
smlsr
Visitor

Re: Eclipse plugin for Brightscript Beta

All projects are associated to a WORKSPACE. Where data is saved, and is also attributed with user info.

Look at VisualSVN (free SVN Server), takes 5 minutes to setup.

Will alleviate 100% of problems.
0 Kudos
TheEndless
Channel Surfer

Re: Eclipse plugin for Brightscript Beta

"smlsr" wrote:
All projects are associated to a WORKSPACE. Where data is saved, and is also attributed with user info.

Look at VisualSVN (free SVN Server), takes 5 minutes to setup.

Will alleviate 100% of problems.

That's a far too logical solution...
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
malloys
Visitor

Re: Eclipse plugin for Brightscript Beta

"smlsr" wrote:
All projects are associated to a WORKSPACE. Where data is saved, and is also attributed with user info.

Look at VisualSVN (free SVN Server), takes 5 minutes to setup.

Will alleviate 100% of problems.


Exactly so.
More generally...
Endless, by definition (multiple machines coherently accessing the same codebase), what you want is some form of source code management system, and have Eclipse be able to interact with it as seamlessly as possible.

Fortunately, Eclipse has general SCM support built into it's framework, and there are a wide variety of Eclipse plugins available for accessing just about any SCM out there.
smlr mentions a nice and easy Subversion variant, but there are eclipse plugins for plenty of others if you don't like SVN - Pretty much all the major SCMs can be used - CVS, Git, Mercurial, P4, ClearCase, VSS, etc.
0 Kudos
TheEndless
Channel Surfer

Re: Eclipse plugin for Brightscript Beta

"malloys" wrote:
"smlsr" wrote:
All projects are associated to a WORKSPACE. Where data is saved, and is also attributed with user info.

Look at VisualSVN (free SVN Server), takes 5 minutes to setup.

Will alleviate 100% of problems.


Exactly so.
More generally...
Endless, by definition (multiple machines coherently accessing the same codebase), what you want is some form of source code management system, and have Eclipse be able to interact with it as seamlessly as possible.

Fortunately, Eclipse has general SCM support built into it's framework, and there are a wide variety of Eclipse plugins available for accessing just about any SCM out there.
smlr mentions a nice and easy Subversion variant, but there are eclipse plugins for plenty of others if you don't like SVN - Pretty much all the major SCMs can be used - CVS, Git, Mercurial, P4, ClearCase, VSS, etc.

I actually already use SVN for some other dev I do. I just never set it up for my Roku projects. Pretty silly, really, but mostly because it's the only one I don't use a real IDE for. I'm honestly not sure why I didn't consider it, other than the fact that I don't need concurrent access to the files, so there's no overlap that would require local copies, and it requires diligence in committing changes before moving to the other machine (one's in my office, the other is my laptop downstairs). I already have trouble remembering to disconnect the telnet session before changing machines.. 😛 (it'd be really nice if a new telnet session would kill an existing one, instead of hanging indefinitely)
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
MidnightJava
Visitor

Re: Eclipse plugin for Brightscript Beta

"TheEndless" wrote:
Not intending to hijack, but feel free to direct me elsewhere if I am...

I really want a unified development/build environment across machines, and this Eclipse plugin seems like exactly what can provide that (one's a PC, the other's a Mac), but every time I try to use it, I run into some new little annoyance that my OCD refuses to allow me to workaround.


I concur with the others who've recommended some sort of SCM (I use SVN and GIT). And furthermore if you would like to work with a single instance of the checked out software in multiple workspaces, Eclipse supports that also. For example, If you want to run the same code with different target environments or workspace settings, or if you want each workspace to have a different subset of your codebase, it will be much less confusing if you keep all your code in one place, and have each workspace point to the projects desired for that workspace.

To do this, check out the code from your SCM server into some location, presumably on your share drive. Then open Eclipse and create an empty workspace somewhere. From the file menu, select Import->Existing Projects into the workspace (under the General category). Uncheck the "Copy project into workspace" button, assuming you don't want to have two copies of your files. Now the projects themselves will be on the share drive, but your workspace will exist where you created it. You'll just have a .metadata folde there, which eclipse uses to lock your workspace, keep track of what you're doing, and maintain workspace preferences. Any changes you make to your projects will occur on the server, since that's where the files are. Whenever you switch workspaces, you must refresh all resources, to make Eclipse aware of changes you made from the other workspace.

If you don't want to implement an SCM solution, you can still do what I describe above. You just won't have the benefits of SCM (conflict resolution when two people make changes to the same file contents, history of every change you make, etc.). You do get a rudimentary SCM free with Eclipse, called Local History. It doesn't do conflict resolution, but it keeps track of every version of every file you change. You can specify options for it in Preferences->General->Workspace, and you access it from the right-click menu for any file resource (i.e. Replace with..., Compare with...).
0 Kudos
TheEndless
Channel Surfer

Re: Eclipse plugin for Brightscript Beta

"MidnightJava" wrote:
To do this, check out the code from your SCM server into some location, presumably on your share drive. Then open Eclipse and create an empty workspace somewhere. From the file menu, select Import->Existing Projects into the workspace (under the General category). Uncheck the "Copy project into workspace" button, assuming you don't want to have two copies of your files. Now the projects themselves will be on the share drive, but your workspace will exist where you created it. You'll just have a .metadata folde there, which eclipse uses to lock your workspace, keep track of what you're doing, and maintain workspace preferences. Any changes you make to your projects will occur on the server, since that's where the files are. Whenever you switch workspaces, you must refresh all resources, to make Eclipse aware of changes you made from the other workspace.

This is exactly what I am looking for! I already have all of my code automatically synced to cloud backup, so corruption isn't really a concern, and I'm the only one who works with the code, so concurrent edits/conflicts aren't either, but I might get it all into SVN anyway just for redundancy, branching, and the ability to rollback changes if necessary.

Thanks for all the help folks, and sorry for the mini-hijack!
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
maihde
Visitor

Re: Eclipse plugin for Brightscript Beta

Is there any possibility that the source code for the Eclipse Plugin be made available under some form of license? As a roku developer and an Eclipse developer, I would love to help fix bugs and enhance the development tools (prior to this beta release I had already started to attempt my own Eclipse tooling). Unlike the roku firmware itself, where a strong argument could be made for keeping the source closed for competitive reasons, I don't see how providing open developer tools could do anything but increase the interest in roku and roku development (furthermore, the sources are already easily obtained by using a java decomplier such as jad).

Open or not, I'm looking forward to using the Eclipse tools.
0 Kudos
MidnightJava
Visitor

Re: Eclipse plugin for Brightscript Beta

"malloys" wrote:
"MidnightJava" wrote:
... Are you sure that roku sends NOTIFY messages continuously every minute?


So, you've most likely got something in/on your network that prevents you from seeing the multicast broadcast NOTIFY messages.
Could be your router (not forwarding multicast traffic) or something filtering in-bound multicast traffic on your computer's network adapter.


Just to close the loop on this: Yes it was a network problem. Temporary insanity on the part of my router, blocking some LAN to LAN traffic for no good reason. I rebooted the router, and now I see SSDP NOTIFY messages in Wireshark, and the eclipse console has a telnet connection to the roku box.
0 Kudos