igorski / regrader

VST delay plugin where the repeats degrade in resolution
https://www.igorski.nl/download/regrader
MIT License
90 stars 5 forks source link

Support VST 3.7.8 #14

Open cbix opened 1 year ago

cbix commented 1 year ago

On Linux with VST 3.7.8, these errors are thrown during build:

[ 66%] Building CXX object CMakeFiles/regrader.dir/src/vstentry.cpp.o
[ 70%] Building CXX object CMakeFiles/regrader.dir/src/ui/controller.cpp.o
In file included from /home/florian/build/igorski/regrader/src/ui/controller.cpp:25:
/home/florian/build/igorski/regrader/src/ui/uimessagecontroller.h: In member function ‘void Steinberg::Vst::RegraderUIMessageController<T>::setMessageText(Steinberg::Vst::TChar*)’:
/home/florian/build/igorski/regrader/src/ui/uimessagecontroller.h:60:20: error: expected primary-expression before ‘str’
   60 |             String str( msgText );
      |                    ^~~
/home/florian/build/igorski/regrader/src/ui/uimessagecontroller.h:61:13: error: ‘str’ was not declared in this scope; did you mean ‘std’?
   61 |             str.toMultiByte( kCP_Utf8 );
      |             ^~~
      |             std
/home/florian/build/igorski/regrader/src/ui/uimessagecontroller.h:61:30: error: ‘kCP_Utf8’ was not declared in this scope
   61 |             str.toMultiByte( kCP_Utf8 );
      |                              ^~~~~~~~
/home/florian/build/igorski/regrader/src/ui/uimessagecontroller.h: In member function ‘Steinberg::Vst::RegraderUIMessageController<T>::CView* Steinberg::Vst::RegraderUIMessageController<T>::verifyView(CView*, const VSTGUI::UIAttributes&, const VSTGUI::IUIDescription*)’:
/home/florian/build/igorski/regrader/src/ui/uimessagecontroller.h:114:24: error: expected primary-expression before ‘str’
  114 |                 String str( regraderController->getDefaultMessageText());
      |                        ^~~
/home/florian/build/igorski/regrader/src/ui/uimessagecontroller.h:115:17: error: ‘str’ was not declared in this scope; did you mean ‘std’?
  115 |                 str.toMultiByte (kCP_Utf8);
      |                 ^~~
      |                 std
/home/florian/build/igorski/regrader/src/ui/uimessagecontroller.h:115:34: error: ‘kCP_Utf8’ was not declared in this scope
  115 |                 str.toMultiByte (kCP_Utf8);
      |                                  ^~~~~~~~
/home/florian/build/igorski/regrader/src/ui/uimessagecontroller.h: In member function ‘void Steinberg::Vst::RegraderUIMessageController<T>::viewLostFocus(CView*)’:
/home/florian/build/igorski/regrader/src/ui/uimessagecontroller.h:138:24: error: expected primary-expression before ‘str’
  138 |                 String str;
      |                        ^~~
/home/florian/build/igorski/regrader/src/ui/uimessagecontroller.h:139:17: error: ‘str’ was not declared in this scope; did you mean ‘std’?
  139 |                 str.fromUTF8 (text.data ());
      |                 ^~~
      |                 std
make[2]: *** [CMakeFiles/regrader.dir/build.make:255: CMakeFiles/regrader.dir/src/ui/controller.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/regrader.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Are there plans to keep supporting later vst3sdk versions or is it simply recommended to stay on 3.7.6 (which still has some other issues on later gcc versions that have since been fixed).

Also it would be great to have release tags on the git repo so we can properly package this for Arch Linux :)

igorski commented 10 months ago

Hi @cbix it took a while but I am now looking into updating / maintaining all VST plugins.

Your request was originally for 3.7.8 but I have been working with the latest available version 3.7.9 build 61, assuming the minor version jump isn't an issue for you.

I have so far refactored the code to handle deprecations of the SDK and built on macOS. Could you verify whether branch 379 works for your Linux distribution ?

cbix commented 10 months ago

Could you verify whether branch 379 works for your Linux distribution ?

Build works here with VST 3.7.9, nice! Still having some issues running the full SDK build, but the necessary parts build successfully.

igorski commented 10 months ago

Hi @cbix thanks for the verification. But just to confirm : is it working or not ? You mention it builds, but are still having issues with the full SDK build ?

cbix commented 10 months ago

@igorski it works in Ardour and Reaper but isn't even found in Carla for some reason. By full SDK build I mean vst3sdk build fails after some time but after the objects needed by regrader are already built, so the regrader build succeeds.

tank-trax commented 10 months ago

Have you considered using JUCE rather than Steinberg's VST3 SDK for your plugins?

igorski commented 9 months ago

@tank-trax

Have you considered using JUCE rather than Steinberg's VST3 SDK for your plugins?

Honestly, not when initially building them as Steinbergs SDK is well documented (and heck, they invented the format, didn't they) ? But over the years I've come disappointed with cross platform stability of the SDK updates and breaking API changes on what are minor version bumps.

It's unlikely I will port Regrader to JUCE, but a future project might use it. Depending on ease of implementation I can consider a migration for the older plugins built using Steinbergs SDK.

tank-trax commented 9 months ago

I am on Linux and Linux is complicated. That being said I am using your plugins now with WINE and they work great, but needing to use the generic GUI as the knobs (although they work) do not display. DSP is great using this method.

Thanks

cbix commented 9 months ago

@tank-trax which distro are you on?

tank-trax commented 9 months ago

Debian 12, KDE Plasma, X11 or Wayland, using Pipewire