Zooming and Navigation

dwskau's picture

I was wondering whether other people find themselves frustrated with the navigation tools built in to QC. In general I have found the built in zoom and navigation tools to be woefully inadequate and one of the biggest time sinks for me when I am editing compositions.

Some 3D modeling applications have a "Zoom Window" tool. This tool causes the workspace to zoom to a rectangular area selected by a click drag operation. When composition workspaces get huge like in the attached image this could be a great time saver as panning around gets laggy on slower machines. Another useful feature would be zoom to selection or even just making the zoom in button center on the selection instead of the window center.

If any of this is possible, KinemeCore might be the most appropriate place for it.

Picture 2.png
Picture 2.png1.8 MB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

cwright's picture

Can you describe how you'd have the interface work?

(i.e. would there be keyboard shortcuts? what exactly would they do, etc etc). your description of centering/zooming on selection is pretty obvious, but I don't know the tools as well to know how they're interfaced to humans.

I agree, if there's a way to make it work (I'm sure there is -- the recent KinemeCore hacking revealed some more editor information to make it accessible), it belongs in KinemeCore.

psonice's picture
Learn to divide things up?

I'd say if you have things like this, there's almost always a good way to split things up into macros. Sometimes it takes a bit of planning, but it's usually possible and once you have a good structure it's pretty fast to find your way around. Some examples I've had to deal with:

  • A filter that combined 640 separate images into one. I split it into macros, with groups of 8 input images handled in one macro. I then handled 8 of these macros in a bigger macro, for 64 images. Then 10 of these to combine the final image. Each input had a fair bit of processing attached, so it was a massive amount of patches in the end, but very easy to handle because of the structure.

  • Handling keyboard input from the keyboard patch. Full text input: 26 letters, plus another 26 in capitals, plus numbers, plus a lot of symbols, all fed into a javascript patch. Probably around 100 inputs in total. I split it into lots of macros, each having a keyboard patch with 10 outputs and a javascript patch. The JS would combine the inputs and output a string. The outputs of the macros were combined in the main JS patch, that handled all the input.

kristopf's picture
I've found any time you have

I've found any time you have more than about 200 patch cables on the current level of the composition, performance suffers greatly, and ram usage goes through the roof. I suspect this is because path cables are drawn using images, instead of just a vector path.

I second what was already said about diving this up further, and I'll add this: Any time you have more than about a dozen inputs or outputs to a macropatch, you should consider using a structure, it can make everything a little clearer.

usefuldesign.au's picture
KinemeCore Additions

One zoom/pan keystroke combination familiar to many is the Adobe set of spacebar/cmd key/option-key.

Spacebar to pan (which already exists in QC) cmd-key to zoom-in (click or draw a box) cmd-opt-keys to zoom-out (click or draw a box which is somehow inverse-multiplied for a wider view). The pan is live the zoom is modal I guess you'd call it.

another zoom/pan keystroke method used by 3D apps is key-modifiers which immediately transfer the x-y mouse co-ordinates into dynamically changing x-y/z values of workspace window for live-pan/zoom (relevant to QC) or x-z/y-z for live-spinning the workspace (not-relevant to QC).

also would be neat if option clicking on a noodle attached to an input node would make a floating copy of the noodle which could be attached to another input node. Very useful when the start node (an output) is offscreen and you want to repeat it's use. Eg have a long noodle to the X value and want to repeat its use in the Y value, saves panning back to the source node and dragging out.

option drag on a patch already duplicates it. Shift-Otp-Drag to duplicate with the noodles attached (also duplicated)? would this be possible?

dwskau's picture

Most of the programs I use that have a zoom to window or zoom to selection have a console for entering commands. z enter e zooms to the extents, z enter s zooms to the selection z enter w zooms enters the window selection behavior so you can click drag the area to zoom to. In SketchUp Zoom Window is command+] and Zoom Extents is command+[. If you wanted to see an example of zoom window behavior SketchUp would be a good place to look. The tools are menu items under the Camera menu.

Zoom extents + zoom window is an incredibly powerful combination. You can zoom out to see everything in the workspace and then zoom right back in to somewhere on the opposite side of the workspace. Only two redraws for the computer and you are on the opposite side of a potentially huge workspace exactly where you wanted to be. It sure beats panning slowly across a huge composition. It would also be great if during this process the noodle you picked up could be held temporarily.

dwskau's picture
Mouse Centered Zoom

Mouse centered zooming would also be a great addition, especially if you could zoom with the scroll wheel and a modifier key like in any of the Adobe Suite.

dwskau's picture
Dividing Things Up

You are definitely right about dividing things up. That particular file is already divided up a lot but that one level just keeps growing (probably because I don't know how to use structures well). There are 528 different data records coming in from an awkwardly organized structure... Really I just need to figure out structures better so I can reorganize how all that information gets distributed.

dwskau's picture
Re: Zooming and Navigation

Just found out one of the features I wanted is already there. "Option+Command+=" zooms to fit the selection. Pressing option while the Editor menu is out reveals the shortcut.