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.

    • Mar 15 2006 | 7:54 am
      WHOOPS!
      That patch was missing a bang in there somewhere. This one should work:
    • 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
    • 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.