Befaco modules development blog

Noise Plethora looks really interesting.

The fact you are using a Bastl Kompas in the demo is potentially even more interesting!

Where on earth did that come from? - are you porting some Bastl modules to VCV? That would be awesome if so.

4 Likes

I am with @steve , Bastl in VCV? Want! :smiley:

2 Likes

Good eye, I am indeed porting some Bastl modules to VCV! Well just this one to start…

7 Likes

I’d be interested if any Mac users can manage to locally build and run (meaning it’s a GH autobuild issue) or something more fundamental. Coincidentally I have a Mac mini en route, but that only gets here next week…

I’m on Mac and can try building in about an hour.

That’s excellent news!

I didn’t spot that. A friend picked up Kompas recently and has been really enjoying it. I look forward to giving it a try! Thanks again.

Excellent! Beautiful! Always was questioning myself on this module but now that I’m trying it out I fell in love with it! I’ve uploaded my first patch with this on my Bandcamp:

https://cide-shii.bandcamp.com/track/persephone-telephone-audacity-blinds-mix

In short, everything but the kick/snare is the Noise Plethora in all its glory (except the bottom section).

I’ll later do a better take and mix it and stuff. Just wanted to show my newfound love for this thing.

2 Likes

Did you want GitHub - hemmer/Befaco: VCV Rack plugin based on Befaco Eurorack modules branch v2-noise-plethora pulled and tested on Mac? If so this is the error I received. Built fine but would not install into Rack

[0.431 warn src/plugin.cpp:206 loadPlugin] Could not load plugin /Users/paulgatt/Documents/Rack2/plugins/Befaco: Failed to load library /Users/paulgatt/Documents/Rack2/plugins/Befaco/plugin.dylib: dlopen(/Users/pg/Documents/Rack2/plugins/Befaco/plugin.dylib, 6): Symbol not found: __ZTI19NoisePlethoraPlugin
  Referenced from: /Users/pg/Documents/Rack2/plugins/Befaco/plugin.dylib
  Expected in: flat namespace
 in /Users/pg/Documents/Rack2/plugins/Befaco/plugin.dylib

Might be worth messaging @modular80 as I believe some changes were made to Rack at the last minute regarding this symbol thing reported in the error log. Bidoo modules were compiling but not loading in the browser on Mac with a similar error and it was something that needed to be changed in Rack itself.

Compiles fine with the rack-plugin-toolchain for all platforms.

But there is a runtime-error when trying to load the plugin (here on Linux): undefined symbol: _ZTI19NoisePlethoraPlugin

This looks like a code issue rather than a build system issue.

2 Likes

One thing that is slightly non-standard is that some of the source files are in subdirectories (makefile should pick up cpp files though):

...
NoisePlethora.cpp
noise-plethora/
    plugins/
        P_Atari.hpp
        ...
    teensy/
        effect_multiply.hpp
        ...

Also there are some functions that had to be namespaced, don’t know if that’s an issue? One of these is called random() so maybe the Mac build is a flattened namespace that leads to collisions? Definitely out of my depth here though, never done any Mac dev!

Finally, there are a few teensy units that ended up being made header only, maybe having separate cpp/hpp will help.

The missing symbol is happening on Linux.

What platform are you developing on?

And Mac

Good point, I forgot it was linux also, I’m developing on windows. I’ll try out a few things after work.

Let us know if you want testers.

1 Like

@pgatt confirmed that the most recent fixes didnt help.

__ZTI19NoisePlethoraPlugin demangled is _typeinfo for NoisePlethoraPlugin

I can’t see anything too unusual about the class? The module code holds two std::shared_ptrs to this, does it perhaps need forward declared?

My suspicion is that it might have indeed something to do with the makefile, after all. However, since the build for Windows works anyway, it’s bit of a mystery. :thinking:

There are some extra system includes for NoisePlethoraPlugin, just it case that triggers anything (extra flags needed?)…

“memory” is a standard C++11 header/library that should work fine when building Rack plugins. (Of course, that is not 100% certain.)

edit : Anyway now that I have suspicion about what might be going on, I should probably check it out on my Mac system.

edit2 : Nevermind, it wasn’t as simple as what I was suspecting.

I don’t think it’s simply that you include memory as I just did a search and heaps of plugins include it. I came across 373 include results from a fairly naive search.