All Projects → pongasoft → Jamba

pongasoft / Jamba

Licence: apache-2.0
A lightweight VST2/3 framework

Projects that are alternatives of or similar to Jamba

Juce
JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, RTAS and AAX audio plug-ins.
Stars: ✭ 3,841 (+5161.64%)
Mutual labels:  framework, vst, vst3
juceSynths
Collection of JUCE synthesisers utilising the Maximilian library.
Stars: ✭ 78 (+6.85%)
Mutual labels:  vst, vst3
Melodrumatic
Audio plugin that lets you use MIDI to pitch-shift via delay to turn unpitched audio into melodies
Stars: ✭ 26 (-64.38%)
Mutual labels:  vst, vst3
Yabridge
A modern and transparent way to use Windows VST2 and VST3 plugins on Linux
Stars: ✭ 329 (+350.68%)
Mutual labels:  vst, vst3
Roboverb
A VST / VST3 / AU / LV2 Reverb Plugin
Stars: ✭ 48 (-34.25%)
Mutual labels:  vst, vst3
GuitarAmp
A basic and experimental guitar modeling amp
Stars: ✭ 79 (+8.22%)
Mutual labels:  vst, vst3
AudioPlugSharp
Easily create VST (VST3) audio plugins in C# .NET
Stars: ✭ 32 (-56.16%)
Mutual labels:  vst, vst3
Awesome Musicdsp
A curated list of my favourite music DSP and audio programming resources
Stars: ✭ 871 (+1093.15%)
Mutual labels:  vst, vst3
Wdl Ol
Enhanced version of Cockos' iPlug - A simple-to-use C++ framework for developing cross platform audio plugins and targeting multiple plugin APIs with the same code. VST / VST3 / Audiounit / RTAS / AAX (Native) formats supported. NOTE: THIS IS OBSOLETE, PLEASE SEE IPLUG2:
Stars: ✭ 906 (+1141.1%)
Mutual labels:  vst, vst3
Camomile
An audio plugin with Pure Data embedded that allows to load and to control patches
Stars: ✭ 527 (+621.92%)
Mutual labels:  vst, vst3
aeolus plugin
Pipe organ synthesizer (VST plugin)
Stars: ✭ 38 (-47.95%)
Mutual labels:  vst, vst3
Regrader
VST delay plugin where the repeats degrade in resolution
Stars: ✭ 44 (-39.73%)
Mutual labels:  vst, vst3
Vst Js
native node addon that allows for instantiation of natively installed VST3 audio plugins
Stars: ✭ 153 (+109.59%)
Mutual labels:  vst, vst3
fogpad
A VST reverb effect in which the reflections can be frozen, filtered, pitch shifted and ultimately disintegrated.
Stars: ✭ 61 (-16.44%)
Mutual labels:  vst, vst3
Audio Plugin Development Resources
Various resources related to developing plugins for audio production.
Stars: ✭ 136 (+86.3%)
Mutual labels:  vst, vst3
Dplug
Audio plugin framework. VST2/VST3/AU/AAX/LV2 for Linux/macOS/Windows.
Stars: ✭ 341 (+367.12%)
Mutual labels:  vst, vst3
Iplug2
C++ Audio Plug-in Framework for desktop, mobile and web [PRE-RELEASE]
Stars: ✭ 875 (+1098.63%)
Mutual labels:  vst, vst3
Node Audio
Graph-based audio api for Node.js based on LabSound and JUCE
Stars: ✭ 67 (-8.22%)
Mutual labels:  vst, vst3
Andes
Sound synthesiser based on Perlin noise
Stars: ✭ 69 (-5.48%)
Mutual labels:  vst
Chubbyphp Framework
A based PSR-15 microframework that also sets maximum flexibility with minimum complexity and easy replaceability of the individual components, but also of the framework.
Stars: ✭ 69 (-5.48%)
Mutual labels:  framework

Jamba - A lightweight VST2/3 framework

Jamba is a set of helpers (classes, concepts, build files, etc...) built on top of the VST SDK to provide a lightweight framework to build a VST2/3 plugin. Jamba has been designed to help in building VST2/3 plugin, not to replace it: you are still writing a VST2/3 plugin, not a Jamba plugin.

Check the Jamba website for more details.

Features

Bootstrap

  • generate a fully buildable, testable, editable and deployable plugin (see Quick Starting Guide)
  • automatically download dependencies

Build & Deploy

  • simple script to build, test, validate, edit and install the plugin from the command line (see jamba.sh (.bat)
  • build a self contained plugin that depends on the VST3 SDK
  • optionally builds a VST2 compatible plugin
  • optionally wraps the VST3 plugin into an Audio Unit plugin (macOS)
  • build a universal plugin for Apple Silicon support (macOS)
  • easily adds resources (images) in a cross platform way
  • easily write unit tests for your project
  • build on macOS and Windows 10
  • package your project as an archive (zip file) for production release

C++ classes & concepts

  • pick and choose which feature is useful to you (lots of options to override/change the default behavior)
  • define your VST parameters in one location (inherit from Parameters) and use both in real time processing (RT) and GUI code
  • define typed VST parameters (ex: a boolean (bool) parameter, a gain (Gain) parameter, etc...)
  • use typed VST parameters directly in RT processing code as well as GUI code
  • use Jamba parameters for handling non VST parameters (ex: a label/text string cannot be represented by a VST parameters). Jamba parameters can be automatically saved/restored part of the state
  • use Jamba parameters to easily exchange messages between RT and GUI (both directions) in a thread safe fashion
  • easily create custom views with their creators (so that they appear in the GUI editor)
  • easily use multiple parameters in a custom view (ex: a custom display which displays a gain value (parameter 1) in a color depending on parameter 2)
  • store/read state in a thread safe fashion (includes version to allow easy state upgrade)
  • Jamba Views

Getting Started

Check the Quickstart section to getting started.

Latest Release

5.1.4 | 2021-02-06

Release notes (local)

Release notes (web)

Development

In order to work on this project itself (not a plugin), you need to clone this repository and install the VST3 SDK as described in the requirements section. In addition to the unit tests (under src/test), the embedded jamba-test-plugin plugin constitutes the main source of testing.

Although this project does not contain a great deal of tests, it is being heavily used (and as a result tested) by the plugins it has been designed to build.

Plugin Description
vst-ab-switch A/B Audio Switch VST plugin
vst-vac-6 VST (2 & 3) plugin to analyze and control the peak volume of a signal
vst-sam-spl-64 A free/open source VST2, VST3 and AudioUnit plugin to easily split a sample in up to 64 slices
jamba-sample-gain Documentation plugin for Jamba framework: a simple gain plugin for VST2/3

History

This project was created to abstract the common patterns and solutions to many questions implemented across the VAC-6V and A/B Switch vst plugins. Check Announcing Jamba blog post for more details.

Misc

  • This project uses loguru for logging (included under src/cpp/pongasoft/logging)
  • This project uses the VST3 SDK by Steinberg Media Technologies GmbH

Licensing

  • Apache 2.0 License. Jamba itself can be used according to the terms of the Apache 2.0 license.

  • Note that the primary goal of Jamba is to help build a VST3 plugin and as a result you should check the Steinberg License in order to determine under which terms your plugin needs to be licensed.

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].