electro-smith/DaisyWiki

MultiEffect.cpp:39:33: error: 'InterleavingInputBuffer' is not a member of 'daisy::AudioHandle'

seanwayland opened this issue · 3 comments

I am trying to build this pod example "MultiEffect" using my mac big sur 11.2.2
https://github.com/electro-smith/DaisyExamples/tree/master/pod/MultiEffect
I cannot get the build tools in VSCODE to work so I am attempting to build with make from inside the MultiEffect directory.
ie

$make clean
$make

The entire error is this


   39 | void AudioCallback(AudioHandle::InterleavingInputBuffer  in,
      |      ^~~~~~~~~~~~~
MultiEffect.cpp:39:33: error: 'InterleavingInputBuffer' is not a member of 'daisy::AudioHandle'
   39 | void AudioCallback(AudioHandle::InterleavingInputBuffer  in,
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~
MultiEffect.cpp:40:33: error: 'InterleavingOutputBuffer' is not a member of 'daisy::AudioHandle'
   40 |                    AudioHandle::InterleavingOutputBuffer out,
      |                                 ^~~~~~~~~~~~~~~~~~~~~~~~
MultiEffect.cpp:41:58: error: expected primary-expression before 'size'
   41 |                    size_t                                size)
      |                                                          ^~~~
MultiEffect.cpp: In function 'int main()':
MultiEffect.cpp:98:20: error: 'AudioCallback' was not declared in this scope
   98 |     pod.StartAudio(AudioCallback);

I spent a fair bit of time sniffing around classes looking for that class and function without much luck. Lots of inheritance and I cant find documentation of all the classes anywhere in detail. Does it exist?
I tried a git pull I can see that file was updated since my last pull. I tried to rebuild the daisy source files again with make but they seemed up to date "nothing to be built" or something. I guess I will have a go with vscode on my windows machine. Perhaps classes have been named in some conflicting way. Where is that daisy::AudioHandle class located ?
I have a bunch of C++ code it is a simple modulated delay.
https://github.com/seanwayland/waylodelayUD/blob/main/PluginProcessor.cpp
I thought of trying to build it all on this thing if I can figure out how to hook up the knobs. I built the same thing using gen~ once perhaps that is an easier way in here. Some very simple examples of knob and say a gain added to an audio buffer might really help me here ?? The MultiEffect exampled worked fine using the browser to load it. Thanks for your help.

No problem building the file using Windows and VSCODE.

Hi @seanwayland

It sounds like your libdaisy submodule is out of date.

You can update the submodules to their latest in one of two ways:

Manually, by navigating to the directory, and running git pull

Or

From the DaisyExamples repo you can run git submodule update --recursive

The AudioHandle Buffer types are declared in the src/hid/audio.h file. So if you update, and you still don't see them that would be the place to check. However, they should be there.

There is some generated documentation online that is kept up to date. Most of the recent additions and changes are pretty well documented. We are still working our way through making sure that everything does end up having documentation.

Hope that helps!

@seanwayland if you're still having this, or similar issues. Feel free to open this back up, but I think this has been resolved for quite some time.