EnTerr wrote:RokuJoel wrote:... The Eclipse plugin, if you can get it working, is a major improvement in many ways though:
Right, "if you can get it working" . Its dependence to particular version of Eclipse and general fragility have dissuaded me from touching it with a 10-foot pole. It's a systemic problem - complex systems break in complex ways - and i don't want to spend most of my time chasing peripheral problems (like crummy IDE module dependencies) from becoming central (breaking development).
belltown wrote:For the Windows, non-Eclipse-using, Roku developers, I've put together a Windows Roku Debugger client that supports line-editing, command history, and Unicode debugger output. It's a Python 3.5 program, roky.py.
You can get roky.py from https://github.com/belltown/roky There's documentation at http://belltown-roku.appspot.com/roky.html and on GitHub.
Hopefully, some of you may find it useful. If anything, it gave me an excuse to start learning Python. I may look into developing a better GUI implementation later that can handle multiple tabs with a debug session in each tab.
from ctypes.wintypes import BOOL, UINT, ULONG, WCHAR, HANDLE, SHORT, DWORD
from Win32 import GetFileType, GetStdHandle, WriteConsoleW, GetConsoleMode, GetCurrentConsoleFontEx, SetCurrentConsoleFontEx
renojim wrote:I realized you're using the Windows console somehow and command recall is already built in. Just type a few characters of the command you want to recall and press F8.
belltown wrote:My graphical interface to the Roku Debugger is now available for public use. It's called PurpleBug. You can find it here: http://belltown-roku.tk/PurpleBug
Hopefully, Windows users will find it useful. Just click the "Install PurpleBug" button to download the installer. Be advised that it may not install if your anti-virus protection is turned on. You may need to disable anti-virus protection before you run the installer. The same applies whenever a new update is to be installed. Apart from that, let me know if you have any problems with it.
PurpleBug features multiple tabs allowing multiple simultaneous debug sessions to different Rokus and ports. There's a drop-down menu for the Roku ports in case you forget which port the screensaver runs on, for example. The Rokus on your network should be discovered automatically, so you don't have to type in the IP address each time; just click the device you want to debug. In the command window, the up/down keys can be used to cycle through your command history. The tab key can be used to cycle through commands starting with characters already typed on the command line. You can also define 10 shortcuts for commonly used debugging commands. The Rokus' output windows have an unlimited size and can also be logged to a file. You can choose whether or not the output windows scroll automatically, and whether or not line wrapping is enabled. There are also Clear Screen and Clear Line keys.
TheEndless wrote:Brilliant! Thanks, belltown! For some reason, it wasn't able to discover any of my Rokus automatically, but manually typing in the IP address worked fine. Any chance of adding support for specifying the font and size and/or sharing the source code, so we can extend the functionality ourselves?
string ssdpRequestString = "M-SEARCH * HTTP/1.1\r\n" +
belltown wrote:Not sure why it couldn't discover your Rokus. I'm sending out the following SSDP Discovery request
EnTerr wrote:belltown wrote:Not sure why it couldn't discover your Rokus. I'm sending out the following SSDP Discovery request
You are sending/listening over UDP i hope?
Sorry, don't mean to offend but just noticed the ECP doc says "using the http protocol to 18.104.22.168 port 1900" which is... well, arguably wrong. But misleading for sure, since SSDP is not HTTP per se, it's HTTPU (http-like over UDP). Also, put space after the colon (key: value)