当子补丁的高度发生变化时,如何确保抽象实例更新其高度(purr-data)?
How do I make sure that an instance of an abstraction updates its heights when the subpatch's height changes (purr-data)?
我制作了一个鼓机抽象,允许您选择任意数量的轨道并使它们可见以进行编辑。这是一个正在使用的补丁示例(正在创建的对象是 [rhythmbox 5],但重点是能够输入任何数字并查看相应调整对象高度的轨道数)。
问题是我无法更新创建的实例,结果是没有可见的轨道:
轨道在子补丁中正确生成并且在子补丁中可见:
一旦我关闭该子补丁 window,更新就会发生并且实例看起来像第一张图片。
主要抽象包括另一个名为 drumcontrol.pd 的抽象,它是实例中始终可见的部分(包含预设处理和时间线),以及一个动态修补的子补丁。正如您在第三张图片中看到的,我正在使用 [donecanvasdialog] 调整子补丁 GOP 区域和主要抽象 GOP 区域的大小。
我已经阅读了我能找到的关于调整大小过程的所有内容,并且我尝试在 [donecanvasdialog] 消息发送到主 window 之后立即向主发送 [map 0, map 1( 刷新消息window。这导致 purr-data 挂起(补丁打开后是空白的,所以我假设 map 0 清除了它,然后它无法恢复,但我还没有找到这方面的文档)。
我也尝试过(不成功)使用 [coords] 而不是 [donecanvasdialog] 但仍然有同样的问题(虽然我使用 [coords] 不正确也不是不可能)。
我错误地使用了 [坐标]。我删除了 [donecanvasdialog] 消息并将它们替换为相应的 [coords] 消息:
这有点难以识别,因为每次我编辑它时,purr 数据都会在 pd 文件中生成它自己的坐标消息,这导致文件在重新加载时挂起。当心(v 2.4.9)。
我制作了一个鼓机抽象,允许您选择任意数量的轨道并使它们可见以进行编辑。这是一个正在使用的补丁示例(正在创建的对象是 [rhythmbox 5],但重点是能够输入任何数字并查看相应调整对象高度的轨道数)。
问题是我无法更新创建的实例,结果是没有可见的轨道:
轨道在子补丁中正确生成并且在子补丁中可见:
一旦我关闭该子补丁 window,更新就会发生并且实例看起来像第一张图片。
主要抽象包括另一个名为 drumcontrol.pd 的抽象,它是实例中始终可见的部分(包含预设处理和时间线),以及一个动态修补的子补丁。正如您在第三张图片中看到的,我正在使用 [donecanvasdialog] 调整子补丁 GOP 区域和主要抽象 GOP 区域的大小。
我已经阅读了我能找到的关于调整大小过程的所有内容,并且我尝试在 [donecanvasdialog] 消息发送到主 window 之后立即向主发送 [map 0, map 1( 刷新消息window。这导致 purr-data 挂起(补丁打开后是空白的,所以我假设 map 0 清除了它,然后它无法恢复,但我还没有找到这方面的文档)。
我也尝试过(不成功)使用 [coords] 而不是 [donecanvasdialog] 但仍然有同样的问题(虽然我使用 [coords] 不正确也不是不可能)。
我错误地使用了 [坐标]。我删除了 [donecanvasdialog] 消息并将它们替换为相应的 [coords] 消息:
这有点难以识别,因为每次我编辑它时,purr 数据都会在 pd 文件中生成它自己的坐标消息,这导致文件在重新加载时挂起。当心(v 2.4.9)。