If you think I’ve been quiet for a while, it’s because I’ve been busy rewriting the controller. Almost done. In fact, I think I’ve got it back to the functionality that it had before. Have a look:
The reason for this all is primarily to decouple the machine size from the display size. It was previously fixed at 1mm = 1 pixel, which is fine for people with small machines and big screens, but not really for anyone else. So the major innovation here is a zoomable / draggable machine. Use the scroll wheel or pgup / pgdn to zoom, and middle button drag (or arrow keys) to move the machine around. This changable machine, alongside the buttons panel that adjusts to the screen size means this will even squeeze onto little diddy screens like netbooks.
While I was getting my drag on, I also changed the select topleft/botright to be a plain drag to select. Row size is now grid size, and there’s a number spinner thing to change it with the mouse.
I’ve used the ControlP5 GUI library to make it easier to write and script, and it’s really good, I’m impressed. The downside to this is that you need to download that library and put it into your Processing libraries folder. I might start making a binaries distribution of this, for this reason.
This code is currently in a branch in SVN called polargraphcontroller_zoom and you’ll notice it’s now a bunch of files, not just one. You need them all. There’s been a fair bit of extra code written to support these new features, and splitting them up this way makes it much easier to read and maintain, given the limitations of the Processing IDE.
I’m holding off merging the branch into the development trunk until I’ve got the SVG importing cracked. Now I’ve got straight lines working nicely, SVG is worth doing. Oh, that and support for multiple properties files with a save as/load feature.
If you have a chance, please have a shot with this new code, see what you think and let me know if there’s things that it get’s wrong – particularly if you’re using a huge machine, or a tiny screen. Your regular polargraph properties file should work in it.