问题标签 [vst]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1952 浏览

xcode - 在我的 NSView 窗口之外获取 mouseMoved/mouseDragged

我目前正在将一个应用程序(或者更准确地说,一个 VST 插件)从 Windows 移植到 OSX。我对 OSX 编程有点陌生,但我正在使用 HICocoaCreateView 添加到 Carbon 窗口(我从主机获得)的 Cocoa NSView。

Anywhoo ...在此视图中,我想获取 mouseMoved 和 mouseDragged 事件,但是在拖动时,即使鼠标离开我的 NSView(以及父窗口),我也想获取这些事件,但我似乎无法做到这发生了。

在 Windows 上,我会在 mouseDown 上执行 SetCapture 以获取所有鼠标事件一段时间。我在 Cocoa 中找到的最接近的东西是“addGlobalMonitorForEventsMatchingMask”,但这只是 10.6+,我很难相信这是在此之前不可能做到的事情。(毕竟,这通常用于滚动条等可拖动组件。)

这快把我逼疯了!

更新:

还有一个叫做 CGEventTapCreate 的东西,据我从稀缺的文档中可以看出,它类似于 addGlobalMonitor... 但在 Carbon 中。我还没有完全了解 Carbon 和 Cocoa 是如何相互关联的,以及在哪里起作用。即使我的主要东西是可可,它也可以使用吗?(我从宿主那里得到的窗口可以是Cocoa和Carbon,真的是一团糟。)

0 投票
1 回答
4407 浏览

c++ - 用于 FL SDK 和 VST 的优秀 C++ GUI 库

什么是可用于 VST 尤其是 FL SDK(FL Studio SDK)的最佳 C++ GUI 库。我搜索的库不应该像 QT 那样需要中央应用程序对象。它必须只提供纯 GUI 支持。我已经测试了 VST GUI,那么我还能选择什么库?

0 投票
1 回答
1707 浏览

macos - 是否可以为生成 MIDI 的 Logic 创建插件?

这可能是一个更适合提议的音频编程问答网站的问题,但它仍然是一个提议,所以现在必须这样做。

我的理解是:

  1. 与 VST 不同,Audio Unit 标准不支持生成 MIDI 作为输出的插件。
  2. Logic(如 OSX 的行业标准 DAW 中)没有对 VST 的原生支持。VST 支持由 AU 包装器插件提供,例如 FXpansion。

这些一起意味着不能在 Logic 中拥有生成 MIDI 数据的插件吗?这似乎是不可能的,但在谷歌搜索和阅读留言板投诉 20 分钟后,情况似乎很可能是这样。

或者也许在 AU 框架之外有什么东西?

0 投票
2 回答
662 浏览

c++ - 使用 Midi 库解析事件并存储在 Vector C++ 中

我是一名 PHP 程序员,他决定通过开发 MissWatson 的简单替代方案来涉足 C++,这将允许我通过 PHP 的命令行通过 VST 处理 MIDI 文件。

我从 Steinberg VST SDK 开始,一直在使用这个 MIDI 库:https ://ccrma.stanford.edu/software/stk/index.html 。

我被困在向量上,特别是那些将 MIDI 事件存储到的向量。这是要清理的最后一点代码(请记住,我对 C++ 完全是个菜鸟,并且可能做错了大部分):

以下是错误:

那么,如何使用 _Ty 构造函数呢?我是在正确的轨道上还是只是疯了?

0 投票
1 回答
2276 浏览

c++ - 是否可以在 linux 上编译 VST?

对于一个类项目,我正在尝试编写一个由 CUDA 支持的 VST 插件。我当前的 CUDA 工作流程是在 Linux 机器上,所以我更愿意在那里编译和链接。

根据 Wikipedia,这应该是可能的(我找不到任何与 Linux 相关的 Steinberg 文档),但如果您不使用 Xcode 或 Visual Studio,我找不到 Makefile 或有关如何构建的说明。

我相当肯定 VST 3 SDK 不支持 Linux。当我尝试在 Linux 下编译插件时,出现以下错误:

此问题是由“VST3 SDK/base/source/fatomic.cpp”中的以下代码引起的

但我希望在 Linux 下编译可以使用 VST SDK 2.4。谢谢阅读。

0 投票
1 回答
1023 浏览

midi - VST 插件的 MIDI 输出

我从 Hypersonic 2 VST 仪器中模糊地记得这一点。

基本上,它是一个普通的 VST 乐器,但如果你在你的项目中有它,你可以将它的 MIDI 输出(等于输入,除非你有移调或如此活跃)分配给另一个 MIDI 轨道的输入,所以基本上它只会转发所有 MIDI 事件以供另一个合成器或其他任何东西使用。

在 Cubase 中,乐器的输出列在 MIDI 输入弹出菜单中的物理 MIDI 输入旁边,但菜单中的“使用所有 MIDI 输入”选项不包括 Hypersonic 的输出(它由菜单分隔符分隔)。

我还没有找到方法,有人知道吗?我想这是那些几乎没有记载的魔法台词之一......

0 投票
1 回答
493 浏览

plugins - VST 音频插件如何检测来自 VST 主机的流中断?

我开发了一个简单的 VST 插件。该插件有一个带有音频样本的内部缓冲区,如果音频流被中断,则应清除该缓冲区。

现在,如果我在某些媒体播放器中使用这个插件(比如带有 VST 包装器插件的 Foobar)并且我使用搜索栏跳到歌曲中的某个位置或者我切换到一首新歌曲,我仍然会听到以前音频的尾音。

是否有任何 VST 回调或被调用以通知插件有关此类流中断的东西?

0 投票
2 回答
440 浏览

c++ - 开发插件:DX 还是 VST?

我想使用 C++ 进行插件开发。在开发 VST 或 DX 之间犹豫不决。有哪些考虑?我知道有些主机更容易支持一种格式或另一种格式(Cubase:VSTs、Cakewalk:DXs),但这就是我所知道的。

提前致谢!

0 投票
2 回答
1291 浏览

c++ - VST 主机 - 泄漏的对象 - Juce/C++

我是一名 PHP 程序员,在构建 VST 主机时学习 C++。我可能咬得比我能咀嚼的多,但我正在取得一些进展(我认为)!

我在 Visual Studio 2010 中使用 Steinberg VST SDK 和 JUCE 库。我遇到了泄漏的对象错误,我不太了解在搜索收到的错误时找到的解决方案。

这是“输出”选项卡中的错误。我的程序吐出 JUCE Assetion 错误:

我被带到 juce_amalgamated.h 文件中的这条消息:

这是我认为错误所指的代码:

也许我正在接近这种语法更像是 PHP?我不太明白什么是 RAII 技术。

任何让我朝着正确方向前进的提示都值得赞赏。

0 投票
3 回答
2032 浏览

delphi - Delphi:如何将 MIDI 发送到托管的 VST 插件?

我想在我的 Delphi 程序中使用 VST 插件,它充当 VST 主机。我已经尝试了 tobybear 示例,使用了 delphiasiovst stuf,其中一些甚至可以工作,但是......我不知道如何将 MIDI 消息发送到插件(我知道大多数插件不会处理 MIDI,但我有一个示例插件)。

更具体地说:我希望当我发送 MIDI 消息时,我必须在 VST 插件中使用一种或其他方法,或者重新路由 MIDI 输出。我只是不知道怎么做。

谁能指出我如何做到这一点的文档或代码?提前致谢。

阿诺德


我使用了两个测试插件:一个从 DelphiAsioVst 包和 PolyIblit 编译而来。两者都在 Finale 和 LMMS 中工作。加载到我的测试程序中都显示了他们的 VST 编辑器。

我确实插入了 TvstEvent 记录并对其进行了初始化,我插入了 MIDIData 和 AddMIDIData 过程以及一个计时器来提供测试数据并执行插件的 ProcessEvents 例程。ProcessEvents 获得正确的测试数据,但听不到声音。当我将它直接发送到 midi 输出端口时,我会听到一些声音。

在下面的代码中 PropcessEvents 应该足够恕我直言,附加代码是测试 MIDI 信息是否正确发送。VstHost [0] 是第一个插件,可以是 PolyIblit 或 VSTPlugin,具体取决于测试。

所以我没有得到插件中的事件。知道我做错了什么吗?