Reference to AudioBuffer is ambiguous (but none of the other threads' solutions have worked for me)

Hi Everyone,

I know, there are already several threads on this - I’m sorry to start a new one but the last activity I saw on the subject was 20 days ago, and quite candidly, they are a little crowded with info at this point, and with info that only partially-helped me thus far. So I just thought I’d start fresh:

This is my first time downloading and using JUCE - I’m on macOS Catalina 10.15.4 and Xcode 11.5. I created my first Audio Plugin project via Projucer, opened it in Xcode, and from the very first time trying to run it, I got the “Reference to AudioBuffer is ambiguous” error.

I don’t use Git with my IDE - I have downloaded the develop branch from Github via Zip Download and pointed my global paths to the develop modules folder. Still getting the error in Xcode. But there’s still a chance I’m missing a step - since the zip download of the develop branch doesn’t include the Projucer.app file, I am just using the Projucer.app file from the original download of version 5.4.7. Is that part of my problem? Do I need to be accessing this a different way or with a different file?

Which line is causing this error?

I found when I upgraded to XCode 11 on Catalina that it was necessary to add the juce:: namespace in a bunch of places, mostly my own code, however there was one that was needed in the Audio Units wrapper, which was generating that same Reference to AudioBuffer is ambiguous error.

Hi Richie, thanks for your reply.

So I don’t know what I did - all I did was close XCode and close Projucer and later I went back in to get back to diagnosing, and then all of a sudden, no more error about the Audiobuffer. I’m a little stumped? But I’ll take it. I am getting warnings now but I’m not too worried about those.

Thanks for reaching out!

Please please please do yourself a favor and learn to use git especially if you’re working with the JUCE framework, which is updated frequently. Staying up to date is as simple as clicking the pull button in your Git GUI of choice:

Also, you should always build ProJucer from the source files directly. Open up the Projucer.xcodeproj or Projucer.sln files and compile them.

1 Like

Thanks for that matkat. I’m definitely taking your advice. I have downloaded Fork as my GUI of choice and have cloned the JUCE repo (it cloned Master by default, now just looking into figuring out how to pull down develop, but I will figure that out). I will spend today really learning Git.

Thanks again!

Ok I have pulled down the Develop branch. But I do have a question for my understanding: in my default source folder, I still only see one set of JUCE source files. Since I have a Master Branch and a Develop branch, I would have expected to see 2 different sets of source files on my local drive. So when I create a new plugin project and am pointed at this JUCE local repo as my path, how do I know if I’m using the Master files vs Develop files?

git updates all files once you call git checkout <branchname>. That is much more helpful than having two or more folders with different versions, since you would have to update all the paths when switching to another branch, not to imagine the pain, if you forgot one reference somewhere.

All information is hidden in a .git folder in your working repository.

1 Like

If you are using Terminal to interact with git (imo much better than using SourceTree etc) then you could add this to your .bash_profile in home directory:

RED="\[\033[0;31m\]"
GREEN="\[\033[0;32m\]"
NC="\[\033[0m\]"

function setprompt {
  CURDIR=$(pwd)
  GITBRANCH=$(git rev-parse --abbrev-ref HEAD 2> /dev/null)
  TIMENOW=$(date "+%H:%M")

  export PS1="\u@\h:${GREEN}$CURDIR\n${RED}$GITBRANCH${NC} $TIMENOW $ "
}

PROMPT_COMMAND=setprompt

of course that assumes you are using BASH for Terminal, I can post similar for ZSH if that’s what you’re using.

2 Likes

Thanks ffaudio and richie - these replies are very helpful. I’ve learned a ton in just two days thanks to this community.

1 Like

Oh hang on… why am I ffAudio? I am @daniel ! :wink:

@t0m, what’s going on?

#identitycrisis

1 Like

If you go to your new JUCE account profile

https://juce.com/account/profile

you’ll be able to change it back. Your old My ROLI username and your forum username must have gotten out of sync…

Crisis over, was my fault. Thanks @t0m for helping out.

1 Like

Getting same error here using Xcode 11.6 (11E708) which was released about a day ago and JUCE 5.4.7 (02bbe31c).

Oh I see what’s happening here…

3050ab70

Final JUCE 5 commit

Roger that.