iemmatrix [mtx_*] 无法在 PureData 中创建

问题描述

我正在处理一个旧的内部项目。我在窗户上工作。我使用的 puredata 是 32 位的。 有一些对象像 [mtx_*~] [mtx_:] [mtx_.^] [mtx_circular_harmonics] 有“无法创建”错误

我通过“查找外部”安装了 iemmatrix。 我尝试了旧版本的 Puredata 扩展或几个版本的香草。我也无法创建 mtx_。 从pd/externals/iemmatrix可以找到一个叫“mtx_0x2a0x7e.dll”的文件,解码后我认为是“mtx_~”。

互联网上关于它的信息已经不多了。

解决方法

“官方”版本(不是带有“extended”后缀的版本)被编译为一个多对象库。因此,您必须首先加载库,使用命令行标志“-lib iemmatrix”或补丁中的 [declare -lib iemmatrix] 对象(后者更受欢迎,因为它使补丁更易于移植)。加载后,iemmatrix 会向 Pd 控制台窗口打印欢迎词:

iemmatrix 0.3.2
    objects for manipulating 2d-matrices
    (c) 2001-2015 iem
        IOhannes m zmölnig
        Thomas Musil
        Franz Zotter
    compiled Sep  6 2019 : 12:07:54

之后你可以创建像[mtx_*~]这样的对象

添加了“v0.0-extended”版本以方便从现已停用的 Pd-extended 迁移。由于它被编译为每个文件一个对象的库,并且其中许多对象的名称不容易在文件名中使用,因此 Pd-extended 使用了一个带有额外 hexloader 库的技巧,将十六进制编码的文件名转换为实际名称的对象。为了能够从扩展版本加载对象,您必须先安装并加载“hexloader”。

话虽如此,强烈建议使用官方积极维护的版本,而扩展版本由于历史原因没有。