Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/DBraun/TD-JUCE
JUCE audio and VSTs in TouchDesigner
https://github.com/DBraun/TD-JUCE
audio audio-processing cmake juce touchdesigner vst
Last synced: 3 months ago
JSON representation
JUCE audio and VSTs in TouchDesigner
- Host: GitHub
- URL: https://github.com/DBraun/TD-JUCE
- Owner: DBraun
- License: other
- Created: 2020-08-19T00:50:57.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2021-05-11T04:58:38.000Z (over 3 years ago)
- Last Synced: 2024-04-23T04:54:08.598Z (7 months ago)
- Topics: audio, audio-processing, cmake, juce, touchdesigner, vst
- Language: C++
- Homepage:
- Size: 153 KB
- Stars: 36
- Watchers: 6
- Forks: 3
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-juce - TD-JUCE - JUCE: JUCE audio and VSTs in TouchDesigner| other|37|Β 3Β years<sub><sup>π΄</sup></sub>| (Integrations)
README
# TD-JUCE
This repo builds [JUCE](http://juce.com/) into a dynamic linked library `TD-JUCE.dll`, currently about 5.5 MB. Users can make their own TouchDesigner JUCE DLLs by linking against this library, and these plugins are likely to be even lighter. For example, `TD-JUCE-Reverb.dll` is only 31 KB. Going forward, this repo will grow by containing more plugin examples.
## Currently implemented:
#### [Reverb](https://docs.juce.com/master/classdsp_1_1Reverb.html)
The input should be stereo waveform.#### [VST](https://docs.juce.com/master/classAudioPluginInstance.html)
This plugin works as both a VST instrument (**DLL** files) and VST effect (**DLL** and **.vst3** files). For both instruments and effects, the second CHOP input, which is optional, should contain the VST parameter choices. These channels can be either low sample rate (60 Hz) or audio rate (44100 Hz). The "Block size" custom parameter determines how many samples are processed for each time the parameters get updated. Use the Info DAT on the plugin to figure out which channels correspond to which parameters.
When the VST is an effect, the first CHOP input should be a stereo waveform. When the VST is an instrument, the third CHOP input should be 128 channels, which correspond to [MIDI](https://en.wikipedia.org/wiki/MIDI#General_MIDI) notes. Middle-C is 60. The values in this CHOP are the velocities of the notes, from 0 to 1. The CHOP's sample rate can be 60 fps or audio rate.
## Installation
### All Platforms
Clone this repo with git. It will not work if you download it as a zip.
### Windows
Install [CMake](https://cmake.org/download/) and make sure it's in your system path. Then in this repo, open a cmd window and do the following:
```bash
mkdir build
cd build
cmake ..
```Open `build/TD-JUCE.sln` and build in Release (Debug is broken). Then press `F5` and TouchDesigner should open. This repo's `Plugins` folder should contain a newly compiled `TD-JUCE.dll` and other DLLs such as `TD-JUCE-Reverb.dll` and `TD-JUCE-VST`.
### OSX
Not fully tested yet, but the Windows instructions might work.
### Linux
TouchDesigner isn't on Linux ;)
## Roadmap
* Make it possible to build in debug mode
* Mac OSX support
* Add continuous integration testing
* Your suggestion here (open a Github issue)## License
If you use this code you must obey the [JUCE 6.0 License](https://github.com/juce-framework/JUCE/blob/master/LICENSE.md).