All Projects → pongasoft → Vst24 Hello World

pongasoft / Vst24 Hello World

Licence: apache-2.0
This project contains a "Hello World" style application for building a VST 2.4 plugin

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Vst24 Hello World

Absolutebeginnerprojects
A repo for brand new devs who are looking for great real-world fundamental practice projects
Stars: ✭ 93 (+416.67%)
Mutual labels:  tutorial, beginner
Hacktoberfest
This hacktoberfest project exists to help you submit your first Pull Request and welcome you to the world of open source!
Stars: ✭ 216 (+1100%)
Mutual labels:  tutorial, beginner
Learn Heroku
🏁 Learn how to deploy your web application to Heroku from scratch step-by-step in 7 minutes!
Stars: ✭ 110 (+511.11%)
Mutual labels:  tutorial, beginner
Llvm 9.0 Learner Tutorial
A blog for LLVM(v9.0.0 or v11.0.0) beginner, step by step, with detailed documents and comments. Record the way I learn LLVM and accomplish a complete project for FPGA High-Level Synthesis with it.
Stars: ✭ 58 (+222.22%)
Mutual labels:  tutorial, beginner
Codeparkshare
Python初学者(零基础学习Python、Python入门)书籍、视频、资料、社区推荐
Stars: ✭ 4,193 (+23194.44%)
Mutual labels:  tutorial, beginner
Learn Vim
Vim 实操教程(Learning Vim)Vim practical tutorial.
Stars: ✭ 1,166 (+6377.78%)
Mutual labels:  tutorial, beginner
Javascript Todo List Tutorial
✅ A step-by-step complete beginner example/tutorial for building a Todo List App (TodoMVC) from scratch in JavaScript following Test Driven Development (TDD) best practice. 🌱
Stars: ✭ 212 (+1077.78%)
Mutual labels:  tutorial, beginner
Phoenix Todo List Tutorial
✅ Complete beginners tutorial building a todo list from scratch in Phoenix 1.5.3 (latest)
Stars: ✭ 65 (+261.11%)
Mutual labels:  tutorial, beginner
Swiftui Tutorials
A code example and translation project of SwiftUI. / 一个 SwiftUI 的示例、翻译的教程项目。
Stars: ✭ 1,992 (+10966.67%)
Mutual labels:  xcode, tutorial
Ios Learning Materials
📚Curated list of articles, web-resources, tutorials and code repositories that may help you dig a little bit deeper into iOS [and Apple Platforms].
Stars: ✭ 1,380 (+7566.67%)
Mutual labels:  xcode, tutorial
Phoenix Liveview Counter Tutorial
🤯 beginners tutorial building a real time counter in Phoenix 1.5.5 + LiveView 0.14.7 ⚡️
Stars: ✭ 115 (+538.89%)
Mutual labels:  tutorial, beginner
Python Tutorial
A Python 3 programming tutorial for beginners.
Stars: ✭ 647 (+3494.44%)
Mutual labels:  tutorial, beginner
Awesome Swiftui
A collaborative list of awesome articles, talks, books, videos and code examples about SwiftUI.
Stars: ✭ 878 (+4777.78%)
Mutual labels:  xcode, tutorial
Phoenix Chat Example
💬 A Step-by-Step Beginners Tutorial for Building, Testing & Deploying a Chat app in Phoenix 1.5.5 🚀
Stars: ✭ 452 (+2411.11%)
Mutual labels:  tutorial, beginner
Learn Vim
Learning Vim and Vimscript doesn't have to be hard. This is the guide that you're looking for.
Stars: ✭ 7,221 (+40016.67%)
Mutual labels:  tutorial, beginner
Basic reinforcement learning
An introductory series to Reinforcement Learning (RL) with comprehensive step-by-step tutorials.
Stars: ✭ 826 (+4488.89%)
Mutual labels:  tutorial
Donut
Xcode file template manager
Stars: ✭ 17 (-5.56%)
Mutual labels:  xcode
Ko.javascript.info
Modern JavaScript Tutorial in Korean (모던 JavaScript 튜토리얼)
Stars: ✭ 822 (+4466.67%)
Mutual labels:  tutorial
Copyright
Copyright is a simple application for updating all the copyright info in your Swift or Obj-C projects.
Stars: ✭ 5 (-72.22%)
Mutual labels:  xcode
Syscrack
Virtual Online Crime Simulator (VOCS) written in PHP 7.0
Stars: ✭ 17 (-5.56%)
Mutual labels:  tutorial

Introduction

This project contains a "Hello World" style application for building a VST 2.4 plugin: the code is heavily commented to explain what is going on. Also check out the VST2.4 section below for more details on VST.

This plugin has no UI nor any way to configure it. It simply lowers the input signal by 3dB. The point is to have the minimum amount of code to have a fully working plugin while demonstrating what is going on and best practices (I know the code could be made even smaller without the C++ wrapper class, but the point is to write realistic code that can be used as a starting point for more advanced plugins).

Motivations

TLDR; Lack of such project

After building a few Rack Extensions for Propellerhead's Reason DAW, I wanted to build a VST plugin which I could also deploy in other DAWs. The documentation for building a VST 2.4 plugin turned out to be quite hard to find since this version is old and whatever I could find was not easy to follow and understand. There are a few higher level frameworks (like Juce or wdl-old) that may be better to build a more complex application, but they have their own learning curves and hide (for better or for worse) how the underlying infrastructure actually work.

For the same reason that I strongly believe every single developer should write their own compiler once, even if in the end you will end up using the standard ones (like gcc, clang, etc...), I believe it is important to understand how a VST plugin is built at its lowest level. This will give you a solid foundation and better understanding of the trade offs that higher level frameworks have to make.

In the end, the core concepts of VST 2.4 are not very complicated. I only think they are a bit hard to understand due to the lack of documentation and simple examples.

This project is meant to bridge this gap.

VST 2.4

See A Beginner's Guide to VST 2.4.

Build

Before building the project for the first time, please refer to the README file under vst2.x.

The main code (M3dB/plugin.cpp) for the VST plugin is cross platform compatible. Unfortunately the packaging is not. As a result, this project has only been designed to be built and work on a Mac (OS X) since it is my current development platform. I would definitely be open to contributions for a CMakefile that could build on all platforms.

For the time being, simply open the XCode project (either with XCode itself or AppCode by Jetbrains). Simply build the plugin.

Installation

Copy the built bundle (M3dB.vst folder) under $HOME/Library/Audio/Plugin-Ins/VST and use your favorite VST compliant favorite DAW to load.

Binary

If you want to install this plugin without building it (on macOS only), download the file, unzip and copy M3dB.vst under $HOME/Library/Audio/Plug-Ins/VST

Integrity check md5 M3dB.vst.zip => c4e81b73a7e848bc9f9362f14aff4983.

License

Apache 2.0

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].