Visually preventing feedback with matrixctrl


    Mar 15 2006 | 7:46 am
    Hi there. I'm still a little new at this.
    What I want to do is to come up with a way to use matrixctrl to visually create random signal chains all while preventing feedback from occuring. I want to use this on a very large scale to get really complex routing but again without the feedback. I've included a primitive example of what I want to do. This patch tells matrixctrl not to allow single feedback connections. But obviously this method doesn't work for chains of signals. How would I do this on a larger scale though. Say...if the connection was A-C-B-D preventing C-A, B-A, B-C, D-A, D-C, D-B from connecting. I hope this makes sense. Maybe there is a better way to do this without Matrixctrl??? Thanks for your help guys.
    max v2;

    • Mar 15 2006 | 7:54 am
      WHOOPS!
      That patch was missing a bang in there somewhere. This one should work:
      max v2;
    • Mar 15 2006 | 9:09 am
      Can't do the maths on it right now, but, assuming a situation where
      there is no 1st, 2nd, etc. level feedback, this may be possible:
      Assuming a square matrix, the negative of the displacement of any one
      component cannot be equal to the sum of the displacement between the
      remaining components. At least it seems to be working, but that could
      just be insomnia talking...
      For instance
      0 1 2 3
      0 - - X -
      1 - - - -
      2 - - - X
      3 X - - -
      0 to 3 = -3 (*-1) = 3
      3 - 2 = 1
      2 - 0 = 2
      +____________
      = 3
      Therefore, illegal.
      3 to 1, and 1 to 2 would be legal
      3 - 1 = 2
      1 - 2 = -1
      +_____________
      = 1
      but 3 to 1, and 1 to 0 would not.
      3-1 = 2
      1-0 = 1
      +____________
      =3
      Scaling it up:
      0 1 2 3 4 5
      0
      1 X
      2 X
      3 X
      4 X
      5 X
      2 to 5 = -3 (*-1) = 3
      5 to 4 = 1
      4 to 3 = 1
      3 to 1 = 2
      1 to 2 = -1
      Sum = 3, therefore illegal.
      but:
      5 to 4 = 1
      4 to 3 = 1
      3 to 0 = 3
      0 to 1 = -1
      sum = 4, therefore legal.
      I think this works because there is one connection per row/column.
      I'd bet there's a proper mathematic name for this. (and Euler was
      probably involved)
      Peter McCulloch
    • Mar 15 2006 | 10:56 am
      On 15-Mar-2006, at 8:46, Christopher wrote:
      > What I want to do is to come up with a way to use matrixctrl to
      > visually create random signal chains all while preventing feedback
      > from occuring.
      [schnipp]
      Not completely "random", but you could build a coll with lots and
      lots of different matrixctrl configurations that you know do not
      cause feedback, and trigger them however you like.
      If you want "really" random, you should take a look at the Litter
      Power bundles. URI below.
      Best,
      Peter
      -------------- http://www.bek.no/~pcastine/Litter/ -------------
      Peter Castine | +--> Litter Power & Litter Bundle for Jitter
      |....................................................
      p@castine.de | iCE: Sequencing, Recording, and Interface Building
      pcastine@gmx.net | for Max/MSP
      pcastine@bek.no | http://www.dspaudio.com/ Extremely cool
      4-15@kagi.com |....................................................
      | home|chez nous|wir|i nostri http://www.castine.de/
    • Mar 15 2006 | 11:08 am
      You know, I wonder if we should offer a "Salespersons' Forum", where all
      you entrepreneurs could hawk your wares, and leave this sort of
      unnecessary product placement off of the main list.
      We are extremely proud of our developer community, and think that all of
      the things people are making, whether for free or for dough, are
      wonderful expressions of the power of the Max-Way.
      Nevertheless, and this could just be a grey Berlin morning talking, this
      gets old after a while. I don't mean to single you out, Peter.
      jb
    • Mar 15 2006 | 2:44 pm
      For all the help these guys give everyone in the forums (oh old
      mailing list how I miss you... *sheds tear+seething rage*), I really
      dont think its inappropriate. Not that I have a say in the matter,
      but as a 3rd party maxer it doesnt get annoying or feel ..
      overbearing to me.
      just butting in and giving my 2 cents.
      v a d e //
      www.vade.info
      abstrakt.vade.info
      I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I
      LIVE! I LIVE! I LIVE! I LIVE!
      You will not be saved by the Holy Ghost. You will not be saved by the
      God Plutonium.
      In fact, YOU WILL NOT BE SAVED!
    • Mar 15 2006 | 3:08 pm
      If it's just me, then pitch away. As I mentioned, the love we feel for
      those users sufficiently interested to spend their valuable time making
      the system bigger and better cannot be expressed in mere words.
      My next crusade will be against .sigs which are longer than the messages
      they are attached to. Who's with me?
      jb
    • Mar 15 2006 | 4:10 pm
      heh. was about to update my .sig to epic proportions
    • Mar 15 2006 | 4:38 pm
      Would you prefer an animated manga gif banner and obnoxious goatse
      icon in the forum.. cause I can go there ;)
      v a d e //
      www.vade.info
      abstrakt.vade.info
      I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I LIVE! I
      LIVE! I LIVE! I LIVE! I LIVE!
      You will not be saved by the Holy Ghost. You will not be saved by the
      God Plutonium.
      In fact, YOU WILL NOT BE SAVED!
    • Mar 15 2006 | 4:41 pm
      On 15-Mar-2006, at 16:08, Jeremy Bernstein wrote:
      > My next crusade will be against .sigs which are longer than the
      > messages they are attached to. Who's with me?
      I'm with you on this!
      My dilemma is just whether to trim my .sig when the message is short
      or to pad the message to get it up to the requisite char count.
      Decisions, decisions... -)
      -- P.
    • Mar 15 2006 | 4:51 pm
      This looks like a solution. Can't do the maths on it right now, but,
      assuming a situation where there is no 1st, 2nd, etc. level feedback,
      this seems to hold true:
      Assuming a square matrix, the negative of the displacement of any one
      component cannot be equal to the sum of the displacement between the
      remaining components. At least it seems to be working, but that could
      just be insomnia talking...
      For instance
      0 1 2 3
      0 - - X -
      1 - - - -
      2 - - - X
      3 X - - -
      0 to 3 = -3 (*-1) = 3
      3 - 2 = 1
      2 - 0 = 2
      +____________
      = 3
      Therefore, illegal.
      3 to 1, and 1 to 2 would be legal
      3 - 1 = 2
      1 - 2 = -1
      +_____________
      = 1
      but 3 to 1, and 1 to 0 would not.
      3-1 = 2
      1-0 = 1
      +____________
      =3
      Scaling it up:
      0 1 2 3 4 5
      0
      1 X
      2 X
      3 X
      4 X
      5 X
      2 to 5 = -3 (*-1) = 3
      5 to 4 = 1
      4 to 3 = 1
      3 to 1 = 2
      1 to 2 = -1
      Sum = 3, therefore illegal.
      but:
      5 to 4 = 1
      4 to 3 = 1
      3 to 0 = 3
      0 to 1 = -1
      sum = 4, therefore legal.
      I think this works because there is one connection per row/column.
      I'd bet there's a proper mathematic name for this. (and Euler was
      probably involved)
      Peter McCulloch
    • Mar 15 2006 | 5:28 pm
      Here's a solution in Max code. If you wanted to have multiple paths,
      use coll in conjunction with urn, and a shorter bang/group section.
      Peter McCulloch
      max v2;
    • Mar 16 2006 | 3:03 am
      Thanks for the help so far guys. Still trying to wrap my head around this.. I am making progress.