Forums > MaxMSP

[Feature Request] Move object to Patching/Presentation coordinates

April 2, 2011 | 8:37 pm

Many times when I am building a patcher, I will copy a bunch of items to make multiple copies of a controller or function, etc. and then move them to a new position. If I am in patching mode, I then need to switch over to presentation mode and reposition everything, and if in presentation mode, switch back to patching mode. A lot of the time, I have things positioned in the same layout in both views. It would be really nice to be able to select a bunch of objects in one mode and tell them to all move to the coordinates from the other mode. If its just a couple of items, I can manually do that by copying and pasting the coordinates in the inspector. I’m just thinking it would be nice to do that on more of a large scale. Thanks for considering it!


April 3, 2011 | 7:45 am

This may be a crude fix, but I have found that if you select all the objects, open the inspector, then untick and retick the include in presentation mode box, they default to the same coordinates as patching mode. Hope this helps.



pid
April 3, 2011 | 9:13 am

workaround: instead of alt-click-drag to copy or cmnd-c cmnd-v paste, you should use cmnd-D [duplicate] shortcut whilst in patching mode – this retains the presentation mode positions when you switch back to that layer regardless of what you then do with the patching layer.


April 3, 2011 | 6:07 pm

I do use Cmd-D, that’s the problem. Cmd-D offsets them a bit from the original in whichever mode (patching/presentation), so I then move them to the new location and then have to do the same thing in the other mode. I admit, I’m being a bit whiny, but it is something I run into quite frequently.


April 3, 2011 | 9:20 pm

Drop this javascript into your patch which will copy the patching co-ordinates across to the presentation view of any objects you have highlighted with the mouse whenever you send it a bang (use [key] to grab the spacebar for example). You could even set up a system that keeps the object active while you patch in a similar way to the max toolbox, so you don’t have to instantiate the object in every patch you start.

var sel = [];

function bang() {
    sel = [];
    this.patcher.apply(iter);
    for (i=0; i

April 3, 2011 | 10:27 pm

Very nice, Luke! Thanks!


Viewing 6 posts - 1 through 6 (of 6 total)