Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

- Fixed radio buttons not to double propagate
- Fixed missing compiler settings
- Added access to ParameterMappings

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

PluginGuiMagic - by Foleys Finest Audio

Plugin GUI Magic is a live editor for JUCE GUIs, focussed on Audio Plugins. The main features are:

  • Offer a default GUI from the audio processor parameters
  • Uses audio parameter groups for the layout
  • completely styleable via CSS-like structures
  • Arranging of layout via drag and drop
  • Out-of-the-box visualisers, including an FFT-Analyser and Oscilloscope
  • Extensible with your own Components

EqualizerExample Screenshot

main branch: CMake develop branch: CMake


This editor works for JUCE GUIs. Best use the JUCE project templates generated with Projucer, although it is no different from integrating any other JUCE module.

The PluginGuiMagic can connect to any juce::AudioProcessorParameter, the AudioProcessorValueTreeState is no longer a requirement.

To add the GUI, add the foleys_gui_magic as submodule in the Projucer to the project. To learn how to integrate the MagicPluginEditor, have a look in the examples folder, the SignalGenerator example is a good starting point.




This example demonstrates how to add a editable GUI for an AudioProcessor without writing code for the GUI, only implementing the processor.



This example shows, how you can add your custom components into the generated GUI. There is a Component where you can edit the colours, as well as a Component, that accesses a typesafe back reference to the AudioProcessor.



An example of a 6 band IIR equalizer with complete plot curves, analysers and more features following (this is the reference implementation for new features).



An example additive synthesiser to show the MidiKeyboardComponent and how to create a nice GUI with PluginGuiMagic.

FoleysSynth Screenshot


In the module there is a define called FOLEYS_SHOW_GUI_EDITOR_PALLETTE. By setting this to 0, the editor is completely excluded from the build.

You can save your GUI to an XML and add it via BinaryData to the project. Alternatively you can supply only a style definition and let the GUI components be automatically generated each time.


The code is supplied under the BSD-3 clause license, free to use for non-commercial purposes.

To use PluginGuiMagic in commercial products, you should buy a license on our web-page.

To check the pricing and buy licenses please look at

License holders will get priority on bug reports and feature requests.


Any contribution in form of feedback, suggestions, criticism, test results and code pull requests are very welcome and highly appreciated.

Enjoy using the GUI editor and let me know, how it goes.

Daniel -