You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To provide a framework that provides a simple drop-in component system
and handles any non-creative work consistently.
This framework is built on the JUCE audio plugin framework, which provides
all of the tools for making the actual audio plugin.
While JUCE is a great framework, I found that there are some tasks
which are repetitive (such as state maintenance), and plenty things that could
go wrong in making a JUCE application. This framework is a solution
to a decoupled, organized, and uniform framework that will allow
even giant apps to be built, while maintaining maintainability and simplicity.
Current version - 0.0.0
This is super alpha and definitely not considered production yet, although it is already useful.
Documentation
The framework contains 4 main types of entities.
GUI Components
Midi/Audio Processors
States
State Modifiers
With these four entities, any app should be constructable. The framework aims to
handle everything that is not specifically creating a GUI, running audio processes,
referring to states, and modifying states.
The NoneApp folder contains a JUCE project that is built using this framework. It
is a simple FM modulator, and uses every component of the framework. It generates
a sine using a state that contains the frequency information. A state modifier
modulates the generator's state, by way of a GUI rotary slider component. This
results in a synthesizer with a controllable frequency modulator.
The juce_modules folder contains the modules that this framework used in development.
Step by step
To create a new app, just copy and rename the NoneApp. You'll need Projucer from JUCE to
open the project file.
You'll need to copy the folder modules/none_app. That's the starting project. You
will edit this module to configure the app. Consider renaming the namespace to your desire.
Include your module in the JUCE project, by adding a module in Projucer.
If you renamed your namespace, you'll need to change the app's variable
declaration in PluginProcessor.h.
Known bugs
Automation is non-functional in Fl Studio. The parameter only updates on play.
License
This framework contains two different licenses. This repository contains JUCE module code
for convenience and as a way of preserving the framework's integrity.
A licence document is included in the juce_modules folder which details the JUCE license.
Aside from JUCE, this library is licensed with the MIT license, making it very free.
About
Audio application and library management framework built on JUCE