So, I did a preliminary build. I’m using Microsoft Visual Studio Express 2013 for Windows Desktop.
And the source files from Sourceforge.
I started with these instructions for building the executable from source in Visual Studio.
I didn’t get the errors he mentioned, but I did get three errors, which can be fixed (at least for building purposes) with changes to JMixerObj.h in the modules folder. Add the line:
static void** hMixer; |
Also in JMixerObj.h the following three lines need to be commented out because
the procedures referenced do not exist in the .cpp file.
// virtual JArray getDeviceTag(); // virtual JArray getProperties(); // virtual boolean updateProperty(JProperty& prop); |
So, yay, it compiles. But there is a problem (probably several) illustrated below. The Toolbox windows don’t resize well. They should resize to any shape and then wrap all the modules to the space. This seems to be switching between two values very quickly making resizing impossible. You can generally get it to a shape that let’s you pull out the modules, but it doesn’t seem to let you resize the window to encompass all the modules, which you should be able to do. Any thoughts?
Now that I see what you’re talking about, I think I may understand a little of what’s happening. As you resize toolbox window, the window is trying to minimize itself to contain and rearrange the objects in the toolbox as close as possible to the shape of the new frame. If the frame is too small, elevators are added. I suspect that this is happening much faster now that it used to. Consequently, the redrawing process in the past was smoother. My rebuild from a couple of years ago shows similar behavior. There may be a a way to modify the call that’s used to orchestrate this frame drag that can slow it down or otherwise moderate this behavior.
JModuleCanvas.cpp may be a good jumping off point for investigating this behavior:
oid JModuleCanvas::paint(JGraphics g) {
if (!width || !pmodule) return;
JModuleObj *obj = (JModuleObj*)(pmodule->clone());
JRect rect = g.getClipJRect();
JRegion rgn(rect);
g.setJColor(getBackground());
g.fillJRect(rect);
obj->height = obj->width*height/width;
obj->paint(g, -obj->x, -obj->y,
rgn, ((double)width)/obj->width);
obj->reset();
delete obj;
A lot of stuff in JModuleObj. Looking at it, though, I’m not sure these JModule* files govern toolboxes or just individual module blocks.
Maybe JView is a better bet.
It would be nice to see more comments in the code.
Nope. JView2