2014-02-27 87 views
2

我只是想在最近獲得MAC之後讓我的腳進入OSX世界。VST插件無法在OSX上識別

在過去的幾個月裏,我還沒有成功構建一個可用的VST 2.4。我簡直不明白爲什麼:vst示例中的項目(某種程度上)開箱即用,但我自己的項目無法正常工作。

我已經準確鏡像了每個構建設置(包括info.plist和pkginfo),雙重檢查vst.app的內容是否完全相同,正確地使用正確的擴展名構建爲vst,而且代碼是虛擬的同樣,但是我的vst在我嘗試過的任何主機中都沒有被識別。 命令行對於構建甚至是相同的。 我已經測試了包含minihost vst測試儀的VST,它通過並正常工作 - 但仍然不會被識別。我甚至用nm檢查了導出的符號,它們看起來是正確的(即createEffectInstance被正確導出)。

什麼給?必須有一些隱藏的構建設置,我沒有發現,似乎不符合我的VST資格。

+0

您是否更改了插件的4個字符的VST ID? Bidule要求所有插件都具有唯一的VST ID。我不知道這是否適用於任何Mac VST主機。 – Shannon

+0

是的,我做了,但我會仔細檢查它 – Shaggi

回答

1

可能是最明顯但被忽略的設置:你在建32或64位嗎?你需要確保位數與你的主機匹配,否則插件將不會被加載(這可能會解釋爲什麼插件可以加載到你自己構建的minihost而不是另一個音序器)。爲了確保與大多數主機的兼容性,我會選擇32位版本。

另外,這裏是我在這個主題上寫的教程。但是,你說你正在做的一切用的Info.plist和諸如此類的東西是正確的,但也許你錯過了一小步:

http://teragonaudio.com/article/Making-a-VST-plugin-from-scratch-with-Xcode.html

另一個潛在的有用的工具是MrsWatson(免責聲明:我的作者該計劃)。它是一個命令行VST主機,可用於提供有關VST的診斷信息,也可用於插件測試和調試。由於插件存在32/64位的困難,在Mac OSX上,該程序獨立運行64位二進制文​​件,而不是使用通用二進制文件。

你應該試着在你的插件運行以下命令:

mrswatson --verbose --plugin /path/to/wherever/you/put/the/plugin.vst --display-信息

如果你看到參數和其他信息的列表,那麼它應該是潔淨的,並且能夠在大多數定序器中加載。希望這能讓你走上正軌!

+0

嘿,我真的希望/想知道你會來:)其實,我用你的模板啓動項目。是的,這個架構是可悲的(必須是32位和64位)。我記得看過mrswatson,很快就會試用它並回報(它適用於64位)? – Shaggi

+0

@Shaggi可悲的是我的Xcode VST模板已經過時了,我現在不用做太多的Mac編碼,所以我認爲他們不再使用現代的Xcode。 :(是的,沃特森太太是64位兼容的。 –

+0

好吧,我會研究它。 – Shaggi

0

嘗試使用您的調試器來觀看您的主機撥打什麼Dispatcher()。檢查你的插件和包含的示例項目是否有區別。根據我的經驗,主機通常會在Dispatcher()調用引發異常之後立即中止加載插件,或者返回主機因任何原因而不喜歡的結果。

+0

我目前只能測試它在直播中,我甚至不能嘗試加載插件。我不知道該怎麼做 – Shaggi

+0

我通常使用'OutputDebugString()'來加載vst。否則,我將不得不在開始時調試允許(它檢查新插件)或類似的東西,當我不能使用調試器。OSX是否有'OutputDebugString()'類似的東西? – Shannon

+0

主機啓動期間的VST掃描階段通常是唯一可用來調試一個非加載插件。 ''不允許'強制'加載插件和AFAIK Ableton Live也不例外 – Shannon