Last Scriptnode doesn't compile...
-
and I get to run a million other programs that don't run on Windows or Mac.
Plus, you're favourite piece of software compiles now too:
https://github.com/christophhart/HISE/commit/22cfee8db88a5a09f4a1c0f18f7c17fff227425b
-
@Christoph-Hart Oooo :D thank you, I can't wait to tinker with HISEnode, I shall try and build it now!
-
It started well but I'm getting a lot of errors still
-
Ah I see, I had these errors, but I thought they were just because of my Projucer configuration.
I realised that the Projucer binary is still old (I've updated JUCE in the meantime), which caused the settings to be overwritten, hmmm...
Let me rebuild the Projucer, then set all project properties.
-
@d-healey said in Last Scriptnode doesn't compile...:
I think a better question is why would anybody use an operating system that has less applications, spies on them, forces updates/downgrades on their computer, contains built in DRM and various other malware, and is entirely under the control of somebody else?
That's the point ;)
-
Still getting some errors on the superior OS ;) but not as many as before
./../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/scripting/scriptnode/nodes/JitNode.h: In member function ‘virtual void scriptnode::JitNodeBase::logMessage(const juce::String&)’: ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/Macros.h:44:55: error: ‘class hise::MainController’ has no member named ‘writeToConsole’; did you mean ‘popupConsole’? #define debugToConsole(p, x) (p->getMainController()->writeToConsole(x, 0, p)) ^ ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/Macros.h:44:55: note: in definition of macro ‘debugToConsole’ #define debugToConsole(p, x) (p->getMainController()->writeToConsole(x, 0, p)) ^~~~~~~~~~~~~~ ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/scripting/HardcodedScriptProcessor.h: In member function ‘virtual void hise::HardcodedScriptProcessor::controlCallback(hise::ScriptingApi::Content::ScriptComponent*, juce::var)’: ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/Macros.h:44:55: error: ‘class hise::MainController’ has no member named ‘writeToConsole’; did you mean ‘popupConsole’? #define debugToConsole(p, x) (p->getMainController()->writeToConsole(x, 0, p)) ^ ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/Macros.h:44:55: note: in definition of macro ‘debugToConsole’ #define debugToConsole(p, x) (p->getMainController()->writeToConsole(x, 0, p)) ^~~~~~~~~~~~~~ ../../../../../HISE-scriptnode/hi_backend/../hi_modules/modulators/mods/LFOModulator.h: In member function ‘virtual void hise::LfoModulator::tempoChanged(double)’: ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/Macros.h:44:55: error: ‘class hise::MainController’ has no member named ‘writeToConsole’; did you mean ‘popupConsole’? #define debugToConsole(p, x) (p->getMainController()->writeToConsole(x, 0, p)) ^ ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/../hi_core/Macros.h:44:55: note: in definition of macro ‘debugToConsole’ #define debugToConsole(p, x) (p->getMainController()->writeToConsole(x, 0, p)) ^~~~~~~~~~~~~~ In file included from ../../../../../HISE-scriptnode/hi_backend/hi_backend.h:61:0, from ../../Source/../JuceLibraryCode/JuceHeader.h:17, from ../../Source/MainComponent.h:12, from ../../Source/MainComponent.cpp:12: ../../../../../HISE-scriptnode/hi_backend/backend/BackendProcessor.h: In member function ‘virtual void hise::BackendProcessor::releaseResources()’: ../../../../../HISE-scriptnode/hi_backend/backend/BackendProcessor.h:87:3: error: ‘writeToConsole’ was not declared in this scope writeToConsole("RELEASE_RESOURCES_CALLED", CodeHandler::Error, getMainSynthChain()); ^~~~~~~~~~~~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendProcessor.h:87:3: note: suggested alternative: ‘debugToConsole’ writeToConsole("RELEASE_RESOURCES_CALLED", CodeHandler::Error, getMainSynthChain()); ^~~~~~~~~~~~~~ debugToConsole In file included from ../../../../../HISE-scriptnode/hi_backend/hi_backend.h:66:0, from ../../Source/../JuceLibraryCode/JuceHeader.h:17, from ../../Source/MainComponent.h:12, from ../../Source/MainComponent.cpp:12: ../../../../../HISE-scriptnode/hi_backend/backend/BackendApplicationCommands.h: In member function ‘bool hise::BackendCommandTarget::viewActive() const’: ../../../../../HISE-scriptnode/hi_backend/backend/BackendApplicationCommands.h:230:35: error: ‘class hise::ModulatorSynthChain’ has no member named ‘getCurrentViewInfo’ return owner->synthChain->getCurrentViewInfo() != nullptr; ^~~~~~~~~~~~~~~~~~ In file included from ../../../../../HISE-scriptnode/hi_backend/hi_backend.h:67:0, from ../../Source/../JuceLibraryCode/JuceHeader.h:17, from ../../Source/MainComponent.h:12, from ../../Source/MainComponent.cpp:12: ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h: At global scope: ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:220:2: error: ‘ProcessorEditorContainer’ does not name a type; did you mean ‘ProcessorEditorPanel’? ProcessorEditorContainer *getRootContainer() { return container; }; ^~~~~~~~~~~~~~~~~~~~~~~~ ProcessorEditorPanel ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:234:30: error: ‘PluginPreviewWindow’ has not been declared void setPluginPreviewWindow(PluginPreviewWindow *newWindow) ^~~~~~~~~~~~~~~~~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:283:16: error: ‘ProcessorEditorContainer’ was not declared in this scope ScopedPointer<ProcessorEditorContainer> container; ^~~~~~~~~~~~~~~~~~~~~~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:283:16: note: suggested alternative: ‘ProcessorEditorPanel’ ScopedPointer<ProcessorEditorContainer> container; ^~~~~~~~~~~~~~~~~~~~~~~~ ProcessorEditorPanel ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:283:40: error: template argument 1 is invalid ScopedPointer<ProcessorEditorContainer> container; ^ ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:303:16: error: ‘PluginPreviewWindow’ was not declared in this scope ScopedPointer<PluginPreviewWindow> previewWindow; ^~~~~~~~~~~~~~~~~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:303:16: note: suggested alternative: ‘setPluginPreviewWindow’ ScopedPointer<PluginPreviewWindow> previewWindow; ^~~~~~~~~~~~~~~~~~~ setPluginPreviewWindow ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:303:35: error: template argument 1 is invalid ScopedPointer<PluginPreviewWindow> previewWindow; ^ ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h: In member function ‘void hise::BackendProcessorEditor::refreshContainer(hise::Processor*)’: ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:171:17: error: invalid operands of types ‘int’ and ‘std::nullptr_t’ to binary ‘operator!=’ if (container != nullptr) ~~~~~~~~~~^~~~~~~~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:175:30: error: base operand of ‘->’ is not a pointer setRootProcessor(container->getRootEditor()->getProcessor(), y); ^~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:177:21: error: incomplete type ‘hise::ProcessorEditor’ used in nested name specifier ProcessorEditor::Iterator iter(getRootContainer()->getRootEditor()); ^~~~~~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:179:37: error: ‘iter’ was not declared in this scope while (ProcessorEditor *editor = iter.getNextEditor()) ^~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:181:15: error: invalid use of incomplete type ‘class hise::ProcessorEditor’ if (editor->getProcessor() == selectedProcessor) ^~ In file included from ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/hi_dsp.h:65:0, from ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/hi_components.h:57, from ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/hi_sampler.h:54, from ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/hi_scripting.h:60, from ../../../../../HISE-scriptnode/hi_backend/../hi_modules/hi_modules.h:57, from ../../../../../HISE-scriptnode/hi_backend/hi_backend.h:55, from ../../Source/../JuceLibraryCode/JuceHeader.h:17, from ../../Source/MainComponent.h:12, from ../../Source/MainComponent.cpp:12: ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/Processor.h:40:7: note: forward declaration of ‘class hise::ProcessorEditor’ class ProcessorEditor; ^~~~~~~~~~~~~~~ In file included from ../../../../../HISE-scriptnode/hi_backend/hi_backend.h:67:0, from ../../Source/../JuceLibraryCode/JuceHeader.h:17, from ../../Source/MainComponent.h:12, from ../../Source/MainComponent.cpp:12: ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:183:12: error: invalid use of incomplete type ‘class hise::ProcessorEditor’ editor->grabCopyAndPasteFocus(); ^~ In file included from ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/hi_dsp.h:65:0, from ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/hi_components.h:57, from ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/hi_sampler.h:54, from ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/hi_scripting.h:60, from ../../../../../HISE-scriptnode/hi_backend/../hi_modules/hi_modules.h:57, from ../../../../../HISE-scriptnode/hi_backend/hi_backend.h:55, from ../../Source/../JuceLibraryCode/JuceHeader.h:17, from ../../Source/MainComponent.h:12, from ../../Source/MainComponent.cpp:12: ../../../../../HISE-scriptnode/hi_backend/../hi_modules/../hi_scripting/../hi_sampler/../hi_components/../hi_dsp/Processor.h:40:7: note: forward declaration of ‘class hise::ProcessorEditor’ class ProcessorEditor; ^~~~~~~~~~~~~~~ In file included from ../../../../../HISE-scriptnode/hi_backend/hi_backend.h:67:0, from ../../Source/../JuceLibraryCode/JuceHeader.h:17, from ../../Source/MainComponent.h:12, from ../../Source/MainComponent.cpp:12: ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h: In member function ‘void hise::BackendProcessorEditor::setPluginPreviewWindow(int*)’: ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:236:19: error: cannot convert ‘std::nullptr_t’ to ‘int’ in assignment previewWindow = nullptr; ^~~~~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:238:19: error: invalid conversion from ‘int*’ to ‘int’ [-fpermissive] previewWindow = newWindow; ^~~~~~~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:240:21: error: invalid operands of types ‘int’ and ‘std::nullptr_t’ to binary ‘operator!=’ if (previewWindow != nullptr) ~~~~~~~~~~~~~~^~~~~~~~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendEditor.h:246:15: error: request for member ‘addToDesktop’ in ‘* newWindow’, which is of non-class type ‘int’ newWindow->addToDesktop(); ^~~~~~~~~~~~ In file included from ../../../../../HISE-scriptnode/hi_backend/hi_backend.h:68:0, from ../../Source/../JuceLibraryCode/JuceHeader.h:17, from ../../Source/MainComponent.h:12, from ../../Source/MainComponent.cpp:12: ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h: At global scope: ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h:103:2: error: ‘FloatingTileDocumentWindow’ does not name a type; did you mean ‘FloatingTileContainer’? FloatingTileDocumentWindow* getLastPopup() { return popoutWindows.getLast(); } ^~~~~~~~~~~~~~~~~~~~~~~~~~ FloatingTileContainer ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h:156:2: error: ‘FloatingTileDocumentWindow’ does not name a type; did you mean ‘FloatingTileContainer’? FloatingTileDocumentWindow* addFloatingWindow() ^~~~~~~~~~~~~~~~~~~~~~~~~~ FloatingTileContainer ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h:163:28: error: ‘FloatingTileDocumentWindow’ has not been declared void removeFloatingWindow(FloatingTileDocumentWindow* windowToRemove) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h:184:13: error: ‘FloatingTileDocumentWindow’ was not declared in this scope OwnedArray<FloatingTileDocumentWindow> popoutWindows; ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h:184:13: note: suggested alternative: ‘FloatingTileContainer’ OwnedArray<FloatingTileDocumentWindow> popoutWindows; ^~~~~~~~~~~~~~~~~~~~~~~~~~ FloatingTileContainer ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h:184:39: error: template argument 1 is invalid OwnedArray<FloatingTileDocumentWindow> popoutWindows; ^ ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h:214:16: error: ‘FloatingTileDocumentWindow’ was not declared in this scope ScopedPointer<FloatingTileDocumentWindow> docWindow; ^~~~~~~~~~~~~~~~~~~~~~~~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h:214:16: note: suggested alternative: ‘FloatingTileContainer’ ScopedPointer<FloatingTileDocumentWindow> docWindow; ^~~~~~~~~~~~~~~~~~~~~~~~~~ FloatingTileContainer ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h:214:42: error: template argument 1 is invalid ScopedPointer<FloatingTileDocumentWindow> docWindow; ^ ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h: In member function ‘void hise::BackendRootWindow::toggleLayoutMode()’: ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h:88:37: error: request for member ‘size’ in ‘((hise::BackendRootWindow*)this)->hise::BackendRootWindow::popoutWindows’, which is of non-class type ‘int’ for (int i = 0; i < popoutWindows.size(); i++) ^~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h:90:19: error: invalid types ‘int[int]’ for array subscript popoutWindows[i]->getRootFloatingTile()->setLayoutModeEnabled(shouldBeOn); ^ ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h: In member function ‘void hise::BackendRootWindow::removeFloatingWindow(int*)’: ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h:165:20: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] if (docWindow == windowToRemove) ^~~~~~~~~~~~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h:166:16: error: cannot convert ‘std::nullptr_t’ to ‘int’ in assignment docWindow = nullptr; ^~~~~~~ ../../../../../HISE-scriptnode/hi_backend/backend/BackendRootWindow.h:168:18: error: request for member ‘removeObject’ in ‘((hise::BackendRootWindow*)this)->hise::BackendRootWindow::popoutWindows’, which is of non-class type ‘int’ popoutWindows.removeObject(windowToRemove, true); ^~~~~~~~~~~~ ../../Source/MainComponent.cpp: In member function ‘void MainContentComponent::handleCommandLineArguments(const juce::String&)’: ../../Source/MainComponent.cpp:49:74: error: ‘using NativeFileHandler = class hise::FrontendHandler {aka class hise::FrontendHandler}’ has no member named ‘getWorkDirectory’; did you mean ‘getSubDirectory’? nst File currentProjectFolder = GET_PROJECT_HANDLER(mainSynthChain).getWorkDirectory(); ^~~~~~~~~~~~~~~~ getSubDirectory ../../Source/MainComponent.cpp:54:41: error: ‘using NativeFileHandler = class hise::FrontendHandler {aka class hise::FrontendHandler}’ has no member named ‘setWorkingProject’ GET_PROJECT_HANDLER(mainSynthChain).setWorkingProject(projectDirectory, nullptr); ^~~~~~~~~~~~~~~~~
-
Yippie! it compiles, thanks Christoph!
Now it's time to explore scriptnode...
-
@Christoph-Hart Two minor things. When exporting a plugin on GNUx it can't find the SDK path, the legacy path is set by default for Windows and Mac but not GNUx. I can set it manually of course but then I can't use my precious build scripts.
The second thing is the number of channels preprocessor thingy is set for Windows and Mac but again not on GNUx.
-
I've just pushed this, but haven't tested it, so please confirm that it's fixed on Linux.
BTW, do you need an field for extra preprocessor definitions on Linux? It's currently Windows and macOS only, but if you need it to smoothen out your build process let me know.
-
@Christoph-Hart yes please, I think it's helpful when I want to use peak meters if I remember correctly. I'll try out the new build this afternoon. Thank you!