Issues Building Project With Rubberband

Hi all,

I am trying to include rubberband to provide time-stretching in a project I am working on. I cloned the rubberband repo and built the library using meson (as per the instructions).

I’ve included the path to the rubberband.h header in my “Header Seach Paths”, and the path to the builds folder inside the rubberband src in “Extra Library Search Paths”

XCode seems to be locating the rubberband code (I’m getting auto-complete and able to jump to definitions, etc) but when I try to build I get errors which seem to imply that the rubberband code itself has buggy includes and class naming. For example, I’m getting the error

No member named 'R3StretcherImpl' in namespace 'RubberBand'; did you mean 'R3Stretcher'?

from this block of code:

#include "finer/R3Stretcher.h"

int main(int argc, char **argv)
{
    RubberBand::R3StretcherImpl::Parameters parameters(44100.0, 2);
    RubberBand::R3StretcherImpl impl(parameters);
}

when there is no R3StretcherImpl at all (as the error states),

Why would the rubberband code include these references to non-existent classes??? It seems like maybe I missed a part of the repo when I cloned but I pulled it via GitHub Desktop and can literally see that I’m on the most current version. Really has me stuck. Any help is appreciated.

Did you also:

git submodule update --init --recursive

… in the rubberband repo?

(Disclaimer: I know nothing about rubberband, only that when some things don’t build when you expect that they should, out of the box, maybe there are missing submodules in the repo …)

R3StretcherImpl was removed in rubberband@e546767, but src/temporary.cpp hasn’t been adapted.

It seems that there is no code in the rubberband repository that references src/temporary.cpp (Search · temporary.cpp · GitHub), so I guess this file is simply unused/dead and you should not add it to your Projucer project.

Look at the meson.build file to know which files are relevant.

I hope this helps.