max / msp:来自coll的随机选择取决于其长度

问题描述 投票:0回答:1

不同数量的列表存储在coll对象中。然后向随机整数生成器提供一系列的刘海。每次爆炸时,生成的整数将决定哪个列表将离开coll。显然,这个数字必须介于1和coll的不同长度之间。这意味着RND生成器必须在生成整数之前考虑任何更改的coll的长度。所以,我想我们有一个类似如下的电路:

  1. loadbang-ed消息'length'必须输入coll对象才能输出其长度。
  2. 此长度编号必须进入“之间”(RND gen。)对象的右侧入口以设置其最大值。
  3. 在'between'对象的左侧输入中的爆炸将生成随机整数。
  4. 整数将返回到coll并使其输出相应的存储列表。
  5. 输出列表将被发送到迭代机制,该机制将逐个读取和输出其原子。
  6. 当输出当前列表的最后一个原子时,将向“之间”对象发送新的爆炸,以便选择新的列表并重复该过程(阶段#3-6)。

上面这个过程的问题在于它偶然发现了coll对象的功能:一个coll输出它的长度和来自同一个插座的任何存储数据(为什么,我想知道?),但是在上面这样的过程中, coll必须只输出一次(在会话开始时)并且它应该只提供'between'对象(它应该永远不会到达迭代机制,因为它是无关紧要的)。因此,coll的长度及其数据的路径必须不同,尽管它们都是整数,并且它们都来自同一个出口。

有什么想法吗?

random collections maxmsp
1个回答
0
投票

你有没有调查过grab对象?它的布线有点违反直觉,但它对许多方面来说都是一个有用的对象,包括在你所描述的那种情况下充当“断路器”。

设置grab对象使您可以将消息定向到对象的入口,然后仅收集与该消息关联的输出,而不会影响可能连接到同一插座的任何其他跳线。

© www.soinside.com 2019 - 2024. All rights reserved.