Jak powstają wtyczki VST?

105

Chciałbym zrobić (lub nauczyć się tworzyć) wtyczki VST. Czy jest do tego specjalny pakiet SDK? jak uzyskać plik .vst zamiast .exe? Ponadto, jeśli ktoś chce tworzyć jednostki audio dla Logic Pro, jak to się robi? Dzięki

jmasterx
źródło

Odpowiedzi:

50

Zacznij od tego linku do wiki, wyjaśnij, czym one są i podaj linki do sdk. Oto kilka informacji dotyczących dewelopera

Jak skompilować wtyczkę - do tworzenia wtyczek VST w C ++ Builder, najpierw potrzebujesz zestawu SDK VST firmy Steinberg. Jest dostępny na stronie Yvan Grabit (link znajduje się na górze strony).

Następną rzeczą, którą musisz zrobić, jest utworzenie pliku .def (na przykład: myplugin.def). Musi zawierać co najmniej następujące wiersze:

EXPORTS main=_main

Kompilatory firmy Borland dodają podkreślenie do nazw funkcji, a to eksportuje main()funkcję zgodnie z oczekiwaniami hosta VST. Aby uzyskać więcej informacji o plikach .def, zobacz pliki pomocy C ++ Builder.

To jednak nie wystarczy. Jeśli zamierzasz używać dowolnego elementu VCL (cokolwiek związanego z formularzami lub komponentami), musisz uważać, aby wtyczka nie powodowała awarii Cubase (lub innego hosta VST, jeśli o to chodzi). Oto jak:

  1. Uwzględnij float.h.
  2. W konstruktorze swojej klasy efektów napisz

    _control87(PC_64|MCW_EM,MCW_PC|MCW_EM);

To powinno załatwić sprawę.

Oto kilka bardziej przydatnych witryn:

http://www.steinberg.net/en/company/developer.html

jak napisać wtyczkę vst (pdf) przez http://www.asktoby.com/#vsttutorial

Rozwój 4.0
źródło
1
dwa z twoich linków nie są ukończone, napraw to.
tiboo
44

Wiem, że to ma 3 lata, ale dla wszystkich, którzy to teraz czytają: nie trzymaj się formatu VST, AU ani żadnego innego dostawcy. Steinberg przestał wspierać VST2, a ludzie mają problemy z przeniesieniem swojego kodu do nowszych formatów, ponieważ jest on zbyt powiązany z VST2.

Te samouczki obejmują tworzenie wtyczek, które działają na Win / Mac, 32/64, wszystkie formaty wtyczek z tej samej bazy kodu.

Basteln
źródło
Ten samouczek wydaje się dotyczyć tylko komputerów Mac.
liftarn
6
W przypadku części, w których występują różnice, samouczki obejmują zarówno komputery Mac, jak i Windows. Autor korzysta jednak z komputera Mac.
Basteln
28

Jakiś czas temu napisałem HOWTO dla programowania VST w C ++ z Visual Studio, które szczegółowo opisuje kroki niezbędne do stworzenia podstawowej wtyczki dla platformy Windows (wersja tego artykułu dla komputerów Mac jest w przygotowaniu). W systemie Windows wtyczka VST jest zwykłą biblioteką DLL, ale istnieje wiele „pułapek” i musisz zbudować wtyczkę przy użyciu określonych przełączników kompilatora / konsolidatora, w przeciwnym razie nie zostanie ona rozpoznana przez niektóre hosty.

Jeśli chodzi o komputery Mac, wtyczka VST to tylko pakiet z rozszerzeniem .vst, chociaż istnieje również kilka ustawień, które należy poprawnie skonfigurować, aby wygenerować prawidłową wtyczkę. Możesz także pobrać zestaw szablonów projektów wtyczek Xcode VST, które stworzyłem jakiś czas temu, które pomogą ci napisać działającą wtyczkę na tej platformie.

Jeśli chodzi o AudioUnits, Apple dostarczyło własne szablony projektów, które są dołączone do Xcode. Apple ma również bardzo dobre samouczki i dokumentację online:

Gorąco polecam również sprawdzenie Juce Framework , który ma doskonałe wsparcie dla tworzenia wieloplatformowych wtyczek VST / AU. Jeśli wybierasz oprogramowanie typu open source, Juce nie wymaga myślenia, ale będziesz musiał zapłacić za to opłaty licencyjne, jeśli planujesz wydać swoją pracę bez kodu źródłowego.

Nik Reiman
źródło
7

Jeśli znasz język .NET (C # / VB.NET itp.), Wypróbuj VST.NET . Ta struktura umożliwia tworzenie (niezarządzanych) wtyczek VST 2.4 w .NET. Zawiera strukturę, która strukturalizuje i upraszcza tworzenie wtyczek VST z obsługą parametrów, programów i trwałości.

Istnieje kilka przykładów przedstawiających typowe scenariusze dotyczące wtyczek. Dostępna jest również dokumentacja wyjaśniająca, jak rozpocząć, i niektóre koncepcje związane z VST.NET.

Mam nadzieję, że to pomoże. Marc Jacobi

obiwanjacobi
źródło
5

Zdaję sobie sprawę, że to bardzo stary post, ale odniosłem sukces, używając biblioteki JUCE, która buduje projekty dla głównych IDE, takich jak Xcode, VS i Codeblocks, i automatycznie buduje VST / 3, AU / v3, RTAS i AAX.

https://www.juce.com/

user43633
źródło
Dla tych, którzy zastanawiają się, czy to dobra ścieżka, podążanie za samouczkiem OSX dokładnie nie przyniosło mi rezultatów, a jedynie błędy.
Seph Reed