Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
GSoC 2016. Open Ephys: Plugin generator. Final report

Plugin Generator with visual interface designer

Intern: Kirill Abramov (

Mentor: Josh Siegle (

Work links summary


The main goal of the project was to create a plugin generation GUI interface which provides convenient features that simplify the process of generating plugins for a non-programmer audience. So having such an utility, people can focus on developing their algorithms and behaviour of the plugins.

So during GSoC 2016 I have worked mostly on creating Plugin Generator. I also made some improvements for some parts of existing OE GUI.

The Plugin Generator was made as a part of JUCE Projucer with some improvements from our side to accomodate our requirements, thus it will be also more convenient to use for those who had some experience working with Projucer (And anyway the Projucer itself is also amazing!).

Some features of Plugin Generator

  • Generate processor, editor (if needed) files;
  • Generate needed build files (Now 100% support for Linux only. Still WIP for macOS and Windows);
  • Generate content component files (The files where user can create interface for his plugin using visual editor);
  • Create and edit plugin parameters using parameter editor;
  • Create plugin using any template from the list of available plugin templates;
  • Select any LookAndFeel for plugin from the list of available LookAndFeels;
  • Edit different plugin options (i.e. width, description, etc.) on the fly.

Future work

  • Add full support for Plugin Generator for macOS and Windows (need some tests and fixes to generate proper XCode and Visual Studio project files).
  • Extend the list of available plugin templates and LookAndFeels.


Step 1

Choose the "Open-Ephys Plug-in" tile to start the process of creating plugin. step1

Step 2

Enter the name of the plugin and change the directory of plugin if needed (By default it's plugin-GUI/Source/Plugins). step2

Step 3

Select needed plugin type, processor type, template from which your plugin will be created and LookAndFeel that will be used for the plugin. Then click on "Create project" button. step3

Step 4

Here we go! Your plugin has been created! Now it's time to adjust some plugin configuration if you want. step4

Step 5

You can also add some plugin parameters and edit them. step5

Step 6

Want to change the GUI of the plugin - it's easy! Just go to "Files" tab and select the *ContentComponent.cpp file from the list of files.

Now you can edit any of existing GUI components, add new, etc. step6


Congratulations! You have just created and configured your plugin!

More tutorials and info for Plugin Generator will be available at wiki.

Useful links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment