Hi I’m a newbie JUCE user. I wanted to check PluginGuiMagic. I cloned GitHub to check examples. When I want to compile them I have this error. Can you help me please? (Mac osx 12.4 - M1 apple - Juce 6.1.6 - Xcode 13.2.1)
Undefined symbols for architecture arm64:
“foleys::MagicGUIState::setResourcesFolder(juce::String const&)”, referenced from:
TutorialProcessor::TutorialProcessor() in libPGM-APVTS-Tutorial.a(PluginProcessor.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Hey, not sure if you’ve solved this yet but I was running into the same problem.
It seems that if you have the editor enabled then you need binary data enabled because it calls the setResource function which is only defined if binary data is enabled.
BUT! setResource uses BinaryData:: namespace which is defined in BinaryData.h which is a file that is only created by Projucer (and apparently CMake if you’re using that) if you have some files marked as Binary Resources in the file explorer of Projucer.
To get past this I did the following:
make sure that the FOLEYS_SHOW_GUI_EDITOR_PALETTE and FOLEYS_ENABLE_BINARY_DATA are enabled for the foleys_gui_magic module
Add a magic.xml file to your resources (it must be called that or you must change the reference to BinaryData::magic_xml to BinaryData::{your_file_name_with_underscores} in the constructor for your audio processor)
select the group that contains the new file and you will see the option to mark it as a binary resource. If it was a png or xml it will already be checked.
Now when you load your project, BinaryData.h will have been created with a magic_xml function and all of the dependencies check out. There may be a better way, but this is all I could figure out.
Well I get the same error. I’m new to programming and I dont understand how to make this work. Could someone use the foley sinth example to tell me what i should put this? Just as a startup step…
The foleys::MagicProcessor will provide a foleys::MagicProcessorState magicState (protected visibility) to add visualisations or other objects to expose to the GUI.
The floating editor has an auto save, which needs to know the location of your source files. To activate that you need to copy this macro into your foleys::MagicProcessor constructor:
I’m pretty sure as a noob that I am missing some easy part of it. Im trying that foley sinth and when building it I get the error below. OFC it cant find the plugin as it doesnt build it, and there is only this error, nothing else. So what could it be? VS2022 Win11 Last JUCE version.
Thank you VERY much!
This is the old problem which should be fixed now. Can you please make sure that you have the latest version of foleys_gui_magic?
If it is in a submodule (e.g. when you cloned PluginGuiMagic), make sure to call
git submodule update --recursive
so it updates the submodules to the version which is set in the main repository…
Somehow I made it work. ROFL. If things are hairy for the experienced, sometimes its a beginner’s luck, hm?
One thing, i tried to put this on a ready plugin code. Everything seemed to work, but that line to be added on pluginprocessor.cpp with the FILE shows an error. Like it is not linked… Thanks for you kind attention, btw
If you need to see examples, how it was done:
In the PluginGuiMagic repository where you found this EqualizerExample, every project has a magic.xml file in the Resources folder. When you load it (it is already loaded when you run the examples) you see the tree in the attached window, just unfold the tree and click some elements. You will get the properties listed in the middle.
And you can resize the three parts (tree, properties and palette of new items).
You can also check the “View…” menu to detach the additional window then you can resize it freely.