OS (if applicable):
Version (or "dev" if compiling from source): source.
As far as I can tell, some things are changing on the 0.5 branch, and many plugins get compiler errors.
Is there a git tag that I can check out that corresponds to the release 0.5.1?
src/Braids.cpp:166:8: error: ‘struct rack::SampleRateConverter<1>’ has no member named ‘setRates’
src.setRates(96000, engineGetSampleRate());
^
src/Tides.cpp:60:7: error: ‘void Tides::onReset()’ marked override, but does not override
void onReset() override {
^
src/Tides.cpp:66:7: error: ‘void Tides::onRandomize()’ marked override, but does not override
void onRandomize() override {
^
src/Warps.cpp:61:7: error: ‘void Warps::onReset()’ marked override, but does not override
void onReset() override {
^
src/Warps.cpp:66:7: error: ‘void Warps::onRandomize()’ marked override, but does not override
void onRandomize() override {
^
src/Rings.cpp: In member function ‘virtual void Rings::step()’:
src/Rings.cpp:158:13: error: ‘struct rack::SampleRateConverter<1>’ has no member named ‘setRates’
inputSrc.setRates(engineGetSampleRate(), 48000);
^
src/Rings.cpp:226:14: error: ‘struct rack::SampleRateConverter<2>’ has no member named ‘setRates’
outputSrc.setRates(48000, engineGetSampleRate());
^
Yes. ...drumroll...
git checkout v0.5.0 (or v0.5.1) for each of the plugins
git checkout v0.5 for Rack.
I am having trouble with this, but I am an awful n00b.
When I cd to the Rack directory and type "git checkout v0.5", the console says "Already on 'v0.5'". When I try "git checkout v0.5.1" I get:
Note: checking out 'v0.5.1'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:git checkout -b
HEAD is now at 2c17b65... Add -lssl to Linux build
...but when I make everything according to the instructions on the main page, I get Rack which has no download manager. Isn't 0.5.1 the version which includes the download manager? Is there a way I can query the built Rack about what version it thinks it is?
I am confused about if I am getting the correct bits from github, or if it just isn't compiling right here. I am not knowledgeable/experienced enough to know which. I am on KDE neon 5.11 and all the dependencies are satisfied. Any ideas what I might be doing wrong?
You have to tell Rack what version it is when compiling, which will enable the "release" build with all the online features.
make VERSION=0.5.1
Thank you, Andrew! I just tried doing so for Rack and it built with no errors. Until I tried to run it!
cjunit@cjunit-Studio-XPS:~/Rack$ make run
LD_LIBRARY_PATH=dep/lib ./Rack
Segmentation fault
Makefile:50: recipe for target 'run' failed
make: * [run] Error 139
Perhaps I am on the right track now. When I made 0.5 it seemed to work OK.
ok - I don't get it. I threw out the entire repository and started from scratch. Checked out latest version of Rack and built it with no problem. Then tried to build Fundamental and got exactly the same error
src/Delay.cpp:78:7: error: no member named 'setRates' in 'rack::SampleRateConverter<1>'
src.setRates(ratio * engineGetSampleRate(), engineGetSampleRate());
Dicking around with version 0.5 or 0.5.1 made no difference. There's no 'setRates' method in the SampleRateConverter class
There are two threads about this on github but none of the suggestions work for me.
This app is an amazing contribution and I'd really like to get everything built from source so I can do some interesting experiments.
What am I missing with the build?
git checkout v0.5.1
Works for me.
I'm going to try and start all over again -- I'd like to be able to just grab the very latest of everything.
The point being 'the very latest of everything' doesn't guarantee that it will build.
Uh, while I get the notion that something might break when you run it, I tend to use the model of never checking code into version control if it doesn't build.
That's what I try to do as well. But the fact remains, the master branch of the VCV repos are Andrew's personal work area, and when he's ready to release, he'll make sure they build.
That may not be how you like to work, and it isn't how I like to work, but it's how things are, and it's his sandbox. I would NOT even try to build master from VCV official projects because Andrew is breaking the APIs the third party plugins use left and right. When he's good and ready, he'll do a release, and module makers will either figure out how to conform to the new API or their projects will be dead.
Which isn't necessarily a bad thing.
My policy is that commits shouldn't break the build. If they do, it's a bug for your build environment and should be reported.
The master branch is for people who want to use bleeding edge. There are some that do and are very helpful when reporting compatibility issues with their various architectures moments after I commit them. But I wouldn't recommend using that version for actually making music, since Rack might break at any time, and users should definitely not "default" to master without wanting to explicitly sign up for it, which is why I changed the default branch to v0.5 on GitHub.
I have to ask as I'm stuck at v0.5 where "no member named 'setRates' in 'rack::SampleRateConverter" comes up.
Is there somewhere, or can anyone provide a detailed explanation about how get a local repository in sync with the latest stable rack version? git tag and git checkout tips by itself just don't do anything on my side.
Here's what I'm trying (already cloned https://github.com/VCVRack/Rack.git):
git fetch https://github.com/VCVRack/Rack.git
From https://github.com/VCVRack/Rack
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
git checkout -b
HEAD is now at 2c17b65... Add -lssl to Linux build
But still missing the updated files.
I'm still trying to understand how github works, thanks!
See https://github.com/VCVRack/Rack/issues/561#issuecomment-354132069. git checkout v0.5 in Rack. You're on the v0.5.1 tag.
I've reorganized the branches for Rack and VCV plugins, so I'm closing this obsolete issue.