Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tonic

🎛️ Tonic Audio Plugin - JUCE Effect Rack

This project is a cross-platform audio effect rack plugin built using the JUCE framework. Follow the instructions below to set up your environment and build the plugin on macOS or Windows.


✅ Prerequisites

Before building, ensure the following are installed on your machine:

  • JUCE 8.x
    Download from: https://juce.com/get-juce
    Install it and launch the Projucer app.

  • C++ Toolchain:

    • macOS: Xcode (latest)
    • Windows: Visual Studio 2022 (Community or better) with "Desktop development with C++" workload

📁 Project Structure

  • .jucer — JUCE project file
  • Source/ — C++ source files
  • Builds/ — Platform-specific build files (auto-generated by Projucer)

🧰 Building on macOS

  1. Open TonicAudioPlugin.jucer using Projucer.
  2. Ensure:
    • JUCE modules path is set correctly
    • "Xcode (macOS)" exporter is enabled
  3. Click File → Save Project and Open in IDE
  4. Xcode will launch with the project. Choose Tonic_AU or Tonic_VST3 as the target and click Run (⌘+R).

🧰 Building on Windows

  1. Open TonicAudioPlugin.jucer using Projucer.

  2. Ensure:

    • JUCE modules path is set correctly
    • "Visual Studio 2022" exporter is enabled
  3. Under Visual Studio Exporter > Extra Linker Flags, paste:

    /LIBPATH:"$(WindowsSdkDir)um\x64" user32.lib ole32.lib shell32.lib advapi32.lib uuid.lib gdi32.lib comdlg32.lib
    
  4. Click File → Save Project and Open in IDE

  5. Visual Studio will launch. Set the Tonic_VST3 project as the Startup Project.

  6. Build the solution using Debug | x64 configuration.


🧪 Testing the Plugin using JUCE AudioPluginHost

  1. Launch AudioPluginHost, located in the JUCE/Extras/AudioPluginHost/Builds directory.
    • You may need to build it first using Projucer + Xcode/Visual Studio.
  2. In the plugin host:
    • Go to Options → Edit Plugin Search Paths
    • Add your plugin build output folder:
      • macOS (AU): ~/Library/Audio/Plug-Ins/Components/
      • macOS (VST3): ~/Library/Audio/Plug-Ins/VST3/
      • Windows (VST3): C:\Program Files\Common Files\VST3\
  3. Scan for new plugins and drag your plugin into the graph to test it.

🧠 Notes for Developers

  • The .jucer file defines modules, plugin formats, and platform settings.
  • If you make changes to the .jucer file (e.g., adding a new source file or module), re-save and regenerate IDE files.
  • Always commit both the .jucer file and your Source/ files to Git.

💬 Troubleshooting

LINK : fatal error LNK1181: cannot open input file 'tonic.lib'

Remove tonic.lib from:

Projucer > Exporters > Visual Studio > External Libraries to Link

LNK2019: unresolved external symbol juce::String

Ensure Tonic_SharedCode project builds successfully. If not:

  • Clean solution and rebuild
  • Check JUCE modules are properly included

🧪 Want to Try a Quick Test?

You can build the plugin and run it inside AudioPluginHost by connecting a sine oscillator → your plugin → output speakers. This helps you visualize how your effect manipulates audio in real time.

We have tested before with success!


Happy hacking! 🎶

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages