Would Any Rack Plugin Devs Like To Join The Surge Team?

I can repro the OSC crash and know why it happens (we use a different, and better, memory allocation method for oscillators in XT; and the rack modules still assume we dont so it double frees). Nothing to do with path or assets.

Will fix it soon enough and report back here when I do.

Will also try and expose the new effects and oscillator types through the modules.

3 Likes

yeah that’s it

I can merge the appropriate change before the weekend then we can get testing as we head towards XT 1.1

4 Likes

ooh, that looks nice. I know your stuff is high quality, so can I assume there is little aliasing with any of these settings?

We run surge internally at 2xOS and downsample; and I do the same in these oscillator modules. So it will have the same alias characteristic as surge

The sine oscillator can alis a little in some of the modes; and one of the oscillators in XT not in 1.7 is called “Alias” which does alias. because it is meant to alias.

But yeah these are the same sound sources you get in surge xt.

I have the code pushed now so now I can also do the exciting thing of exposing the new oscillators and FX we added in the last couple of years. And, like I said, making that polyphonic non-linear filter module which could be very exciting.

6 Likes

The osc and wt osc fix are now in

Soon I’ll add the 12 or so new relevant fx also and the 3 new relevant oscillator types

3 Likes

I just can’t get this to build; keep getting this error:

$ make dep
# Out-of-source build dir
echo cmake -G 'MSYS Makefiles' -DCMAKE_INSTALL_PREFIX="/c/_Projects/VCVRack/Rack-SDK-2/plugins/surge-rack/dep" -DCMAKE_INSTALL_LIBDIR=lib
cmake -G MSYS Makefiles -DCMAKE_INSTALL_PREFIX=/c/_Projects/VCVRack/Rack-SDK-2/plugins/surge-rack/dep -DCMAKE_INSTALL_LIBDIR=lib
cd surge && CFLAGS= && cmake -G 'MSYS Makefiles' -DCMAKE_INSTALL_PREFIX="/c/_Projects/VCVRack/Rack-SDK-2/plugins/surge-rack/dep" -DCMAKE_INSTALL_LIBDIR=lib -Bignore/rack-build -G "Unix Makefiles"
-- The C compiler identification is GNU 12.1.0
-- The CXX compiler identification is GNU 12.1.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/msys64/mingw64/bin/cc.exe
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/msys64/mingw64/bin/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/msys64/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- It's Surge XT, folks! Version is 1.0.0
-- CMAKE_BUILD_TYPE is Release
-- CMake version is 3.23.2
-- Compiler version is 12.1.0
-- Targeting 64-bit configuration
-- Performing Test COMPILER_HAS_AVX_OR_IS_ARM
-- Performing Test COMPILER_HAS_AVX_OR_IS_ARM - Failed
-- Holding off on AVX support. See #4479 for the strategy
-- Using JUCE from C:/_Projects/VCVRack/Rack-SDK-2/plugins/surge-rack/surge/libs/JUCE
-- Configuring juceaide
-- Building juceaide
CMake Error at libs/JUCE/extras/Build/juceaide/CMakeLists.txt:89 (message):
  Failed to build juceaide

Ok if you are building at home you can pull now and get another 10 or so effects. (I skipped clouds and airwindows since they are already in rack) that we added between 1.7 and today. Including a pretty awesome spring reverb and some interesting resonantors and feedback circuits. And also treemonster which someone will do something with

The windows compiler rack chooses takes an enormous amount of memory and time to build juceaide. Are you limited in either?

Also if it helps here’s the settings which passed in ci

Which I note uses a different gcc version than you

Oh I bet I know what it is. You are in gcc12

Surge 10 won’t build with 12 - I will update the surge submodule so the patch is applied

2 Likes

Ahh but that’s a bigger port than this evening Sigh.

For now edit surge/libs/JUCE/modules/juce_gui_basics/windows/juce_ComponentPeer.h and add #include <utility>

Or use gcc11

What is the branch for the newest vcv stuff?

main! But gimme half an hour. I’m doing an upgrade to the latest surge. (main was set at surge 1.0 and there have been some API changes to 1.1)

2 Likes

It looks awfully clean on the output. I was going to say that 2X oversampling is not much, so you must be doing some other good stuff in here. That OSC is a really cool module.

Yes we are

the classic oscillator uses a polyblit with some clever bits. Modern (which isn’t exposed yet but will be) uses an ADAA trick.

but the new surge filters are really the magic. Getting those exposed would be quite good, I think.

1 Like

OK I upgraded it to 1.1 which should fix that gcc 12 problem

The clean rule isn’t quite right so you need to pull main, but then also submodule update, and then also rm -rf surge/ignore and make deps again

Or just blow away and reclone

You will also get all the new fx. Someone in rack land will do something insane with tree monster.

Enjoy! Will try and activate the rest of the OSC models in the SurgeOSC next week.

2 Likes

I know always hated it when I made modules and ppl would say “oh, I don’t use your modules, they aren’t pretty”. So, having said that that’s lame, I think the surge modules would be a lot more popular if the panels weren’t so odd. I find them ugly, but also just weird to use. Which is a shame, because they are so good.

I’m not a designer! Also many of the modules are generic still (like the generic FX are just cookie cutter out).

but would welcome help if someone wanted to chip in with some design and UI coding work! (Remember the point of this thread is ‘recruiting help’ :slight_smile: - also I don’t really use rack so I don’t have good instincts for what works).

2 Likes

Like a super useful exercise for me would be:

What should the OSC module look like? Should it be one module per oscillator class? Where should there be CV? What should be displayed and not? And what do we do about some of the things which surge has which aren’t even exposed (all those surge RMB options).

And what should the tree monster and rotary speaker module look like? That’s a super odd effect on one hand and a pretty simple (but nice sounding) one on the other.

I would love to have someone take the reins on questions like those!