diff --git a/.gitignore b/.gitignore index b95305877..fc799a457 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,9 @@ Source/Misc/boost/** !Source/Misc/boost/boost.zip Builds/VisualStudio2017/** !Builds/VisualStudio2017/Ctrlr.sln -!Builds/VisualStudio2017/resources.rc \ No newline at end of file +!Builds/VisualStudio2017/resources.rc +Builds/** +Packaging/** +.vscode/** +Source/Core/stdafx_luabind.h.gch +Source/Core/stdafx.h.gch diff --git a/Builds/LinuxMakefile/Makefile b/Builds/LinuxMakefile/Makefile index 120d4398c..28e966ee7 100644 --- a/Builds/LinuxMakefile/Makefile +++ b/Builds/LinuxMakefile/Makefile @@ -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) CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif @@ -104,7 +104,7 @@ ifeq ($(CONFIG),Release) JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -fPIC -O3 -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) CLEANCMD = rm -rf $(JUCE_OUTDIR)/$(TARGET) $(JUCE_OBJDIR) endif @@ -333,13 +333,12 @@ OBJECTS_SHARED_CODE := \ all : VST VST3 Standalone VST : $(JUCE_OUTDIR)/$(JUCE_TARGET_VST) -VST3 : $(JUCE_OUTDIR)/$(JUCE_TARGET_VST3) Standalone : $(JUCE_OUTDIR)/$(JUCE_TARGET_STANDALONE_PLUGIN) $(JUCE_OUTDIR)/$(JUCE_TARGET_VST) : $(OBJECTS_VST) $(RESOURCES) $(JUCE_OUTDIR)/$(JUCE_TARGET_SHARED_CODE) @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } - @pkg-config --print-errors alsa freetype2 libcurl + @pkg-config --print-errors alsa x11 freetype2 libcurl @echo Linking "Ctrlr - VST" -$(V_AT)mkdir -p $(JUCE_BINDIR) -$(V_AT)mkdir -p $(JUCE_LIBDIR) @@ -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) - @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } - @pkg-config --print-errors alsa freetype2 libcurl - @echo Linking "Ctrlr - VST3" - -$(V_AT)mkdir -p $(JUCE_BINDIR) - -$(V_AT)mkdir -p $(JUCE_LIBDIR) - -$(V_AT)mkdir -p $(JUCE_OUTDIR) - -$(V_AT)mkdir -p $(JUCE_OUTDIR)/$(JUCE_VST3DIR)/$(JUCE_VST3SUBDIR) - $(V_AT)$(CXX) -o $(JUCE_OUTDIR)/$(JUCE_TARGET_VST3) $(OBJECTS_VST3) $(JUCE_OUTDIR)/$(JUCE_TARGET_SHARED_CODE) $(JUCE_LDFLAGS) $(JUCE_LDFLAGS_VST3) $(RESOURCES) $(TARGET_ARCH) - -$(V_AT)mkdir -p $(JUCE_VST3DESTDIR) - -$(V_AT)cp -R $(JUCE_COPYCMD_VST3) - $(JUCE_OUTDIR)/$(JUCE_TARGET_STANDALONE_PLUGIN) : $(OBJECTS_STANDALONE_PLUGIN) $(RESOURCES) $(JUCE_OUTDIR)/$(JUCE_TARGET_SHARED_CODE) @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } - @pkg-config --print-errors alsa freetype2 libcurl + @pkg-config --print-errors alsa x11 freetype2 libcurl @echo Linking "Ctrlr - Standalone Plugin" -$(V_AT)mkdir -p $(JUCE_BINDIR) -$(V_AT)mkdir -p $(JUCE_LIBDIR) @@ -371,7 +358,7 @@ $(JUCE_OUTDIR)/$(JUCE_TARGET_STANDALONE_PLUGIN) : $(OBJECTS_STANDALONE_PLUGIN) $ $(JUCE_OUTDIR)/$(JUCE_TARGET_SHARED_CODE) : $(OBJECTS_SHARED_CODE) $(RESOURCES) @command -v pkg-config >/dev/null 2>&1 || { echo >&2 "pkg-config not installed. Please, install it."; exit 1; } - @pkg-config --print-errors alsa freetype2 libcurl + @pkg-config --print-errors alsa x11 freetype2 libcurl @echo Linking "Ctrlr - Shared Code" -$(V_AT)mkdir -p $(JUCE_BINDIR) -$(V_AT)mkdir -p $(JUCE_LIBDIR) diff --git a/Builds/LinuxMakefile/build.sh b/Builds/LinuxMakefile/build.sh index d50314525..e97351ff5 100755 --- a/Builds/LinuxMakefile/build.sh +++ b/Builds/LinuxMakefile/build.sh @@ -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" \ + -D "JUCE_FORCE_DEBUG=1" -D "CTRLR_NIGHTLY=1" \ -D "JucePlugin_Build_Standalone" -D "LUA_USE_LINUX" \ -D "_LINUX=1" -D "JUCER_LINUX_MAKE_CC96CACF=1" \ -I /usr/include -I /usr/include/freetype2 \ @@ -22,8 +22,8 @@ if [ "$1" == "-f" ]; then -march=native -Os -fpermissive \ -o "../../Source/Core/stdafx.h.gch" -c "../../Source/Core/stdafx.h" echo "stdafx_luabind.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" \ + -D "JUCE_FORCE_DEBUG=1" -D "CTRLR_NIGHTLY=1" \ -D "JucePlugin_Build_Standalone" -D "LUA_USE_LINUX" \ -D "_LINUX=1" -D "JUCER_LINUX_MAKE_CC96CACF=1" \ -I /usr/include -I /usr/include/freetype2 \ @@ -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 diff --git a/Source/Core/CtrlrIDs.h b/Source/Core/CtrlrIDs.h index c4cef9f19..f67f1744e 100644 --- a/Source/Core/CtrlrIDs.h +++ b/Source/Core/CtrlrIDs.h @@ -672,6 +672,7 @@ namespace Ids DECLARE_ID (midiOutChannel); DECLARE_ID (midiDev); + DECLARE_ID (midiDevId); DECLARE_ID (midiDevType); DECLARE_ID (midiDevState); DECLARE_ID (midiDevIndex); diff --git a/Source/Core/CtrlrRevision.h b/Source/Core/CtrlrRevision.h index 570e031c1..84bc6963d 100644 --- a/Source/Core/CtrlrRevision.h +++ b/Source/Core/CtrlrRevision.h @@ -1,7 +1,7 @@ -#ifndef __CTRLR_REVISION__ -#define __CTRLR_REVISION__ - -static const char *ctrlrRevision = "5.6.0"; -static const char *ctrlrRevisionDate = "Wed, Jan 27, 2021 3:40:04 PM"; - -#endif +#ifndef __CTRLR_REVISION__ +#define __CTRLR_REVISION__ + +static const char *ctrlrRevision = "5.6.2"; +static const char *ctrlrRevisionDate = "Di 2. Feb 16:43:27 CET 2021"; + +#endif diff --git a/Source/MIDI/CtrlrMIDIDevice.cpp b/Source/MIDI/CtrlrMIDIDevice.cpp index e5cbfc947..71fa3f24f 100644 --- a/Source/MIDI/CtrlrMIDIDevice.cpp +++ b/Source/MIDI/CtrlrMIDIDevice.cpp @@ -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) : deviceTree(Ids::midiDev), owner(_owner), outJucePtr(nullptr), @@ -19,6 +19,7 @@ CtrlrMIDIDevice::CtrlrMIDIDevice(CtrlrMIDIDeviceManager &_owner, const int idx, setProperty (Ids::midiDevState, STP); setProperty (Ids::name, name); + setProperty (Ids::midiDevId, identifier ); setProperty (Ids::midiDevIndex, idx); setProperty (Ids::midiDevType, type); @@ -51,7 +52,7 @@ bool CtrlrMIDIDevice::openDevice() const ScopedLock sl(deviceLock); - outJucePtr = MidiOutput::openDevice (getProperty(Ids::midiDevIndex).toString()).release(); + outJucePtr = MidiOutput::openDevice (getProperty(Ids::midiDevId).toString()).release(); if (outJucePtr == NULL) { _ERR("CtrlrMIDIDevice::openDevice failed to open device \""+getName()+"\""); @@ -72,7 +73,7 @@ bool CtrlrMIDIDevice::openDevice() return (true); } - inJucePtr = MidiInput::openDevice (getProperty(Ids::midiDevIndex).toString(), this).release(); + inJucePtr = MidiInput::openDevice (getProperty(Ids::midiDevId).toString(), this).release(); if (inJucePtr == NULL) { diff --git a/Source/MIDI/CtrlrMIDIDevice.h b/Source/MIDI/CtrlrMIDIDevice.h index 7e6df4130..9d5ec0821 100644 --- a/Source/MIDI/CtrlrMIDIDevice.h +++ b/Source/MIDI/CtrlrMIDIDevice.h @@ -17,7 +17,7 @@ class CtrlrManager; class CtrlrMIDIDevice : public ValueTree::Listener, public MidiInputCallback { public: - CtrlrMIDIDevice(CtrlrMIDIDeviceManager &_owner, const int idx, const String name, const bool type); + CtrlrMIDIDevice(CtrlrMIDIDeviceManager &_owner, const int idx, const String name, const String identifier, const bool type); virtual ~CtrlrMIDIDevice(); class Listener diff --git a/Source/MIDI/CtrlrMIDIDeviceManager.cpp b/Source/MIDI/CtrlrMIDIDeviceManager.cpp index 123f2fdfb..775cdcbdd 100644 --- a/Source/MIDI/CtrlrMIDIDeviceManager.cpp +++ b/Source/MIDI/CtrlrMIDIDeviceManager.cpp @@ -272,32 +272,32 @@ const StringArray CtrlrMIDIDeviceManager::getManagedDevices(const CtrlrMIDIDevic void CtrlrMIDIDeviceManager::refreshDevices() { -// inDevs.clear(); -// outDevs.clear(); + inDevs.clear(); + outDevs.clear(); - StringArray in = MidiInput::getDevices(); - StringArray out = MidiOutput::getDevices(); + juce::Array in = MidiInput::getAvailableDevices(); + juce::Array out = MidiOutput::getAvailableDevices(); - for (int i=0; igetName() ) ) inDevs.remove(i); in.removeString( inDevs[i]->getName() ); - } + }*/ for (int i=0; igetName() ) ) outDevs.remove(i); out.removeString ( outDevs[i]->getName() ); - } + }*/ for (int i=0; i