Plugin Installed via "make install" not Displaying in VCV Rack2

Hi, I am working in Ubuntu and attempting to make my first VCV Rack 2 plugin. This is also my first question in the forum so please kindly inform me how I can better my question.

I followed this guide to get VCV Rack 2 setup in Ubuntu, and added a line to .bashrc reading alias rack='cd /home/USER/Rack2Free && ./Rack & cd ~ & qjackctl --start' to more easily launch the program. I got a little test going and everything works. I also added export RACK_DIR="/home/USER/.Rack2/Rack-SDK" to .bashrc.

I then obtained example code from the YouTube video “Why & How to code your first VCV Rack Plugin (C++ for Beginners)” -TheFlirrfaktor and followed along with this guide to install the pre-made plugin. More specifically: cd /home/USER/Documents/Plugins/MDGA && make clean && make && make dist && make install. A folder was created, “/home/USER/.Rack2/plugins-lin-x64/MDGA” seemingly occupied correctly.

The issue: Upon closing and re-launching VCV Rack 2, I’m not finding my MDGA module anywhere as the linked YouTube tutorial suggests. I downloaded the SS-Modules melodygen from VCV Library for testing. The software automatically created & occupied the folder “/home/USER/.Rack2/plugins-lin-x64/SS-Modules”, and the module can be seen in VCV Rack 2. So supposedly folder location is not the issue.

The question: What am I doing wrong for VCV Rack 2 to not see the plugin? I did not edit the MDGA source code, and the source code can be found from the klirrfactory domain in the YouTube video’s description.

Associated make outputs:

make: g++ -std=c++11 -Wsuggest-override -fPIC -I/home/USER/.Rack2/Rack-SDK/include -I/home/USER/.Rack2/Rack-SDK/dep/include -fno-gnu-unique -MMD -MP -g -O3 -funsafe-math-optimizations -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -DARCH_X64 -march=nehalem -DARCH_LIN -c -o build/src/plugin.cpp.o src/plugin.cpp g++ -std=c++11 -Wsuggest-override -fPIC -I/home/USER/.Rack2/Rack-SDK/include -I/home/USER/.Rack2/Rack-SDK/dep/include -fno-gnu-unique -MMD -MP -g -O3 -funsafe-math-optimizations -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -DARCH_X64 -march=nehalem -DARCH_LIN -c -o build/src/test.cpp.o src/test.cpp g++ -o plugin.so build/src/plugin.cpp.o build/src/test.cpp.o -shared -L/home/USER/.Rack2/Rack-SDK -lRack -Wl,-rpath=/tmp/Rack2 -static-libstdc++ -static-libgcc

make dist: rm -rf dist mkdir -p dist/MDGA cp plugin.so dist/MDGA/ strip -s dist/MDGA/plugin.so cp -r --parents res plugin.json dist/MDGA/ cd dist && tar -c MDGA | zstd -19 -o "MDGA"-"1.0.0"-lin-x64.vcvplugin /*stdin*\ : 28.32% (102400 => 28995 bytes, MDGA-1.0.0-lin-x64.vcvplugin)

make install: rm -rf dist mkdir -p dist/MDGA cp plugin.so dist/MDGA/ strip -s dist/MDGA/plugin.so cp -r --parents res plugin.json dist/MDGA/ cd dist && tar -c MDGA | zstd -19 -o "MDGA"-"1.0.0"-lin-x64.vcvplugin /*stdin*\ : 28.32% (102400 => 29003 bytes, MDGA-1.0.0-lin-x64.vcvplugin) mkdir -p "/home/USER/.Rack2/plugins-lin-x64" cp dist/*.vcvplugin "/home/USER/.Rack2/plugins-lin-x64"/

the version has to match the Rack major version number “2”

  • A plugin’s major version must match Rack’s major version in order to be loaded by Rack. To make a plugin available for a new major Rack version, the plugin’s source must be updated and recompiled against the new Rack SDK. [ref]
1 Like

Yup, that sure fixed it. Just edited “plugin.json” to signify version 2.0.0, performed the make commands, and now VCV Rack 2 is seeing my plugin. Thank you so much, I thought for sure the problem was way worse!

1 Like