GithubHelp home page GithubHelp logo

ojczeo / fogpad Goto Github PK

View Code? Open in Web Editor NEW

This project forked from igorski/fogpad

0.0 1.0 0.0 1.51 MB

A reverb effect in which the reflections can be frozen, filtered, pitch shifted and ultimately disintegrated.

License: MIT License

CMake 5.82% C 3.08% Batchfile 0.09% Shell 0.73% C++ 90.29%

fogpad's Introduction

FOGPAD

FogPad is a VST2/3/AU plug-in which provides a reverb effect in which the reflections can be frozen, filtered, pitch shifted and ultimately disintegrated.

On compatibility

Build as VST 2.4

VST3.0 is great and all, but support across DAW's is poor (shout out to Bitwig Studio for being awesome). You can however build this plugin as a VST2.4 plugin and enjoy it on a wider range of host platforms. Simply uncomment the following line in CMakeLists.txt:

set(SMTG_CREATE_VST2_VERSION "Use VST2" ON)

And rename the plugin extension from .vst3 to .vst.

Note: at the moment of writing there is an issue in SDK 3.6.9 where the VST2 plugin wrapper isn't working correctly on macOS. To correct this, add the following line to "VST3_SDK/public.sdk/source/main/macexport.exp" :

_VSTPluginMain

Compiling for both 32-bit and 64-bit architectures:

Depending on your host software having 32-bit or 64-bit support, you can best compile for a wider range of architectures, to do so replace all invocations of cmake in this README with the following:

macOS:

cmake "-DCMAKE_OSX_ARCHITECTURES=x86_64;i386" ..

Note: while i386 is considered deprecated in macOS, though you'd be surprised to find out how many people are running a 32-bit version of a DAW in this day and age...

Windows:

cmake.exe -G"Visual Studio 15 2017 Win64" ..
cmake.exe -G"Visual Studio 15 2017 Win32" ..

Build instructions

Environment setup

The project uses CMake to generate the build system after which you can use make to build the application.

Apart from requiring CMake and a g++ compiler, the only other dependency is the VST SDK from Steinberg.

Generating the Makefiles

The project has been developed against the VST3 SDK version 3.6.9 on macOS and Windows 10 and should work completely via CLI without requiring either Xcode or Visual Studio (for both command line/build tools suffice). Linux build system is provided, but is as yet untested.

Additionally, the Steinberg VST sources need to be built as well. Following Steinbergs guidelines, the target is a /build-subfolder of the /VST3_SDK-folder, execute the following commands from the Steinberg VST SDK root:

./copy_vst2_to_vst3_sdk.sh
cd VST3_SDK
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .

The result being that in {VST3_SDK_ROOT}/VST3_SDK/build/lib all Steinberg VST libraries are prebuilt. Windows users need to append --config Release to the last cmake (build) call.

Building the plugin

Run CMake to generate FogPad's Makefile for your environment, after which you can compile the plugin using make. The build output will be stored in ./build/VST3/fogpad.vst as well as copied to your systems VST-plugin folder.

You must provide the path to your custom SDK download location by providing VST3_SDK_ROOT to CMake like so:

cmake -DVST3_SDK_ROOT=/path/to/VST_SDK/VST3_SDK/ ..

Compiling on Unix systems:

mkdir build
cd build
cmake -DVST3_SDK_ROOT=/path/to/VST_SDK/VST3_SDK/ ..
make .

Compiling on Windows:

Assuming the Visual Studio Build Tools have been installed:

mkdir build
cd build
cmake.exe -G"Visual Studio 15 2017 Win64" -DVST3_SDK_ROOT=/path/to/VST_SDK/VST3_SDK/ ..
cmake.exe --build .

Running the plugin

You can copy the build output into your system VST(3) folder and run it directly in a VST host / DAW of your choice.

When debugging, you can also choose to run the plugin against Steinbergs validator and editor host utilities:

{VST3_SDK_ROOT}/build/bin/validator  build/VST3/fogpad.vst3
{VST3_SDK_ROOT}/build/bin/editorhost build/VST3/fogpad.vst3

Build as Audio Unit (macOS only)

Is aided by the excellent Jamba framework by Pongasoft, which provides a toolchain around Steinbergs SDK. Execute the following instructions to build the plugin as an Audio Unit:

  • Build the AUWrapper Project in the Steinberg SDK folder
  • Create a Release build of the Xcode project generated in step 1, this creates VST3_SDK/public.sdk/source/vst/auwrapper/build/lib/Release/libauwrapper.a
  • Run sh build_au.sh from the repository root, providing the path to VST3_SDK_ROOT as before:
VST3_SDK_ROOT=/path/to/VST_SDK/VST3_SDK sh build_au.sh

The subsequent Audio Unit component will be located in ./build/VST3/fogpad.component as well as linked in ~/Library/Audio/Plug-Ins/Components/

You can validate the Audio Unit using Apple's auval utility, by running auval -v aufx dely IGOR on the command line. Note that there is the curious behaviour that you might need to reboot before the plugin shows up, though you can force a flush of the Audio Unit cache at runtime by running killall -9 AudioComponentRegistrar.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.