about rtcmix~


    Nov 25 2010 | 8:54 pm
    First of all, apologies for not responding in a timely manner to
    some of the questions about rtcmix~ here. I don't really follow
    this list all that closely any more, plus life can get, um,
    "interesting" at times. But I am glad people are still intrigued
    by things like rtcmix~, chuck~, sc3~, maxlisp, etc. I'm hoping to
    carve out some time over our winter break to do major upgrades.
    Now, about rtcmix~, a couple of issues:
    1. When installing any of these objects, you need to move the
    entire folder *intact* somewhere in the max file search path.
    The reason is that the objects load an external library that also
    has to exist along with the object. If the object still isn't loading,
    then I'm not sure what's going on. Don't be bashful about sending
    me crash reports! I may not respond immediately, but I do want
    to make sure all works ok.
    2. Speaking of loading external libraries, there is a conflict
    between rtcmix~ and chuck~ and parts of the IRCAM FTM library.
    There seems to be a symbol-name collision generated by yacc and lex
    (bison maybe) that I can't fix. When rtcmix~ calls yyparse(),
    it ends up calling the entry for the IRCAM yyparse() (or this is
    what I think is happening). Sorry!
    3. Regarding the control of rtcmix~ dynamic parameters through
    inlets on the object, this is done using the "makeconnection()"
    function in the rtcmix~ script. The number of inlets to the object
    is determined by an optional second parameter -- the first is how many
    audio channels the rtcmix~ object will have (only 1 or 2 at present),
    and the second is how many additional inlets will be put on the object.
    For example:
    [rtcmix~ 2 2]
    will create a stereo rtcmix~ object with two additional inlets for
    parameter control. The "makeconnection()" function counts those
    inlets starting at 1, with the first inlet being the first one
    *after* the audio signal inlets. So if I wanted to control pitch
    from the second (right-most) parameter inlet using a slider
    connected to it, I would use the following script:
    pitch = makeconnection("inlet", 2, 300) // 300 hz the default value)
    SOMEINSTRUMENT(param1, param2, another_param, pitch, etc)
    chuck~ works the same way. There are several examples of how
    to do this in the "dynamic-params" subpatcher of the rtcmix~
    help patcher.
    One warning: if you decide to change the number of inlets or audio
    channels on an existing rtcmix~ object, be sure to save the internal
    rtcmix script(s) first (or make a new object and copy/paste the
    script to the new one). Changing the inlets or channels creates
    a new object with new (blank) scripts.
    I hope this helps, and Happy Thanksgiving!
    brad

    • Nov 25 2010 | 11:20 pm
      thanks for the info brad!
      i hope you'll find some time to port sc and chuck for max5 on windows to!
      happy thanksgiving!
      a.