Gen Plugin Export in the Package Manager

Isabel Kaspriskie's icon

To make it easier to grab the official Gen Plugin Export starter materials (available on GitHub), it is now available as a package in the Package Manager!

This v2.0 release also brings the following improvements:

  • Support for newer versions of IDEs (Xcode 11 or Visual Studio 2019)

  • Upgrade to use JUCE 6

  • Helper patch overhauled

  • General UI improvements

  • Troubleshooting suggestions included

  • Clearer instructions about pre-requisites (including links to the VST SDK and IDE downloads)

  • The post export scripting is handled with Node for Max instead of requiring a Python installation (this also fixes some issues where spaces in filepaths would cause the script to fail)

With this update, we hope you will be able to get more quickly up and running with modern JUCE projects from your gen~ exports!

bertrandfraysse's icon

this is a great news !! Thank you for all the work.

bearded clumsybear's icon

nice work! is it possible to export gen~ code with dependencies to custom genexpr libraries, like the waveshaper tools from stkr for example?

Isabel Kaspriskie's icon

@Bearded Clumsybear

Yes, you can include custom genexpr libraries in your export.

bearded clumsybear's icon

Good to know, thanks!

is there a proper way to sync LFOs to the BPM of DAWs in gen~ for the exported code, or do we have to implement this exclusively in JUCE?

Isabel Kaspriskie's icon

I'm not aware of a way to do it natively in gen~.

bertrandfraysse's icon

I'm interested in the exact same thing, and it seems here is the way to look :
https://docs.juce.com/master/structAudioPlayHead_1_1CurrentPositionInfo.html

Kristinn Ólafsson's icon

do you guys know of a new tutorial how to use the gen-plugin-export and get it into Juce?
I having huge problem with the cmake part of it. :)

Isabel Kaspriskie's icon

Hi Kristinn,

I am working on new documentation with the upgrade to CMake. The main motivation for this upgrade was M1 compatibility, but it did break some of the old patcher scripts. If there are any specific errors you’re receiving when trying to build with CMake, please feel free to share those as well, and I can see if we can’t get it sorted out in the meantime. :)

D1rty Duck's icon

I know it's a while, but to the BPM question.
add that code to process block:

int bpm;
auto playhead = getPlayHead();
if(playhead != nullptr) {
AudioPlayHead::CurrentPositionInfo positionInfo {};
const auto gotPositionInfo = playhead->getCurrentPosition(positionInfo);
if(gotPositionInfo) {
bpm = positionInfo.bpm;
}
}

Now you can send the bpm value to your bpm-Parameter in gen

bearded clumsybear's icon

Great news, thanks @D1RTY DUCK I will give it a shot

yaniki's icon

I took a quick look at this package... but I can already see that this is a brilliant tool. I'm delighted! I saw in a new light the possibilities offered by the code export from gen~. Thank you very much!

I only have one question: does code export and mechanisms in the package include buffer~ related features? On other words: if my gen~ code is accessing data stored in buffer~ object in the patch will the exported code handle this?

thanks again ;-)