Forums > MaxMSP

sharing data

April 2, 2007 | 5:53 pm

hi – is there a way to share data between identical objects in seperate sub patches without using pattr? say for instance i were to create a patch with one slider object in it and then replicate the patch ten times in seperate sub patches, what would be the most effective way to handle ‘wireless’ communication with just one of the patches?
what i want to do is have one universal sequencer object that sends its control information to multiple different places exclusively – so rather than call up the individual subpatch and input the pattern i would be doing it all on one object and then sending the toggle/slider/flonum etc etc etc. data to one particular, but indentical object wirelessly.. even better would be if anyone could suggest a way of doing it in which that the universal object acts as a virtual ‘control’, so any changes to data would be immedietly sent to a pre-chosen destination..
any ideas? thanks


April 2, 2007 | 6:45 pm

I haven’t done much with this, but I believe (correct me if I’m wrong)
that vade has some stuff for that. Unique identifiers for each
instance, etc. I’m sure others have similar abstractions, externals,
but I’m not at my computer right now.

Keith

On 4/2/07, ol

wrote:
>
> hi – is there a way to share data between identical objects in seperate sub patches without using pattr? say for instance i were to create a patch with one slider object in it and then replicate the patch ten times in seperate sub patches, what would be the most effective way to handle ‘wireless’ communication with just one of the patches?
> what i want to do is have one universal sequencer object that sends its control information to multiple different places exclusively – so rather than call up the individual subpatch and input the pattern i would be doing it all on one object and then sending the toggle/slider/flonum etc etc etc. data to one particular, but indentical object wirelessly.. even better would be if anyone could suggest a way of doing it in which that the universal object acts as a virtual ‘control’, so any changes to data would be immedietly sent to a pre-chosen destination..
> any ideas? thanks
>



jln
April 2, 2007 | 7:02 pm


April 2, 2007 | 7:28 pm

On 2 Apr 2007, at 19:45, keith manlove wrote:

> I haven’t done much with this, but I believe (correct me if I’m wrong)
> that vade has some stuff for that.

I’m of the overkill school of thought when it comes to data sharing
in Max: I use relational databases. But that’s probably just me.

– N.


April 2, 2007 | 8:11 pm

Nick Rothwell wrote:
>
> On 2 Apr 2007, at 19:45, keith manlove wrote:
>> I haven’t done much with this, but I believe (correct me if I’m wrong)
>> that vade has some stuff for that.
>
> I’m of the overkill school of thought when it comes to data sharing in
> Max: I use relational databases. But that’s probably just me.

Relational databases are scrutinized and optimized to a degree that the
average Max patch data-sharing scheme never will be. They’ll scale
predictably. External databases allow all sorts of interesting
possibilities for data manipulation.

Sure, it’s overkill – no doubt about that. I don’t store nearly as much
data for Max as I do with my mail client, and credible arguments have
been made against using databases there. (Only 15952 messages in my
"music" archive folder.) But I’ve been very happy to follow your
progress facilitating Max-database communication because I have a severe
aversion to ugly surprises in the end stage of large projects.

I am willing to trade some constant predictable overhead for the healthy
future of my sanity.


April 2, 2007 | 8:22 pm

On 2 Apr 2007, at 21:11, dlurk wrote:

> But I’ve been very happy to follow your progress facilitating Max-
> database communication because I have a severe aversion to ugly
> surprises in the end stage of large projects.

There is that, yes.

I also recently had a Max/MSP based installation which needed to run
calculations from a block of legacy code written in C, and I didn’t
have time to refactor it into an external object, so I just dug out a
spare Mini-ITX computer, bunged Linux on it, installed MySQL, and
populated the database via a Perl file scraper. Max/MSP on a Mac mini
then trawled the database via MXJ.

OSC is for wussies. Real programmers network their applications with
JDBC.

Nick Rothwell / Cassiel.com Limited
http://www.cassiel.com
http://www.myspace.com/cassieldotcom
http://www.loadbang.net


April 2, 2007 | 8:37 pm

On 2 Apr 2007, at 21:22, Nick Rothwell wrote:

> OSC is for wussies. Real programmers network their applications
> with JDBC.
>
Oh Nick, you are a devil!! ;-)>

L

Lawrence Casserley – lawrence@lcasserley.co.uk
Lawrence Electronic Operations – http://www.lcasserley.co.uk
Colourscape Music Festivals – http://www.colourscape.org.uk


April 2, 2007 | 8:49 pm

On 2 Apr 2007, at 21:37, lawrence casserley wrote:

>> OSC is for wussies. Real programmers network their applications
>> with JDBC.
>>
> Oh Nick, you are a devil!! ;-)>

Actually, my current toy is DataSynapse GridServer. It’s big in the
financial institutions but I reckon an MXJ library for it would be
possible, should one want to do realtime synthesis with several
thousand servers at once.

(I guess it would have to be additive.)

Nick Rothwell / Cassiel.com Limited
http://www.cassiel.com
http://www.myspace.com/cassieldotcom
http://www.loadbang.net



_j
April 2, 2007 | 9:57 pm

you can share things using coll…. if you put a 1 as the second argument you won’t get file not found errors. so make a

coll shared 1

and put that exact name in each coll in whichever subpatch joo need.


April 4, 2007 | 2:17 pm

Nick Rothwell schrieb:
> OSC is for wussies. Real programmers network their applications with JDBC.

Love that…
I always had the feeling better to jump from Midi to something superior
than OSC… ;-)

Instead of twirking my head with object oriented confusion, get into
data based programming… ;-)

Your work is encouraging…

All statements without knowing what we are talking about… ;-)

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


April 4, 2007 | 2:17 pm

Nick Rothwell schrieb:
> (I guess it would have to be additive.)

like Hedge fonds…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


April 4, 2007 | 2:41 pm

ol schrieb:
> hi – is there a way to share data between identical objects in
> seperate sub patches without using pattr?

Is there a specific reason why you would not want pattr? It would be the
easiest and clearest…

Else you could do this…

#P button 89 270 15 0;
#P window setfont "Sans Serif" 9.;
#P window linecount 1;
#P newex 77 68 31 196617 == 0;
#P newex 49 270 38 196617 gate;
#P newex 77 93 43 196617 gate;
#P newex 77 44 50 196617 active;
#P newex 110 68 63 196617 r myfaders;
#P newex 49 295 62 196617 s myfaders;
#P user uslider 77 117 18 128 128 1 0 0;
#N vpatcher 595 323 894 740;
#P button 143 259 15 0;
#P window setfont "Sans Serif" 9.;
#P newex 131 57 31 196617 == 0;
#P newex 103 259 38 196617 gate;
#P newex 131 82 43 196617 gate 1 1;
#P newex 131 33 50 196617 active;
#P newex 164 57 63 196617 r myfaders;
#P newex 103 284 62 196617 s myfaders;
#P user uslider 131 106 18 128 128 1 0 0;
#P fasten 3 0 5 0 136 53 108 53;
#P connect 5 0 1 0;
#P connect 3 0 6 0;
#P connect 6 0 4 0;
#P connect 4 0 0 0;
#P connect 0 0 5 1;
#P connect 0 0 7 0;
#P connect 2 0 4 1;
#P pop 1;
#P newobj 168 162 80 196617 p Faderpatcher2;
#N vpatcher 291 322 590 739;
#P button 150 266 15 0;
#P window setfont "Sans Serif" 9.;
#P newex 138 64 31 196617 == 0;
#P newex 110 266 38 196617 gate;
#P newex 138 89 43 196617 gate 1 1;
#P newex 138 40 50 196617 active;
#P newex 171 64 63 196617 r myfaders;
#P newex 110 291 62 196617 s myfaders;
#P user uslider 138 113 18 128 128 1 0 0;
#P fasten 3 0 5 0 143 60 115 60;
#P connect 5 0 1 0;
#P connect 3 0 6 0;
#P connect 6 0 4 0;
#P connect 4 0 0 0;
#P connect 0 0 5 1;
#P connect 0 0 7 0;
#P connect 2 0 4 1;
#P pop 1;
#P newobj 168 130 80 196617 p Faderpatcher1;
#P connect 6 0 2 0;
#P connect 4 0 6 1;
#P connect 8 0 6 0;
#P connect 7 0 3 0;
#P connect 2 0 9 0;
#P connect 2 0 7 1;
#P connect 5 0 8 0;
#P fasten 5 0 7 0 82 64 54 64;
#P window clipboard copycount 10;


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


April 4, 2007 | 6:04 pm

ol schrieb:
> hi – is there a way to share data between identical objects in
> seperate sub patches without using pattr?

Forget the patch I just sent, this is better and easier…
(need more sleep… ;-)

#P window setfont "Sans Serif" 9.;
#P window linecount 2;
#P comment 320 246 68 196617 don’t connect directly….;
#P number 335 220 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 411 71 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#N vpatcher 10 59 610 459;
#P outlet 117 196 15 0;
#P window setfont "Sans Serif" 9.;
#P newex 51 173 63 196617 prepend set;
#P newex 51 149 63 196617 r myfaders;
#P newex 51 126 62 196617 s myfaders;
#P inlet 51 106 15 0;
#P outlet 51 195 15 0;
#P connect 1 0 2 0;
#P connect 3 0 4 0;
#P connect 4 0 0 0;
#P fasten 3 0 5 0 56 169 122 169;
#P pop;
#P newobj 335 42 86 196617 p share myfaders;
#P user uslider 335 64 18 128 128 1 0 0;
#P window linecount 2;
#P comment 396 94 68 196617 part which is controlled;
#P comment 29 242 68 196617 don’t connect directly….;
#P number 44 216 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 120 67 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#N vpatcher 10 59 610 459;
#P outlet 117 196 15 0;
#P window setfont "Sans Serif" 9.;
#P newex 51 173 63 196617 prepend set;
#P newex 51 149 63 196617 r myfaders;
#P newex 51 126 62 196617 s myfaders;
#P inlet 51 106 15 0;
#P outlet 51 195 15 0;
#P connect 1 0 2 0;
#P connect 3 0 4 0;
#P connect 4 0 0 0;
#P fasten 3 0 5 0 56 169 122 169;
#P pop;
#P newobj 44 38 86 196617 p share myfaders;
#P user uslider 44 60 18 128 128 1 0 0;
#N vpatcher 511 435 724 735;
#P window setfont "Sans Serif" 9.;
#P comment 20 238 68 196617 don’t connect directly….;
#P number 35 212 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 111 63 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#N vpatcher 10 59 610 459;
#P outlet 117 196 15 0;
#P window setfont "Sans Serif" 9.;
#P newex 51 173 63 196617 prepend set;
#P newex 51 149 63 196617 r myfaders;
#P newex 51 126 62 196617 s myfaders;
#P inlet 51 106 15 0;
#P outlet 51 195 15 0;
#P connect 1 0 2 0;
#P connect 3 0 4 0;
#P connect 4 0 0 0;
#P fasten 3 0 5 0 56 169 122 169;
#P pop;
#P newobj 35 34 86 196617 p share myfaders;
#P user uslider 35 56 18 128 128 1 0 0;
#P window linecount 2;
#P comment 96 86 68 196617 part which is controlled;
#P fasten 1 0 2 0 40 206 28 206 28 25 40 25;
#P connect 2 0 1 0;
#P connect 1 0 4 0;
#P connect 2 1 3 0;
#P pop 1;
#P newobj 193 150 80 196617 p Faderpatcher2;
#N vpatcher 296 435 509 733;
#P window setfont "Sans Serif" 9.;
#P comment 22 234 68 196617 don’t connect directly….;
#P number 37 208 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 113 59 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#N vpatcher 10 59 610 459;
#P outlet 117 196 15 0;
#P window setfont "Sans Serif" 9.;
#P newex 51 173 63 196617 prepend set;
#P newex 51 149 63 196617 r myfaders;
#P newex 51 126 62 196617 s myfaders;
#P inlet 51 106 15 0;
#P outlet 51 195 15 0;
#P connect 1 0 2 0;
#P connect 3 0 4 0;
#P connect 4 0 0 0;
#P fasten 3 0 5 0 56 169 122 169;
#P pop;
#P newobj 37 30 86 196617 p share myfaders;
#P user uslider 37 52 18 128 128 1 0 0;
#P window linecount 2;
#P comment 98 82 68 196617 part which is controlled;
#P fasten 1 0 2 0 42 202 30 202 30 21 42 21;
#P connect 2 0 1 0;
#P connect 1 0 4 0;
#P connect 2 1 3 0;
#P pop 1;
#P newobj 193 118 80 196617 p Faderpatcher1;
#P window linecount 2;
#P comment 105 90 68 196617 part which is controlled;
#P fasten 3 0 4 0 49 210 37 210 37 29 49 29;
#P connect 4 0 3 0;
#P connect 3 0 6 0;
#P connect 4 1 5 0;
#P fasten 9 0 10 0 340 214 328 214 328 33 340 33;
#P connect 10 0 9 0;
#P connect 9 0 12 0;
#P connect 10 1 11 0;
#P window clipboard copycount 14;


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com


April 6, 2007 | 11:23 am

On 4 Apr 2007, at 15:17, Stefan Tiedje wrote:

> Instead of twirking my head with object oriented confusion, get
> into data based programming… ;-)

Try iBATIS or Hibernate: you get to do both at the same time…

Nick Rothwell / Cassiel.com Limited
http://www.cassiel.com
http://www.myspace.com/cassieldotcom
http://www.loadbang.net


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