VCVRack / rack-plugin-toolchain

53 stars 12 forks source link

2.3.0 SDK does not have setImmediateValue()? #28

Closed MarcBoule closed 1 year ago

MarcBoule commented 1 year ago

Hi, I've pulled the latest toolchain, and I'm getting a build error using the toolchain with the 2.3.0 SDK. It seems the SDK does not have ParamQuantity::setImmediateValue() and so I'm wondering if the 2.3.0 SDK is correctly bundled. When I build MindMeldModular against the 2.3.0 Rack sources, it works, but not against the 2.3.0 SDK in the toolchain flow. Cheers, Marc

x86_64-apple-darwin20.2-clang++-libc++ -std=c++11 -stdlib=libc++  -fPIC -I/home/build/rack-plugin-toolchain/Rack-SDK-mac-x64/include -I/home/build/rack-plugin-toolchain/Rack-SDK-mac-x64/dep/include -MMD -MP -g -O3 -funsafe-math-optimizations -fno-omit-frame-pointer -Wall -Wextra -Wno-unused-parameter -DARCH_X64 -march=nehalem -DARCH_MAC -mmacosx-version-min=10.9  -c -o build/src/PatchSet/RouteMaster.cpp.o src/PatchSet/RouteMaster.cpp
src/PatchSet/PatchMaster.cpp:424:22: error: no member named 'setImmediateValue' in 'rack::engine::ParamQuantity'
                                                paramQuantity->setImmediateValue(paramQuantity->fromScaled(pmValueScaledAndRanged));
                                                ~~~~~~~~~~~~~  ^
src/PatchSet/PatchMaster.cpp:476:64: error: no member named 'getImmediateValue' in 'rack::engine::ParamQuantity'
                                        params[t].setValue(paramQuantity->toScaled(paramQuantity->getImmediateValue()));
                                                                                   ~~~~~~~~~~~~~  ^
cschol commented 1 year ago

Have you run make rack-sdk-clean and make rack-sdk-all to update to Rack SDK 2.3.0?

  rack-plugin-toolchain git:(v2) ✗ ack setImmediateValue
Rack-SDK-win-x64/include/engine/ParamQuantity.hpp
74:     For this behavior, use `setImmediateValue()` instead.
87:     void setImmediateValue(float value);

Rack-SDK-lin-x64/include/engine/ParamQuantity.hpp
74:     For this behavior, use `setImmediateValue()` instead.
87:     void setImmediateValue(float value);

Rack-SDK-mac-x64/include/engine/ParamQuantity.hpp
74:     For this behavior, use `setImmediateValue()` instead.
87:     void setImmediateValue(float value);

Rack-SDK-mac-arm64/include/engine/ParamQuantity.hpp
74:     For this behavior, use `setImmediateValue()` instead.
87:     void setImmediateValue(float value);
MarcBoule commented 1 year ago

Ah, that's the part I missed, thanks! I had actually done

JOBS=8 make docker-build

thinking that the new SDKs would be fetched, but I realize now how the make rack-sdk-* you added allows us to update the SDK only (without rebuilding the toolchain), but that this now has to be run also. I'll try it tongith, but that is very likely the reason. Thanks Christoph.