Meebleeps / MeeBleeps-Mutant-Synth

Other
58 stars 12 forks source link

Message error when upload sketch in Arduino Nano #4

Open Andrjazz opened 1 month ago

Andrjazz commented 1 month ago

Hello everyone! When I upload sketch MutantMozziSynth.ino in my Arduino Nano, I have error

`In file included from C:\Users\Andr\Documents\Arduino\libraries\Mozzi/internal/config_checks_generic.h:199:0, from C:\Users\Andr\Documents\Arduino\libraries\Mozzi/MozziGuts.h:31, from D:\Arduino\MeeBleeps-Mutant-Synth-master\src\MutantMozziSynth\MutantMozziSynth.ino:17: c:\users\andr\documents\arduino\libraries\mozzi\audiooutput.h:60:10: fatal error: FixMath.h: No such file or directory

include

      ^~~~~~~~~~~

compilation terminated. exit status 1 `

I installed library FixMath but Ihave new error

`In file included from D:\Arduino\MeeBleeps-Mutant-Synth-master\src\MutantMozziSynth\MutantMozziSynth.ino:17:0: C:\Users\Andr\Documents\Arduino\libraries\Mozzi/MozziGuts.h:20:2: warning: #warning Direct inclusion of MozziGuts.h is deprecated. Use Mozzi.h, instead, and read about porting to Mozzi 2.0 [-Wcpp]

warning Direct inclusion of MozziGuts.h is deprecated. Use Mozzi.h, instead, and read about porting to Mozzi 2.0

^~~ In file included from D:\Arduino\MeeBleeps-Mutant-Synth-master\src\MutantMozziSynth\avSequencer.cpp:11:0: C:\Users\Andr\Documents\Arduino\libraries\Mozzi/MozziGuts.h:20:2: warning: #warning Direct inclusion of MozziGuts.h is deprecated. Use Mozzi.h, instead, and read about porting to Mozzi 2.0 [-Wcpp]

warning Direct inclusion of MozziGuts.h is deprecated. Use Mozzi.h, instead, and read about porting to Mozzi 2.0

^~~ In file included from D:\Arduino\MeeBleeps-Mutant-Synth-master\src\MutantMozziSynth\avSourcePhasor.cpp:10:0: C:\Users\Andr\Documents\Arduino\libraries\Mozzi/MozziGuts.h:20:2: warning: #warning Direct inclusion of MozziGuts.h is deprecated. Use Mozzi.h, instead, and read about porting to Mozzi 2.0 [-Wcpp]

warning Direct inclusion of MozziGuts.h is deprecated. Use Mozzi.h, instead, and read about porting to Mozzi 2.0

^~~ In file included from D:\Arduino\MeeBleeps-Mutant-Synth-master\src\MutantMozziSynth\avSource.h:19:0, from D:\Arduino\MeeBleeps-Mutant-Synth-master\src\MutantMozziSynth\MutantMozziSynth.ino:21: C:\Users\Andr\Documents\Arduino\libraries\Mozzi/LowPassFilter.h:17:2: warning: #warning This header is deprecated, please use ResonantFilter.h instead. [-Wcpp]

warning This header is deprecated, please use ResonantFilter.h instead.

^~~ D:\Arduino\MeeBleeps-Mutant-Synth-master\src\MutantMozziSynth\MutantMozziSynth.ino:26:0: warning: "CONTROL_RATE" redefined

define CONTROL_RATE 256

In file included from C:\Users\Andr\Documents\Arduino\libraries\Mozzi/MozziGuts.h:31:0, from D:\Arduino\MeeBleeps-Mutant-Synth-master\src\MutantMozziSynth\MutantMozziSynth.ino:17: C:\Users\Andr\Documents\Arduino\libraries\Mozzi/internal/config_checks_generic.h:193:0: note: this is the location of the previous definition

define CONTROL_RATE MOZZI_CONTROL_RATE

In file included from D:\Arduino\MeeBleeps-Mutant-Synth-master\src\MutantMozziSynth\avSource.h:19:0, from D:\Arduino\MeeBleeps-Mutant-Synth-master\src\MutantMozziSynth\avSourcePhasor.cpp:17: C:\Users\Andr\Documents\Arduino\libraries\Mozzi/LowPassFilter.h:17:2: warning: #warning This header is deprecated, please use ResonantFilter.h instead. [-Wcpp]

warning This header is deprecated, please use ResonantFilter.h instead.

^~~ D:\Arduino\MeeBleeps-Mutant-Synth-master\src\MutantMozziSynth\MutantMozziSynth.ino: In function 'void updateAnalogControls()': D:\Arduino\MeeBleeps-Mutant-Synth-master\src\MutantMozziSynth\MutantMozziSynth.ino:685:41: warning: 'uint16_t mozziAnalogRead(uint8_t)' is deprecated: This use of mozziAnalogRead() is not portable. Refer to the API documentation for suggested alternatives. [-Wdeprecated-declarations] rawValue[i] = mozziAnalogRead(A0 + i); ^ In file included from C:\Users\Andr\Documents\Arduino\libraries\Mozzi/MozziGuts.h:33:0, from D:\Arduino\MeeBleeps-Mutant-Synth-master\src\MutantMozziSynth\MutantMozziSynth.ino:17: C:\Users\Andr\Documents\Arduino\libraries\Mozzi/mozzi_analog.h:176:150: note: declared here MOZZI_DEPRECATED("2.0", "This use of mozziAnalogRead() is not portable. Refer to the API documentation for suggested alternatives.") inline uint16_t mozziAnalogRead(uint8_t pin) { return mozziAnalogRead(pin); } ^~~~~~~ sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::output_buffer' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::MozziRandPrivate::x' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::MozziRandPrivate::y' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::MozziRandPrivate::z' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::adcPinToChannelNum(unsigned char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::adcStartConversion(unsigned char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::setupFastAnalogRead(signed char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::setupMozziADC(signed char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::stopMozzi()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::MozziRandPrivate::autoSeed()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::audioTicks()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::mozziMicros()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::startMozzi(int)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofmozziMicros()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofaudioTicks()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofstartMozzi(int)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofstopMozzi()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofsetupMozziADC(signed char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofsetupFastAnalogRead(signed char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofadcPinToChannelNum(unsigned char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofaudioOutput(MonoOutput)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::adcReadSelectedChannels()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofvector_21' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::adcStartReadCycle()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::mozziAnalogRead(unsigned char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofvector_13' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofMozziPrivate::audioHook()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSequencer.cpp.o (symbol from plugin): In function MozziPrivate::output_buffer': (.text+0x0): multiple definition ofaudioHook()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::output_buffer' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::MozziRandPrivate::x' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::MozziRandPrivate::y' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::MozziRandPrivate::z' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::adcPinToChannelNum(unsigned char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::adcStartConversion(unsigned char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::setupFastAnalogRead(signed char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::setupMozziADC(signed char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::stopMozzi()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::MozziRandPrivate::autoSeed()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::audioTicks()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::mozziMicros()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::startMozzi(int)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofmozziMicros()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofaudioTicks()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofstartMozzi(int)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofstopMozzi()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofsetupMozziADC(signed char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofsetupFastAnalogRead(signed char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofadcPinToChannelNum(unsigned char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofaudioOutput(MonoOutput)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::adcReadSelectedChannels()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition of__vector_21' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::adcStartReadCycle()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::mozziAnalogRead(unsigned char)' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition of__vector_13' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMozziPrivate::audioHook()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofaudioHook()' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here sketch\avSourcePhasor.cpp.o (symbol from plugin): In function MutatingPhasor::setGain(unsigned char)': (.text+0x0): multiple definition ofMidiToFreqPrivate::midiToFreq' sketch\MutantMozziSynth.ino.cpp.o (symbol from plugin):(.text+0x0): first defined here collect2.exe: error: ld returned 1 exit status exit status 1 `

How it is Fix? Maybe someone solved this problem?

Meebleeps commented 1 month ago

Hi, this project was built using Mozzi 1.3, and it looks like it is not directly compatible with Mozzi 2.0 which has just been released.

Possible fix is to manually import Mozzi 1.3 instead of the 2.0 library which the IDE loads. If anyone in the community is able to upgrade the project to mozzi2.0 please let me know!

lonesoulsurfer commented 1 month ago

Firstly, thanks so much for sharing your work. I'm seeing the same errors above when I try to load the sketch too. I did have a hunt around for Mozzi 1.3 but couldn't find a repository. Def been keen to get my hands on a solution if anyone has one. Also, this might be a silly question but I'm going to ask it anyhow. can you uload the script using Arduino IDE or do you have to use VS Code and PlatformIO? I did try to use Adruino IDE but it was giving a lot or errors which could be because of the update in Mozzie.

Andrjazz commented 1 month ago

I deleted Mozzi 2.0 and deleted library FixMath, and download Mozzi library 1.1.2 and sketch loaded success

link Mozzi 1.1.2 and old: https://www.arduino.cc/reference/en/libraries/mozzi/

lonesoulsurfer commented 1 month ago

You sir are a legend. Will try the same and see how it goes!

Saddox commented 1 month ago

Nice to hear som work done. I wonder.. Is there any possible way to enable midi out?

Best regards Martin Sweden

Den tis 13 aug. 2024 12:35lonesoulsurfer @.***> skrev:

You sir are a legend. Will try the same and see how it goes!

— Reply to this email directly, view it on GitHub https://github.com/Meebleeps/MeeBleeps-Mutant-Synth/issues/4#issuecomment-2285924562, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBNXPKLQVUJ7PYTJBBP33FDZRHOOBAVCNFSM6AAAAABLSSHZP2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEOBVHEZDINJWGI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

lonesoulsurfer commented 4 weeks ago

Hello again, I've done what @Andrjazz has suggested but am getting the following errors. I know it is going to be something simple that I'm not doing but for the life of me can't work it out. Any suggestions would be very much appreciated.

Here are the errors I'm getting. Note that the H files have been included when compiling. I've tried to load the sketch in VS code as well as Arduini IDE

C:\Users\marcus\AppData\Local\Temp\cci8Qpoe.ltrans0.ltrans.o: In function `displaySettingIcon(unsigned char const*)':

:(.text+0x656): undefined reference to `LedMatrix::displayIcon(unsigned char const*)' C:\Users\marcus\AppData\Local\Temp\cci8Qpoe.ltrans0.ltrans.o: In function `updateDisplay()': :(.text+0x6f4): undefined reference to `LedMatrix::clearScreen()' :(.text+0x700): undefined reference to `MutatingSequencer::getCurrentNote()' :(.text+0x70a): undefined reference to `MutatingSequencer::getCurrentStep()' :(.text+0x714): undefined reference to `MutatingSequencer::getSequenceLength()' :(.text+0x722): undefined reference to `LedMatrix::setRowPixels(unsigned char, unsigned char)' :(.text+0x72e): undefined reference to `LedMatrix::setRowPixels(unsigned char, unsigned char)' :(.text+0x74a): undefined reference to `LedMatrix::setPixel(unsigned char, unsigned char, bool)' :(.text+0x766): undefined reference to `LedMatrix::togglePixel(unsigned char, unsigned char)' :(.text+0x770): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' :(.text+0x782): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' :(.text+0x79e): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' :(.text+0x7b0): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' :(.text+0x7cc): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' C:\Users\marcus\AppData\Local\Temp\cci8Qpoe.ltrans0.ltrans.o::(.text+0x7de): more undefined references to `MutatingSequencer::getParameterLock(unsigned char)' follow C:\Users\marcus\AppData\Local\Temp\cci8Qpoe.ltrans0.ltrans.o: In function `updateDisplay()': :(.text+0x81e): undefined reference to `MutatingSequencer::getMutationProbability()' :(.text+0x838): undefined reference to `MutatingSequencer::getNoteProbability()' :(.text+0x864): undefined reference to `LedMatrix::drawLineV(unsigned char, unsigned char, unsigned char, bool)' :(.text+0x87a): undefined reference to `LedMatrix::setPixel(unsigned char, unsigned char, bool)' :(.text+0x898): undefined reference to `LedMatrix::setPixel(unsigned char, unsigned char, bool)' :(.text+0x8ba): undefined reference to `LedMatrix::refresh()' :(.text+0x8e0): undefined reference to `LedMatrix::setPixel(unsigned char, unsigned char, bool)' C:\Users\marcus\AppData\Local\Temp\cci8Qpoe.ltrans0.ltrans.o: In function `updateTonic(int)': :(.text+0x982): undefined reference to `MutatingSequencer::getTonic()' :(.text+0x9ba): undefined reference to `MutatingSequencer::setTonic(signed char)' :(.text+0x9c2): undefined reference to `MutatingSequencer::getTonic()' C:\Users\marcus\AppData\Local\Temp\cci8Qpoe.ltrans0.ltrans.o: In function `updateNoteDecay(bool)': :(.text+0xa66): undefined reference to `MutatingSequencer::setNextNoteLength(unsigned int)' :(.text+0xab4): undefined reference to `MutatingSequencer::setParameterLock(unsigned char, int)' :(.text+0xad0): undefined reference to `MutatingSequencer::clearAllParameterLocks(unsigned char)' C:\Users\marcus\AppData\Local\Temp\cci8Qpoe.ltrans0.ltrans.o: In function `updateOscillatorDetune(bool)': :(.text+0xd5c): undefined reference to `MutatingPhasor::getParam(int)' :(.text+0xd6c): undefined reference to `MutatingPhasor::setOscillatorDetune(int)' :(.text+0xd90): undefined reference to `MutatingSequencer::setParameterLock(unsigned char, int)' :(.text+0xda8): undefined reference to `MutatingSequencer::clearAllParameterLocks(unsigned char)' C:\Users\marcus\AppData\Local\Temp\cci8Qpoe.ltrans0.ltrans.o: In function `updateSequencerStepModulation()': :(.text+0xdb8): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' :(.text+0xdc8): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' :(.text+0xdd2): undefined reference to `MutatingSequencer::setNextNoteLength(unsigned int)' :(.text+0xde2): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' :(.text+0xdf2): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' :(.text+0xdfc): undefined reference to `MutatingPhasor::setOscillatorDetune(int)' :(.text+0xe0c): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' :(.text+0xe1c): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' :(.text+0xe26): undefined reference to `MutatingPhasor::setFilterCutoff(int)' :(.text+0xe36): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' :(.text+0xe46): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' :(.text+0xe50): undefined reference to `MutatingPhasor::setFilterResonance(int)' :(.text+0xe60): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' :(.text+0xe70): undefined reference to `MutatingSequencer::getParameterLock(unsigned char)' :(.text+0xe7a): undefined reference to `MutatingPhasor::setFilterShape(int)' :(.text+0xed2): undefined reference to `MutatingPhasor::setFilterCutoff(int)' :(.text+0xefc): undefined reference to `MutatingPhasor::setFilterResonance(int)' :(.text+0xf24): undefined reference to `MutatingPhasor::setFilterShape(int)' C:\Users\marcus\AppData\Local\Temp\cci8Qpoe.ltrans0.ltrans.o: In function `global constructors keyed to 65535_0_MutantMozziSynth.ino.cpp.o.2203': :(.text.startup+0x78): undefined reference to `MutatingPhasor::MutatingPhasor()' :(.text.startup+0x80): undefined reference to `MutatingSequencer::MutatingSequencer()' :(.text.startup+0x88): undefined reference to `LedMatrix::LedMatrix()' C:\Users\marcus\AppData\Local\Temp\cci8Qpoe.ltrans0.ltrans.o: In function `main': :(.text.startup+0x29e): undefined reference to `LedMatrix::initialise()' :(.text.startup+0x2aa): undefined reference to `LedMatrix::setOrientation(int)' :(.text.startup+0x2f6): undefined reference to `LedMatrix::clearScreen()' :(.text.startup+0x30a): undefined reference to `LedMatrix::displayIcon(unsigned char const*)' :(.text.startup+0x336): undefined reference to `LedMatrix::setIntensity(int)' :(.text.startup+0x352): undefined reference to `LedMatrix::setIntensity(int)' :(.text.startup+0x35e): undefined reference to `LedMatrix::displayIcon(unsigned char const*)' :(.text.startup+0x368): undefined reference to `MutatingSequencer::setScale(unsigned char)' :(.text.startup+0x372): undefined reference to `MutatingSequencer::newSequence(unsigned char)' :(.text.startup+0x4f0): undefined reference to `MutatingSequencer::syncPulse(int)' :(.text.startup+0x62e): undefined reference to `LedMatrix::refresh()' :(.text.startup+0x73e): undefined reference to `MutatingSequencer::setRetrigger(bool)' :(.text.startup+0x750): undefined reference to `LedMatrix::clearScreen()' :(.text.startup+0x75a): undefined reference to `MutatingSequencer::newSequence(unsigned char)' :(.text.startup+0x766): undefined reference to `MutatingSequencer::toggleStart()' :(.text.startup+0x770): undefined reference to `MutatingSequencer::update(bool)' :(.text.startup+0x77e): undefined reference to `MutatingSequencer::getCurrentNote()' :(.text.startup+0x788): undefined reference to `MutatingSequencer::getNextNoteLength()' :(.text.startup+0x7a0): undefined reference to `MutatingPhasor::noteOn(unsigned char, unsigned char, unsigned int)' :(.text.startup+0x7b2): undefined reference to `MutatingSequencer::syncPulse(int)' :(.text.startup+0x7cc): undefined reference to `MutatingSequencer::getScale()' :(.text.startup+0x7e2): undefined reference to `MutatingSequencer::setScale(unsigned char)' :(.text.startup+0x7ea): undefined reference to `MutatingSequencer::getScale()' :(.text.startup+0x804): undefined reference to `MutatingSequencer::nextAlgorithm()' :(.text.startup+0x80c): undefined reference to `MutatingSequencer::getAlgorithm()' :(.text.startup+0x846): undefined reference to `MutatingSequencer::setSequenceLength(unsigned char)' :(.text.startup+0x872): undefined reference to `MutatingSequencer::update(bool)' :(.text.startup+0x87e): undefined reference to `MutatingSequencer::outputSyncPulse()' :(.text.startup+0x8c8): undefined reference to `MutatingSequencer::getCurrentNote()' :(.text.startup+0x8d2): undefined reference to `MutatingSequencer::getNextNoteLength()' :(.text.startup+0x8ea): undefined reference to `MutatingPhasor::noteOn(unsigned char, unsigned char, unsigned int)' :(.text.startup+0x93a): undefined reference to `MutatingSequencer::getDuckingAmount()' :(.text.startup+0x95a): undefined reference to `MutatingSequencer::getDuckingEnvelope()' :(.text.startup+0x9ac): undefined reference to `LedMatrix::drawLineV(unsigned char, unsigned char, unsigned char, bool)' :(.text.startup+0x9ce): undefined reference to `LedMatrix::drawLineV(unsigned char, unsigned char, unsigned char, bool)' :(.text.startup+0x9d8): undefined reference to `MutatingPhasor::setGain(unsigned char)' :(.text.startup+0x9e0): undefined reference to `MutatingPhasor::updateControl()' :(.text.startup+0x9ec): undefined reference to `MutatingPhasor::updateAudio()' :(.text.startup+0xa50): undefined reference to `MutatingSequencer::setDuckingAmount(int)' :(.text.startup+0xa7c): undefined reference to `MutatingPhasor::setFilterResonance(int)' :(.text.startup+0xa94): undefined reference to `MutatingSequencer::clearAllParameterLocks(unsigned char)' :(.text.startup+0xa9e): undefined reference to `MutatingSequencer::clearAllParameterLocks(unsigned char)' :(.text.startup+0xac0): undefined reference to `MutatingPhasor::setFilterCutoff(int)' :(.text.startup+0xad8): undefined reference to `MutatingSequencer::clearAllParameterLocks(unsigned char)' :(.text.startup+0xaea): undefined reference to `MutatingSequencer::setParameterLock(unsigned char, int)' :(.text.startup+0xb00): undefined reference to `MutatingSequencer::setParameterLock(unsigned char, int)' :(.text.startup+0xb2e): undefined reference to `MutatingSequencer::setNoteProbability(unsigned char)' :(.text.startup+0xb5a): undefined reference to `MutatingSequencer::setMutationProbability(unsigned char)' :(.text.startup+0xb96): undefined reference to `MutatingPhasor::setFilterShape(int)' :(.text.startup+0xbae): undefined reference to `MutatingSequencer::clearAllParameterLocks(unsigned char)' :(.text.startup+0xbc0): undefined reference to `MutatingSequencer::setParameterLock(unsigned char, int)' collect2.exe: error: ld returned 1 exit status *** [.pio\build\nanoatmega328\firmware.elf] Error 1
Andrjazz commented 3 weeks ago

@lonesoulsurfer Very strange, in your Arduino IDE opened all files? like this? 11

lonesoulsurfer commented 3 weeks ago

Nope - haha. I had included the header files but didn't realise I had to include the cpp ones! Just uploaded it again and it worked! Thanks for your help - you learn something new everyday!