Jamba Save

A lightweight VST2/3 framework

Project README

Jamba - A lightweight VST3 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 VST3 plugin. Jamba has been designed to help in building VST3 plugin, not to replace it: you are still writing a VST3 plugin, not a Jamba plugin.

Check the Jamba website for more details.

Run Tests (macOS) Run Tests (Windows)

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

7.0.1 | 2023-05-27

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 VST3

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.

Open Source Agenda is not affiliated with "Jamba" Project. README Source: pongasoft/jamba
Stars
121
Open Issues
3
Last Commit
11 months ago
Repository
License

Open Source Agenda Badge

Open Source Agenda Rating