Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support VST 3.7.8 #14

Open
cbix opened this issue Oct 18, 2023 · 9 comments
Open

Support VST 3.7.8 #14

cbix opened this issue Oct 18, 2023 · 9 comments
Assignees

Comments

@cbix
Copy link

cbix commented Oct 18, 2023

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 :)

@cbix cbix changed the title Does not build on Linux/VST 3.7.8/gcc 13.2 Support VST 3.7.8 Oct 19, 2023
@igorski igorski self-assigned this Oct 22, 2023
@igorski
Copy link
Owner

igorski commented Jan 3, 2024

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
Copy link
Author

cbix commented Jan 3, 2024

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
Copy link
Owner

igorski commented Jan 11, 2024

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
Copy link
Author

cbix commented Jan 11, 2024

@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
Copy link

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

@igorski
Copy link
Owner

igorski commented Jan 20, 2024

@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
Copy link

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
Copy link
Author

cbix commented Jan 21, 2024

@tank-trax which distro are you on?

@tank-trax
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants