Create VCV Rack and 4ms MetaModule plugins using RNBO

thetechnobear's icon

My new project enables musicians and sound designers to build audio modules using Max RNBO's visual programming language.

Simple scripts generate complete plugins from your RNBO patches, perfect for rapid prototyping or as a starting point for custom development.

Use the speed and ease of Max/RNBO to develop your ideas,

then quickly and easily deploy to VCV Rack desktop,

then (optionally) move your module to 4ms MetaModule eurorack module.

YouTube Video :

Tj Shredder's icon

Very nice, that way I can finally get my simple APDSR envelopes into that environment…

Tj Shredder's icon

But as almost always for folks who are already into programming and terminals. Some basic information about setting up and understanding things are assumed to be known, but they are not:

At 2:20 of your video you point to importantly to check/set the path, which is shown for Windows, but I am on Mac. I have no idea how to do that. Setting paths is usually something I leave to installers…

And following on, I do get this error when doing the first test:

[ERROR] Arm toolchain missing: arm-none-eabi-gcc, arm-none-eabi-g++, arm-none-eabi-objcopy

It sounds like it is related…

thetechnobear's icon

wow, I try to give the community something , and I get....

But as almost always for folks who are already into programming and terminals. Some basic information about setting up and understanding things are assumed to be known, but they are not:

it was not intentional, an oversight all you had to do was ask.. I suspect google/chatgpt would have also helped.

overall, videos have to have a certain pace, otherwise I just get complaints that I'm 'wasting peoples time' , e.g. if I started showing path setting on windows, linux, macOs etc...

thats why in addition to videos I do extensive documentation, and help anyone that asks.

you might be quite surprised to learn how much time I spent on this, esp. since personally don't need it I can do all of this manually.

anyway, Ive updated setup doc, assuming you installed to : /Applications/ArmGNUToolchain/12.3.rel1

you just need...

export PATH="/Applications/ArmGNUToolchain/12.3.rel1/arm-none-eabi/bin:${PATH}"

adapt if you installed elsewhere...

Tj Shredder's icon

Thanks, and sorry, I didn't wanted to be harsh.

It's just that I often be frustrated when dealing with complex terminal "workflows", as they rarely flow. Thanks also for the generally complete instructions.

I am usually lost if there is a single error message, mostly written in a technocratic language, with no real dictionary to help.

Anyway, with the command above the first part of the test went through.
I also realized, that often I am confused and don't try hard enough. In part 2, there came up a question for a "Plugin Slug". I had no idea what that means and was confused. After having a day outside, I finally just typed in what was suggested, and part 2 was fine as well.
But the last part:
# macOS/Linux cd .. && cmake --fresh -B build && cmake --build build
Gave me an error:
File "/Library/Frameworks/Python.framework/Versions/3.11/bin/cmake", line 5, in <module> from cmake import cmake
ModuleNotFoundError: No module named 'cmake'

I do have the usual Apple Developer Tools installed...

I apologize for being too harsh and too lazy. I hope this thread will in turn help other confused users to stay calm...

If you have an idea what to do about cmake, I would appreciate this...

Rob Ramirez's icon

brew install cmake is ususally used if you have homebrew, otherwise https://cmake.org/download/

TFL's icon

Everyone has a different computer with different things installed on it, so it's reaaallly hard and time consuming to provide clear instructions for absolutely everyone.

Usually, errors you get from the terminal explicitly tell you what the problem is, and you're often one web search to understand what it means and how to solve it. Sometimes the solution will lead to another error, that you will probably be able to solve with the same method.

I do understand that the learning cuve for using the terminal and CLI tools in general is quite steep and frustrating at the beginning, but once you get the logic it becomes easier and easier as most commands have more or less the same structure (a name, some arguments and options, like Max objects more or less). By the way, for most commands you can type <command_name> --help to get the basics.

But here, the problem seems to be that you're missing the cmake Python module (not cmake itself), which you can install with pip install cmake . At least this is what I found by searching the web for macos ModuleNotFoundError: No module named 'cmake' .

thetechnobear's icon

no, don't start installing cmake via python or directly... this is not necessary.

the way this dev environment setup works is that you end up with a 'proper' vcv and 4ms mm dev environment. this is valuable, as they both have a lot of documentation on their respective websites.


ok, the issues is the vcv setup instructions are missing a step..

it says you need to install homebrew, then use

brew install git wget cmake autoconf automake libtool jq python zstd pkg-config

which I assume you will have done, without any errors.

however... what id doesn't mention, is you'll then want to put homebrew on the path as well.
(this is somewhere in the homebrew documentation, but probably easy to miss)

this path depends on if you are using apple silicon or intel.

on apple silicon, this is /opt/homebrew/bin

on intel , this is /usr/local

so, going back to the patch you'd want something like :

apple silicon

export PATH="/Applications/ArmGNUToolchain/12.3.rel1/arm-none-eabi/bin:/opt/homebrew/bin:${PATH}"  

intel

export PATH="/Applications/ArmGNUToolchain/12.3.rel1/arm-none-eabi/bin:/usr/local/bin:${PATH}" 

this will mean that the cmake installed by homebrew is used along side various other tools you will need.

you can execute this each time you want to use this stuff,

or you can add it to .bashrc or .zshrc file (depends on macOS version, .zshrc is latest macOS) in your home directory - to get it to execute every time you start the terminal.


one of the reasons, that these things get missed by me is simple...
I work on a lot of projects, on a lot of platforms, so I have many compilers, sdks and other tools setups - and I have a workflow (scripts etc) that ensures I end up with the right setup according to what Im doing.... this would not be applicable to other users. but means when I test on my machines there is always a chance a step could be missing.

I do have a dedicated 'clean machine' (at least for Mac, not windows/linux) to help this, but overtime this ends up with various tools on it, that I need to test/debug issues.

ofc, in a commercial environment, we'd have dedicated machines that get rebuilt as fresh installs with no additional software to counter this. but for this open source work at home -I dont have the luxury of 3 or 4 spare machines, that I dont use other than for testing ;)

thetechnobear's icon

ok, did a big update on setup.md to ensure path instructions are more consistent etc.

note: I maintain this (and other docs on the repo) as the 'definitive' guide, so that all new users have access to it, and it gets updated if I see a number of users have similar issues.

TFL's icon

Thanks much for the follow up! And apologies for the bad advice...