Visually preventing feedback with matrixctrl
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.
WHOOPS!
That patch was missing a bang in there somewhere. This one should work:
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
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/
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
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!
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
heh. was about to update my .sig to epic proportions
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!
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.
-------------- http://www.bek.no/~pcastine/Lit^Z
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
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
Thanks for the help so far guys. Still trying to wrap my head around this.. I am making progress.