Bagaimana Plugin VST dibuat?

105

Saya ingin membuat (atau belajar bagaimana membuat) plugin VST. Apakah ada SDK khusus untuk ini? bagaimana cara menghasilkan .vst, bukan .exe? Juga, jika seseorang ingin membuat Audio Units for Logic Pro, bagaimana caranya? Terima kasih

jmasterx
sumber

Jawaban:

50

Mulailah dengan tautan ke wiki ini, jelaskan apa itu dan berikan tautan ke sdk. Berikut adalah beberapa informasi tentang deve

Cara mengkompilasi plugin - Untuk membuat plugin VST di C ++ Builder, pertama-tama Anda memerlukan sdk VST dari Steinberg. Ini tersedia dari situs Yvan Grabit (tautannya ada di bagian atas halaman).

Hal berikutnya yang perlu Anda lakukan adalah membuat file .def (misalnya: myplugin.def). Ini harus berisi setidaknya baris berikut:

EXPORTS main=_main

Kompiler Borland menambahkan garis bawah ke nama fungsi, dan ini mengekspor main()fungsi seperti yang diharapkan oleh host VST. Untuk informasi selengkapnya tentang file .def, lihat file bantuan C ++ Builder.

Ini tidak cukup. Jika Anda akan menggunakan elemen VCL apa pun (apa pun yang berkaitan dengan formulir atau komponen), Anda harus berhati-hati agar plugin Anda tidak merusak Cubase (atau host VST lain, dalam hal ini). Begini caranya:

  1. Sertakan float.h.
  2. Dalam konstruktor kelas efek Anda, tulis

    _control87(PC_64|MCW_EM,MCW_PC|MCW_EM);

Itu seharusnya berhasil.

Berikut beberapa situs yang lebih berguna:

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

cara menulis plugin vst (pdf) melalui http://www.asktoby.com/#vsttutorial

Pengembangan 4.0
sumber
1
dua tautan Anda tidak lengkap, harap perbaiki.
tiboo
44

Saya tahu ini berumur 3 tahun, tetapi untuk semua orang yang membaca ini sekarang: Jangan berpegang pada VST, AU atau format vendor mana pun. Steinberg telah berhenti mendukung VST2, dan orang-orang mengalami masalah dalam mem-porting kode mereka ke format yang lebih baru, karena terlalu terikat dengan VST2.

Tutorial ini mencakup pembuatan plugin yang berjalan di Win / Mac, 32/64, semua format plugin dari basis kode yang sama.

bajingan
sumber
Tutorial itu tampaknya hanya untuk Mac.
liftarn
6
Untuk bagian-bagian yang memiliki perbedaan, tutorial mencakup Mac dan Windows. Penulis menggunakan Mac sekalipun.
Basteln
28

Saya menulis HOWTO untuk pengembangan VST pada C ++ dengan Visual Studio beberapa waktu lalu yang merincikan langkah-langkah yang diperlukan untuk membuat plugin dasar untuk platform Windows (versi Mac dari artikel ini akan datang). Di Windows, plugin VST hanyalah DLL biasa, tetapi ada sejumlah "gotcha", dan Anda perlu membangun plugin menggunakan beberapa sakelar kompilator / penaut tertentu atau jika tidak, plugin tidak akan dikenali oleh beberapa host.

Sedangkan untuk Mac, plugin VST hanyalah satu paket dengan ekstensi .vst, meskipun ada juga beberapa pengaturan yang harus dikonfigurasi dengan benar untuk menghasilkan plugin yang valid. Anda juga dapat mengunduh satu set template proyek plugin Xcode VST yang saya buat beberapa waktu lalu yang dapat membantu Anda menulis plugin yang berfungsi pada platform itu.

Sedangkan untuk AudioUnits, Apple telah menyediakan templat proyek mereka sendiri yang disertakan dengan Xcode. Apple juga memiliki tutorial dan dokumentasi online yang sangat bagus:

Saya juga sangat merekomendasikan untuk memeriksa Kerangka Juce , yang memiliki dukungan luar biasa untuk membuat plugin VST / AU lintas platform. Jika Anda menggunakan sumber terbuka, maka Juce tidak perlu dipikirkan lagi, tetapi Anda harus membayar biaya lisensi untuk itu jika Anda berencana merilis karya Anda tanpa kode sumber.

Nik Reiman
sumber
7

Jika Anda tahu bahasa .NET (C # / VB.NET dll) maka periksa VST.NET . Kerangka kerja ini memungkinkan Anda membuat plugin VST 2.4 (tidak dikelola) di .NET. Muncul dengan kerangka kerja yang menyusun dan menyederhanakan pembuatan Plugin VST dengan dukungan untuk Parameter, Program, dan Persistensi.

Ada beberapa contoh yang menunjukkan skenario plugin pada umumnya. Ada juga dokumentasi yang menjelaskan cara memulai dan beberapa konsep di balik VST.NET.

Semoga membantu. Marc Jacobi

obiwanjacobi
sumber
5

Saya menyadari ini adalah posting yang sangat lama, tetapi saya telah berhasil menggunakan perpustakaan JUCE, yang membangun proyek untuk IDE utama seperti Xcode, VS, dan Codeblocks dan secara otomatis membangun VST / 3, AU / v3, RTAS, dan AAX.

https://www.juce.com/

pengguna43633
sumber
Bagi mereka yang bertanya-tanya apakah ini jalan yang baik, mengikuti tutorial OSX dengan tepat tidak memberikan hasil bagi saya, hanya kesalahan.
Seph Reed