I am trying to learn how to build a synthesizer from the Youtube Tutorials here:
The final project is stored here:
But unfortunately, I am getting a load of errors:
Severity Code Description Project File Line Suppression State
Warning C4100 'newPitchWheelValue': unreferenced formal parameter (compiling source file ..\..\Source\PluginEditor.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 107
Warning C4100 'midiNoteNumber': unreferenced formal parameter (compiling source file ..\..\Source\Envelope.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthsound.h 21
Warning C4100 'midiNoteNumber': unreferenced formal parameter (compiling source file ..\..\Source\Envelope.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthsound.h 26
Warning C4100 'midiNoteNumber': unreferenced formal parameter (compiling source file ..\..\Source\Filter.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthsound.h 21
Warning C4100 'midiNoteNumber': unreferenced formal parameter (compiling source file ..\..\Source\Filter.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthsound.h 26
Warning C4100 'midiNoteNumber': unreferenced formal parameter (compiling source file ..\..\Source\PluginEditor.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthsound.h 21
Warning C4100 'midiNoteNumber': unreferenced formal parameter (compiling source file ..\..\Source\PluginEditor.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthsound.h 26
Warning C4100 'midiNoteNumber': unreferenced formal parameter (compiling source file ..\..\Source\Oscillator.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthsound.h 21
Warning C4100 'midiNoteNumber': unreferenced formal parameter (compiling source file ..\..\Source\Oscillator.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthsound.h 26
Warning C4244 '=': conversion from 'double' to 'short', possible loss of data (compiling source file ..\..\Source\Filter.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 314
Warning C4244 '=': conversion from 'double' to 'short', possible loss of data (compiling source file ..\..\Source\Oscillator.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 314
Warning C4244 'argument': conversion from 'double' to 'int', possible loss of data (compiling source file ..\..\Source\Filter.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 531
Warning C4244 'argument': conversion from 'double' to 'int', possible loss of data (compiling source file ..\..\Source\Filter.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 556
Warning C4244 'argument': conversion from 'double' to 'int', possible loss of data (compiling source file ..\..\Source\Filter.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 557
Warning C4244 'argument': conversion from 'double' to 'int', possible loss of data (compiling source file ..\..\Source\Oscillator.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 531
Warning C4244 'argument': conversion from 'double' to 'int', possible loss of data (compiling source file ..\..\Source\Oscillator.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 556
Warning C4244 'argument': conversion from 'double' to 'int', possible loss of data (compiling source file ..\..\Source\Oscillator.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 557
Warning C4244 '=': conversion from 'float' to 'int', possible loss of data (compiling source file ..\..\Source\Filter.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 31
Warning C4244 '=': conversion from 'float' to 'int', possible loss of data (compiling source file ..\..\Source\Filter.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 80
Warning C4100 'currentPitchWheelPosition': unreferenced formal parameter (compiling source file ..\..\Source\Filter.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 87
Warning C4100 'sound': unreferenced formal parameter (compiling source file ..\..\Source\Filter.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 87
Warning C4100 'newPitchWheelValue': unreferenced formal parameter (compiling source file ..\..\Source\Filter.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 107
Warning C4100 'newControllerValue': unreferenced formal parameter (compiling source file ..\..\Source\Filter.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 114
Warning C4100 'controllerNumber': unreferenced formal parameter (compiling source file ..\..\Source\Filter.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 114
Warning C4244 'argument': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\Source\Filter.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 127
Warning C4244 '=': conversion from 'float' to 'int', possible loss of data (compiling source file ..\..\Source\Oscillator.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 31
Warning C4244 '=': conversion from 'float' to 'int', possible loss of data (compiling source file ..\..\Source\Oscillator.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 80
Warning C4100 'currentPitchWheelPosition': unreferenced formal parameter (compiling source file ..\..\Source\Oscillator.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 87
Warning C4100 'sound': unreferenced formal parameter (compiling source file ..\..\Source\Oscillator.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 87
Warning C4100 'newPitchWheelValue': unreferenced formal parameter (compiling source file ..\..\Source\Oscillator.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 107
Warning C4100 'newControllerValue': unreferenced formal parameter (compiling source file ..\..\Source\Oscillator.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 114
Warning C4100 'controllerNumber': unreferenced formal parameter (compiling source file ..\..\Source\Oscillator.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 114
Warning C4244 'argument': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\Source\Oscillator.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 127
Warning C4244 '=': conversion from 'double' to 'short', possible loss of data (compiling source file ..\..\Source\PluginEditor.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 314
Error C2872 'Rectangle': ambiguous symbol juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\filter.cpp 50
Error C2062 type 'int' unexpected juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\filter.cpp 50
Error C2065 'titleArea': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\filter.cpp 54
Error C2872 'Rectangle': ambiguous symbol juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\filter.cpp 56
Error C2872 'Rectangle': ambiguous symbol juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\oscillator.cpp 37
Error C2062 type 'float' unexpected juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\filter.cpp 56
Error C2062 type 'int' unexpected juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\oscillator.cpp 37
Error C2065 'area': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\filter.cpp 59
Error C2065 'titleArea': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\oscillator.cpp 41
Error C2872 'Rectangle': ambiguous symbol juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\filter.cpp 65
Error C2872 'Rectangle': ambiguous symbol juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\oscillator.cpp 44
Error C2062 type 'int' unexpected juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\filter.cpp 65
Error C2062 type 'float' unexpected juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\oscillator.cpp 44
Warning C4244 '=': conversion from 'double' to 'short', possible loss of data (compiling source file ..\..\Source\Envelope.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 314
Error C2065 'area': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\filter.cpp 67
Error C2065 'area': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\oscillator.cpp 47
Error C2228 left of '.removeFromTop' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\filter.cpp 67
Error C2872 'Rectangle': ambiguous symbol juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\oscillator.cpp 52
Error C2062 type 'int' unexpected juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\oscillator.cpp 52
Error C2065 'area': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\oscillator.cpp 53
Error C2228 left of '.removeFromTop' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\oscillator.cpp 53
Warning C4244 'argument': conversion from 'double' to 'int', possible loss of data (compiling source file ..\..\Source\PluginEditor.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 531
Warning C4244 'argument': conversion from 'double' to 'int', possible loss of data (compiling source file ..\..\Source\Envelope.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 531
Warning C4244 'argument': conversion from 'double' to 'int', possible loss of data (compiling source file ..\..\Source\PluginEditor.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 556
Warning C4244 'argument': conversion from 'double' to 'int', possible loss of data (compiling source file ..\..\Source\PluginEditor.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 557
Warning C4244 'argument': conversion from 'double' to 'int', possible loss of data (compiling source file ..\..\Source\Envelope.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 556
Warning C4244 'argument': conversion from 'double' to 'int', possible loss of data (compiling source file ..\..\Source\Envelope.cpp) juceSynthFramework_SharedCode f:\juce\libraries\maximilian\maximilian.h 557
Warning C4244 '=': conversion from 'float' to 'int', possible loss of data (compiling source file ..\..\Source\PluginEditor.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 31
Warning C4244 '=': conversion from 'float' to 'int', possible loss of data (compiling source file ..\..\Source\PluginEditor.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 80
Warning C4244 '=': conversion from 'float' to 'int', possible loss of data (compiling source file ..\..\Source\Envelope.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 31
Warning C4100 'currentPitchWheelPosition': unreferenced formal parameter (compiling source file ..\..\Source\PluginEditor.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 87
Warning C4100 'sound': unreferenced formal parameter (compiling source file ..\..\Source\PluginEditor.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 87
Warning C4244 '=': conversion from 'float' to 'int', possible loss of data (compiling source file ..\..\Source\Envelope.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 80
Warning C4100 'newControllerValue': unreferenced formal parameter (compiling source file ..\..\Source\PluginEditor.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 114
Warning C4100 'currentPitchWheelPosition': unreferenced formal parameter (compiling source file ..\..\Source\Envelope.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 87
Warning C4100 'controllerNumber': unreferenced formal parameter (compiling source file ..\..\Source\PluginEditor.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 114
Warning C4100 'sound': unreferenced formal parameter (compiling source file ..\..\Source\Envelope.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 87
Warning C4244 'argument': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\Source\PluginEditor.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 127
Warning C4100 'newPitchWheelValue': unreferenced formal parameter (compiling source file ..\..\Source\Envelope.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 107
Warning C4100 'newControllerValue': unreferenced formal parameter (compiling source file ..\..\Source\Envelope.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 114
Warning C4100 'controllerNumber': unreferenced formal parameter (compiling source file ..\..\Source\Envelope.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 114
Warning C4244 'argument': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\Source\Envelope.cpp) juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\synthvoice.h 127
Error C2872 'Rectangle': ambiguous symbol juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 59
Error C2062 type 'int' unexpected juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 59
Error C2065 'titleArea': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 63
Error C2872 'Rectangle': ambiguous symbol juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 71
Error C2062 type 'float' unexpected juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 71
Error C2065 'area': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 74
Error C2872 'Rectangle': ambiguous symbol juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 80
Error C2872 'Rectangle': ambiguous symbol juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\plugineditor.cpp 38
Error C2062 type 'int' unexpected juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 80
Error C2065 'area': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 86
Error C2228 left of '.removeFromLeft' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 86
Error C2228 left of '.removeFromTop' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 86
Error C2228 left of '.withTrimmedTop' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 86
Error C2065 'area': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 87
Error C2228 left of '.removeFromLeft' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 87
Error C2062 type 'int' unexpected juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\plugineditor.cpp 38
Error C2228 left of '.removeFromTop' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 87
Error C2065 'area': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\plugineditor.cpp 43
Error C2228 left of '.withTrimmedTop' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 87
Error C2228 left of '.removeFromLeft' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\plugineditor.cpp 43
Error C2065 'area': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 88
Error C2228 left of '.removeFromTop' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\plugineditor.cpp 43
Error C2228 left of '.removeFromLeft' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 88
Error C2065 'area': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\plugineditor.cpp 44
Error C2228 left of '.removeFromTop' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 88
Error C2228 left of '.removeFromLeft' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\plugineditor.cpp 44
Error C2228 left of '.withTrimmedTop' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 88
Error C2228 left of '.removeFromTop' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\plugineditor.cpp 44
Error C2065 'area': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 89
Error C2065 'area': undeclared identifier juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\plugineditor.cpp 45
Error C2228 left of '.removeFromLeft' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 89
Error C2228 left of '.removeFromLeft' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\plugineditor.cpp 45
Error C2228 left of '.removeFromTop' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 89
Error C2228 left of '.removeFromTop' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\plugineditor.cpp 45
Error C2228 left of '.withTrimmedTop' must have class/struct/union juceSynthFramework_SharedCode f:\juce\projects\jucesynthframework-tutorials\source\envelope.cpp 89
Error LNK1104 cannot open file 'juceSynthFramework.lib' juceSynthFramework_StandalonePlugin F:\JUCE\PROJECTS\juceSynthFramework-tutorials\Builds\VisualStudio2017\LINK 1
Update
Worked it out with daniel and mitkatmusic on Discord. Solutions were:
- Maximillian.h needs “#define NOGDI” added to it before the #include “windows.h”
- PluginProcessor.cpp needs “tree.state = ValueTree(“AnyName”);” added at line 51
The NOGDI issue is reviewed here:
With those fixes it works.
