Forums > MaxMSP

Graphical function editor

December 7, 2006 | 10:26 am

Hello there,

I want to program a show in MaxMSP from about 3 minutes. I have to control several things and their timing has to be exact. I’m now using the "fucntion" object for this. If the show is 3 minutes (180000 ms) it not easy to program. (there is no grid on the timeline, only if I click a point I can see it’s values). It’s also handy if I could see at what point in time the show is. Here is a patch which I made but I’m not very satisfied about it.

Is there a better way to do it?

Thijs

max v2;
#N vpatcher 81 32 1116 695;
#P origin 22 0;
#P window setfont "Sans Serif" 9.;
#P hidden message 347 24 28 9109513 clear;
#P message 511 435 58 9109513 clickmove 1;
#P message 453 435 49 9109513 clickadd 1;
#P message 534 254 58 9109513 clickmove 1;
#P message 476 254 49 9109513 clickadd 1;
#P message 568 30 58 9109513 clickmove 1;
#P message 510 30 49 9109513 clickadd 1;
#P hidden toggle 5 140 15 0;
#P hidden number 5 204 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#N counter 60000;
#X flags 0 0;
#P hidden newobj 5 181 66 9109513 counter 60000;
#P hidden newex 5 158 39 9109513 metro 1;
#P user rslider 71 205 848 32 60000 1 0 9;
#P message 408 254 58 9109513 clickmove 0;
#P message 387 435 58 9109513 clickmove 0;
#P message 447 30 58 9109513 clickmove 0;
#P message 350 254 49 9109513 clickadd 0;
#P message 327 435 49 9109513 clickadd 0;
#P message 389 30 49 9109513 clickadd 0;
#P window setfont "Sans Serif" 20.;
#P comment 72 26 264 9109524 STOEL LINKS – RECHTS;
#P comment 74 250 259 9109524 STOEL VOOR – ACHTER;
#P user function 71 460 920 604 0 1 0 0;
#X frgb 75 75 75;
#X brgb 204 204 204;
#X rgb2 85 85 85;
#X rgb3 255 255 255;
#X rgb4 0 0 0;
#X rgb5 0 0 0;
#X domain 60000.;
#X range 0. 120.;
#X done;
#P window setfont "Sans Serif" 9.;
#P number 927 514 28 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 927 490 65 9109513 snapshot~ 40;
#P newex 927 466 31 9109513 line~;
#P user function 71 276 921 415 1 1 0 0;
#X frgb 75 75 75;
#X brgb 204 204 204;
#X rgb2 85 85 85;
#X rgb3 255 255 255;
#X rgb4 0 0 0;
#X rgb5 0 0 0;
#X domain 60000.;
#X range -255. 255.;
#X done;
#P user function 73 56 920 191 1 1 0 0;
#X frgb 75 75 75;
#X brgb 204 204 204;
#X rgb2 85 85 85;
#X rgb3 255 255 255;
#X rgb4 0 0 0;
#X rgb5 0 0 0;
#X domain 60000.;
#X range -255. 255.;
#X done;
#P number 927 332 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 927 308 63 9109513 snapshot~ 40;
#P newex 927 283 27 9109513 line~;
#P number 927 136 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 12 27 38 0;
#P newex 927 112 63 9109513 snapshot~ 40;
#P user ezdac~ 9 77 53 110 0;
#P newex 927 87 27 9109513 line~;
#P window setfont "Sans Serif" 20.;
#P comment 76 432 207 9109524 GELUIDSCYCLUS;
#P hidden connect 4 0 27 0;
#P hidden fasten 25 2 27 0 46 215 72 215 72 128 10 128;
#P hidden connect 27 0 24 0;
#P hidden connect 24 0 25 0;
#P hidden connect 25 0 26 0;
#P hidden connect 26 0 23 0;
#P hidden connect 4 0 10 0;
#P connect 31 0 10 0;
#P connect 30 0 10 0;
#P connect 22 0 10 0;
#P connect 19 0 10 0;
#P hidden connect 34 0 10 0;
#P hidden connect 4 0 14 0;
#P connect 32 0 14 0;
#P connect 33 0 14 0;
#P connect 21 0 14 0;
#P connect 18 0 14 0;
#P hidden connect 34 0 14 0;
#P hidden connect 4 0 9 0;
#P connect 29 0 9 0;
#P connect 28 0 9 0;
#P connect 20 0 9 0;
#P connect 17 0 9 0;
#P hidden connect 34 0 9 0;
#P hidden connect 9 1 1 0;
#P connect 1 0 3 0;
#P connect 3 0 5 0;
#P hidden connect 10 1 6 0;
#P connect 6 0 7 0;
#P connect 7 0 8 0;
#P hidden connect 14 1 11 0;
#P connect 11 0 12 0;
#P connect 12 0 13 0;
#P pop;


December 7, 2006 | 11:05 am

Hi,

try ej.function by emmanuel jourdan

http://www.e–j.com/sphpblog/

All the best

Alessandro Fogar

2006/12/7, Thijs Eerens

:
>
> Hello there,
>
> I want to program a show in MaxMSP from about 3 minutes. I have to control several things and their timing has to be exact. I’m now using the "fucntion" object for this. If the show is 3 minutes (180000 ms) it not easy to program. (there is no grid on the timeline, only if I click a point I can see it’s values). It’s also handy if I could see at what point in time the show is. Here is a patch which I made but I’m not very satisfied about it.
>
> Is there a better way to do it?
>
> Thijs
>
>
> max v2;
> #N vpatcher 81 32 1116 695;
> #P origin 22 0;
> #P window setfont "Sans Serif" 9.;
> #P hidden message 347 24 28 9109513 clear;
> #P message 511 435 58 9109513 clickmove 1;
> #P message 453 435 49 9109513 clickadd 1;
> #P message 534 254 58 9109513 clickmove 1;
> #P message 476 254 49 9109513 clickadd 1;
> #P message 568 30 58 9109513 clickmove 1;
> #P message 510 30 49 9109513 clickadd 1;
> #P hidden toggle 5 140 15 0;
> #P hidden number 5 204 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #N counter 60000;
> #X flags 0 0;
> #P hidden newobj 5 181 66 9109513 counter 60000;
> #P hidden newex 5 158 39 9109513 metro 1;
> #P user rslider 71 205 848 32 60000 1 0 9;
> #P message 408 254 58 9109513 clickmove 0;
> #P message 387 435 58 9109513 clickmove 0;
> #P message 447 30 58 9109513 clickmove 0;
> #P message 350 254 49 9109513 clickadd 0;
> #P message 327 435 49 9109513 clickadd 0;
> #P message 389 30 49 9109513 clickadd 0;
> #P window setfont "Sans Serif" 20.;
> #P comment 72 26 264 9109524 STOEL LINKS – RECHTS;
> #P comment 74 250 259 9109524 STOEL VOOR – ACHTER;
> #P user function 71 460 920 604 0 1 0 0;
> #X frgb 75 75 75;
> #X brgb 204 204 204;
> #X rgb2 85 85 85;
> #X rgb3 255 255 255;
> #X rgb4 0 0 0;
> #X rgb5 0 0 0;
> #X domain 60000.;
> #X range 0. 120.;
> #X done;
> #P window setfont "Sans Serif" 9.;
> #P number 927 514 28 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 927 490 65 9109513 snapshot~ 40;
> #P newex 927 466 31 9109513 line~;
> #P user function 71 276 921 415 1 1 0 0;
> #X frgb 75 75 75;
> #X brgb 204 204 204;
> #X rgb2 85 85 85;
> #X rgb3 255 255 255;
> #X rgb4 0 0 0;
> #X rgb5 0 0 0;
> #X domain 60000.;
> #X range -255. 255.;
> #X done;
> #P user function 73 56 920 191 1 1 0 0;
> #X frgb 75 75 75;
> #X brgb 204 204 204;
> #X rgb2 85 85 85;
> #X rgb3 255 255 255;
> #X rgb4 0 0 0;
> #X rgb5 0 0 0;
> #X domain 60000.;
> #X range -255. 255.;
> #X done;
> #P number 927 332 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P newex 927 308 63 9109513 snapshot~ 40;
> #P newex 927 283 27 9109513 line~;
> #P number 927 136 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
> #P button 12 27 38 0;
> #P newex 927 112 63 9109513 snapshot~ 40;
> #P user ezdac~ 9 77 53 110 0;
> #P newex 927 87 27 9109513 line~;
> #P window setfont "Sans Serif" 20.;
> #P comment 76 432 207 9109524 GELUIDSCYCLUS;
> #P hidden connect 4 0 27 0;
> #P hidden fasten 25 2 27 0 46 215 72 215 72 128 10 128;
> #P hidden connect 27 0 24 0;
> #P hidden connect 24 0 25 0;
> #P hidden connect 25 0 26 0;
> #P hidden connect 26 0 23 0;
> #P hidden connect 4 0 10 0;
> #P connect 31 0 10 0;
> #P connect 30 0 10 0;
> #P connect 22 0 10 0;
> #P connect 19 0 10 0;
> #P hidden connect 34 0 10 0;
> #P hidden connect 4 0 14 0;
> #P connect 32 0 14 0;
> #P connect 33 0 14 0;
> #P connect 21 0 14 0;
> #P connect 18 0 14 0;
> #P hidden connect 34 0 14 0;
> #P hidden connect 4 0 9 0;
> #P connect 29 0 9 0;
> #P connect 28 0 9 0;
> #P connect 20 0 9 0;
> #P connect 17 0 9 0;
> #P hidden connect 34 0 9 0;
> #P hidden connect 9 1 1 0;
> #P connect 1 0 3 0;
> #P connect 3 0 5 0;
> #P hidden connect 10 1 6 0;
> #P connect 6 0 7 0;
> #P connect 7 0 8 0;
> #P hidden connect 14 1 11 0;
> #P connect 11 0 12 0;
> #P connect 12 0 13 0;
> #P pop;
>
>


December 7, 2006 | 11:08 am

Lgrid and Lmap from the Lobjects library are good interfaces to work with, if you are looking for a kind of sequencer user interface system to control your sounds.

i would say they offer more scope in terms of control methods than the function envelope object…

j


December 7, 2006 | 7:59 pm

Thijs Eerens wrote:
> Hello there,
>
> I want to program a show in MaxMSP from about 3 minutes. I have to
> control several things and their timing has to be exact. I’m now
> using the "fucntion" object for this. If the show is 3 minutes
> (180000 ms) it not easy to program. (there is no grid on the
> timeline, only if I click a point I can see it’s values). It’s also
> handy if I could see at what point in time the show is. Here is a
> patch which I made but I’m not very satisfied about it.

If you could tell what is not satisfying, you could also change it…

> Is there a better way to do it?

Its not that bad at all, Just the metro 1 seems overkill (and scheduler
kill) for just a display. cut the range to 3000 and the metro to 20.
Looks as smooth as the 1 ms – 60000.

The other recommendations are worth to look into as well.

If you want a grid, you can place an hidden object above and below the
function and connect them with an unhidden patch chord. You can give the
patch chord a color…

#P window setfont "Sans Serif" 9.;
#P hidden message 235 191 13 196617;
#P hidden message 235 41 13 196617;
#P hidden message 410 191 13 196617;
#P hidden message 410 41 13 196617;
#P hidden message 585 191 13 196617;
#P hidden message 585 41 13 196617;
#P hidden message 760 191 13 196617;
#P hidden message 760 41 13 196617;
#P hidden toggle -3 140 15 0;
#P hidden number -3 204 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#N counter 3000;
#X flags 0 0;
#P hidden newobj -3 181 75 196617 counter 3000;
#P hidden newex -3 158 51 196617 metro 20;
#P user rslider 63 205 848 32 3000 1 0 9 0;
#P user function 65 56 912 191 1 1 0 0;
#X frgb 75 75 75;
#X brgb 204 204 204;
#X rgb2 85 85 85;
#X rgb3 255 255 255;
#X rgb4 0 0 0;
#X rgb5 0 0 0;
#X add 0. -106.636368 0;
#X add 7976.047852 143.727264 0;
#X add 12143.712891 -0.000008 0;
#X add 20047.904297 166.909073 0;
#X add 23497.005859 55.636353 0;
#X add 28383.234375 -194.72728 0;
#X add 36790.417969 176.181808 0;
#X add 40886.226562 55.636353 0;
#X add 44407.1875 27.818172 0;
#X add 45628.742188 -148.363632 0;
#X add 50730.539062 -111.272736 0;
#X add 53892.214844 115.909081 0;
#X add 58778.445312 222.545441 0;
#X add 60000. 88.090897 0;
#X domain 60000.;
#X range -255. 255.;
#X done;
#P number 919 136 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P button 4 27 38 0;
#P newex 919 112 67 196617 snapshot~ 40;
#P user ezdac~ 1 77 45 110 0;
#P newex 919 87 27 196617 line~;
#P connect 17 0 18 0;
#P lcolor 5;
#P connect 15 0 16 0;
#P lcolor 5;
#P connect 13 0 14 0;
#P lcolor 5;
#P hidden connect 9 0 6 0;
#P hidden connect 3 0 5 0;
#P hidden connect 3 0 10 0;
#P hidden connect 5 1 0 0;
#P connect 0 0 2 0;
#P connect 2 0 4 0;
#P hidden connect 10 0 7 0;
#P hidden connect 7 0 8 0;
#P hidden fasten 8 2 10 0 44 215 64 215 64 128 2 128;
#P hidden connect 8 0 9 0;
#P connect 11 0 12 0;
#P lcolor 5;
#P window clipboard copycount 19;


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


December 8, 2006 | 2:25 am

sfogar, THANK YOU for pointing to emmanuel jordan’s site. Particularly, his interpolation object (for multisliders or whatever you want) and his multi-function editor (WITH ZOOM!) are really amazing. These are powerful additions to max for sure, and anyone interested should definitely check them out!

-CJ


December 8, 2006 | 9:51 pm

I’m unable to locate Lgrid and Lmap. Might these objects have been
discontinued? I do see a source called Lgrid at Peter Elsea’s FTP site,
but no binaries of either object, and neither is listed in his current
doc. Thank you,

–raf.

justin wrote:
> Lgrid and Lmap from the Lobjects library are good interfaces to work with, if you are looking for a kind of sequencer user interface system to control your sounds.
>
> i would say they offer more scope in terms of control methods than the function envelope object…


December 8, 2006 | 10:09 pm

Please excuse my bandwidth-wasting inanity (I just now found them in
startup).

–raf.


December 8, 2006 | 10:47 pm

the ej.function object seems pretty useful. is there some way of getting all the multiple envelope information output simultaneously? or do i have to write it into other function objects somehow


December 9, 2006 | 1:43 am


December 9, 2006 | 10:23 am

very nice thankyou


December 9, 2006 | 11:09 am

oh and function keys 1 to 4 change the buffer channel. 2 and 4 are set up for pitch / pan type info. 1 and 3 for gain or filter type info


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