首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何托管Apple的音调偏移音频单元插件等

如何托管Apple的音调偏移音频单元插件等
EN

Stack Overflow用户
提问于 2011-08-06 06:21:43
回答 1查看 768关注 0票数 4

如何在自己的窗口中正确地托管PitchShift音频单元插件?

我正在开发一个Mac应用程序,托管苹果系统提供的音频单元插件。在新的OSX 10.7 Lion中,一些插件已经更新了视图。PitchShift就是其中之一。

PitchShift和其他一些人有了新的旋钮来更改这些参数。使用鼠标旋转旋钮时,会在旋钮下方显示一个水平条,显示该旋钮的参数值。

旋钮松开后,甚至在窗口关闭后,此条仍会留在屏幕上。如果我单击其中一个旋钮,从而创建了一个流氓值栏,并移动PitchShift视图所在的窗口,该值栏将停留在窗口原来所在的位置。如果我在这一点上再次单击旋钮,将出现一个新的条,但两个条都会使用更改的旋钮参数值信息进行主动更新。每次我重复这个过程时,屏幕上都会有更多的条。

在这种情况发生了几次之后,我的应用程序在main.m文件中的NSApplicaionMain()调用时退出,访问权限不佳。

我检查了一下逻辑9,这在那里是不会发生的。该条似乎直接绑在旋钮上,因此在您使用鼠标松开旋钮后立即消失。

我将PitchSHift视图设置为专用NSWindow的contentView。

逻辑是如何阻止这种情况发生的,或者我是如何做到的?

我试过查看参数值是否限制了PitchShift视图的子视图的位置,但似乎没有。

任何帮助都将不胜感激。

编辑:当a值栏第一次出现时,我在控制台中从我的程序中得到以下输出:圆和直线不相交

所以我发现它使用的是核心动画CALayers。现在的问题是,值栏层不是PitchShiftView的层层次结构的一部分。换句话说,我可以找到构成pitchShiftView的所有其他层,但找不到值栏的层。这似乎是一开始的全部问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-13 07:12:32

我终于想通了。参数值栏是拥有音频单元视图的窗口的子窗口。

为了解决这个问题,我在NSApplication的子类中捕获窗口的鼠标释放事件,然后关闭子窗口(也称为值栏),这样它们就不会停留在屏幕上。

这并没有阻止退出错误访问。我现在认为这是一个单独的问题,似乎只与这些挥之不去的子窗口有关。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6963223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档