Graphical function editor


    Dec 07 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;

    • Dec 07 2006 | 11:05 am
      Hi,
      try ej.function by emmanuel jourdan
      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;
      >
      >
    • Dec 07 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
    • Dec 07 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...
      --
      Stefan Tiedje------------x-------
      --_____-----------|--------------
      --(_|_ ----|-----|-----()-------
      -- _|_)----|-----()--------------
      ----------()--------www.ccmix.com
    • Dec 08 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
    • Dec 08 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...
    • Dec 08 2006 | 10:09 pm
      Please excuse my bandwidth-wasting inanity (I just now found them in
      startup).
      --raf.
    • Dec 08 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
    • Dec 09 2006 | 1:43 am
    • Dec 09 2006 | 10:23 am
      very nice thankyou
    • Dec 09 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