One control to rule them all

Jul 11, 2010 at 8:12am

One control to rule them all

Hello there, I’m trying to build a control system so I can switch one set of dials between a number of zones, for example one set of controls that is switchable between x oscillators (or whatever)

I’m guessing that this has maybe been done already or can be achieved in a much simpler way as it seems like a fairly useful thing to do!

I currently have one dial and a tab object. Tab chooses control ‘zone’ 1-8. Ideally, when you change this value, it should recall the parameter for that zone and assign it to the dial before the stored parameter can be replaced.

However I cant seem to get it to work. Anyone any ideas please??

I’ve attached both files… Thanks a lot!

#51313
Jul 11, 2010 at 12:26pm

You have an [append $1] in your patch which is throwing errors. Take a look at the patch below and see if it helps.

lh

– Pasted Max Patch, click to expand. –
#183999
Jul 11, 2010 at 2:35pm

 
for things like that i would use dynamic gates of forward/receive pairs with
names ending on ints, and put a [+ ] in the name formatting path.

then you can control targets 25-48 from your 24 sliders interface by adding
int 24 to the [forward] names.

#184000
Jul 12, 2010 at 5:18am

You can also have multiple dials atop each other (one layer for each zone) and use the [tab] to bring the current zone dials to the top:

bringtofront [dialscriptingname] message to [thispatcher]

It’s more objects but the appearance is the same, and the layers will of course remember their values as they are unique.

If you name the first dial something like

my_dial[1]

and then alt-drag to copy, they’ll auto-name themselves my_dial[2], etc. Then your message from [tab] (which outputs the numbers 1 to 8 for 8 zones) would go though

sprintf script bringtofront my_dial[%ld]
–> to [thispatcher]

the %ld is replaced by the tab’s output number, you’re done with the whole setup.

It’s good to check out the scripting messages to [thispatcher] anyways if you haven’t, the [thispatcher] help file changed how I do many many things in Max. A very versatile and surprising object to know well… not to mention the many window-control commands, essential for patch-building.

#184001
Jul 13, 2010 at 5:22pm

Thanks a lot for the replies! The learning never stops :)

#184002
Jul 19, 2010 at 6:47am

@ Luke Hall – thanks a lot for that, I knew I almost had it!

@ Roman – excuse my ignorance, but I don’t fully understand what you are mean by “dynamic gates of forward/receive pairs”. Could you perhaps upload a basic patch if you had a second?

@ seejayjames – Ye thats something I never really looked into! I am sure there are all kind of handy things that can be done from there.

Thanks once again for all the replies.

#184003
Jul 19, 2010 at 2:17pm

just use forward and receive to build a gate in order to reach different targets:

dial – [forward]

[receive] – DSP 1
[receive] – DSP 2

sorry for the cryptic description :) see the abstractions´ helpfile maybe.

one of the rare cases where i use sends instead of connections.

#184004
Jul 19, 2010 at 2:23pm

   

Attachments:
  1. forum_dynsend.zip
#184005
Jul 25, 2010 at 2:52am

oh je, i uploaded from the wrong computer, these abstractions do not work correctly.

please replace the “#2″ with “s” in both files and they will do what they should!

-110

#184007
Jul 30, 2010 at 1:14am

Cool, thanks a lot! Will check them out now

#184009

You must be logged in to reply to this topic.