libpd与vlines~(libpd)clock_unset(?)崩溃

时间:2015-05-22 20:36:53

标签: puredata libpd

我有一个用XCode开发的iOS项目,它使用libpd加载纯数据补丁。我的项目使用[osc~]和[phasor~]混合调制参数(音高,音量等)。我的应用程序是64位,现在需要。我使用的是最新版本的Pure Data和libpd。

它在一个地方崩溃。我有一个[osc~],它的音调由一个包络调制。当我在设备上更改包络长度(=调制速率)的值时,它会在测试期间随机崩溃,但总是在同一行的libpd代码上。我认为它与参数的更改速度有关但不是,它也会在参数缓慢变化时发生。

这是在发生问题的(减少的)补丁下面。我最近赶上了Pure Data。欢迎任何建议或更正。

modulatedOscillator.pd

以下是XCode崩溃的屏幕截图,其中包含代码序列和崩溃的clock_unset行。

crash_m_sched.png http://forum.pdpatchrepo.info/uploads/files/upload-5ffd79ca-56c1-45be-8c3e-c40f2eb43b2a.png

全图here

我已完成一些打印,并且在此功能中崩溃:

void clock_unset(t_clock *x){
    if (x->c_settime >= 0){
        if (x == clock_setlist) clock_setlist = x->c_next;
        else{
            t_clock *x2 = clock_setlist;
            while (x2->c_next != x) x2 = x2->c_next;
            x2->c_next = x->c_next;
        }
        x->c_settime = -1;
    }
}

在这一行:

while (x2->c_next != x) x2 = x2->c_next;

打印值为: x2-> c_next == NULL

任何人都有过类似的经历吗?

感谢。

0 个答案:

没有答案