我和朋友正在研究一种简单的C ++合成器。我们有振荡器,滤波器和包络类,可以使用Portaudio库输出一些声音。
我们现在正在使用Qt Creator进行图形界面,但对如何组织所有内容感到困惑。实际上,portaudio使用回调函数来填充缓冲区,为此,它需要访问ocsillator的getValue()方法或过滤器的process()方法。但是目前,我们将振荡器对象和滤镜对象声明为MainWindow类中的指针。因此,我们无法在回调函数中访问它们的方法。
有关portaudio回调函数的更多信息可以在here找到。
以下是我想到的两个解决方案:
我真的不知道哪种解决方案最好,或者哪种解决方案效果更好......