• Stars
    star
    159
  • Rank 235,227 (Top 5 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated 11 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Audio plugin model of a modern classic guitar overdrive Pedal

Github All Releases Build

Schrammel OJD - Model of a modern classic guitar overdrive pedal

Hi! My name is Janos, I like playing e-guitar & tweaking my guitar pedalboard as a hobby, I'm working as an audio software programmer and studied electrical engineering. Coming from this background, I thought that the (guitar/audio) world would need a good sounding, good looking & open source guitar overdrive plugin.

So... May I introduce to you: The Schrammel OJD. Heavily inspired by the schematics of a modern classic analog pedal, digitally built with my favourite C++ framework JUCE.

Just add it to your FX chain before your digital amp simulation of choice and get that distortion sound that simply fits the mix perfectly.

License

The OJD is licensed under a GPLv3 license. This license applies to all parts of this repository except for

  • The external third party dependencies that can be found as git submodules in the Ext subdirectory and contain their own license information. These licenses are all GPLv3 compatible, so the OJD as a combined product is under GPLv3 license
  • The Windows installer, found in the Deployment/Windows subdirectory, which is licensed under a LGPLv3 license as the distributed versions of the installer will contain the closed source Microsoft Visual C++ redistributable runtime library installer

How to get the OJD? 🤷‍♀️🤷‍♂️

The plugin is currently in a late, mostly stable beta phase. To download the latest build, go to my website and download it for free or alternatively browse the releases directly here on GitHub. Feeback is welcome, you can reach me via the contact via my website or post issues here on GitHub!

The OJD is currently available for Mac OS and Windows as VST3 and AU (Mac OS only) plugin. I'm working on getting AAX signing up & running to also release an AAX version in the near future.

Thank goes out to...

  1. My long time good friend and band mate Henning Oskamp for his incredible work on the user interface and website design. The plugin would not look half as good if I had tried designing it ❤️
  2. My employer sonible for supporting me to work on open source projects beneath my job and for promoting this project through a blog article
  3. JetBrains, a company that builds IDEs that are superior to any other option that I tried out there. I'm very thankful that they support this project with a free license for their CMake IDE Clion!

How to build the plugin from source

The OJD is a free open source plugin, there is no license key required. Beneath downloading the ready-to-use installers, you can always build it yourself from sources if you are familiar with all those software development stuff. The project is based on a CMake build script.

There are various ways to build a CMake-based project. For all of them you need CMake being installed on the system, along with suitable platform specific build tools – I currently use the XCode 13.1 toolchain for macOS builds and Visual Studio 2019 with the clang-cl compiler for Windows. For Windows builds, it's expected to use the Visual Studio 2019 generator. Furthermore Rust build tools need to be installed to build the resvg rendering engine which is included as submodule into this project.

Do it all from the command line

Of course, you don't even need to open an IDE to build the plugin. You can trigger the build completely from the command line and give CMake the freedom to chose whatever it sees as the suitable default generator for your platform. On macOS and Linux type

cmake -DCMAKE_BUILD_TYPE=Release -B build

or on Windows type

cmake -DCMAKE_BUILD_TYPE=Release -B build -G "Visual Studio 16 2019"

to configure a release build in the build subdirectory. Then call

cmake --build build

to let CMake start the build it configured in the previous step. These are all basic CMake commands, if you are interested in more details, you'll find a lot information on the internet. In theory, it's possible to also generate IDE projects that way, but last time I tried it, Xcode had troubles with compiling the resvg rust target and I'm not planing trying to fix that.

This is basically how I trigger the builds for my GitHub actions based build pipeline used to build the plugin that you download. For more details look into the .github/workflows/build.yml file.

Use a CMake capable IDE

On Windows you can directly open the CMake project in Visual Studio 2019. When doing so, Visual Studio will create a project based on the ninja build system for you automatically and you can compile and work with it just like you would do with a ususal Visual Studio solution.

For macOS, Linux and of course also for Windows you can use Jet Brains CLion IDE, which is what I use for the development of the plugin myself. Note that on Windows you should supply the -G "Visual Studio 16 2019" command in the CMake preferences in order to use the Visual Studio generator from CMake.

Changelog

0.9.8

  • macOS version is now built as universal binary for native M1 compatibility
  • Changed default parameters to compensate volume drop when first loading the plugin
  • Avoid possible audio glitches when modulating parameters fast
  • Make stereo processing possible
  • Added an info page with version and update info

0.9.7

  • Updated Resvg4JUCE dependency to fix crashes reported for older macOS Deployment targets

0.9.6

  • Fixed an issue where resizing the plugin window could break the UI layout
  • Completely new UI assets
  • Added message of the day functionality
  • Now using third party SVG rendering library resvg instead of JUCE SVG rendering implementation
  • Windows installer now installs VC redistributable

More Repositories

1

OpenGLRealtimeVisualization4JUCE

A JUCE Module containing OpenGL accelerated realtime (audio) data visualization Components
C++
62
star
2

Resvg4JUCE

A JUCE module that wraps the resvg SVG rendering library in a JUCE compatible interface
C++
26
star
3

PluginBase

A JUCE module containing building blocks for my JUCE based audio plugin projects
C++
10
star
4

RealtimeSafetyCheckHelpers

Helper tools to find out if your DSP code or third party libraries you might use don't perform any realtime-critical system calls
C++
8
star
5

FBV3Bridge

PJRC Teensy based hardware device to interface a Line 6 FBV3 to a USB-Serial Port to access its functionality through Max for Live or Max/MSP
Max
7
star
6

SoftwareDefinedRadio4JUCE

A framework to use JUCE for Software Defined Radio. Including a JUCE-style SDR hardware abstraction layer to interface SDRs from various companies, some RF specific DSP classes and OpenCL accelerated DSP classes that can be compiled for FPGAs
C++
6
star
7

download-release-from-private-repo-test

Test Repository to figure out how to download a release asset from a private repository
6
star
8

MacSystemConsoleLogger4JUCE

A small & simple JUCE-module that inherits from juce::Logger and redirects Log messages to NSLog. This will make them appear in the OS X Console.app
C++
4
star
9

smallKemperRemote

Adafruit Trinket Pro based Midi Foot Controller with five footswitches for the Kemper Profiling Amp to select all five rigs of the current Performance in the Performance Mode
Arduino
3
star
10

simpleMIDI

A class for easy accessing MIDI Interfaces. Currently supports: Apple CoreMIDI. Next step: Arduino
C++
2
star
11

kpapi

A C++ class representing a Kemper Profiling Amp connected via MIDI as a single cpp object. Depending on my simpleMIDI (https://github.com/JanosGit/simpleMIDI) implementation and therefore compatible with all platforms simpleMIDI supports
C++
2
star
12

WaveletPlayground

MATLAB Wrapper around the wavelet2d C++ library to play around a bit with wavelet transforms without needing to buy the wavelet toolbox
C++
1
star