make it compile and work under Linux#151
make it compile and work under Linux#151dehnhardt wants to merge 1 commit intoRomanKubiak:masterfrom
Conversation
| Packaging/** | ||
| .vscode/** | ||
| Source/Core/stdafx_luabind.h.gch | ||
| Source/Core/stdafx.h.gch |
There was a problem hiding this comment.
Might be ok to ignore generated files
There was a problem hiding this comment.
This is only Windows related and should be removed from the patch
| JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -fPIC -g -ggdb -O0 -w $(CFLAGS) | ||
| JUCE_CXXFLAGS += $(JUCE_CFLAGS) -std=gnu++14 $(CXXFLAGS) | ||
| JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs alsa freetype2 libcurl) -fvisibility=hidden -lrt -ldl -lpthread -lz -ludev -lbfd $(LDFLAGS) | ||
| JUCE_LDFLAGS += $(TARGET_ARCH) -L$(JUCE_BINDIR) -L$(JUCE_LIBDIR) $(shell pkg-config --libs alsa x11 freetype2 libcurl) -fvisibility=hidden -lrt -ldl -lpthread -lz -ludev -lbfd $(LDFLAGS) |
There was a problem hiding this comment.
x11 is still needed
Builds/LinuxMakefile/Makefile
Outdated
| -$(V_AT)mkdir -p $(JUCE_VSTDESTDIR) | ||
| -$(V_AT)cp -R $(JUCE_COPYCMD_VST) | ||
|
|
||
| $(JUCE_OUTDIR)/$(JUCE_TARGET_VST3) : $(OBJECTS_VST3) $(RESOURCES) $(JUCE_OUTDIR)/$(JUCE_TARGET_SHARED_CODE) |
There was a problem hiding this comment.
these parts in the Makefile gives errors, Is VST3 Relevant for Linux at all?
There was a problem hiding this comment.
But I'd think this is a bug in Projucer
There was a problem hiding this comment.
these parts in the Makefile gives errors, Is VST3 Relevant for Linux at all?
Why would VST3 not be "relevant" for Linux?
| echo "stadfx.h" | ||
| g++ -w -std=c++14 -D "LINUX=1" -D "NDEBUG=1" \ | ||
| -D "JUCE_FORCE_DEBUG=0" -D "CTRLR_NIGHTLY=1" \ | ||
| g++ -w -std=c++14 -D "LINUX=1" -D "NDEBUG=0" \ |
There was a problem hiding this comment.
application does nut run in release mode.
There was a problem hiding this comment.
Debug settings should not be changed in this patch.
| #include "CtrlrLog.h" | ||
|
|
||
| CtrlrMIDIDevice::CtrlrMIDIDevice(CtrlrMIDIDeviceManager &_owner, const int idx, const String name, const bool type) | ||
| CtrlrMIDIDevice::CtrlrMIDIDevice(CtrlrMIDIDeviceManager &_owner, const int idx, const String name, const String identifier, const bool type) |
There was a problem hiding this comment.
The identifier is needed to open the port
| { | ||
| // inDevs.clear(); | ||
| // outDevs.clear(); | ||
| inDevs.clear(); |
There was a problem hiding this comment.
Why not clearing this way?
keinstein
left a comment
There was a problem hiding this comment.
I think you should split the patch into 3 parts: MIDI, Linux and Debug.
| Packaging/** | ||
| .vscode/** | ||
| Source/Core/stdafx_luabind.h.gch | ||
| Source/Core/stdafx.h.gch |
There was a problem hiding this comment.
This is only Windows related and should be removed from the patch
| echo "stadfx.h" | ||
| g++ -w -std=c++14 -D "LINUX=1" -D "NDEBUG=1" \ | ||
| -D "JUCE_FORCE_DEBUG=0" -D "CTRLR_NIGHTLY=1" \ | ||
| g++ -w -std=c++14 -D "LINUX=1" -D "NDEBUG=0" \ |
There was a problem hiding this comment.
Debug settings should not be changed in this patch.
| make CONFIG=Debug -j$MAXJOBS | ||
| if [ $? -ne 0 ]; then | ||
| echo -e "CTRLR[linux]: build failed\n" | ||
| exit 1 |
There was a problem hiding this comment.
A patch that fixes a particular issue should not contain anything else, especitally debug or non-debug.
Source/Core/CtrlrRevision.h
Outdated
| static const char *ctrlrRevision = "5.6.0"; | ||
| static const char *ctrlrRevisionDate = "Wed, Jan 27, 2021 3:40:04 PM"; | ||
|
|
||
| #endif |
There was a problem hiding this comment.
Is the version change necessary? Are you shure, that you want to step by two ?
Builds/LinuxMakefile/Makefile
Outdated
| -$(V_AT)mkdir -p $(JUCE_VSTDESTDIR) | ||
| -$(V_AT)cp -R $(JUCE_COPYCMD_VST) | ||
|
|
||
| $(JUCE_OUTDIR)/$(JUCE_TARGET_VST3) : $(OBJECTS_VST3) $(RESOURCES) $(JUCE_OUTDIR)/$(JUCE_TARGET_SHARED_CODE) |
There was a problem hiding this comment.
But I'd think this is a bug in Projucer
As I said in the notes on the top, this PR was not intended to be applied, because still some things doe not work. I had no time to dig deeper into that, I just did not want to throw away my findings. |
|
My coding skills are too limited to contribute much, but following this issue with interest. |
|
Could you please try current master? Some of my changes have been merged. |
9eacd2a to
d4a15a8
Compare
I had a hard time getting ctrlr to work - at least partly - under Ubuntu 20.04.
With this changes
I don't think this PR can be applied at all, but it might give you some hints where changes are required for Linux.