#N canvas 245 102 778 563 12;
#X obj 102 312 markov-chain(dynamic) 4;
#X msg 102 281 0 \$1;
#X msg 252 278 2 \$1;
#X floatatom 102 244 5 0 0 0 metro-time - -;
#X msg 143 281 1 bang;
#X obj 143 245 bng 15 250 50 0 empty empty reroll_weights 17 7 0 10
-262144 -1 -1;
#X floatatom 252 245 5 0 0 1 list-random_range - -;
#X obj 103 418 markov-chain(dynamic) 16;
#X obj 395 344 print weights-lists;
#X floatatom 102 339 5 0 0 0 - - -;
#X floatatom 103 445 5 0 0 0 - - -;
#X obj 104 498 markov-chain(dynamic) 128;
#X text 99 360 the result;
#X text 395 364 the weights lists (via list-random) \; passed to the
list-wrandomg;
#X msg 470 244 1 s bang;
#X msg 470 268 3 r 50;
#X text 469 222 reroll and range on a per channel basis;
#X text 540 244 "send list";
#X text 551 265 range;
#X text 99 7 markov-chain(dynamic);
#X text 98 29 dynamically create a markov chain of X number of channels
using the \$1 creation argument passed to a [clone] object (of a markov
abstraction) to indicate the number of clones. \; \; So...[markov-chain(dynamic)
6] equals a 6-channel markov chain where the weights for each markov
are determined by a [list-random] of weights passed to a [list-wrandom].
\; note: as the markov-chain(dynamic) is based on a clone \, values
for the list-random range and rerolling the weights on a per channel
basis can be pass in through the right intlet.;
#X connect 0 0 9 0;
#X connect 0 1 8 0;
#X connect 1 0 0 0;
#X connect 2 0 0 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X connect 5 0 4 0;
#X connect 6 0 2 0;
#X connect 7 0 10 0;
#X connect 14 0 0 1;
#X connect 15 0 0 1;
