-
-
Notifications
You must be signed in to change notification settings - Fork 62
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
make it compile and work under Linux #151
base: master
Are you sure you want to change the base?
Conversation
.vscode/** | ||
Source/Core/stdafx_luabind.h.gch | ||
Source/Core/stdafx.h.gch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be ok to ignore generated files
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is only Windows related and should be removed from the patch
@@ -62,7 +62,7 @@ ifeq ($(CONFIG),Debug) | |||
|
|||
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
x11 is still needed
@@ -348,21 +347,9 @@ $(JUCE_OUTDIR)/$(JUCE_TARGET_VST) : $(OBJECTS_VST) $(RESOURCES) $(JUCE_OUTDIR)/$ | |||
-$(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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these parts in the Makefile gives errors, Is VST3 Relevant for Linux at all?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But I'd think this is a bug in Projucer
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
these parts in the Makefile gives errors, Is VST3 Relevant for Linux at all?
Why would VST3 not be "relevant" for Linux?
@@ -5,8 +5,8 @@ echo "CTRLR[linux]: Building for $HOSTTYPE, JOBS $MAXJOBS" | |||
if [ "$1" == "-f" ]; then | |||
echo "CTRLR[linux]: Compile PCH" | |||
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
application does nut run in release mode.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Debug settings should not be changed in this patch.
@@ -6,7 +6,7 @@ | |||
#include "CtrlrProcessor.h" | |||
#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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The identifier is needed to open the port
@@ -272,32 +272,32 @@ const StringArray CtrlrMIDIDeviceManager::getManagedDevices(const CtrlrMIDIDevic | |||
|
|||
void CtrlrMIDIDeviceManager::refreshDevices() | |||
{ | |||
// inDevs.clear(); | |||
// outDevs.clear(); | |||
inDevs.clear(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not clearing this way?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you should split the patch into 3 parts: MIDI, Linux and Debug.
.vscode/** | ||
Source/Core/stdafx_luabind.h.gch | ||
Source/Core/stdafx.h.gch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is only Windows related and should be removed from the patch
@@ -5,8 +5,8 @@ echo "CTRLR[linux]: Building for $HOSTTYPE, JOBS $MAXJOBS" | |||
if [ "$1" == "-f" ]; then | |||
echo "CTRLR[linux]: Compile PCH" | |||
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Debug settings should not be changed in this patch.
@@ -46,7 +46,7 @@ fi | |||
echo "CTRLR[linux]: Build now" | |||
echo | |||
#make -j$JOBS CONFIG=Release ARCH=$HOSTTYPE BINDIR=$BUILDDIR LIBDIR=$BUILDDIR OBJDIR=$BUILDDIR | |||
make CONFIG=Release -j$MAXJOBS | |||
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A patch that fixes a particular issue should not contain anything else, especitally debug or non-debug.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the version change necessary? Are you shure, that you want to step by two ?
@@ -348,21 +347,9 @@ $(JUCE_OUTDIR)/$(JUCE_TARGET_VST) : $(OBJECTS_VST) $(RESOURCES) $(JUCE_OUTDIR)/$ | |||
-$(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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.