From 0700dc604a01af8eed9c672c8565a1133bf2ef86 Mon Sep 17 00:00:00 2001 From: "Francois W. Nel" Date: Sun, 26 May 2019 18:40:06 +0200 Subject: [PATCH 1/8] chore(Project Configuration): Update Windows SDK target to version 10.0.18362.0. --- Builds/VisualStudio2017/Dexed_SharedCode.vcxproj | 14 +++++++------- .../Dexed_StandalonePlugin.vcxproj | 14 +++++++------- Builds/VisualStudio2017/Dexed_VST.vcxproj | 14 +++++++------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/Builds/VisualStudio2017/Dexed_SharedCode.vcxproj b/Builds/VisualStudio2017/Dexed_SharedCode.vcxproj index 5822708f..0fa2c5f0 100644 --- a/Builds/VisualStudio2017/Dexed_SharedCode.vcxproj +++ b/Builds/VisualStudio2017/Dexed_SharedCode.vcxproj @@ -21,7 +21,7 @@ {2C37C8E6-9441-931F-C487-ECA465F8F303} v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -31,7 +31,7 @@ false v141 v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -40,7 +40,7 @@ false v141 v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -49,7 +49,7 @@ true v141 v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -58,7 +58,7 @@ true v141 v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -68,7 +68,7 @@ v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -91,7 +91,7 @@ true true v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static diff --git a/Builds/VisualStudio2017/Dexed_StandalonePlugin.vcxproj b/Builds/VisualStudio2017/Dexed_StandalonePlugin.vcxproj index 49e5e111..71b8bd44 100644 --- a/Builds/VisualStudio2017/Dexed_StandalonePlugin.vcxproj +++ b/Builds/VisualStudio2017/Dexed_StandalonePlugin.vcxproj @@ -21,7 +21,7 @@ {D47D7B71-12A0-0DE2-8C28-3F9C11907FBF} v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -31,7 +31,7 @@ false v141 v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -40,7 +40,7 @@ false v141 v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -49,7 +49,7 @@ true v141 v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -58,7 +58,7 @@ true v141 v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -68,7 +68,7 @@ v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -95,7 +95,7 @@ $(LibraryPath);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code $(LibraryPath);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static diff --git a/Builds/VisualStudio2017/Dexed_VST.vcxproj b/Builds/VisualStudio2017/Dexed_VST.vcxproj index b0b690ab..8191cea8 100644 --- a/Builds/VisualStudio2017/Dexed_VST.vcxproj +++ b/Builds/VisualStudio2017/Dexed_VST.vcxproj @@ -21,7 +21,7 @@ {57D511ED-E818-C006-9D99-94BFEFDDBAB6} v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -31,7 +31,7 @@ false v141 v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -40,7 +40,7 @@ false v141 v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -49,7 +49,7 @@ true v141 v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -58,7 +58,7 @@ true v141 v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -68,7 +68,7 @@ v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static @@ -95,7 +95,7 @@ $(LibraryPath);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code $(LibraryPath);$(SolutionDir)$(Platform)\$(Configuration)\Shared Code v141 - 10.0.16299.0 + 10.0.18362.0 Parallel_Static From ddf93701f5d4c681e4fe248a316274fc5eef6c65 Mon Sep 17 00:00:00 2001 From: "Francois W. Nel" Date: Sun, 26 May 2019 22:06:06 +0200 Subject: [PATCH 2/8] feat(Keyboard): Add ability to keep keyboard focus on the MIDI keyboard component. * Add toggle to parameters dialog for setting user preference for keyboard focus. * Add derived MIDI keyboard component with states for visibility and focus preference. * Add method to retain keyboard focus on the keyboard component when focus is lost. --- .../VisualStudio2017/Dexed_SharedCode.vcxproj | 4 +- Source/DexedMidiKeyboardComponent.cpp | 54 +++++++++++++++++++ Source/DexedMidiKeyboardComponent.h | 49 +++++++++++++++++ Source/ParamDialog.cpp | 30 ++++++++--- Source/ParamDialog.h | 5 +- Source/PluginEditor.cpp | 12 +++-- Source/PluginEditor.h | 3 +- Source/PluginParam.cpp | 5 ++ Source/PluginProcessor.cpp | 1 + Source/PluginProcessor.h | 1 + 10 files changed, 151 insertions(+), 13 deletions(-) create mode 100644 Source/DexedMidiKeyboardComponent.cpp create mode 100644 Source/DexedMidiKeyboardComponent.h diff --git a/Builds/VisualStudio2017/Dexed_SharedCode.vcxproj b/Builds/VisualStudio2017/Dexed_SharedCode.vcxproj index 0fa2c5f0..c94c2d6e 100644 --- a/Builds/VisualStudio2017/Dexed_SharedCode.vcxproj +++ b/Builds/VisualStudio2017/Dexed_SharedCode.vcxproj @@ -1,4 +1,4 @@ - + @@ -267,6 +267,7 @@ + @@ -1945,6 +1946,7 @@ + diff --git a/Source/DexedMidiKeyboardComponent.cpp b/Source/DexedMidiKeyboardComponent.cpp new file mode 100644 index 00000000..a1e84e28 --- /dev/null +++ b/Source/DexedMidiKeyboardComponent.cpp @@ -0,0 +1,54 @@ +/** + * + * Copyright (c) 2013-2018 Pascal Gauthier. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +#include "DexedMidiKeyboardComponent.h" + +//============================================================================== +DexedMidiKeyboardComponent::DexedMidiKeyboardComponent(MidiKeyboardState& s, Orientation o, bool showKey, bool preferKeyFocus) + : MidiKeyboardComponent(s, o), showKeyboard(showKey), preferMidiKeyboardFocus(preferKeyFocus) { +} + +DexedMidiKeyboardComponent::~DexedMidiKeyboardComponent() { +} + +void DexedMidiKeyboardComponent::setShowKeyboard(bool showKey) { + showKeyboard = showKey; +} + +void DexedMidiKeyboardComponent::setPreferMidiKeyboardFocus(bool preferKeyFocus) { + preferMidiKeyboardFocus = preferKeyFocus; +} + +bool DexedMidiKeyboardComponent::getShowKeyboard() { + return showKeyboard; +} + +bool DexedMidiKeyboardComponent::getPreferMidiKeyboardFocus() { + return preferMidiKeyboardFocus; +} + +void DexedMidiKeyboardComponent::focusLost(FocusChangeType focusChangeType) { + MidiKeyboardComponent::focusLost(focusChangeType); + + // Only keep the keyboard focused if it is set to be visible too. + if (showKeyboard == true && preferMidiKeyboardFocus == true) { + grabKeyboardFocus(); + } +} diff --git a/Source/DexedMidiKeyboardComponent.h b/Source/DexedMidiKeyboardComponent.h new file mode 100644 index 00000000..f2bbf56c --- /dev/null +++ b/Source/DexedMidiKeyboardComponent.h @@ -0,0 +1,49 @@ +/** + * + * Copyright (c) 2013-2017 Pascal Gauthier. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + */ + +#ifndef DEXEDMIDIKEYBOARDCOMPONENT_H_INCLUDED +#define DEXEDMIDIKEYBOARDCOMPONENT_H_INCLUDED + +#include "../JuceLibraryCode/JuceHeader.h" + +class DexedMidiKeyboardComponent : public MidiKeyboardComponent +{ +public: + DexedMidiKeyboardComponent(MidiKeyboardState& state, + Orientation orientation, + bool showKeyboard, + bool preferMidiKeyboardFocus); + + ~DexedMidiKeyboardComponent(); + + void setShowKeyboard(bool showKeyboard); + void setPreferMidiKeyboardFocus(bool preferMidiKeyboardFocus); + bool getShowKeyboard(); + bool getPreferMidiKeyboardFocus(); + void focusLost(FocusChangeType) override; + +private: + bool showKeyboard; + bool preferMidiKeyboardFocus; + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DexedMidiKeyboardComponent) +}; + +#endif // DEXEDMIDIKEYBOARDCOMPONENT_H_INCLUDED diff --git a/Source/ParamDialog.cpp b/Source/ParamDialog.cpp index 99ccb859..2017d58d 100644 --- a/Source/ParamDialog.cpp +++ b/Source/ParamDialog.cpp @@ -77,6 +77,8 @@ ParamDialog::ParamDialog () addAndMakeVisible (showKeyboard = new ToggleButton ("showKeyboard")); showKeyboard->setButtonText (String()); + addAndMakeVisible (preferMidiKeyboardFocus = new ToggleButton ("preferMidiKeyboardFocus")); + preferMidiKeyboardFocus->setButtonText (String()); addAndMakeVisible (whlRange = new Slider ("whlRange")); whlRange->setRange (0, 99, 1); @@ -188,6 +190,7 @@ ParamDialog::~ParamDialog() sysexChl = nullptr; engineReso = nullptr; showKeyboard = nullptr; + preferMidiKeyboardFocus = nullptr; whlRange = nullptr; ftRange = nullptr; brRange = nullptr; @@ -255,7 +258,7 @@ void ParamDialog::paint (Graphics& g) } { - int x = 20, y = 156, width = 276, height = 23; + int x = 20, y = 196, width = 276, height = 23; String text (TRANS("Engine Resolution")); Colour fillColour = Colours::white; //[UserPaintCustomArguments] Customize the painting arguments here.. @@ -267,7 +270,7 @@ void ParamDialog::paint (Graphics& g) } { - int x = 22, y = 138, width = 306, height = 1; + int x = 22, y = 178, width = 306, height = 1; Colour fillColour = Colours::black; //[UserPaintCustomArguments] Customize the painting arguments here.. //[/UserPaintCustomArguments] @@ -276,7 +279,7 @@ void ParamDialog::paint (Graphics& g) } { - int x = 22, y = 195, width = 306, height = 1; + int x = 22, y = 235, width = 306, height = 1; Colour fillColour = Colours::black; //[UserPaintCustomArguments] Customize the painting arguments here.. //[/UserPaintCustomArguments] @@ -296,6 +299,18 @@ void ParamDialog::paint (Graphics& g) Justification::centredLeft, true); } + { + int x = 20, y = 136, width = 276, height = 23; + String text (TRANS("Prefer Midi Keyboard Focus")); + Colour fillColour = Colours::white; + //[UserPaintCustomArguments] Customize the painting arguments here.. + //[/UserPaintCustomArguments] + g.setColour (fillColour); + g.setFont (Font (15.00f, Font::plain).withTypefaceStyle ("Regular")); + g.drawText (text, x, y, width, height, + Justification::centredLeft, true); + } + { int x = 352, y = 11, width = 1, height = 325; Colour fillColour = Colours::black; @@ -416,8 +431,9 @@ void ParamDialog::resized() sysexIn->setBounds (104, 224, 224, 24); sysexOut->setBounds (104, 264, 224, 24); sysexChl->setBounds (264, 304, 72, 24); - engineReso->setBounds (160, 156, 168, 24); + engineReso->setBounds (160, 196, 168, 24); showKeyboard->setBounds (264, 96, 56, 24); + preferMidiKeyboardFocus->setBounds (264, 136, 56, 24); whlRange->setBounds (448, 16, 72, 24); ftRange->setBounds (448, 56, 72, 24); brRange->setBounds (448, 96, 72, 24); @@ -583,7 +599,7 @@ void ParamDialog::buttonClicked (Button* buttonThatWasClicked) //[MiscUserCode] You can add your own definitions of your custom methods or any other code here... -void ParamDialog::setDialogValues(Controllers &c, SysexComm &mgr, int reso, bool showKey) { +void ParamDialog::setDialogValues(Controllers &c, SysexComm &mgr, int reso, bool showKey, bool preferKeyFocus) { pitchRange->setValue(c.values_[kControllerPitchRange]); pitchStep->setValue(c.values_[kControllerPitchStep]); sysexChl->setValue(mgr.getChl() + 1); @@ -621,9 +637,10 @@ void ParamDialog::setDialogValues(Controllers &c, SysexComm &mgr, int reso, bool engineReso->setSelectedItemIndex(reso); showKeyboard->setToggleState(showKey, NotificationType::dontSendNotification); + preferMidiKeyboardFocus->setToggleState(preferKeyFocus, NotificationType::dontSendNotification); } -bool ParamDialog::getDialogValues(Controllers &c, SysexComm &mgr, int *reso, bool *showKey) { +bool ParamDialog::getDialogValues(Controllers &c, SysexComm &mgr, int *reso, bool *showKey, bool *preferKeyFocus) { bool ret = true; c.values_[kControllerPitchRange] = pitchRange->getValue(); @@ -659,6 +676,7 @@ bool ParamDialog::getDialogValues(Controllers &c, SysexComm &mgr, int *reso, boo *reso = engineReso->getSelectedItemIndex(); *showKey = showKeyboard->getToggleState(); + *preferKeyFocus = preferMidiKeyboardFocus->getToggleState(); return ret; } diff --git a/Source/ParamDialog.h b/Source/ParamDialog.h index 5732c7b1..4f2e41b4 100644 --- a/Source/ParamDialog.h +++ b/Source/ParamDialog.h @@ -47,8 +47,8 @@ class ParamDialog : public Component, //============================================================================== //[UserMethods] -- You can add your own custom methods in this section. - void setDialogValues(Controllers &c, SysexComm &mgr, int reso, bool showKeyboard); - bool getDialogValues(Controllers &c, SysexComm &mgr, int *reso, bool *showKeyboard); + void setDialogValues(Controllers &c, SysexComm &mgr, int reso, bool showKeyboard, bool preferMidiKeyboardFocus); + bool getDialogValues(Controllers &c, SysexComm &mgr, int *reso, bool *showKeyboard, bool *preferMidiKeyboardFocus); //[/UserMethods] void paint (Graphics& g) override; @@ -71,6 +71,7 @@ class ParamDialog : public Component, ScopedPointer sysexChl; ScopedPointer engineReso; ScopedPointer showKeyboard; + ScopedPointer preferMidiKeyboardFocus; ScopedPointer whlRange; ScopedPointer ftRange; ScopedPointer brRange; diff --git a/Source/PluginEditor.cpp b/Source/PluginEditor.cpp index c1f5e18e..f4fee961 100644 --- a/Source/PluginEditor.cpp +++ b/Source/PluginEditor.cpp @@ -24,6 +24,7 @@ #include "ParamDialog.h" #include "SysexComm.h" #include "Dexed.h" +#include "DexedMidiKeyboardComponent.h" #include "math.h" #include @@ -32,7 +33,8 @@ //============================================================================== DexedAudioProcessorEditor::DexedAudioProcessorEditor (DexedAudioProcessor* ownerFilter) : AudioProcessorEditor (ownerFilter), - midiKeyboard (ownerFilter->keyboardState, MidiKeyboardComponent::horizontalKeyboard), + midiKeyboard (ownerFilter->keyboardState, MidiKeyboardComponent::horizontalKeyboard, + ownerFilter->showKeyboard, ownerFilter->preferMidiKeyboardFocus), cartManager(this) { setSize(866, ownerFilter->showKeyboard ? 674 : 581); @@ -159,7 +161,8 @@ void DexedAudioProcessorEditor::parmShow() { AlertWindow window("","", AlertWindow::NoIcon, this); ParamDialog param; param.setColour(AlertWindow::backgroundColourId, Colour(0x32FFFFFF)); - param.setDialogValues(processor->controllers, processor->sysexComm, tp, processor->showKeyboard); + param.setDialogValues(processor->controllers, processor->sysexComm, tp, processor->showKeyboard, + processor->preferMidiKeyboardFocus); window.addCustomComponent(¶m); window.addButton("OK", 0); @@ -167,11 +170,14 @@ void DexedAudioProcessorEditor::parmShow() { if ( window.runModalLoop() != 0 ) return; - bool ret = param.getDialogValues(processor->controllers, processor->sysexComm, &tp, &processor->showKeyboard); + bool ret = param.getDialogValues(processor->controllers, processor->sysexComm, &tp, &processor->showKeyboard, + &processor->preferMidiKeyboardFocus); processor->setEngineType(tp); processor->savePreference(); setSize(866, processor->showKeyboard ? 674 : 581); + midiKeyboard.setShowKeyboard(processor->showKeyboard); + midiKeyboard.setPreferMidiKeyboardFocus(processor->preferMidiKeyboardFocus); midiKeyboard.repaint(); if ( ret == false ) { diff --git a/Source/PluginEditor.h b/Source/PluginEditor.h index 6d242a35..62db1f3d 100644 --- a/Source/PluginEditor.h +++ b/Source/PluginEditor.h @@ -27,12 +27,13 @@ #include "DXComponents.h" #include "DXLookNFeel.h" #include "CartManager.h" +#include "DexedMidiKeyboardComponent.h" //============================================================================== /** */ class DexedAudioProcessorEditor : public AudioProcessorEditor, public ComboBox::Listener, public Timer { - MidiKeyboardComponent midiKeyboard; + DexedMidiKeyboardComponent midiKeyboard; OperatorEditor operators[6]; Colour background; CartManager cartManager; diff --git a/Source/PluginParam.cpp b/Source/PluginParam.cpp index 3692d0b1..9b4696bd 100644 --- a/Source/PluginParam.cpp +++ b/Source/PluginParam.cpp @@ -767,6 +767,10 @@ void DexedAudioProcessor::loadPreference() { showKeyboard = prop.getIntValue( String("showKeyboard") ); } + if ( prop.containsKey( String("preferMidiKeyboardFocus") ) ) { + preferMidiKeyboardFocus = prop.getIntValue( String("preferMidiKeyboardFocus") ); + } + if ( prop.containsKey( String("wheelMod") ) ) { controllers.wheel.parseConfig(prop.getValue(String("wheelMod")).toRawUTF8()); } @@ -800,6 +804,7 @@ void DexedAudioProcessor::savePreference() { prop.setValue(String("sysexChl"), sysexComm.getChl()); prop.setValue(String("showKeyboard"), showKeyboard); + prop.setValue(String("preferMidiKeyboardFocus"), preferMidiKeyboardFocus); char mod_cfg[15]; controllers.wheel.setConfig(mod_cfg); diff --git a/Source/PluginProcessor.cpp b/Source/PluginProcessor.cpp index 2f082e0a..7dab991d 100644 --- a/Source/PluginProcessor.cpp +++ b/Source/PluginProcessor.cpp @@ -94,6 +94,7 @@ DexedAudioProcessor::DexedAudioProcessor() { normalizeDxVelocity = false; sysexComm.listener = this; showKeyboard = true; + preferMidiKeyboardFocus = true; memset(&voiceStatus, 0, sizeof(VoiceStatus)); setEngineType(DEXED_ENGINE_MARKI); diff --git a/Source/PluginProcessor.h b/Source/PluginProcessor.h index 0246a059..7d816d1d 100644 --- a/Source/PluginProcessor.h +++ b/Source/PluginProcessor.h @@ -134,6 +134,7 @@ public : bool forceRefreshUI; float vuSignal; bool showKeyboard; + bool preferMidiKeyboardFocus; int getEngineType(); void setEngineType(int rs); From a34fa3a52e2b5b57e13e3b6e047c98995cc36809 Mon Sep 17 00:00:00 2001 From: "Francois W. Nel" Date: Sun, 26 May 2019 23:23:32 +0200 Subject: [PATCH 3/8] chore(Linux Build): Add reference to DexedMidiKeyboardComponent in makefile. --- Builds/Linux/Makefile | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/Builds/Linux/Makefile b/Builds/Linux/Makefile index 3d72d58d..150723dc 100644 --- a/Builds/Linux/Makefile +++ b/Builds/Linux/Makefile @@ -37,15 +37,15 @@ ifeq ($(CONFIG),Debug) JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DDEBUG=1 -D_DEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../JuceLibraryCode/modules $(CPPFLAGS) - JUCE_CPPFLAGS_VST := -DJucePlugin_Build_VST=1 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 - JUCE_CFLAGS_VST := -fPIC -fvisibility=hidden - JUCE_LDFLAGS_VST := -shared -Wl,--no-undefined + JUCE_CPPFLAGS_VST := -DJucePlugin_Build_VST=1 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 + JUCE_CFLAGS_VST := -fPIC -fvisibility=hidden + JUCE_LDFLAGS_VST := -shared -Wl,--no-undefined JUCE_TARGET_VST := Dexed.so - JUCE_CPPFLAGS_STANDALONE_PLUGIN := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=1 + JUCE_CPPFLAGS_STANDALONE_PLUGIN := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=1 JUCE_TARGET_STANDALONE_PLUGIN := Dexed - JUCE_CPPFLAGS_SHARED_CODE := -DJucePlugin_Build_VST=1 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=1 -DJUCE_SHARED_CODE=1 + JUCE_CPPFLAGS_SHARED_CODE := -DJucePlugin_Build_VST=1 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=1 -DJUCE_SHARED_CODE=1 JUCE_TARGET_SHARED_CODE := Dexed.a JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -fPIC -g -ggdb -O0 $(CFLAGS) @@ -67,15 +67,15 @@ ifeq ($(CONFIG),Release) JUCE_CPPFLAGS := $(DEPFLAGS) -DLINUX=1 -DNDEBUG=1 -DJUCER_LINUX_MAKE_7346DA2A=1 -DJUCE_APP_VERSION=1.0.0 -DJUCE_APP_VERSION_HEX=0x10000 $(shell pkg-config --cflags alsa freetype2 libcurl x11 xext xinerama) -pthread -I../../JuceLibraryCode -I../../JuceLibraryCode/modules $(CPPFLAGS) - JUCE_CPPFLAGS_VST := -DJucePlugin_Build_VST=1 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 - JUCE_CFLAGS_VST := -fPIC -fvisibility=hidden - JUCE_LDFLAGS_VST := -shared -Wl,--no-undefined + JUCE_CPPFLAGS_VST := -DJucePlugin_Build_VST=1 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=0 + JUCE_CFLAGS_VST := -fPIC -fvisibility=hidden + JUCE_LDFLAGS_VST := -shared -Wl,--no-undefined JUCE_TARGET_VST := Dexed.so - JUCE_CPPFLAGS_STANDALONE_PLUGIN := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=1 + JUCE_CPPFLAGS_STANDALONE_PLUGIN := -DJucePlugin_Build_VST=0 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=1 JUCE_TARGET_STANDALONE_PLUGIN := Dexed - JUCE_CPPFLAGS_SHARED_CODE := -DJucePlugin_Build_VST=1 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=1 -DJUCE_SHARED_CODE=1 + JUCE_CPPFLAGS_SHARED_CODE := -DJucePlugin_Build_VST=1 -DJucePlugin_Build_VST3=0 -DJucePlugin_Build_AU=0 -DJucePlugin_Build_AUv3=0 -DJucePlugin_Build_RTAS=0 -DJucePlugin_Build_AAX=0 -DJucePlugin_Build_Standalone=1 -DJUCE_SHARED_CODE=1 JUCE_TARGET_SHARED_CODE := Dexed.a JUCE_CFLAGS += $(JUCE_CPPFLAGS) $(TARGET_ARCH) -fPIC -Os $(CFLAGS) @@ -97,6 +97,7 @@ OBJECTS_SHARED_CODE := \ $(JUCE_OBJDIR)/PluginFx_d84f776e.o \ $(JUCE_OBJDIR)/EngineMkI_615efdaa.o \ $(JUCE_OBJDIR)/EngineOpl_d5a0e5ea.o \ + $(JUCE_OBJDIR)/DexedMidiKeyboardComponent_1761D120.o \ $(JUCE_OBJDIR)/PluginEditor_94d4fb09.o \ $(JUCE_OBJDIR)/CartManager_8ad0044e.o \ $(JUCE_OBJDIR)/ProgramListBox_58735432.o \ @@ -187,6 +188,11 @@ $(JUCE_OBJDIR)/EngineOpl_d5a0e5ea.o: ../../Source/EngineOpl.cpp @echo "Compiling EngineOpl.cpp" $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_SHARED_CODE) $(JUCE_CFLAGS_SHARED_CODE) -o "$@" -c "$<" +$(JUCE_OBJDIR)/DexedMidiKeyboardComponent_1761D120.o: ../../Source/DexedMidiKeyboardComponent.cpp + -$(V_AT)mkdir -p $(JUCE_OBJDIR) + @echo "Compiling DexedMidiKeyboardComponent.cpp" + $(V_AT)$(CXX) $(JUCE_CXXFLAGS) $(JUCE_CPPFLAGS_SHARED_CODE) $(JUCE_CFLAGS_SHARED_CODE) -o "$@" -c "$<" + $(JUCE_OBJDIR)/PluginEditor_94d4fb09.o: ../../Source/PluginEditor.cpp -$(V_AT)mkdir -p $(JUCE_OBJDIR) @echo "Compiling PluginEditor.cpp" From 4e8b77ef6de82222fac9aaa58d899a0a8ef70921 Mon Sep 17 00:00:00 2001 From: "Francois W. Nel" Date: Sun, 26 May 2019 23:25:29 +0200 Subject: [PATCH 4/8] chore(Param Dialog): Change "Midi" to "MIDI" in the copy for the prefer MIDI keyboard focus toggle. --- Source/ParamDialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/ParamDialog.cpp b/Source/ParamDialog.cpp index 2017d58d..708ecba8 100644 --- a/Source/ParamDialog.cpp +++ b/Source/ParamDialog.cpp @@ -301,7 +301,7 @@ void ParamDialog::paint (Graphics& g) { int x = 20, y = 136, width = 276, height = 23; - String text (TRANS("Prefer Midi Keyboard Focus")); + String text (TRANS("Prefer MIDI Keyboard Focus")); Colour fillColour = Colours::white; //[UserPaintCustomArguments] Customize the painting arguments here.. //[/UserPaintCustomArguments] From d371cd7abde73e141633a9c8d6ba4f69af9b5645 Mon Sep 17 00:00:00 2001 From: "Francois W. Nel" Date: Mon, 27 May 2019 20:39:24 +0200 Subject: [PATCH 5/8] chore(macOS Build): Add DexedMidiKeyboardComponent files to Xcode project. --- Builds/MacOSX/Dexed.xcodeproj/project.pbxproj | 1900 +++++++++++------ 1 file changed, 1245 insertions(+), 655 deletions(-) diff --git a/Builds/MacOSX/Dexed.xcodeproj/project.pbxproj b/Builds/MacOSX/Dexed.xcodeproj/project.pbxproj index fd809e57..a700b7aa 100644 --- a/Builds/MacOSX/Dexed.xcodeproj/project.pbxproj +++ b/Builds/MacOSX/Dexed.xcodeproj/project.pbxproj @@ -6,428 +6,1094 @@ objectVersion = 46; objects = { - E0A95DB684F341777162F376 = {isa = PBXBuildFile; fileRef = 2F0DF45A6D489E7732ED4217; }; - 48CB02994E2304F7A4AD5D9C = {isa = PBXBuildFile; fileRef = EAD4969F0C18D34DAC586341; }; - BBEF17728E95F523207EEDC1 = {isa = PBXBuildFile; fileRef = 6ED6439CBE67C17C72336007; }; - 6C2E5EFE3D5803152581E99C = {isa = PBXBuildFile; fileRef = ACC1CDF49C0F7F4FF305AF4E; }; - 6443699C06267ECC22CF9D12 = {isa = PBXBuildFile; fileRef = E32283AE8CC5A022E1A6B30B; }; - 60686C2C30A9F2777CEF01BD = {isa = PBXBuildFile; fileRef = 0A56796E1B84D05D8DD1100D; }; - 77C3EA8D0A12986429BA466D = {isa = PBXBuildFile; fileRef = 838A5E852BBD79A98CD9FDDD; }; - E8BEA8ABF5E288C5D5FCD620 = {isa = PBXBuildFile; fileRef = 817CC81F50861DAEEFB2043A; }; - F329522961F1313091764113 = {isa = PBXBuildFile; fileRef = 2FDF76165C655B2E77BE4CFD; }; - B0A4786A252B14B604101175 = {isa = PBXBuildFile; fileRef = 3A01DC4DEBE65C313C7C8A44; }; - 82253A3BBFF29FC56A08C972 = {isa = PBXBuildFile; fileRef = 919DF1054C09D19EDA044BE8; }; - FA2AF2015CFD98299593EA30 = {isa = PBXBuildFile; fileRef = A81F4DC234E8D93BF9803529; }; - 7116DC8487DC8321F36CD3D8 = {isa = PBXBuildFile; fileRef = 452C1184BD776249B33151E5; }; - 68878920F603FF1473994736 = {isa = PBXBuildFile; fileRef = FC856709502EE15E8D3F448B; }; - A7D45B047CA84D7EF7018CDC = {isa = PBXBuildFile; fileRef = 2F55D83145737DE69999DB92; }; - 7E444608AFB10ED54DB5C9AB = {isa = PBXBuildFile; fileRef = 5E966C95FACF7B8D5A907FE3; }; - 813B2285513D65DDA30AA6E3 = {isa = PBXBuildFile; fileRef = 6F9852573AA442CFBAD9695F; }; - 1675562B85E6B979C217EBFC = {isa = PBXBuildFile; fileRef = 6322687B925B988520542A6D; }; - B18C192606DF6079E7B9AEB9 = {isa = PBXBuildFile; fileRef = 8BADEB7BF1A65E83A7A1736D; }; - 697C52FD23363CB2EB9075C6 = {isa = PBXBuildFile; fileRef = 8BEBEDCAD409EE3A5D383B6D; }; - 4B27ACC5993C8C74FFCDD3BB = {isa = PBXBuildFile; fileRef = 61F792AFE04C15F413A4F766; }; - 478699B4EF80A1A1C0D34C10 = {isa = PBXBuildFile; fileRef = 018D0FB9E97B68D2EB3E3F72; }; - 6252C45CDFF75E05CCDBF737 = {isa = PBXBuildFile; fileRef = 6B3889626BDBB814F2387085; }; - 69A60891A52C61989A205791 = {isa = PBXBuildFile; fileRef = BF7A1720DADC7983F61E895C; }; - CD1CF0C6B4AB9F4C8175FE08 = {isa = PBXBuildFile; fileRef = F221CF21582EE0B8FE774583; }; - 8F3B0996452972F266C749E0 = {isa = PBXBuildFile; fileRef = 03813BF0D93D100F6F0393C9; }; - D5A4D43A16EA4C71D53E96CD = {isa = PBXBuildFile; fileRef = A02775EA788AD4BF7DD1B1A1; }; - 8121E10419E2D99645EA254E = {isa = PBXBuildFile; fileRef = D984CE634945077E682B48F3; }; - 082D6FF34EFF195C3A3B0CFB = {isa = PBXBuildFile; fileRef = 838E63F5800CA577B92EF6AE; }; - C510246D7D5E162C9DE63DDE = {isa = PBXBuildFile; fileRef = 19CEF599CB23958AC63D427E; }; - 3AB728E101D7B85DD39C5CC8 = {isa = PBXBuildFile; fileRef = 3715DFDD7A1B12083F051F5A; }; - FAC9C3E771D11FDA4DFAF17E = {isa = PBXBuildFile; fileRef = 2D26E2304C0F6FC633936014; }; - 47C317B0F77A29ECA0400B2B = {isa = PBXBuildFile; fileRef = AE09B4C2A4BDE8FDA01A8A13; }; - 9EC12165834B1341938E951D = {isa = PBXBuildFile; fileRef = 00FDFD1ABE59B4CEF74BF5A3; }; - F9A9CC03BA0B3030E92675AD = {isa = PBXBuildFile; fileRef = F63CE53483AF125DCFB024F1; }; - 7B82F1D5F8DED01AA8988D33 = {isa = PBXBuildFile; fileRef = C01EE75D859C1F942DA3AE61; }; - 434647C21C803FA8A4D44A70 = {isa = PBXBuildFile; fileRef = 78CA76788217B98287D9E007; }; - 95105DC8536836A06FD5C7BB = {isa = PBXBuildFile; fileRef = 51E5757E2D48E638F9A4CB61; }; - 0D3132A8B412AE9E63024927 = {isa = PBXBuildFile; fileRef = B0230FCCA099E6430411DFC9; }; - 1CBFE444B43C89E749602B7F = {isa = PBXBuildFile; fileRef = 45ADFD8885BE76C7F7D999AC; }; - 623AFA9E78826CA0136251DF = {isa = PBXBuildFile; fileRef = 59D15F780D468B587F9C7E78; }; - 8BE2A084394DA3E45DDB5646 = {isa = PBXBuildFile; fileRef = 7936BBAA586387B2FAFB958B; }; - EC23F9F2EE10A2DE3CB6D406 = {isa = PBXBuildFile; fileRef = 65BE679590BFE2466E16EA67; }; - 1C87DA0B69D67481FC6CF4FD = {isa = PBXBuildFile; fileRef = 54363D0B39B88D43447C0123; }; - 38BFC68CC5D31B3B0351F0B6 = {isa = PBXBuildFile; fileRef = F6520AE948C99EF20C526B48; }; - 2CD04823B0F4759B7A2E5398 = {isa = PBXBuildFile; fileRef = 87DFAE33CBF0DB6075BDF13F; }; - 0160B26E85D90D23CEC48CC5 = {isa = PBXBuildFile; fileRef = 1D4F560C57B2F4E5A37B2888; }; - F2A31A40F31309656C86A4F4 = {isa = PBXBuildFile; fileRef = 2AD1EA7A001215BA3787C71D; }; - 7BF692FB5E4B4C6C77FCFDA0 = {isa = PBXBuildFile; fileRef = FA7C860833E71840475A1541; }; - 23613F24F03D90F670247838 = {isa = PBXBuildFile; fileRef = 90C81F73CF37A82B34CC4A77; }; - E393463EA71B7C11FC9B2CD0 = {isa = PBXBuildFile; fileRef = A2484C523F78F5614518A3E4; }; - 36A10FB9E3742B694E159B14 = {isa = PBXBuildFile; fileRef = 049B1A9387F5CEE37D6D6209; }; - 535BB5106E9037252387567F = {isa = PBXBuildFile; fileRef = EE0EC08DA1C064F73F5C3D89; }; - 6097F7DEB38FA9D2D70CB94D = {isa = PBXBuildFile; fileRef = C427B9E791D6256FECFD74E4; }; - A75C179712D4F59160200035 = {isa = PBXBuildFile; fileRef = A65D861B780A336E00059DE6; }; - 76A2B27B08BD77594E1A8C95 = {isa = PBXBuildFile; fileRef = AE4C4D1A5DDF99EB579DB1D9; }; - 2C617A27B09970640A6DF593 = {isa = PBXBuildFile; fileRef = 04FE48BE171395625D358467; }; - 45A9DAF2ABCD48016173E9D3 = {isa = PBXBuildFile; fileRef = C5AF49D99419EE92E01F5D99; }; - 74201460E8798B14603296A3 = {isa = PBXBuildFile; fileRef = 1EFFAE052428252ED77E651A; }; - 93095A7B8240722727C8507C = {isa = PBXBuildFile; fileRef = E837015AC99B3C855B8FF312; }; - 191E15E49A6BCA75D79BD0B8 = {isa = PBXBuildFile; fileRef = E8CD2657F43430DE909099C9; }; - A9DF6BAEA633EC2CFF7D946E = {isa = PBXBuildFile; fileRef = 857732A2E35577F8D9DB0D9D; }; - 00FDFD1ABE59B4CEF74BF5A3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = env.cc; path = ../../Source/msfa/env.cc; sourceTree = "SOURCE_ROOT"; }; - 018D0FB9E97B68D2EB3E3F72 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginEditor.cpp; path = ../../Source/PluginEditor.cpp; sourceTree = "SOURCE_ROOT"; }; - 03813BF0D93D100F6F0393C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AlgoDisplay.cpp; path = ../../Source/AlgoDisplay.cpp; sourceTree = "SOURCE_ROOT"; }; - 049B1A9387F5CEE37D6D6209 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "include_juce_audio_plugin_client_utils.cpp"; path = "../../JuceLibraryCode/include_juce_audio_plugin_client_utils.cpp"; sourceTree = "SOURCE_ROOT"; }; - 04FE48BE171395625D358467 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_core.mm"; path = "../../JuceLibraryCode/include_juce_core.mm"; sourceTree = "SOURCE_ROOT"; }; - 0831514ABD7A268115E6FD43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ProgramListBox.h; path = ../../Source/ProgramListBox.h; sourceTree = "SOURCE_ROOT"; }; - 0A56796E1B84D05D8DD1100D = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; - 0BD21CA621B7350EBED18C0A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Dexed.h; path = ../../Source/Dexed.h; sourceTree = "SOURCE_ROOT"; }; - 0D5761BE1D2DEA319B57D740 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Switch_48x26.png"; path = "../../Resources/ui/Switch_48x26.png"; sourceTree = "SOURCE_ROOT"; }; - 0E3FA3D7B11FC7D19CC634BE = {isa = PBXFileReference; lastKnownFileType = image.png; name = about.png; path = ../../Resources/about.png; sourceTree = "SOURCE_ROOT"; }; - 0F220BE0B0E039759FBF22E3 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_data_structures"; path = "../../JuceLibraryCode/modules/juce_data_structures"; sourceTree = "SOURCE_ROOT"; }; - 15B75D829C40872D542A38B8 = {isa = PBXFileReference; lastKnownFileType = file.zip; name = "builtin_pgm.zip"; path = "../../Resources/builtin_pgm.zip"; sourceTree = "SOURCE_ROOT"; }; - 188891FAC90E0F0A25B8E3D8 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = Dexed.entitlements; path = Dexed.entitlements; sourceTree = "SOURCE_ROOT"; }; - 19CEF599CB23958AC63D427E = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GlobalEditor.cpp; path = ../../Source/GlobalEditor.cpp; sourceTree = "SOURCE_ROOT"; }; - 1B06A67DF2B4FD2969A9781A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "fm_core.h"; path = "../../Source/msfa/fm_core.h"; sourceTree = "SOURCE_ROOT"; }; - 1C3A85D115878AA5A495199E = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CartManager.h; path = ../../Source/CartManager.h; sourceTree = "SOURCE_ROOT"; }; - 1D4F560C57B2F4E5A37B2888 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_audio_formats.mm"; path = "../../JuceLibraryCode/include_juce_audio_formats.mm"; sourceTree = "SOURCE_ROOT"; }; - 1D72CD485011A4EA3E6B0FD5 = {isa = PBXFileReference; lastKnownFileType = file.ttf; name = "NotoSans-Regular.ttf"; path = "../../Resources/ui/NotoSans-Regular.ttf"; sourceTree = "SOURCE_ROOT"; }; - 1EFFAE052428252ED77E651A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_events.mm"; path = "../../JuceLibraryCode/include_juce_events.mm"; sourceTree = "SOURCE_ROOT"; }; - 29D6A187B80D22EB609C256D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DXLookNFeel.h; path = ../../Source/DXLookNFeel.h; sourceTree = "SOURCE_ROOT"; }; - 2AD1EA7A001215BA3787C71D = {isa = PBXFileReference; lastKnownFileType = file.r; name = "include_juce_audio_plugin_client_AU.r"; path = "../../JuceLibraryCode/include_juce_audio_plugin_client_AU.r"; sourceTree = "SOURCE_ROOT"; }; - 2CBFFF86BDEB0B89734D6956 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Switch_32x32.png"; path = "../../Resources/ui/Switch_32x32.png"; sourceTree = "SOURCE_ROOT"; }; - 2D26E2304C0F6FC633936014 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = lfo.cc; path = ../../Source/msfa/lfo.cc; sourceTree = "SOURCE_ROOT"; }; - 2F0DF45A6D489E7732ED4217 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Dexed.vst; sourceTree = "BUILT_PRODUCTS_DIR"; }; - 2F55D83145737DE69999DB92 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - 2FDF76165C655B2E77BE4CFD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; - 30B133CA0CDC245A147F4689 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = controllers.h; path = ../../Source/msfa/controllers.h; sourceTree = "SOURCE_ROOT"; }; - 3715DFDD7A1B12083F051F5A = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = freqlut.cc; path = ../../Source/msfa/freqlut.cc; sourceTree = "SOURCE_ROOT"; }; - 37CC2D88FE9D3475E108DF72 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_audio_devices"; path = "../../JuceLibraryCode/modules/juce_audio_devices"; sourceTree = "SOURCE_ROOT"; }; - 3A01DC4DEBE65C313C7C8A44 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; - 3BE8F91A99E8F48CB9F10C1F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = sin.h; path = ../../Source/msfa/sin.h; sourceTree = "SOURCE_ROOT"; }; - 400892A62E3B8D216EC747AA = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_audio_processors"; path = "../../JuceLibraryCode/modules/juce_audio_processors"; sourceTree = "SOURCE_ROOT"; }; - 41FD248DC24085072C2F9470 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_audio_formats"; path = "../../JuceLibraryCode/modules/juce_audio_formats"; sourceTree = "SOURCE_ROOT"; }; - 452C1184BD776249B33151E5 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; - 4567FB06348FF519FDC6D698 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DXComponents.h; path = ../../Source/DXComponents.h; sourceTree = "SOURCE_ROOT"; }; - 45ADFD8885BE76C7F7D999AC = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginProcessor.cpp; path = ../../Source/PluginProcessor.cpp; sourceTree = "SOURCE_ROOT"; }; - 497089C13B0CDEF10A7BAEDD = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_core"; path = "../../JuceLibraryCode/modules/juce_core"; sourceTree = "SOURCE_ROOT"; }; - 4B70CBF4DB4E571EDF5D3114 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GlobalEditor.h; path = ../../Source/GlobalEditor.h; sourceTree = "SOURCE_ROOT"; }; - 4B9343CF170B07BD305D6D7F = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_graphics"; path = "../../JuceLibraryCode/modules/juce_graphics"; sourceTree = "SOURCE_ROOT"; }; - 4C67D4B9902C1B0CC80E11D8 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "LFO_36_26.png"; path = "../../Resources/ui/LFO_36_26.png"; sourceTree = "SOURCE_ROOT"; }; - 51E5757E2D48E638F9A4CB61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pitchenv.cc; path = ../../Source/msfa/pitchenv.cc; sourceTree = "SOURCE_ROOT"; }; - 54363D0B39B88D43447C0123 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = "SOURCE_ROOT"; }; - 59D15F780D468B587F9C7E78 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginParam.cpp; path = ../../Source/PluginParam.cpp; sourceTree = "SOURCE_ROOT"; }; - 5A366F36F3B4E50587A30351 = {isa = PBXFileReference; lastKnownFileType = file.ttf; name = "NotoSans-Bold.ttf"; path = "../../Resources/ui/NotoSans-Bold.ttf"; sourceTree = "SOURCE_ROOT"; }; - 5C0A1B7E2BF8FCAF5A1E8616 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginProcessor.h; path = ../../Source/PluginProcessor.h; sourceTree = "SOURCE_ROOT"; }; - 5E966C95FACF7B8D5A907FE3 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; - 61F792AFE04C15F413A4F766 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EngineOpl.cpp; path = ../../Source/EngineOpl.cpp; sourceTree = "SOURCE_ROOT"; }; - 624B39364165E2F23A3D4540 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "GlobalEditor_864x144.png"; path = "../../Resources/ui/GlobalEditor_864x144.png"; sourceTree = "SOURCE_ROOT"; }; - 6322687B925B988520542A6D = {isa = PBXFileReference; lastKnownFileType = file.icns; name = Icon.icns; path = Icon.icns; sourceTree = "SOURCE_ROOT"; }; - 64CF42AFC2E05AEF9D350CD2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = env.h; path = ../../Source/msfa/env.h; sourceTree = "SOURCE_ROOT"; }; - 65BE679590BFE2466E16EA67 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SysexComm.cpp; path = ../../Source/SysexComm.cpp; sourceTree = "SOURCE_ROOT"; }; - 66E042C6FFE93F0E19B32F09 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Scaling_36_26.png"; path = "../../Resources/ui/Scaling_36_26.png"; sourceTree = "SOURCE_ROOT"; }; - 68D35AFE11BAA35EAE497D47 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = synth.h; path = ../../Source/msfa/synth.h; sourceTree = "SOURCE_ROOT"; }; - 68EBBB35B7A5A57E4BA2F8E2 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = module.h; path = ../../Source/msfa/module.h; sourceTree = "SOURCE_ROOT"; }; - 6B3889626BDBB814F2387085 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CartManager.cpp; path = ../../Source/CartManager.cpp; sourceTree = "SOURCE_ROOT"; }; - 6F55544FCF4F2953A5D63742 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_gui_extra"; path = "../../JuceLibraryCode/modules/juce_gui_extra"; sourceTree = "SOURCE_ROOT"; }; - 6F9852573AA442CFBAD9695F = {isa = PBXFileReference; lastKnownFileType = file.nib; name = RecentFilesMenuTemplate.nib; path = RecentFilesMenuTemplate.nib; sourceTree = "SOURCE_ROOT"; }; - 7228D8E143CA465FB15BD546 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = "SOURCE_ROOT"; }; - 78CA76788217B98287D9E007 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "fm_op_kernel.cc"; path = "../../Source/msfa/fm_op_kernel.cc"; sourceTree = "SOURCE_ROOT"; }; - 7936BBAA586387B2FAFB958B = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginData.cpp; path = ../../Source/PluginData.cpp; sourceTree = "SOURCE_ROOT"; }; - 7A58027CF8C6967B02370E01 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EngineOpl.h; path = ../../Source/EngineOpl.h; sourceTree = "SOURCE_ROOT"; }; - 838E63F5800CA577B92EF6AE = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OperatorEditor.cpp; path = ../../Source/OperatorEditor.cpp; sourceTree = "SOURCE_ROOT"; }; - 857732A2E35577F8D9DB0D9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_gui_extra.mm"; path = "../../JuceLibraryCode/include_juce_gui_extra.mm"; sourceTree = "SOURCE_ROOT"; }; - 86412A8C98A3287951990C1B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lfo.h; path = ../../Source/msfa/lfo.h; sourceTree = "SOURCE_ROOT"; }; - 87DFAE33CBF0DB6075BDF13F = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_audio_devices.mm"; path = "../../JuceLibraryCode/include_juce_audio_devices.mm"; sourceTree = "SOURCE_ROOT"; }; - 8AF9F9504D8671A590689E28 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = exp2.h; path = ../../Source/msfa/exp2.h; sourceTree = "SOURCE_ROOT"; }; - 8B19E0BEAD29F2C0D46FA89C = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Knob_34x34.png"; path = "../../Resources/ui/Knob_34x34.png"; sourceTree = "SOURCE_ROOT"; }; - 8BADEB7BF1A65E83A7A1736D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginFx.cpp; path = ../../Source/PluginFx.cpp; sourceTree = "SOURCE_ROOT"; }; - 8BEBEDCAD409EE3A5D383B6D = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EngineMkI.cpp; path = ../../Source/EngineMkI.cpp; sourceTree = "SOURCE_ROOT"; }; - 8F32EF92B0A18751EC39A79B = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = "SOURCE_ROOT"; }; - 8F395B738E7AB81A0333AF96 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = freqlut.h; path = ../../Source/msfa/freqlut.h; sourceTree = "SOURCE_ROOT"; }; - 90C81F73CF37A82B34CC4A77 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_audio_plugin_client_AU_2.mm"; path = "../../JuceLibraryCode/include_juce_audio_plugin_client_AU_2.mm"; sourceTree = "SOURCE_ROOT"; }; - 9AAC5E6C1A21F8FE2F66F0E0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ParamDialog.h; path = ../../Source/ParamDialog.h; sourceTree = "SOURCE_ROOT"; }; - A02775EA788AD4BF7DD1B1A1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DXLookNFeel.cpp; path = ../../Source/DXLookNFeel.cpp; sourceTree = "SOURCE_ROOT"; }; - A1FBE601670AC62662711143 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_audio_plugin_client"; path = "../../JuceLibraryCode/modules/juce_audio_plugin_client"; sourceTree = "SOURCE_ROOT"; }; - A2484C523F78F5614518A3E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "include_juce_audio_plugin_client_Standalone.cpp"; path = "../../JuceLibraryCode/include_juce_audio_plugin_client_Standalone.cpp"; sourceTree = "SOURCE_ROOT"; }; - A4732634AB48AFD0FB06D7FA = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = "SOURCE_ROOT"; }; - A65D861B780A336E00059DE6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_audio_processors.mm"; path = "../../JuceLibraryCode/include_juce_audio_processors.mm"; sourceTree = "SOURCE_ROOT"; }; - AE4C4D1A5DDF99EB579DB1D9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_audio_utils.mm"; path = "../../JuceLibraryCode/include_juce_audio_utils.mm"; sourceTree = "SOURCE_ROOT"; }; - C7577AF98915C39EDCEC259A = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Slider_26x26.png"; path = "../../Resources/ui/Slider_26x26.png"; sourceTree = "SOURCE_ROOT"; }; - CBEE3341DEFF854B1D114C0B = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Meter_140x8.png"; path = "../../Resources/ui/Meter_140x8.png"; sourceTree = "SOURCE_ROOT"; }; - D5E8818F417B8FBF0F9FECBD = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Light_14x14.png"; path = "../../Resources/ui/Light_14x14.png"; sourceTree = "SOURCE_ROOT"; }; - E6F65C031FCBB192F3927D4C = {isa = PBXFileReference; lastKnownFileType = image.png; name = "ButtonUnlabeled_50x30.png"; path = "../../Resources/ui/ButtonUnlabeled_50x30.png"; sourceTree = "SOURCE_ROOT"; }; - EAD4969F0C18D34DAC586341 = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Dexed.component; sourceTree = "BUILT_PRODUCTS_DIR"; }; - 6ED6439CBE67C17C72336007 = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Dexed.app; sourceTree = "BUILT_PRODUCTS_DIR"; }; - 817CC81F50861DAEEFB2043A = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; - 838A5E852BBD79A98CD9FDDD = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; - 919DF1054C09D19EDA044BE8 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; - 9FB43E65C5F68B31FB16D0F5 = {isa = PBXFileReference; lastKnownFileType = image.png; name = "OperatorEditor_287x218.png"; path = "../../Resources/ui/OperatorEditor_287x218.png"; sourceTree = "SOURCE_ROOT"; }; - A81F4DC234E8D93BF9803529 = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; - ACC1CDF49C0F7F4FF305AF4E = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libDexed.a; sourceTree = "BUILT_PRODUCTS_DIR"; }; - AD4586B2B535DFAB7C1648A2 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-AU.plist"; path = "Info-AU.plist"; sourceTree = "SOURCE_ROOT"; }; - AE09B4C2A4BDE8FDA01A8A13 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dx7note.cc; path = ../../Source/msfa/dx7note.cc; sourceTree = "SOURCE_ROOT"; }; - AF1DFD842A36E967DF140D5C = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "aligned_buf.h"; path = "../../Source/msfa/aligned_buf.h"; sourceTree = "SOURCE_ROOT"; }; - B0230FCCA099E6430411DFC9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sin.cc; path = ../../Source/msfa/sin.cc; sourceTree = "SOURCE_ROOT"; }; - B0C8AB0D7A5940F43189FC7C = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-Standalone_Plugin.plist"; path = "Info-Standalone_Plugin.plist"; sourceTree = "SOURCE_ROOT"; }; - BD25F7AC4728A7875B6AE9D5 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginEditor.h; path = ../../Source/PluginEditor.h; sourceTree = "SOURCE_ROOT"; }; - BF7A1720DADC7983F61E895C = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ProgramListBox.cpp; path = ../../Source/ProgramListBox.cpp; sourceTree = "SOURCE_ROOT"; }; - C01EE75D859C1F942DA3AE61 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "fm_core.cc"; path = "../../Source/msfa/fm_core.cc"; sourceTree = "SOURCE_ROOT"; }; - C222D35AC4FC5C2A3BB0F8B6 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EngineMkI.h; path = ../../Source/EngineMkI.h; sourceTree = "SOURCE_ROOT"; }; - C2AA393651CBC37DCD7718BD = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OperatorEditor.h; path = ../../Source/OperatorEditor.h; sourceTree = "SOURCE_ROOT"; }; - C427B9E791D6256FECFD74E4 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "include_juce_audio_plugin_client_VST2.cpp"; path = "../../JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp"; sourceTree = "SOURCE_ROOT"; }; - C56E401381FF968837F82364 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginData.h; path = ../../Source/PluginData.h; sourceTree = "SOURCE_ROOT"; }; - C5AF49D99419EE92E01F5D99 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_data_structures.mm"; path = "../../JuceLibraryCode/include_juce_data_structures.mm"; sourceTree = "SOURCE_ROOT"; }; - C6928FE8579AE1980061CA43 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = dx7note.h; path = ../../Source/msfa/dx7note.h; sourceTree = "SOURCE_ROOT"; }; - D4F2B6C8105E1B62DAC5CCC1 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_audio_basics"; path = "../../JuceLibraryCode/modules/juce_audio_basics"; sourceTree = "SOURCE_ROOT"; }; - D66793B7DB6B5CFC22A1BD9D = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AlgoDisplay.h; path = ../../Source/AlgoDisplay.h; sourceTree = "SOURCE_ROOT"; }; - D984CE634945077E682B48F3 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DXComponents.cpp; path = ../../Source/DXComponents.cpp; sourceTree = "SOURCE_ROOT"; }; - DC75DFCDFCDB425927B11EC0 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginFx.h; path = ../../Source/PluginFx.h; sourceTree = "SOURCE_ROOT"; }; - DEF6BFE030E941796F3530A2 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_events"; path = "../../JuceLibraryCode/modules/juce_events"; sourceTree = "SOURCE_ROOT"; }; - E32283AE8CC5A022E1A6B30B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; - E837015AC99B3C855B8FF312 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_graphics.mm"; path = "../../JuceLibraryCode/include_juce_graphics.mm"; sourceTree = "SOURCE_ROOT"; }; - E8CD2657F43430DE909099C9 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_gui_basics.mm"; path = "../../JuceLibraryCode/include_juce_gui_basics.mm"; sourceTree = "SOURCE_ROOT"; }; - EA6FC4F1F0D6EAE661569905 = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginParam.h; path = ../../Source/PluginParam.h; sourceTree = "SOURCE_ROOT"; }; - EE0EC08DA1C064F73F5C3D89 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_audio_plugin_client_VST_utils.mm"; path = "../../JuceLibraryCode/include_juce_audio_plugin_client_VST_utils.mm"; sourceTree = "SOURCE_ROOT"; }; - F221CF21582EE0B8FE774583 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ParamDialog.cpp; path = ../../Source/ParamDialog.cpp; sourceTree = "SOURCE_ROOT"; }; - F258C148A5FB04C70976E92A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SysexComm.h; path = ../../Source/SysexComm.h; sourceTree = "SOURCE_ROOT"; }; - F38E4F0A432CAB98BA8F4F8A = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "fm_op_kernel.h"; path = "../../Source/msfa/fm_op_kernel.h"; sourceTree = "SOURCE_ROOT"; }; - F3FAB9C8F8F0BE80F2B261E2 = {isa = PBXFileReference; lastKnownFileType = image.png; name = dexedIcon.png; path = ../../Resources/ui/dexedIcon.png; sourceTree = "SOURCE_ROOT"; }; - F47FA981083705D4B545339F = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pitchenv.h; path = ../../Source/msfa/pitchenv.h; sourceTree = "SOURCE_ROOT"; }; - F63CE53483AF125DCFB024F1 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = exp2.cc; path = ../../Source/msfa/exp2.cc; sourceTree = "SOURCE_ROOT"; }; - F6520AE948C99EF20C526B48 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_audio_basics.mm"; path = "../../JuceLibraryCode/include_juce_audio_basics.mm"; sourceTree = "SOURCE_ROOT"; }; - F78327AD6BCA78813BE719F0 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_gui_basics"; path = "../../JuceLibraryCode/modules/juce_gui_basics"; sourceTree = "SOURCE_ROOT"; }; - F96FE2B85242BF1E6CD61AC8 = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Info-VST.plist"; path = "Info-VST.plist"; sourceTree = "SOURCE_ROOT"; }; - FA7C860833E71840475A1541 = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "include_juce_audio_plugin_client_AU_1.mm"; path = "../../JuceLibraryCode/include_juce_audio_plugin_client_AU_1.mm"; sourceTree = "SOURCE_ROOT"; }; - FC856709502EE15E8D3F448B = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; - FFB4444DBB7FCC8F7BFAB119 = {isa = PBXFileReference; lastKnownFileType = file; name = "juce_audio_utils"; path = "../../JuceLibraryCode/modules/juce_audio_utils"; sourceTree = "SOURCE_ROOT"; }; - F472964B0FFEE5615B72CE3D = {isa = PBXGroup; children = ( - F3FAB9C8F8F0BE80F2B261E2, - 2CBFFF86BDEB0B89734D6956, - 0D5761BE1D2DEA319B57D740, - E6F65C031FCBB192F3927D4C, - 8B19E0BEAD29F2C0D46FA89C, - 4C67D4B9902C1B0CC80E11D8, - D5E8818F417B8FBF0F9FECBD, - CBEE3341DEFF854B1D114C0B, - 66E042C6FFE93F0E19B32F09, - C7577AF98915C39EDCEC259A, - 1D72CD485011A4EA3E6B0FD5, - 5A366F36F3B4E50587A30351, - 15B75D829C40872D542A38B8, - 0E3FA3D7B11FC7D19CC634BE, - 624B39364165E2F23A3D4540, - 9FB43E65C5F68B31FB16D0F5, ); name = Resources; sourceTree = ""; }; - 0652CE27AE4971C99654E3BF = {isa = PBXGroup; children = ( - 8BADEB7BF1A65E83A7A1736D, - DC75DFCDFCDB425927B11EC0, - 8BEBEDCAD409EE3A5D383B6D, - C222D35AC4FC5C2A3BB0F8B6, - 61F792AFE04C15F413A4F766, - 7A58027CF8C6967B02370E01, ); name = dsp; sourceTree = ""; }; - 427DD4218ED26D69B0149A90 = {isa = PBXGroup; children = ( - 018D0FB9E97B68D2EB3E3F72, - BD25F7AC4728A7875B6AE9D5, - 6B3889626BDBB814F2387085, - 1C3A85D115878AA5A495199E, - BF7A1720DADC7983F61E895C, - 0831514ABD7A268115E6FD43, - F221CF21582EE0B8FE774583, - 9AAC5E6C1A21F8FE2F66F0E0, - 03813BF0D93D100F6F0393C9, - D66793B7DB6B5CFC22A1BD9D, - A02775EA788AD4BF7DD1B1A1, - 29D6A187B80D22EB609C256D, - D984CE634945077E682B48F3, - 4567FB06348FF519FDC6D698, - 838E63F5800CA577B92EF6AE, - C2AA393651CBC37DCD7718BD, - 19CEF599CB23958AC63D427E, - 4B70CBF4DB4E571EDF5D3114, ); name = ui; sourceTree = ""; }; - BDC5059F1563FD8DD69AD324 = {isa = PBXGroup; children = ( - 3715DFDD7A1B12083F051F5A, - 8F395B738E7AB81A0333AF96, - 2D26E2304C0F6FC633936014, - 86412A8C98A3287951990C1B, - AF1DFD842A36E967DF140D5C, - 30B133CA0CDC245A147F4689, - AE09B4C2A4BDE8FDA01A8A13, - C6928FE8579AE1980061CA43, - 00FDFD1ABE59B4CEF74BF5A3, - 64CF42AFC2E05AEF9D350CD2, - F63CE53483AF125DCFB024F1, - 8AF9F9504D8671A590689E28, - C01EE75D859C1F942DA3AE61, - 1B06A67DF2B4FD2969A9781A, - 78CA76788217B98287D9E007, - F38E4F0A432CAB98BA8F4F8A, - 68EBBB35B7A5A57E4BA2F8E2, - 51E5757E2D48E638F9A4CB61, - F47FA981083705D4B545339F, - B0230FCCA099E6430411DFC9, - 3BE8F91A99E8F48CB9F10C1F, - 68D35AFE11BAA35EAE497D47, ); name = msfa; sourceTree = ""; }; - 29B923E6EB12F97B68585AFC = {isa = PBXGroup; children = ( - 0652CE27AE4971C99654E3BF, - 427DD4218ED26D69B0149A90, - BDC5059F1563FD8DD69AD324, - 0BD21CA621B7350EBED18C0A, - 45ADFD8885BE76C7F7D999AC, - 5C0A1B7E2BF8FCAF5A1E8616, - 59D15F780D468B587F9C7E78, - EA6FC4F1F0D6EAE661569905, - 7936BBAA586387B2FAFB958B, - C56E401381FF968837F82364, - 65BE679590BFE2466E16EA67, - F258C148A5FB04C70976E92A, ); name = Source; sourceTree = ""; }; - C21CEF3B473FDC99270B7623 = {isa = PBXGroup; children = ( - F472964B0FFEE5615B72CE3D, - 29B923E6EB12F97B68585AFC, ); name = Dexed; sourceTree = ""; }; - D62CAA66658707456DEC1897 = {isa = PBXGroup; children = ( - D4F2B6C8105E1B62DAC5CCC1, - 37CC2D88FE9D3475E108DF72, - 41FD248DC24085072C2F9470, - A1FBE601670AC62662711143, - 400892A62E3B8D216EC747AA, - FFB4444DBB7FCC8F7BFAB119, - 497089C13B0CDEF10A7BAEDD, - 0F220BE0B0E039759FBF22E3, - DEF6BFE030E941796F3530A2, - 4B9343CF170B07BD305D6D7F, - F78327AD6BCA78813BE719F0, - 6F55544FCF4F2953A5D63742, ); name = "JUCE Modules"; sourceTree = ""; }; - 3E0C3A2E8ED7ED09FA4E1CF0 = {isa = PBXGroup; children = ( - A4732634AB48AFD0FB06D7FA, - 54363D0B39B88D43447C0123, - 7228D8E143CA465FB15BD546, - F6520AE948C99EF20C526B48, - 87DFAE33CBF0DB6075BDF13F, - 1D4F560C57B2F4E5A37B2888, - 2AD1EA7A001215BA3787C71D, - FA7C860833E71840475A1541, - 90C81F73CF37A82B34CC4A77, - A2484C523F78F5614518A3E4, - 049B1A9387F5CEE37D6D6209, - EE0EC08DA1C064F73F5C3D89, - C427B9E791D6256FECFD74E4, - A65D861B780A336E00059DE6, - AE4C4D1A5DDF99EB579DB1D9, - 04FE48BE171395625D358467, - C5AF49D99419EE92E01F5D99, - 1EFFAE052428252ED77E651A, - E837015AC99B3C855B8FF312, - E8CD2657F43430DE909099C9, - 857732A2E35577F8D9DB0D9D, - 8F32EF92B0A18751EC39A79B, ); name = "JUCE Library Code"; sourceTree = ""; }; - 47F1FC7D160024027C543D04 = {isa = PBXGroup; children = ( - F96FE2B85242BF1E6CD61AC8, - AD4586B2B535DFAB7C1648A2, - B0C8AB0D7A5940F43189FC7C, - 6F9852573AA442CFBAD9695F, - 6322687B925B988520542A6D, ); name = Resources; sourceTree = ""; }; - 37BC5C48642EECA7AE662C02 = {isa = PBXGroup; children = ( - E32283AE8CC5A022E1A6B30B, - 0A56796E1B84D05D8DD1100D, - 838A5E852BBD79A98CD9FDDD, - 817CC81F50861DAEEFB2043A, - 2FDF76165C655B2E77BE4CFD, - 3A01DC4DEBE65C313C7C8A44, - 919DF1054C09D19EDA044BE8, - A81F4DC234E8D93BF9803529, - 452C1184BD776249B33151E5, - FC856709502EE15E8D3F448B, - 2F55D83145737DE69999DB92, - 5E966C95FACF7B8D5A907FE3, ); name = Frameworks; sourceTree = ""; }; - 01533246E329E35CCD6F8580 = {isa = PBXGroup; children = ( - 2F0DF45A6D489E7732ED4217, - EAD4969F0C18D34DAC586341, - 6ED6439CBE67C17C72336007, - ACC1CDF49C0F7F4FF305AF4E, ); name = Products; sourceTree = ""; }; - 8FF698E2E4B3B82B8C64B444 = {isa = PBXGroup; children = ( - 188891FAC90E0F0A25B8E3D8, - C21CEF3B473FDC99270B7623, - D62CAA66658707456DEC1897, - 3E0C3A2E8ED7ED09FA4E1CF0, - 47F1FC7D160024027C543D04, - 37BC5C48642EECA7AE662C02, - 01533246E329E35CCD6F8580, ); name = Source; sourceTree = ""; }; - 57AB3E3417E22462A18BE5BD = {isa = XCBuildConfiguration; buildSettings = { - MACOSX_DEPLOYMENT_TARGET = 10.10; }; name = Debug; }; - C26C61A1BF294BFF1DB1DDDF = {isa = XCBuildConfiguration; buildSettings = { - MACOSX_DEPLOYMENT_TARGET = 10.7; }; name = Release; }; - 3CBEEA75D64AE87CB4FC1534 = {isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; +/* Begin PBXAggregateTarget section */ + 394A664BBBD0FEB67E4C5BF7 /* Dexed - All */ = { + isa = PBXAggregateTarget; + buildConfigurationList = 346A0C363D388A1698B1982C /* Build configuration list for PBXAggregateTarget "Dexed - All" */; + buildPhases = ( + ); + dependencies = ( + AEED06CF06345EA963813899 /* PBXTargetDependency */, + 63D3B1D351DD050B0F446528 /* PBXTargetDependency */, + 27A8A5DA1320C1677729D57A /* PBXTargetDependency */, + 57952C722FCEDC11B915AC23 /* PBXTargetDependency */, + ); + name = "Dexed - All"; + productName = Dexed; + }; +/* End PBXAggregateTarget section */ + +/* Begin PBXBuildFile section */ + 0160B26E85D90D23CEC48CC5 /* include_juce_audio_formats.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1D4F560C57B2F4E5A37B2888 /* include_juce_audio_formats.mm */; }; + 082D6FF34EFF195C3A3B0CFB /* OperatorEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 838E63F5800CA577B92EF6AE /* OperatorEditor.cpp */; }; + 0D3132A8B412AE9E63024927 /* sin.cc in Sources */ = {isa = PBXBuildFile; fileRef = B0230FCCA099E6430411DFC9 /* sin.cc */; }; + 0F60B653229C62720068A5F2 /* RecentFilesMenuTemplate.nib in Resources */ = {isa = PBXBuildFile; fileRef = 6F9852573AA442CFBAD9695F /* RecentFilesMenuTemplate.nib */; }; + 0F60B654229C62720068A5F2 /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 6322687B925B988520542A6D /* Icon.icns */; }; + 0F60B655229C62720068A5F2 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E32283AE8CC5A022E1A6B30B /* Accelerate.framework */; }; + 0F60B656229C62720068A5F2 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A56796E1B84D05D8DD1100D /* AudioToolbox.framework */; }; + 0F60B657229C62720068A5F2 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 838A5E852BBD79A98CD9FDDD /* AudioUnit.framework */; }; + 0F60B658229C62720068A5F2 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 817CC81F50861DAEEFB2043A /* Carbon.framework */; }; + 0F60B659229C62720068A5F2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FDF76165C655B2E77BE4CFD /* Cocoa.framework */; }; + 0F60B65A229C62720068A5F2 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A01DC4DEBE65C313C7C8A44 /* CoreAudio.framework */; }; + 0F60B65B229C62720068A5F2 /* CoreAudioKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 919DF1054C09D19EDA044BE8 /* CoreAudioKit.framework */; }; + 0F60B65C229C62720068A5F2 /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A81F4DC234E8D93BF9803529 /* CoreMIDI.framework */; }; + 0F60B65D229C62720068A5F2 /* DiscRecording.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 452C1184BD776249B33151E5 /* DiscRecording.framework */; }; + 0F60B65E229C62720068A5F2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC856709502EE15E8D3F448B /* IOKit.framework */; }; + 0F60B65F229C62720068A5F2 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2F55D83145737DE69999DB92 /* QuartzCore.framework */; }; + 0F60B660229C62720068A5F2 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E966C95FACF7B8D5A907FE3 /* WebKit.framework */; }; + 0F60B661229C62720068A5F2 /* RecentFilesMenuTemplate.nib in Resources */ = {isa = PBXBuildFile; fileRef = 6F9852573AA442CFBAD9695F /* RecentFilesMenuTemplate.nib */; }; + 0F60B662229C62720068A5F2 /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 6322687B925B988520542A6D /* Icon.icns */; }; + 0F60B663229C62720068A5F2 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E32283AE8CC5A022E1A6B30B /* Accelerate.framework */; }; + 0F60B664229C62720068A5F2 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A56796E1B84D05D8DD1100D /* AudioToolbox.framework */; }; + 0F60B665229C62720068A5F2 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 838A5E852BBD79A98CD9FDDD /* AudioUnit.framework */; }; + 0F60B666229C62720068A5F2 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 817CC81F50861DAEEFB2043A /* Carbon.framework */; }; + 0F60B667229C62720068A5F2 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FDF76165C655B2E77BE4CFD /* Cocoa.framework */; }; + 0F60B668229C62720068A5F2 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A01DC4DEBE65C313C7C8A44 /* CoreAudio.framework */; }; + 0F60B669229C62720068A5F2 /* CoreAudioKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 919DF1054C09D19EDA044BE8 /* CoreAudioKit.framework */; }; + 0F60B66A229C62720068A5F2 /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A81F4DC234E8D93BF9803529 /* CoreMIDI.framework */; }; + 0F60B66B229C62720068A5F2 /* DiscRecording.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 452C1184BD776249B33151E5 /* DiscRecording.framework */; }; + 0F60B66C229C62720068A5F2 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC856709502EE15E8D3F448B /* IOKit.framework */; }; + 0F60B66D229C62720068A5F2 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2F55D83145737DE69999DB92 /* QuartzCore.framework */; }; + 0F60B66E229C62720068A5F2 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E966C95FACF7B8D5A907FE3 /* WebKit.framework */; }; + 0F60B675229C652E0068A5F2 /* DexedMidiKeyboardComponent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F60B673229C652D0068A5F2 /* DexedMidiKeyboardComponent.cpp */; }; + 1675562B85E6B979C217EBFC /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 6322687B925B988520542A6D /* Icon.icns */; }; + 191E15E49A6BCA75D79BD0B8 /* include_juce_gui_basics.mm in Sources */ = {isa = PBXBuildFile; fileRef = E8CD2657F43430DE909099C9 /* include_juce_gui_basics.mm */; }; + 1C87DA0B69D67481FC6CF4FD /* BinaryData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 54363D0B39B88D43447C0123 /* BinaryData.cpp */; }; + 1CBFE444B43C89E749602B7F /* PluginProcessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 45ADFD8885BE76C7F7D999AC /* PluginProcessor.cpp */; }; + 23613F24F03D90F670247838 /* include_juce_audio_plugin_client_AU_2.mm in Sources */ = {isa = PBXBuildFile; fileRef = 90C81F73CF37A82B34CC4A77 /* include_juce_audio_plugin_client_AU_2.mm */; }; + 2C617A27B09970640A6DF593 /* include_juce_core.mm in Sources */ = {isa = PBXBuildFile; fileRef = 04FE48BE171395625D358467 /* include_juce_core.mm */; }; + 2CD04823B0F4759B7A2E5398 /* include_juce_audio_devices.mm in Sources */ = {isa = PBXBuildFile; fileRef = 87DFAE33CBF0DB6075BDF13F /* include_juce_audio_devices.mm */; }; + 36A10FB9E3742B694E159B14 /* include_juce_audio_plugin_client_utils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 049B1A9387F5CEE37D6D6209 /* include_juce_audio_plugin_client_utils.cpp */; }; + 38BFC68CC5D31B3B0351F0B6 /* include_juce_audio_basics.mm in Sources */ = {isa = PBXBuildFile; fileRef = F6520AE948C99EF20C526B48 /* include_juce_audio_basics.mm */; }; + 3AB728E101D7B85DD39C5CC8 /* freqlut.cc in Sources */ = {isa = PBXBuildFile; fileRef = 3715DFDD7A1B12083F051F5A /* freqlut.cc */; }; + 434647C21C803FA8A4D44A70 /* fm_op_kernel.cc in Sources */ = {isa = PBXBuildFile; fileRef = 78CA76788217B98287D9E007 /* fm_op_kernel.cc */; }; + 45A9DAF2ABCD48016173E9D3 /* include_juce_data_structures.mm in Sources */ = {isa = PBXBuildFile; fileRef = C5AF49D99419EE92E01F5D99 /* include_juce_data_structures.mm */; }; + 478699B4EF80A1A1C0D34C10 /* PluginEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 018D0FB9E97B68D2EB3E3F72 /* PluginEditor.cpp */; }; + 47C317B0F77A29ECA0400B2B /* dx7note.cc in Sources */ = {isa = PBXBuildFile; fileRef = AE09B4C2A4BDE8FDA01A8A13 /* dx7note.cc */; }; + 4B27ACC5993C8C74FFCDD3BB /* EngineOpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61F792AFE04C15F413A4F766 /* EngineOpl.cpp */; }; + 535BB5106E9037252387567F /* include_juce_audio_plugin_client_VST_utils.mm in Sources */ = {isa = PBXBuildFile; fileRef = EE0EC08DA1C064F73F5C3D89 /* include_juce_audio_plugin_client_VST_utils.mm */; }; + 60686C2C30A9F2777CEF01BD /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A56796E1B84D05D8DD1100D /* AudioToolbox.framework */; }; + 6097F7DEB38FA9D2D70CB94D /* include_juce_audio_plugin_client_VST2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C427B9E791D6256FECFD74E4 /* include_juce_audio_plugin_client_VST2.cpp */; }; + 623AFA9E78826CA0136251DF /* PluginParam.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 59D15F780D468B587F9C7E78 /* PluginParam.cpp */; }; + 6252C45CDFF75E05CCDBF737 /* CartManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6B3889626BDBB814F2387085 /* CartManager.cpp */; }; + 6443699C06267ECC22CF9D12 /* Accelerate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E32283AE8CC5A022E1A6B30B /* Accelerate.framework */; }; + 68878920F603FF1473994736 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = FC856709502EE15E8D3F448B /* IOKit.framework */; }; + 697C52FD23363CB2EB9075C6 /* EngineMkI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BEBEDCAD409EE3A5D383B6D /* EngineMkI.cpp */; }; + 69A60891A52C61989A205791 /* ProgramListBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BF7A1720DADC7983F61E895C /* ProgramListBox.cpp */; }; + 7116DC8487DC8321F36CD3D8 /* DiscRecording.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 452C1184BD776249B33151E5 /* DiscRecording.framework */; }; + 74201460E8798B14603296A3 /* include_juce_events.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1EFFAE052428252ED77E651A /* include_juce_events.mm */; }; + 76A2B27B08BD77594E1A8C95 /* include_juce_audio_utils.mm in Sources */ = {isa = PBXBuildFile; fileRef = AE4C4D1A5DDF99EB579DB1D9 /* include_juce_audio_utils.mm */; }; + 77C3EA8D0A12986429BA466D /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 838A5E852BBD79A98CD9FDDD /* AudioUnit.framework */; }; + 7B82F1D5F8DED01AA8988D33 /* fm_core.cc in Sources */ = {isa = PBXBuildFile; fileRef = C01EE75D859C1F942DA3AE61 /* fm_core.cc */; }; + 7BF692FB5E4B4C6C77FCFDA0 /* include_juce_audio_plugin_client_AU_1.mm in Sources */ = {isa = PBXBuildFile; fileRef = FA7C860833E71840475A1541 /* include_juce_audio_plugin_client_AU_1.mm */; }; + 7E444608AFB10ED54DB5C9AB /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5E966C95FACF7B8D5A907FE3 /* WebKit.framework */; }; + 8121E10419E2D99645EA254E /* DXComponents.cpp in Sources */ = {isa = PBXBuildFile; fileRef = D984CE634945077E682B48F3 /* DXComponents.cpp */; }; + 813B2285513D65DDA30AA6E3 /* RecentFilesMenuTemplate.nib in Resources */ = {isa = PBXBuildFile; fileRef = 6F9852573AA442CFBAD9695F /* RecentFilesMenuTemplate.nib */; }; + 82253A3BBFF29FC56A08C972 /* CoreAudioKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 919DF1054C09D19EDA044BE8 /* CoreAudioKit.framework */; }; + 8BE2A084394DA3E45DDB5646 /* PluginData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7936BBAA586387B2FAFB958B /* PluginData.cpp */; }; + 8F3B0996452972F266C749E0 /* AlgoDisplay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 03813BF0D93D100F6F0393C9 /* AlgoDisplay.cpp */; }; + 93095A7B8240722727C8507C /* include_juce_graphics.mm in Sources */ = {isa = PBXBuildFile; fileRef = E837015AC99B3C855B8FF312 /* include_juce_graphics.mm */; }; + 95105DC8536836A06FD5C7BB /* pitchenv.cc in Sources */ = {isa = PBXBuildFile; fileRef = 51E5757E2D48E638F9A4CB61 /* pitchenv.cc */; }; + 9EC12165834B1341938E951D /* env.cc in Sources */ = {isa = PBXBuildFile; fileRef = 00FDFD1ABE59B4CEF74BF5A3 /* env.cc */; }; + A75C179712D4F59160200035 /* include_juce_audio_processors.mm in Sources */ = {isa = PBXBuildFile; fileRef = A65D861B780A336E00059DE6 /* include_juce_audio_processors.mm */; }; + A7D45B047CA84D7EF7018CDC /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2F55D83145737DE69999DB92 /* QuartzCore.framework */; }; + A9DF6BAEA633EC2CFF7D946E /* include_juce_gui_extra.mm in Sources */ = {isa = PBXBuildFile; fileRef = 857732A2E35577F8D9DB0D9D /* include_juce_gui_extra.mm */; }; + B0A4786A252B14B604101175 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3A01DC4DEBE65C313C7C8A44 /* CoreAudio.framework */; }; + B18C192606DF6079E7B9AEB9 /* PluginFx.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BADEB7BF1A65E83A7A1736D /* PluginFx.cpp */; }; + C510246D7D5E162C9DE63DDE /* GlobalEditor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 19CEF599CB23958AC63D427E /* GlobalEditor.cpp */; }; + CD1CF0C6B4AB9F4C8175FE08 /* ParamDialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F221CF21582EE0B8FE774583 /* ParamDialog.cpp */; }; + D5A4D43A16EA4C71D53E96CD /* DXLookNFeel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A02775EA788AD4BF7DD1B1A1 /* DXLookNFeel.cpp */; }; + E393463EA71B7C11FC9B2CD0 /* include_juce_audio_plugin_client_Standalone.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A2484C523F78F5614518A3E4 /* include_juce_audio_plugin_client_Standalone.cpp */; }; + E8BEA8ABF5E288C5D5FCD620 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 817CC81F50861DAEEFB2043A /* Carbon.framework */; }; + EC23F9F2EE10A2DE3CB6D406 /* SysexComm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65BE679590BFE2466E16EA67 /* SysexComm.cpp */; }; + F2A31A40F31309656C86A4F4 /* include_juce_audio_plugin_client_AU.r in Rez */ = {isa = PBXBuildFile; fileRef = 2AD1EA7A001215BA3787C71D /* include_juce_audio_plugin_client_AU.r */; }; + F329522961F1313091764113 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2FDF76165C655B2E77BE4CFD /* Cocoa.framework */; }; + F9A9CC03BA0B3030E92675AD /* exp2.cc in Sources */ = {isa = PBXBuildFile; fileRef = F63CE53483AF125DCFB024F1 /* exp2.cc */; }; + FA2AF2015CFD98299593EA30 /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A81F4DC234E8D93BF9803529 /* CoreMIDI.framework */; }; + FAC9C3E771D11FDA4DFAF17E /* lfo.cc in Sources */ = {isa = PBXBuildFile; fileRef = 2D26E2304C0F6FC633936014 /* lfo.cc */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 0F60B66F229C62760068A5F2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 0DA61024CABBA334F84603C0 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 8D636399F35A44B4CEA6EDEB; + remoteInfo = "Dexed - Shared Code"; + }; + 0F60B670229C62770068A5F2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 0DA61024CABBA334F84603C0 /* Project object */; + proxyType = 1; + remoteGlobalIDString = B85A7FAE3F78012F8709A078; + remoteInfo = "Dexed - VST"; + }; + 0F60B671229C62770068A5F2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 0DA61024CABBA334F84603C0 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 257C7EAF4BE2A61E8C8FEE7B; + remoteInfo = "Dexed - AU"; + }; + 0F60B672229C62770068A5F2 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 0DA61024CABBA334F84603C0 /* Project object */; + proxyType = 1; + remoteGlobalIDString = BD35E770F72A5AB3F4E97848; + remoteInfo = "Dexed - Standalone Plugin"; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 00FDFD1ABE59B4CEF74BF5A3 /* env.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = env.cc; path = ../../Source/msfa/env.cc; sourceTree = SOURCE_ROOT; }; + 018D0FB9E97B68D2EB3E3F72 /* PluginEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginEditor.cpp; path = ../../Source/PluginEditor.cpp; sourceTree = SOURCE_ROOT; }; + 03813BF0D93D100F6F0393C9 /* AlgoDisplay.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = AlgoDisplay.cpp; path = ../../Source/AlgoDisplay.cpp; sourceTree = SOURCE_ROOT; }; + 049B1A9387F5CEE37D6D6209 /* include_juce_audio_plugin_client_utils.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_audio_plugin_client_utils.cpp; path = ../../JuceLibraryCode/include_juce_audio_plugin_client_utils.cpp; sourceTree = SOURCE_ROOT; }; + 04FE48BE171395625D358467 /* include_juce_core.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_core.mm; path = ../../JuceLibraryCode/include_juce_core.mm; sourceTree = SOURCE_ROOT; }; + 0831514ABD7A268115E6FD43 /* ProgramListBox.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ProgramListBox.h; path = ../../Source/ProgramListBox.h; sourceTree = SOURCE_ROOT; }; + 0A56796E1B84D05D8DD1100D /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; + 0BD21CA621B7350EBED18C0A /* Dexed.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Dexed.h; path = ../../Source/Dexed.h; sourceTree = SOURCE_ROOT; }; + 0D5761BE1D2DEA319B57D740 /* Switch_48x26.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Switch_48x26.png; path = ../../Resources/ui/Switch_48x26.png; sourceTree = SOURCE_ROOT; }; + 0E3FA3D7B11FC7D19CC634BE /* about.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = about.png; path = ../../Resources/about.png; sourceTree = SOURCE_ROOT; }; + 0F220BE0B0E039759FBF22E3 /* juce_data_structures */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_data_structures; path = ../../JuceLibraryCode/modules/juce_data_structures; sourceTree = SOURCE_ROOT; }; + 0F60B673229C652D0068A5F2 /* DexedMidiKeyboardComponent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DexedMidiKeyboardComponent.cpp; path = ../../Source/DexedMidiKeyboardComponent.cpp; sourceTree = ""; }; + 0F60B674229C652E0068A5F2 /* DexedMidiKeyboardComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DexedMidiKeyboardComponent.h; path = ../../Source/DexedMidiKeyboardComponent.h; sourceTree = ""; }; + 15B75D829C40872D542A38B8 /* builtin_pgm.zip */ = {isa = PBXFileReference; lastKnownFileType = file.zip; name = builtin_pgm.zip; path = ../../Resources/builtin_pgm.zip; sourceTree = SOURCE_ROOT; }; + 188891FAC90E0F0A25B8E3D8 /* Dexed.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Dexed.entitlements; sourceTree = SOURCE_ROOT; }; + 19CEF599CB23958AC63D427E /* GlobalEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = GlobalEditor.cpp; path = ../../Source/GlobalEditor.cpp; sourceTree = SOURCE_ROOT; }; + 1B06A67DF2B4FD2969A9781A /* fm_core.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fm_core.h; path = ../../Source/msfa/fm_core.h; sourceTree = SOURCE_ROOT; }; + 1C3A85D115878AA5A495199E /* CartManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = CartManager.h; path = ../../Source/CartManager.h; sourceTree = SOURCE_ROOT; }; + 1D4F560C57B2F4E5A37B2888 /* include_juce_audio_formats.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_formats.mm; path = ../../JuceLibraryCode/include_juce_audio_formats.mm; sourceTree = SOURCE_ROOT; }; + 1D72CD485011A4EA3E6B0FD5 /* NotoSans-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file.ttf; name = "NotoSans-Regular.ttf"; path = "../../Resources/ui/NotoSans-Regular.ttf"; sourceTree = SOURCE_ROOT; }; + 1EFFAE052428252ED77E651A /* include_juce_events.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_events.mm; path = ../../JuceLibraryCode/include_juce_events.mm; sourceTree = SOURCE_ROOT; }; + 29D6A187B80D22EB609C256D /* DXLookNFeel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DXLookNFeel.h; path = ../../Source/DXLookNFeel.h; sourceTree = SOURCE_ROOT; }; + 2AD1EA7A001215BA3787C71D /* include_juce_audio_plugin_client_AU.r */ = {isa = PBXFileReference; lastKnownFileType = file.r; name = include_juce_audio_plugin_client_AU.r; path = ../../JuceLibraryCode/include_juce_audio_plugin_client_AU.r; sourceTree = SOURCE_ROOT; }; + 2CBFFF86BDEB0B89734D6956 /* Switch_32x32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Switch_32x32.png; path = ../../Resources/ui/Switch_32x32.png; sourceTree = SOURCE_ROOT; }; + 2D26E2304C0F6FC633936014 /* lfo.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = lfo.cc; path = ../../Source/msfa/lfo.cc; sourceTree = SOURCE_ROOT; }; + 2F0DF45A6D489E7732ED4217 /* Dexed.vst */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Dexed.vst; sourceTree = BUILT_PRODUCTS_DIR; }; + 2F55D83145737DE69999DB92 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 2FDF76165C655B2E77BE4CFD /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; }; + 30B133CA0CDC245A147F4689 /* controllers.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = controllers.h; path = ../../Source/msfa/controllers.h; sourceTree = SOURCE_ROOT; }; + 3715DFDD7A1B12083F051F5A /* freqlut.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = freqlut.cc; path = ../../Source/msfa/freqlut.cc; sourceTree = SOURCE_ROOT; }; + 37CC2D88FE9D3475E108DF72 /* juce_audio_devices */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_audio_devices; path = ../../JuceLibraryCode/modules/juce_audio_devices; sourceTree = SOURCE_ROOT; }; + 3A01DC4DEBE65C313C7C8A44 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; + 3BE8F91A99E8F48CB9F10C1F /* sin.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = sin.h; path = ../../Source/msfa/sin.h; sourceTree = SOURCE_ROOT; }; + 400892A62E3B8D216EC747AA /* juce_audio_processors */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_audio_processors; path = ../../JuceLibraryCode/modules/juce_audio_processors; sourceTree = SOURCE_ROOT; }; + 41FD248DC24085072C2F9470 /* juce_audio_formats */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_audio_formats; path = ../../JuceLibraryCode/modules/juce_audio_formats; sourceTree = SOURCE_ROOT; }; + 452C1184BD776249B33151E5 /* DiscRecording.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = DiscRecording.framework; path = System/Library/Frameworks/DiscRecording.framework; sourceTree = SDKROOT; }; + 4567FB06348FF519FDC6D698 /* DXComponents.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DXComponents.h; path = ../../Source/DXComponents.h; sourceTree = SOURCE_ROOT; }; + 45ADFD8885BE76C7F7D999AC /* PluginProcessor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginProcessor.cpp; path = ../../Source/PluginProcessor.cpp; sourceTree = SOURCE_ROOT; }; + 497089C13B0CDEF10A7BAEDD /* juce_core */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_core; path = ../../JuceLibraryCode/modules/juce_core; sourceTree = SOURCE_ROOT; }; + 4B70CBF4DB4E571EDF5D3114 /* GlobalEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = GlobalEditor.h; path = ../../Source/GlobalEditor.h; sourceTree = SOURCE_ROOT; }; + 4B9343CF170B07BD305D6D7F /* juce_graphics */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_graphics; path = ../../JuceLibraryCode/modules/juce_graphics; sourceTree = SOURCE_ROOT; }; + 4C67D4B9902C1B0CC80E11D8 /* LFO_36_26.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = LFO_36_26.png; path = ../../Resources/ui/LFO_36_26.png; sourceTree = SOURCE_ROOT; }; + 51E5757E2D48E638F9A4CB61 /* pitchenv.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = pitchenv.cc; path = ../../Source/msfa/pitchenv.cc; sourceTree = SOURCE_ROOT; }; + 54363D0B39B88D43447C0123 /* BinaryData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = BinaryData.cpp; path = ../../JuceLibraryCode/BinaryData.cpp; sourceTree = SOURCE_ROOT; }; + 59D15F780D468B587F9C7E78 /* PluginParam.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginParam.cpp; path = ../../Source/PluginParam.cpp; sourceTree = SOURCE_ROOT; }; + 5A366F36F3B4E50587A30351 /* NotoSans-Bold.ttf */ = {isa = PBXFileReference; lastKnownFileType = file.ttf; name = "NotoSans-Bold.ttf"; path = "../../Resources/ui/NotoSans-Bold.ttf"; sourceTree = SOURCE_ROOT; }; + 5C0A1B7E2BF8FCAF5A1E8616 /* PluginProcessor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginProcessor.h; path = ../../Source/PluginProcessor.h; sourceTree = SOURCE_ROOT; }; + 5E966C95FACF7B8D5A907FE3 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; }; + 61F792AFE04C15F413A4F766 /* EngineOpl.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EngineOpl.cpp; path = ../../Source/EngineOpl.cpp; sourceTree = SOURCE_ROOT; }; + 624B39364165E2F23A3D4540 /* GlobalEditor_864x144.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = GlobalEditor_864x144.png; path = ../../Resources/ui/GlobalEditor_864x144.png; sourceTree = SOURCE_ROOT; }; + 6322687B925B988520542A6D /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = file.icns; path = Icon.icns; sourceTree = SOURCE_ROOT; }; + 64CF42AFC2E05AEF9D350CD2 /* env.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = env.h; path = ../../Source/msfa/env.h; sourceTree = SOURCE_ROOT; }; + 65BE679590BFE2466E16EA67 /* SysexComm.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = SysexComm.cpp; path = ../../Source/SysexComm.cpp; sourceTree = SOURCE_ROOT; }; + 66E042C6FFE93F0E19B32F09 /* Scaling_36_26.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Scaling_36_26.png; path = ../../Resources/ui/Scaling_36_26.png; sourceTree = SOURCE_ROOT; }; + 68D35AFE11BAA35EAE497D47 /* synth.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = synth.h; path = ../../Source/msfa/synth.h; sourceTree = SOURCE_ROOT; }; + 68EBBB35B7A5A57E4BA2F8E2 /* module.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = module.h; path = ../../Source/msfa/module.h; sourceTree = SOURCE_ROOT; }; + 6B3889626BDBB814F2387085 /* CartManager.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = CartManager.cpp; path = ../../Source/CartManager.cpp; sourceTree = SOURCE_ROOT; }; + 6ED6439CBE67C17C72336007 /* Dexed.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Dexed.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 6F55544FCF4F2953A5D63742 /* juce_gui_extra */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_gui_extra; path = ../../JuceLibraryCode/modules/juce_gui_extra; sourceTree = SOURCE_ROOT; }; + 6F9852573AA442CFBAD9695F /* RecentFilesMenuTemplate.nib */ = {isa = PBXFileReference; lastKnownFileType = file.nib; path = RecentFilesMenuTemplate.nib; sourceTree = SOURCE_ROOT; }; + 7228D8E143CA465FB15BD546 /* BinaryData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = BinaryData.h; path = ../../JuceLibraryCode/BinaryData.h; sourceTree = SOURCE_ROOT; }; + 78CA76788217B98287D9E007 /* fm_op_kernel.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fm_op_kernel.cc; path = ../../Source/msfa/fm_op_kernel.cc; sourceTree = SOURCE_ROOT; }; + 7936BBAA586387B2FAFB958B /* PluginData.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginData.cpp; path = ../../Source/PluginData.cpp; sourceTree = SOURCE_ROOT; }; + 7A58027CF8C6967B02370E01 /* EngineOpl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EngineOpl.h; path = ../../Source/EngineOpl.h; sourceTree = SOURCE_ROOT; }; + 817CC81F50861DAEEFB2043A /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; }; + 838A5E852BBD79A98CD9FDDD /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; + 838E63F5800CA577B92EF6AE /* OperatorEditor.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = OperatorEditor.cpp; path = ../../Source/OperatorEditor.cpp; sourceTree = SOURCE_ROOT; }; + 857732A2E35577F8D9DB0D9D /* include_juce_gui_extra.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_gui_extra.mm; path = ../../JuceLibraryCode/include_juce_gui_extra.mm; sourceTree = SOURCE_ROOT; }; + 86412A8C98A3287951990C1B /* lfo.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = lfo.h; path = ../../Source/msfa/lfo.h; sourceTree = SOURCE_ROOT; }; + 87DFAE33CBF0DB6075BDF13F /* include_juce_audio_devices.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_devices.mm; path = ../../JuceLibraryCode/include_juce_audio_devices.mm; sourceTree = SOURCE_ROOT; }; + 8AF9F9504D8671A590689E28 /* exp2.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = exp2.h; path = ../../Source/msfa/exp2.h; sourceTree = SOURCE_ROOT; }; + 8B19E0BEAD29F2C0D46FA89C /* Knob_34x34.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Knob_34x34.png; path = ../../Resources/ui/Knob_34x34.png; sourceTree = SOURCE_ROOT; }; + 8BADEB7BF1A65E83A7A1736D /* PluginFx.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = PluginFx.cpp; path = ../../Source/PluginFx.cpp; sourceTree = SOURCE_ROOT; }; + 8BEBEDCAD409EE3A5D383B6D /* EngineMkI.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = EngineMkI.cpp; path = ../../Source/EngineMkI.cpp; sourceTree = SOURCE_ROOT; }; + 8F32EF92B0A18751EC39A79B /* JuceHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JuceHeader.h; path = ../../JuceLibraryCode/JuceHeader.h; sourceTree = SOURCE_ROOT; }; + 8F395B738E7AB81A0333AF96 /* freqlut.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = freqlut.h; path = ../../Source/msfa/freqlut.h; sourceTree = SOURCE_ROOT; }; + 90C81F73CF37A82B34CC4A77 /* include_juce_audio_plugin_client_AU_2.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_plugin_client_AU_2.mm; path = ../../JuceLibraryCode/include_juce_audio_plugin_client_AU_2.mm; sourceTree = SOURCE_ROOT; }; + 919DF1054C09D19EDA044BE8 /* CoreAudioKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudioKit.framework; path = System/Library/Frameworks/CoreAudioKit.framework; sourceTree = SDKROOT; }; + 9AAC5E6C1A21F8FE2F66F0E0 /* ParamDialog.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = ParamDialog.h; path = ../../Source/ParamDialog.h; sourceTree = SOURCE_ROOT; }; + 9FB43E65C5F68B31FB16D0F5 /* OperatorEditor_287x218.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = OperatorEditor_287x218.png; path = ../../Resources/ui/OperatorEditor_287x218.png; sourceTree = SOURCE_ROOT; }; + A02775EA788AD4BF7DD1B1A1 /* DXLookNFeel.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DXLookNFeel.cpp; path = ../../Source/DXLookNFeel.cpp; sourceTree = SOURCE_ROOT; }; + A1FBE601670AC62662711143 /* juce_audio_plugin_client */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_audio_plugin_client; path = ../../JuceLibraryCode/modules/juce_audio_plugin_client; sourceTree = SOURCE_ROOT; }; + A2484C523F78F5614518A3E4 /* include_juce_audio_plugin_client_Standalone.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_audio_plugin_client_Standalone.cpp; path = ../../JuceLibraryCode/include_juce_audio_plugin_client_Standalone.cpp; sourceTree = SOURCE_ROOT; }; + A4732634AB48AFD0FB06D7FA /* AppConfig.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AppConfig.h; path = ../../JuceLibraryCode/AppConfig.h; sourceTree = SOURCE_ROOT; }; + A65D861B780A336E00059DE6 /* include_juce_audio_processors.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_processors.mm; path = ../../JuceLibraryCode/include_juce_audio_processors.mm; sourceTree = SOURCE_ROOT; }; + A81F4DC234E8D93BF9803529 /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; }; + ACC1CDF49C0F7F4FF305AF4E /* libDexed.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libDexed.a; sourceTree = BUILT_PRODUCTS_DIR; }; + AD4586B2B535DFAB7C1648A2 /* Info-AU.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-AU.plist"; sourceTree = SOURCE_ROOT; }; + AE09B4C2A4BDE8FDA01A8A13 /* dx7note.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = dx7note.cc; path = ../../Source/msfa/dx7note.cc; sourceTree = SOURCE_ROOT; }; + AE4C4D1A5DDF99EB579DB1D9 /* include_juce_audio_utils.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_utils.mm; path = ../../JuceLibraryCode/include_juce_audio_utils.mm; sourceTree = SOURCE_ROOT; }; + AF1DFD842A36E967DF140D5C /* aligned_buf.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = aligned_buf.h; path = ../../Source/msfa/aligned_buf.h; sourceTree = SOURCE_ROOT; }; + B0230FCCA099E6430411DFC9 /* sin.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = sin.cc; path = ../../Source/msfa/sin.cc; sourceTree = SOURCE_ROOT; }; + B0C8AB0D7A5940F43189FC7C /* Info-Standalone_Plugin.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-Standalone_Plugin.plist"; sourceTree = SOURCE_ROOT; }; + BD25F7AC4728A7875B6AE9D5 /* PluginEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginEditor.h; path = ../../Source/PluginEditor.h; sourceTree = SOURCE_ROOT; }; + BF7A1720DADC7983F61E895C /* ProgramListBox.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ProgramListBox.cpp; path = ../../Source/ProgramListBox.cpp; sourceTree = SOURCE_ROOT; }; + C01EE75D859C1F942DA3AE61 /* fm_core.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = fm_core.cc; path = ../../Source/msfa/fm_core.cc; sourceTree = SOURCE_ROOT; }; + C222D35AC4FC5C2A3BB0F8B6 /* EngineMkI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = EngineMkI.h; path = ../../Source/EngineMkI.h; sourceTree = SOURCE_ROOT; }; + C2AA393651CBC37DCD7718BD /* OperatorEditor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = OperatorEditor.h; path = ../../Source/OperatorEditor.h; sourceTree = SOURCE_ROOT; }; + C427B9E791D6256FECFD74E4 /* include_juce_audio_plugin_client_VST2.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = include_juce_audio_plugin_client_VST2.cpp; path = ../../JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp; sourceTree = SOURCE_ROOT; }; + C56E401381FF968837F82364 /* PluginData.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginData.h; path = ../../Source/PluginData.h; sourceTree = SOURCE_ROOT; }; + C5AF49D99419EE92E01F5D99 /* include_juce_data_structures.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_data_structures.mm; path = ../../JuceLibraryCode/include_juce_data_structures.mm; sourceTree = SOURCE_ROOT; }; + C6928FE8579AE1980061CA43 /* dx7note.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = dx7note.h; path = ../../Source/msfa/dx7note.h; sourceTree = SOURCE_ROOT; }; + C7577AF98915C39EDCEC259A /* Slider_26x26.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Slider_26x26.png; path = ../../Resources/ui/Slider_26x26.png; sourceTree = SOURCE_ROOT; }; + CBEE3341DEFF854B1D114C0B /* Meter_140x8.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Meter_140x8.png; path = ../../Resources/ui/Meter_140x8.png; sourceTree = SOURCE_ROOT; }; + D4F2B6C8105E1B62DAC5CCC1 /* juce_audio_basics */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_audio_basics; path = ../../JuceLibraryCode/modules/juce_audio_basics; sourceTree = SOURCE_ROOT; }; + D5E8818F417B8FBF0F9FECBD /* Light_14x14.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Light_14x14.png; path = ../../Resources/ui/Light_14x14.png; sourceTree = SOURCE_ROOT; }; + D66793B7DB6B5CFC22A1BD9D /* AlgoDisplay.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = AlgoDisplay.h; path = ../../Source/AlgoDisplay.h; sourceTree = SOURCE_ROOT; }; + D984CE634945077E682B48F3 /* DXComponents.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = DXComponents.cpp; path = ../../Source/DXComponents.cpp; sourceTree = SOURCE_ROOT; }; + DC75DFCDFCDB425927B11EC0 /* PluginFx.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginFx.h; path = ../../Source/PluginFx.h; sourceTree = SOURCE_ROOT; }; + DEF6BFE030E941796F3530A2 /* juce_events */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_events; path = ../../JuceLibraryCode/modules/juce_events; sourceTree = SOURCE_ROOT; }; + E32283AE8CC5A022E1A6B30B /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = System/Library/Frameworks/Accelerate.framework; sourceTree = SDKROOT; }; + E6F65C031FCBB192F3927D4C /* ButtonUnlabeled_50x30.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = ButtonUnlabeled_50x30.png; path = ../../Resources/ui/ButtonUnlabeled_50x30.png; sourceTree = SOURCE_ROOT; }; + E837015AC99B3C855B8FF312 /* include_juce_graphics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_graphics.mm; path = ../../JuceLibraryCode/include_juce_graphics.mm; sourceTree = SOURCE_ROOT; }; + E8CD2657F43430DE909099C9 /* include_juce_gui_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_gui_basics.mm; path = ../../JuceLibraryCode/include_juce_gui_basics.mm; sourceTree = SOURCE_ROOT; }; + EA6FC4F1F0D6EAE661569905 /* PluginParam.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = PluginParam.h; path = ../../Source/PluginParam.h; sourceTree = SOURCE_ROOT; }; + EAD4969F0C18D34DAC586341 /* Dexed.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Dexed.component; sourceTree = BUILT_PRODUCTS_DIR; }; + EE0EC08DA1C064F73F5C3D89 /* include_juce_audio_plugin_client_VST_utils.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_plugin_client_VST_utils.mm; path = ../../JuceLibraryCode/include_juce_audio_plugin_client_VST_utils.mm; sourceTree = SOURCE_ROOT; }; + F221CF21582EE0B8FE774583 /* ParamDialog.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = ParamDialog.cpp; path = ../../Source/ParamDialog.cpp; sourceTree = SOURCE_ROOT; }; + F258C148A5FB04C70976E92A /* SysexComm.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SysexComm.h; path = ../../Source/SysexComm.h; sourceTree = SOURCE_ROOT; }; + F38E4F0A432CAB98BA8F4F8A /* fm_op_kernel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = fm_op_kernel.h; path = ../../Source/msfa/fm_op_kernel.h; sourceTree = SOURCE_ROOT; }; + F3FAB9C8F8F0BE80F2B261E2 /* dexedIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = dexedIcon.png; path = ../../Resources/ui/dexedIcon.png; sourceTree = SOURCE_ROOT; }; + F47FA981083705D4B545339F /* pitchenv.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = pitchenv.h; path = ../../Source/msfa/pitchenv.h; sourceTree = SOURCE_ROOT; }; + F63CE53483AF125DCFB024F1 /* exp2.cc */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = exp2.cc; path = ../../Source/msfa/exp2.cc; sourceTree = SOURCE_ROOT; }; + F6520AE948C99EF20C526B48 /* include_juce_audio_basics.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_basics.mm; path = ../../JuceLibraryCode/include_juce_audio_basics.mm; sourceTree = SOURCE_ROOT; }; + F78327AD6BCA78813BE719F0 /* juce_gui_basics */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_gui_basics; path = ../../JuceLibraryCode/modules/juce_gui_basics; sourceTree = SOURCE_ROOT; }; + F96FE2B85242BF1E6CD61AC8 /* Info-VST.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-VST.plist"; sourceTree = SOURCE_ROOT; }; + FA7C860833E71840475A1541 /* include_juce_audio_plugin_client_AU_1.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = include_juce_audio_plugin_client_AU_1.mm; path = ../../JuceLibraryCode/include_juce_audio_plugin_client_AU_1.mm; sourceTree = SOURCE_ROOT; }; + FC856709502EE15E8D3F448B /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; }; + FFB4444DBB7FCC8F7BFAB119 /* juce_audio_utils */ = {isa = PBXFileReference; lastKnownFileType = text; name = juce_audio_utils; path = ../../JuceLibraryCode/modules/juce_audio_utils; sourceTree = SOURCE_ROOT; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 5A676342886FB9E7F0D3FED1 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0F60B663229C62720068A5F2 /* Accelerate.framework in Frameworks */, + 0F60B664229C62720068A5F2 /* AudioToolbox.framework in Frameworks */, + 0F60B665229C62720068A5F2 /* AudioUnit.framework in Frameworks */, + 0F60B666229C62720068A5F2 /* Carbon.framework in Frameworks */, + 0F60B667229C62720068A5F2 /* Cocoa.framework in Frameworks */, + 0F60B668229C62720068A5F2 /* CoreAudio.framework in Frameworks */, + 0F60B669229C62720068A5F2 /* CoreAudioKit.framework in Frameworks */, + 0F60B66A229C62720068A5F2 /* CoreMIDI.framework in Frameworks */, + 0F60B66B229C62720068A5F2 /* DiscRecording.framework in Frameworks */, + 0F60B66C229C62720068A5F2 /* IOKit.framework in Frameworks */, + 0F60B66D229C62720068A5F2 /* QuartzCore.framework in Frameworks */, + 0F60B66E229C62720068A5F2 /* WebKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 64C330F2B8621FD376081FA6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 0F60B655229C62720068A5F2 /* Accelerate.framework in Frameworks */, + 0F60B656229C62720068A5F2 /* AudioToolbox.framework in Frameworks */, + 0F60B657229C62720068A5F2 /* AudioUnit.framework in Frameworks */, + 0F60B658229C62720068A5F2 /* Carbon.framework in Frameworks */, + 0F60B659229C62720068A5F2 /* Cocoa.framework in Frameworks */, + 0F60B65A229C62720068A5F2 /* CoreAudio.framework in Frameworks */, + 0F60B65B229C62720068A5F2 /* CoreAudioKit.framework in Frameworks */, + 0F60B65C229C62720068A5F2 /* CoreMIDI.framework in Frameworks */, + 0F60B65D229C62720068A5F2 /* DiscRecording.framework in Frameworks */, + 0F60B65E229C62720068A5F2 /* IOKit.framework in Frameworks */, + 0F60B65F229C62720068A5F2 /* QuartzCore.framework in Frameworks */, + 0F60B660229C62720068A5F2 /* WebKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FC57B40E385B837BEECDD1C0 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 6443699C06267ECC22CF9D12 /* Accelerate.framework in Frameworks */, + 60686C2C30A9F2777CEF01BD /* AudioToolbox.framework in Frameworks */, + 77C3EA8D0A12986429BA466D /* AudioUnit.framework in Frameworks */, + E8BEA8ABF5E288C5D5FCD620 /* Carbon.framework in Frameworks */, + F329522961F1313091764113 /* Cocoa.framework in Frameworks */, + B0A4786A252B14B604101175 /* CoreAudio.framework in Frameworks */, + 82253A3BBFF29FC56A08C972 /* CoreAudioKit.framework in Frameworks */, + FA2AF2015CFD98299593EA30 /* CoreMIDI.framework in Frameworks */, + 7116DC8487DC8321F36CD3D8 /* DiscRecording.framework in Frameworks */, + 68878920F603FF1473994736 /* IOKit.framework in Frameworks */, + A7D45B047CA84D7EF7018CDC /* QuartzCore.framework in Frameworks */, + 7E444608AFB10ED54DB5C9AB /* WebKit.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 01533246E329E35CCD6F8580 /* Products */ = { + isa = PBXGroup; + children = ( + 2F0DF45A6D489E7732ED4217 /* Dexed.vst */, + EAD4969F0C18D34DAC586341 /* Dexed.component */, + 6ED6439CBE67C17C72336007 /* Dexed.app */, + ACC1CDF49C0F7F4FF305AF4E /* libDexed.a */, + ); + name = Products; + sourceTree = ""; + }; + 0652CE27AE4971C99654E3BF /* dsp */ = { + isa = PBXGroup; + children = ( + 8BADEB7BF1A65E83A7A1736D /* PluginFx.cpp */, + DC75DFCDFCDB425927B11EC0 /* PluginFx.h */, + 8BEBEDCAD409EE3A5D383B6D /* EngineMkI.cpp */, + C222D35AC4FC5C2A3BB0F8B6 /* EngineMkI.h */, + 61F792AFE04C15F413A4F766 /* EngineOpl.cpp */, + 7A58027CF8C6967B02370E01 /* EngineOpl.h */, + ); + name = dsp; + sourceTree = ""; + }; + 29B923E6EB12F97B68585AFC /* Source */ = { + isa = PBXGroup; + children = ( + 0652CE27AE4971C99654E3BF /* dsp */, + 427DD4218ED26D69B0149A90 /* ui */, + BDC5059F1563FD8DD69AD324 /* msfa */, + 0BD21CA621B7350EBED18C0A /* Dexed.h */, + 45ADFD8885BE76C7F7D999AC /* PluginProcessor.cpp */, + 5C0A1B7E2BF8FCAF5A1E8616 /* PluginProcessor.h */, + 59D15F780D468B587F9C7E78 /* PluginParam.cpp */, + EA6FC4F1F0D6EAE661569905 /* PluginParam.h */, + 7936BBAA586387B2FAFB958B /* PluginData.cpp */, + C56E401381FF968837F82364 /* PluginData.h */, + 65BE679590BFE2466E16EA67 /* SysexComm.cpp */, + F258C148A5FB04C70976E92A /* SysexComm.h */, + ); + name = Source; + sourceTree = ""; + }; + 37BC5C48642EECA7AE662C02 /* Frameworks */ = { + isa = PBXGroup; + children = ( + E32283AE8CC5A022E1A6B30B /* Accelerate.framework */, + 0A56796E1B84D05D8DD1100D /* AudioToolbox.framework */, + 838A5E852BBD79A98CD9FDDD /* AudioUnit.framework */, + 817CC81F50861DAEEFB2043A /* Carbon.framework */, + 2FDF76165C655B2E77BE4CFD /* Cocoa.framework */, + 3A01DC4DEBE65C313C7C8A44 /* CoreAudio.framework */, + 919DF1054C09D19EDA044BE8 /* CoreAudioKit.framework */, + A81F4DC234E8D93BF9803529 /* CoreMIDI.framework */, + 452C1184BD776249B33151E5 /* DiscRecording.framework */, + FC856709502EE15E8D3F448B /* IOKit.framework */, + 2F55D83145737DE69999DB92 /* QuartzCore.framework */, + 5E966C95FACF7B8D5A907FE3 /* WebKit.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + 3E0C3A2E8ED7ED09FA4E1CF0 /* JUCE Library Code */ = { + isa = PBXGroup; + children = ( + A4732634AB48AFD0FB06D7FA /* AppConfig.h */, + 54363D0B39B88D43447C0123 /* BinaryData.cpp */, + 7228D8E143CA465FB15BD546 /* BinaryData.h */, + F6520AE948C99EF20C526B48 /* include_juce_audio_basics.mm */, + 87DFAE33CBF0DB6075BDF13F /* include_juce_audio_devices.mm */, + 1D4F560C57B2F4E5A37B2888 /* include_juce_audio_formats.mm */, + 2AD1EA7A001215BA3787C71D /* include_juce_audio_plugin_client_AU.r */, + FA7C860833E71840475A1541 /* include_juce_audio_plugin_client_AU_1.mm */, + 90C81F73CF37A82B34CC4A77 /* include_juce_audio_plugin_client_AU_2.mm */, + A2484C523F78F5614518A3E4 /* include_juce_audio_plugin_client_Standalone.cpp */, + 049B1A9387F5CEE37D6D6209 /* include_juce_audio_plugin_client_utils.cpp */, + EE0EC08DA1C064F73F5C3D89 /* include_juce_audio_plugin_client_VST_utils.mm */, + C427B9E791D6256FECFD74E4 /* include_juce_audio_plugin_client_VST2.cpp */, + A65D861B780A336E00059DE6 /* include_juce_audio_processors.mm */, + AE4C4D1A5DDF99EB579DB1D9 /* include_juce_audio_utils.mm */, + 04FE48BE171395625D358467 /* include_juce_core.mm */, + C5AF49D99419EE92E01F5D99 /* include_juce_data_structures.mm */, + 1EFFAE052428252ED77E651A /* include_juce_events.mm */, + E837015AC99B3C855B8FF312 /* include_juce_graphics.mm */, + E8CD2657F43430DE909099C9 /* include_juce_gui_basics.mm */, + 857732A2E35577F8D9DB0D9D /* include_juce_gui_extra.mm */, + 8F32EF92B0A18751EC39A79B /* JuceHeader.h */, + ); + name = "JUCE Library Code"; + sourceTree = ""; + }; + 427DD4218ED26D69B0149A90 /* ui */ = { + isa = PBXGroup; + children = ( + 0F60B673229C652D0068A5F2 /* DexedMidiKeyboardComponent.cpp */, + 0F60B674229C652E0068A5F2 /* DexedMidiKeyboardComponent.h */, + 018D0FB9E97B68D2EB3E3F72 /* PluginEditor.cpp */, + BD25F7AC4728A7875B6AE9D5 /* PluginEditor.h */, + 6B3889626BDBB814F2387085 /* CartManager.cpp */, + 1C3A85D115878AA5A495199E /* CartManager.h */, + BF7A1720DADC7983F61E895C /* ProgramListBox.cpp */, + 0831514ABD7A268115E6FD43 /* ProgramListBox.h */, + F221CF21582EE0B8FE774583 /* ParamDialog.cpp */, + 9AAC5E6C1A21F8FE2F66F0E0 /* ParamDialog.h */, + 03813BF0D93D100F6F0393C9 /* AlgoDisplay.cpp */, + D66793B7DB6B5CFC22A1BD9D /* AlgoDisplay.h */, + A02775EA788AD4BF7DD1B1A1 /* DXLookNFeel.cpp */, + 29D6A187B80D22EB609C256D /* DXLookNFeel.h */, + D984CE634945077E682B48F3 /* DXComponents.cpp */, + 4567FB06348FF519FDC6D698 /* DXComponents.h */, + 838E63F5800CA577B92EF6AE /* OperatorEditor.cpp */, + C2AA393651CBC37DCD7718BD /* OperatorEditor.h */, + 19CEF599CB23958AC63D427E /* GlobalEditor.cpp */, + 4B70CBF4DB4E571EDF5D3114 /* GlobalEditor.h */, + ); + name = ui; + sourceTree = ""; + }; + 47F1FC7D160024027C543D04 /* Resources */ = { + isa = PBXGroup; + children = ( + F96FE2B85242BF1E6CD61AC8 /* Info-VST.plist */, + AD4586B2B535DFAB7C1648A2 /* Info-AU.plist */, + B0C8AB0D7A5940F43189FC7C /* Info-Standalone_Plugin.plist */, + 6F9852573AA442CFBAD9695F /* RecentFilesMenuTemplate.nib */, + 6322687B925B988520542A6D /* Icon.icns */, + ); + name = Resources; + sourceTree = ""; + }; + 8FF698E2E4B3B82B8C64B444 /* Source */ = { + isa = PBXGroup; + children = ( + 188891FAC90E0F0A25B8E3D8 /* Dexed.entitlements */, + C21CEF3B473FDC99270B7623 /* Dexed */, + D62CAA66658707456DEC1897 /* JUCE Modules */, + 3E0C3A2E8ED7ED09FA4E1CF0 /* JUCE Library Code */, + 47F1FC7D160024027C543D04 /* Resources */, + 37BC5C48642EECA7AE662C02 /* Frameworks */, + 01533246E329E35CCD6F8580 /* Products */, + ); + name = Source; + sourceTree = ""; + }; + BDC5059F1563FD8DD69AD324 /* msfa */ = { + isa = PBXGroup; + children = ( + 3715DFDD7A1B12083F051F5A /* freqlut.cc */, + 8F395B738E7AB81A0333AF96 /* freqlut.h */, + 2D26E2304C0F6FC633936014 /* lfo.cc */, + 86412A8C98A3287951990C1B /* lfo.h */, + AF1DFD842A36E967DF140D5C /* aligned_buf.h */, + 30B133CA0CDC245A147F4689 /* controllers.h */, + AE09B4C2A4BDE8FDA01A8A13 /* dx7note.cc */, + C6928FE8579AE1980061CA43 /* dx7note.h */, + 00FDFD1ABE59B4CEF74BF5A3 /* env.cc */, + 64CF42AFC2E05AEF9D350CD2 /* env.h */, + F63CE53483AF125DCFB024F1 /* exp2.cc */, + 8AF9F9504D8671A590689E28 /* exp2.h */, + C01EE75D859C1F942DA3AE61 /* fm_core.cc */, + 1B06A67DF2B4FD2969A9781A /* fm_core.h */, + 78CA76788217B98287D9E007 /* fm_op_kernel.cc */, + F38E4F0A432CAB98BA8F4F8A /* fm_op_kernel.h */, + 68EBBB35B7A5A57E4BA2F8E2 /* module.h */, + 51E5757E2D48E638F9A4CB61 /* pitchenv.cc */, + F47FA981083705D4B545339F /* pitchenv.h */, + B0230FCCA099E6430411DFC9 /* sin.cc */, + 3BE8F91A99E8F48CB9F10C1F /* sin.h */, + 68D35AFE11BAA35EAE497D47 /* synth.h */, + ); + name = msfa; + sourceTree = ""; + }; + C21CEF3B473FDC99270B7623 /* Dexed */ = { + isa = PBXGroup; + children = ( + F472964B0FFEE5615B72CE3D /* Resources */, + 29B923E6EB12F97B68585AFC /* Source */, + ); + name = Dexed; + sourceTree = ""; + }; + D62CAA66658707456DEC1897 /* JUCE Modules */ = { + isa = PBXGroup; + children = ( + D4F2B6C8105E1B62DAC5CCC1 /* juce_audio_basics */, + 37CC2D88FE9D3475E108DF72 /* juce_audio_devices */, + 41FD248DC24085072C2F9470 /* juce_audio_formats */, + A1FBE601670AC62662711143 /* juce_audio_plugin_client */, + 400892A62E3B8D216EC747AA /* juce_audio_processors */, + FFB4444DBB7FCC8F7BFAB119 /* juce_audio_utils */, + 497089C13B0CDEF10A7BAEDD /* juce_core */, + 0F220BE0B0E039759FBF22E3 /* juce_data_structures */, + DEF6BFE030E941796F3530A2 /* juce_events */, + 4B9343CF170B07BD305D6D7F /* juce_graphics */, + F78327AD6BCA78813BE719F0 /* juce_gui_basics */, + 6F55544FCF4F2953A5D63742 /* juce_gui_extra */, + ); + name = "JUCE Modules"; + sourceTree = ""; + }; + F472964B0FFEE5615B72CE3D /* Resources */ = { + isa = PBXGroup; + children = ( + F3FAB9C8F8F0BE80F2B261E2 /* dexedIcon.png */, + 2CBFFF86BDEB0B89734D6956 /* Switch_32x32.png */, + 0D5761BE1D2DEA319B57D740 /* Switch_48x26.png */, + E6F65C031FCBB192F3927D4C /* ButtonUnlabeled_50x30.png */, + 8B19E0BEAD29F2C0D46FA89C /* Knob_34x34.png */, + 4C67D4B9902C1B0CC80E11D8 /* LFO_36_26.png */, + D5E8818F417B8FBF0F9FECBD /* Light_14x14.png */, + CBEE3341DEFF854B1D114C0B /* Meter_140x8.png */, + 66E042C6FFE93F0E19B32F09 /* Scaling_36_26.png */, + C7577AF98915C39EDCEC259A /* Slider_26x26.png */, + 1D72CD485011A4EA3E6B0FD5 /* NotoSans-Regular.ttf */, + 5A366F36F3B4E50587A30351 /* NotoSans-Bold.ttf */, + 15B75D829C40872D542A38B8 /* builtin_pgm.zip */, + 0E3FA3D7B11FC7D19CC634BE /* about.png */, + 624B39364165E2F23A3D4540 /* GlobalEditor_864x144.png */, + 9FB43E65C5F68B31FB16D0F5 /* OperatorEditor_287x218.png */, + ); + name = Resources; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 257C7EAF4BE2A61E8C8FEE7B /* Dexed - AU */ = { + isa = PBXNativeTarget; + buildConfigurationList = E47DC75093413799707737D6 /* Build configuration list for PBXNativeTarget "Dexed - AU" */; + buildPhases = ( + A502D6E40637E81E719C016F /* Resources */, + 83C66513F980259F460EC6BF /* Rez */, + 254803913081EAFB65FC63B8 /* Sources */, + 64C330F2B8621FD376081FA6 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 57952C722FCEDC11B915AC23 /* PBXTargetDependency */, + ); + name = "Dexed - AU"; + productName = Dexed; + productReference = EAD4969F0C18D34DAC586341 /* Dexed.component */; + productType = "com.apple.product-type.bundle"; + }; + 8D636399F35A44B4CEA6EDEB /* Dexed - Shared Code */ = { + isa = PBXNativeTarget; + buildConfigurationList = 6F54E31E257A2F1E1D78FB49 /* Build configuration list for PBXNativeTarget "Dexed - Shared Code" */; + buildPhases = ( + 40F477B097FD98E008A4777D /* Sources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "Dexed - Shared Code"; + productName = Dexed; + productReference = ACC1CDF49C0F7F4FF305AF4E /* libDexed.a */; + productType = "com.apple.product-type.library.static"; + }; + B85A7FAE3F78012F8709A078 /* Dexed - VST */ = { + isa = PBXNativeTarget; + buildConfigurationList = 536908C9D2F581D2ACAC5D00 /* Build configuration list for PBXNativeTarget "Dexed - VST" */; + buildPhases = ( + 608D120C96FC6C1BF6DE2789 /* Resources */, + ADDA17D09ED82CA456A2CE1F /* Sources */, + FC57B40E385B837BEECDD1C0 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 57952C722FCEDC11B915AC23 /* PBXTargetDependency */, + ); + name = "Dexed - VST"; + productName = Dexed; + productReference = 2F0DF45A6D489E7732ED4217 /* Dexed.vst */; + productType = "com.apple.product-type.bundle"; + }; + BD35E770F72A5AB3F4E97848 /* Dexed - Standalone Plugin */ = { + isa = PBXNativeTarget; + buildConfigurationList = 8D8FDCA66E483470344CE9B3 /* Build configuration list for PBXNativeTarget "Dexed - Standalone Plugin" */; + buildPhases = ( + 9D060DA4C4E2BECBBF4CD93B /* Resources */, + 0D956ED4A18B3A899F5325A5 /* Sources */, + 5A676342886FB9E7F0D3FED1 /* Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + 57952C722FCEDC11B915AC23 /* PBXTargetDependency */, + ); + name = "Dexed - Standalone Plugin"; + productName = Dexed; + productReference = 6ED6439CBE67C17C72336007 /* Dexed.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 0DA61024CABBA334F84603C0 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0830; + ORGANIZATIONNAME = "Digital Suburban"; + TargetAttributes = { + 257C7EAF4BE2A61E8C8FEE7B = { + SystemCapabilities = { + com.apple.ApplicationGroups.iOS = { + enabled = 0; + }; + com.apple.InAppPurchase = { + enabled = 0; + }; + com.apple.InterAppAudio = { + enabled = 0; + }; + com.apple.Push = { + enabled = 0; + }; + com.apple.Sandbox = { + enabled = 0; + }; + }; + }; + 394A664BBBD0FEB67E4C5BF7 = { + SystemCapabilities = { + com.apple.ApplicationGroups.iOS = { + enabled = 0; + }; + com.apple.InAppPurchase = { + enabled = 0; + }; + com.apple.InterAppAudio = { + enabled = 0; + }; + com.apple.Push = { + enabled = 0; + }; + com.apple.Sandbox = { + enabled = 0; + }; + }; + }; + 8D636399F35A44B4CEA6EDEB = { + SystemCapabilities = { + com.apple.ApplicationGroups.iOS = { + enabled = 0; + }; + com.apple.InAppPurchase = { + enabled = 0; + }; + com.apple.InterAppAudio = { + enabled = 0; + }; + com.apple.Push = { + enabled = 0; + }; + com.apple.Sandbox = { + enabled = 0; + }; + }; + }; + B85A7FAE3F78012F8709A078 = { + SystemCapabilities = { + com.apple.ApplicationGroups.iOS = { + enabled = 0; + }; + com.apple.InAppPurchase = { + enabled = 0; + }; + com.apple.InterAppAudio = { + enabled = 0; + }; + com.apple.Push = { + enabled = 0; + }; + com.apple.Sandbox = { + enabled = 0; + }; + }; + }; + BD35E770F72A5AB3F4E97848 = { + SystemCapabilities = { + com.apple.ApplicationGroups.iOS = { + enabled = 0; + }; + com.apple.InAppPurchase = { + enabled = 0; + }; + com.apple.InterAppAudio = { + enabled = 0; + }; + com.apple.Push = { + enabled = 0; + }; + com.apple.Sandbox = { + enabled = 0; + }; + }; + }; + }; + }; + buildConfigurationList = 79EC971C74D382E87C0F443D /* Build configuration list for PBXProject "Dexed" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = 8FF698E2E4B3B82B8C64B444 /* Source */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 394A664BBBD0FEB67E4C5BF7 /* Dexed - All */, + B85A7FAE3F78012F8709A078 /* Dexed - VST */, + 257C7EAF4BE2A61E8C8FEE7B /* Dexed - AU */, + BD35E770F72A5AB3F4E97848 /* Dexed - Standalone Plugin */, + 8D636399F35A44B4CEA6EDEB /* Dexed - Shared Code */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 608D120C96FC6C1BF6DE2789 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 813B2285513D65DDA30AA6E3 /* RecentFilesMenuTemplate.nib in Resources */, + 1675562B85E6B979C217EBFC /* Icon.icns in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 9D060DA4C4E2BECBBF4CD93B /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0F60B661229C62720068A5F2 /* RecentFilesMenuTemplate.nib in Resources */, + 0F60B662229C62720068A5F2 /* Icon.icns in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + A502D6E40637E81E719C016F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 0F60B653229C62720068A5F2 /* RecentFilesMenuTemplate.nib in Resources */, + 0F60B654229C62720068A5F2 /* Icon.icns in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXRezBuildPhase section */ + 83C66513F980259F460EC6BF /* Rez */ = { + isa = PBXRezBuildPhase; + buildActionMask = 2147483647; + files = ( + F2A31A40F31309656C86A4F4 /* include_juce_audio_plugin_client_AU.r in Rez */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXRezBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 0D956ED4A18B3A899F5325A5 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E393463EA71B7C11FC9B2CD0 /* include_juce_audio_plugin_client_Standalone.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 254803913081EAFB65FC63B8 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 7BF692FB5E4B4C6C77FCFDA0 /* include_juce_audio_plugin_client_AU_1.mm in Sources */, + 23613F24F03D90F670247838 /* include_juce_audio_plugin_client_AU_2.mm in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 40F477B097FD98E008A4777D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + B18C192606DF6079E7B9AEB9 /* PluginFx.cpp in Sources */, + 697C52FD23363CB2EB9075C6 /* EngineMkI.cpp in Sources */, + 4B27ACC5993C8C74FFCDD3BB /* EngineOpl.cpp in Sources */, + 478699B4EF80A1A1C0D34C10 /* PluginEditor.cpp in Sources */, + 6252C45CDFF75E05CCDBF737 /* CartManager.cpp in Sources */, + 69A60891A52C61989A205791 /* ProgramListBox.cpp in Sources */, + CD1CF0C6B4AB9F4C8175FE08 /* ParamDialog.cpp in Sources */, + 8F3B0996452972F266C749E0 /* AlgoDisplay.cpp in Sources */, + D5A4D43A16EA4C71D53E96CD /* DXLookNFeel.cpp in Sources */, + 8121E10419E2D99645EA254E /* DXComponents.cpp in Sources */, + 082D6FF34EFF195C3A3B0CFB /* OperatorEditor.cpp in Sources */, + C510246D7D5E162C9DE63DDE /* GlobalEditor.cpp in Sources */, + 3AB728E101D7B85DD39C5CC8 /* freqlut.cc in Sources */, + FAC9C3E771D11FDA4DFAF17E /* lfo.cc in Sources */, + 47C317B0F77A29ECA0400B2B /* dx7note.cc in Sources */, + 9EC12165834B1341938E951D /* env.cc in Sources */, + F9A9CC03BA0B3030E92675AD /* exp2.cc in Sources */, + 7B82F1D5F8DED01AA8988D33 /* fm_core.cc in Sources */, + 434647C21C803FA8A4D44A70 /* fm_op_kernel.cc in Sources */, + 95105DC8536836A06FD5C7BB /* pitchenv.cc in Sources */, + 0D3132A8B412AE9E63024927 /* sin.cc in Sources */, + 1CBFE444B43C89E749602B7F /* PluginProcessor.cpp in Sources */, + 623AFA9E78826CA0136251DF /* PluginParam.cpp in Sources */, + 8BE2A084394DA3E45DDB5646 /* PluginData.cpp in Sources */, + 0F60B675229C652E0068A5F2 /* DexedMidiKeyboardComponent.cpp in Sources */, + EC23F9F2EE10A2DE3CB6D406 /* SysexComm.cpp in Sources */, + 1C87DA0B69D67481FC6CF4FD /* BinaryData.cpp in Sources */, + 38BFC68CC5D31B3B0351F0B6 /* include_juce_audio_basics.mm in Sources */, + 2CD04823B0F4759B7A2E5398 /* include_juce_audio_devices.mm in Sources */, + 0160B26E85D90D23CEC48CC5 /* include_juce_audio_formats.mm in Sources */, + 36A10FB9E3742B694E159B14 /* include_juce_audio_plugin_client_utils.cpp in Sources */, + 535BB5106E9037252387567F /* include_juce_audio_plugin_client_VST_utils.mm in Sources */, + A75C179712D4F59160200035 /* include_juce_audio_processors.mm in Sources */, + 76A2B27B08BD77594E1A8C95 /* include_juce_audio_utils.mm in Sources */, + 2C617A27B09970640A6DF593 /* include_juce_core.mm in Sources */, + 45A9DAF2ABCD48016173E9D3 /* include_juce_data_structures.mm in Sources */, + 74201460E8798B14603296A3 /* include_juce_events.mm in Sources */, + 93095A7B8240722727C8507C /* include_juce_graphics.mm in Sources */, + 191E15E49A6BCA75D79BD0B8 /* include_juce_gui_basics.mm in Sources */, + A9DF6BAEA633EC2CFF7D946E /* include_juce_gui_extra.mm in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + ADDA17D09ED82CA456A2CE1F /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 6097F7DEB38FA9D2D70CB94D /* include_juce_audio_plugin_client_VST2.cpp in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 27A8A5DA1320C1677729D57A /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = BD35E770F72A5AB3F4E97848 /* Dexed - Standalone Plugin */; + targetProxy = 0F60B672229C62770068A5F2 /* PBXContainerItemProxy */; + }; + 57952C722FCEDC11B915AC23 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 8D636399F35A44B4CEA6EDEB /* Dexed - Shared Code */; + targetProxy = 0F60B66F229C62760068A5F2 /* PBXContainerItemProxy */; + }; + 63D3B1D351DD050B0F446528 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 257C7EAF4BE2A61E8C8FEE7B /* Dexed - AU */; + targetProxy = 0F60B671229C62770068A5F2 /* PBXContainerItemProxy */; + }; + AEED06CF06345EA963813899 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = B85A7FAE3F78012F8709A078 /* Dexed - VST */; + targetProxy = 0F60B670229C62770068A5F2 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin XCBuildConfiguration section */ + 074225CE438ED57F5AFCD552 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "c++1z"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; - COPY_PHASE_STRIP = NO; + DEAD_CODE_STRIPPING = YES; DEPLOYMENT_LOCATION = YES; DSTROOT = /; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; GCC_PREPROCESSOR_DEFINITIONS = ( - "_DEBUG=1", - "DEBUG=1", + "_NDEBUG=1", + "NDEBUG=1", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", - "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", - "JucePlugin_Build_AU=0", + "JucePlugin_Build_AU=1", "JucePlugin_Build_AUv3=0", "JucePlugin_Build_RTAS=0", "JucePlugin_Build_AAX=0", - "JucePlugin_Build_Standalone=0", ); + "JucePlugin_Build_Standalone=0", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "../../JuceLibraryCode/modules/juce_audio_plugin_client", "$(inherited)"); - INFOPLIST_FILE = Info-VST.plist; + HEADER_SEARCH_PATHS = ( + ../../JuceLibraryCode, + ../../JuceLibraryCode/modules, + ../../JuceLibraryCode/modules/juce_audio_plugin_client, + "$(inherited)", + ); + INFOPLIST_FILE = "Info-AU.plist"; INFOPLIST_PREPROCESS = NO; - INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; LIBRARY_STYLE = Bundle; - MACOSX_DEPLOYMENT_TARGET = 10.10; + LLVM_LTO = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; - OTHER_LDFLAGS = "-bundle -lDexed"; + OTHER_LDFLAGS = ( + "-bundle", + "-lDexed", + ); + OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; PRODUCT_BUNDLE_IDENTIFIER = com.digitalsuburban.Dexed; SDKROOT_ppc = macosx10.5; USE_HEADERMAP = NO; - WRAPPER_EXTENSION = vst; }; name = Debug; }; - 5A7D4CB14F1ECF2BC922D0D8 = {isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + WRAPPER_EXTENSION = component; + }; + name = Release; + }; + 164731727DFE228515FE9A35 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = c11; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PRODUCT_NAME = Dexed; + WARNING_CFLAGS = "-Wreorder"; + ZERO_LINK = NO; + }; + name = Debug; + }; + 1F51A4544E7E3E72CAFCC59B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = c11; + GCC_INLINES_ARE_PRIVATE_EXTERN = YES; + GCC_MODEL_TUNING = G5; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; + GCC_WARN_MISSING_PARENTHESES = YES; + GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; + GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + PRODUCT_NAME = Dexed; + WARNING_CFLAGS = "-Wreorder"; + ZERO_LINK = NO; + }; + name = Release; + }; + 2DBA8F1DC382404D85BCBA4D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "c++1z"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; - DEAD_CODE_STRIPPING = YES; + COPY_PHASE_STRIP = NO; DEPLOYMENT_LOCATION = YES; DSTROOT = /; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_OPTIMIZATION_LEVEL = 3; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "_NDEBUG=1", - "NDEBUG=1", + "_DEBUG=1", + "DEBUG=1", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", - "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", - "JucePlugin_Build_AU=0", + "JucePlugin_Build_AU=1", "JucePlugin_Build_AUv3=0", "JucePlugin_Build_RTAS=0", "JucePlugin_Build_AAX=0", - "JucePlugin_Build_Standalone=0", ); - GCC_SYMBOLS_PRIVATE_EXTERN = YES; + "JucePlugin_Build_Standalone=0", + ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "../../JuceLibraryCode/modules/juce_audio_plugin_client", "$(inherited)"); - INFOPLIST_FILE = Info-VST.plist; + HEADER_SEARCH_PATHS = ( + ../../JuceLibraryCode, + ../../JuceLibraryCode/modules, + ../../JuceLibraryCode/modules/juce_audio_plugin_client, + "$(inherited)", + ); + INFOPLIST_FILE = "Info-AU.plist"; INFOPLIST_PREPROCESS = NO; - INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; LIBRARY_STYLE = Bundle; - LLVM_LTO = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; + MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; - OTHER_LDFLAGS = "-bundle -lDexed"; + OTHER_LDFLAGS = ( + "-bundle", + "-lDexed", + ); + OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; PRODUCT_BUNDLE_IDENTIFIER = com.digitalsuburban.Dexed; SDKROOT_ppc = macosx10.5; USE_HEADERMAP = NO; - WRAPPER_EXTENSION = vst; }; name = Release; }; - 2DBA8F1DC382404D85BCBA4D = {isa = XCBuildConfiguration; buildSettings = { + WRAPPER_EXTENSION = component; + }; + name = Debug; + }; + 3CBEEA75D64AE87CB4FC1534 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "c++1z"; CLANG_LINK_OBJC_RUNTIME = NO; @@ -444,29 +1110,49 @@ "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", - "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST=1", "JucePlugin_Build_VST3=0", - "JucePlugin_Build_AU=1", + "JucePlugin_Build_AU=0", "JucePlugin_Build_AUv3=0", "JucePlugin_Build_RTAS=0", "JucePlugin_Build_AAX=0", - "JucePlugin_Build_Standalone=0", ); + "JucePlugin_Build_Standalone=0", + ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "../../JuceLibraryCode/modules/juce_audio_plugin_client", "$(inherited)"); - INFOPLIST_FILE = Info-AU.plist; + HEADER_SEARCH_PATHS = ( + ../../JuceLibraryCode, + ../../JuceLibraryCode/modules, + ../../JuceLibraryCode/modules/juce_audio_plugin_client, + "$(inherited)", + ); + INFOPLIST_FILE = "Info-VST.plist"; INFOPLIST_PREPROCESS = NO; - INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; LIBRARY_STYLE = Bundle; MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; - OTHER_LDFLAGS = "-bundle -lDexed"; - OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + OTHER_LDFLAGS = ( + "-bundle", + "-lDexed", + ); PRODUCT_BUNDLE_IDENTIFIER = com.digitalsuburban.Dexed; SDKROOT_ppc = macosx10.5; USE_HEADERMAP = NO; - WRAPPER_EXTENSION = component; }; name = Debug; }; - 074225CE438ED57F5AFCD552 = {isa = XCBuildConfiguration; buildSettings = { + WRAPPER_EXTENSION = vst; + }; + name = Debug; + }; + 57AB3E3417E22462A18BE5BD /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + MACOSX_DEPLOYMENT_TARGET = 10.10; + }; + name = Debug; + }; + 5A7D4CB14F1ECF2BC922D0D8 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "c++1z"; CLANG_LINK_OBJC_RUNTIME = NO; @@ -483,31 +1169,44 @@ "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", - "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST=1", "JucePlugin_Build_VST3=0", - "JucePlugin_Build_AU=1", + "JucePlugin_Build_AU=0", "JucePlugin_Build_AUv3=0", "JucePlugin_Build_RTAS=0", "JucePlugin_Build_AAX=0", - "JucePlugin_Build_Standalone=0", ); + "JucePlugin_Build_Standalone=0", + ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; GENERATE_PKGINFO_FILE = YES; - HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "../../JuceLibraryCode/modules/juce_audio_plugin_client", "$(inherited)"); - INFOPLIST_FILE = Info-AU.plist; + HEADER_SEARCH_PATHS = ( + ../../JuceLibraryCode, + ../../JuceLibraryCode/modules, + ../../JuceLibraryCode/modules/juce_audio_plugin_client, + "$(inherited)", + ); + INFOPLIST_FILE = "Info-VST.plist"; INFOPLIST_PREPROCESS = NO; - INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/"; + INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/VST/"; LIBRARY_STYLE = Bundle; LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.7; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; - OTHER_LDFLAGS = "-bundle -lDexed"; - OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Extras/CoreAudio/AudioUnits/AUPublic/AUBase\""; + OTHER_LDFLAGS = ( + "-bundle", + "-lDexed", + ); PRODUCT_BUNDLE_IDENTIFIER = com.digitalsuburban.Dexed; SDKROOT_ppc = macosx10.5; USE_HEADERMAP = NO; - WRAPPER_EXTENSION = component; }; name = Release; }; - B2CD4FC4A324439F8947183C = {isa = XCBuildConfiguration; buildSettings = { + WRAPPER_EXTENSION = vst; + }; + name = Release; + }; + 924F53B03D39684973CDDB35 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "c++1z"; CLANG_LINK_OBJC_RUNTIME = NO; @@ -522,24 +1221,34 @@ "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", - "JucePlugin_Build_VST=0", + "JucePlugin_Build_VST=1", "JucePlugin_Build_VST3=0", - "JucePlugin_Build_AU=0", + "JucePlugin_Build_AU=1", "JucePlugin_Build_AUv3=0", "JucePlugin_Build_RTAS=0", "JucePlugin_Build_AAX=0", - "JucePlugin_Build_Standalone=1", ); + "JucePlugin_Build_Standalone=1", + "JUCE_SHARED_CODE=1", + ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "../../JuceLibraryCode/modules/juce_audio_plugin_client", "$(inherited)"); - INFOPLIST_FILE = Info-Standalone_Plugin.plist; - INFOPLIST_PREPROCESS = NO; + HEADER_SEARCH_PATHS = ( + ../../JuceLibraryCode, + ../../JuceLibraryCode/modules, + ../../JuceLibraryCode/modules/juce_audio_plugin_client, + "$(inherited)", + ); + INSTALL_PATH = "@executable_path/../Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; - OTHER_LDFLAGS = "-lDexed"; PRODUCT_BUNDLE_IDENTIFIER = com.digitalsuburban.Dexed; SDKROOT_ppc = macosx10.5; - USE_HEADERMAP = NO; }; name = Debug; }; - 9D9DC2FC0C58509FF08A2B40 = {isa = XCBuildConfiguration; buildSettings = { + USE_HEADERMAP = NO; + }; + name = Debug; + }; + 9D9DC2FC0C58509FF08A2B40 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "c++1z"; CLANG_LINK_OBJC_RUNTIME = NO; @@ -560,11 +1269,17 @@ "JucePlugin_Build_AUv3=0", "JucePlugin_Build_RTAS=0", "JucePlugin_Build_AAX=0", - "JucePlugin_Build_Standalone=1", ); + "JucePlugin_Build_Standalone=1", + ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "../../JuceLibraryCode/modules/juce_audio_plugin_client", "$(inherited)"); - INFOPLIST_FILE = Info-Standalone_Plugin.plist; + HEADER_SEARCH_PATHS = ( + ../../JuceLibraryCode, + ../../JuceLibraryCode/modules, + ../../JuceLibraryCode/modules/juce_audio_plugin_client, + "$(inherited)", + ); + INFOPLIST_FILE = "Info-Standalone_Plugin.plist"; INFOPLIST_PREPROCESS = NO; LLVM_LTO = YES; MACOSX_DEPLOYMENT_TARGET = 10.7; @@ -572,19 +1287,24 @@ OTHER_LDFLAGS = "-lDexed"; PRODUCT_BUNDLE_IDENTIFIER = com.digitalsuburban.Dexed; SDKROOT_ppc = macosx10.5; - USE_HEADERMAP = NO; }; name = Release; }; - 924F53B03D39684973CDDB35 = {isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_64_BIT)"; + USE_HEADERMAP = NO; + }; + name = Release; + }; + 9E287B5C3C873D0D76B40A50 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "c++1z"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; - COPY_PHASE_STRIP = NO; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; + DEAD_CODE_STRIPPING = YES; + GCC_GENERATE_DEBUGGING_SYMBOLS = NO; + GCC_OPTIMIZATION_LEVEL = 3; GCC_PREPROCESSOR_DEFINITIONS = ( - "_DEBUG=1", - "DEBUG=1", + "_NDEBUG=1", + "NDEBUG=1", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", @@ -595,264 +1315,134 @@ "JucePlugin_Build_RTAS=0", "JucePlugin_Build_AAX=0", "JucePlugin_Build_Standalone=1", - "JUCE_SHARED_CODE=1", ); + "JUCE_SHARED_CODE=1", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "../../JuceLibraryCode/modules/juce_audio_plugin_client", "$(inherited)"); + HEADER_SEARCH_PATHS = ( + ../../JuceLibraryCode, + ../../JuceLibraryCode/modules, + ../../JuceLibraryCode/modules/juce_audio_plugin_client, + "$(inherited)", + ); INSTALL_PATH = "@executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; + LLVM_LTO = YES; + MACOSX_DEPLOYMENT_TARGET = 10.7; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; PRODUCT_BUNDLE_IDENTIFIER = com.digitalsuburban.Dexed; SDKROOT_ppc = macosx10.5; - USE_HEADERMAP = NO; }; name = Debug; }; - 9E287B5C3C873D0D76B40A50 = {isa = XCBuildConfiguration; buildSettings = { - ARCHS = "$(ARCHS_STANDARD_32_64_BIT)"; + USE_HEADERMAP = NO; + }; + name = Release; + }; + B2CD4FC4A324439F8947183C /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_64_BIT)"; CLANG_CXX_LANGUAGE_STANDARD = "c++1z"; CLANG_LINK_OBJC_RUNTIME = NO; COMBINE_HIDPI_IMAGES = YES; CONFIGURATION_BUILD_DIR = "$(PROJECT_DIR)/build/$(CONFIGURATION)"; - DEAD_CODE_STRIPPING = YES; - GCC_GENERATE_DEBUGGING_SYMBOLS = NO; - GCC_OPTIMIZATION_LEVEL = 3; + COPY_PHASE_STRIP = NO; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( - "_NDEBUG=1", - "NDEBUG=1", + "_DEBUG=1", + "DEBUG=1", "JUCER_XCODE_MAC_F6D2F4CF=1", "JUCE_APP_VERSION=1.0.0", "JUCE_APP_VERSION_HEX=0x10000", - "JucePlugin_Build_VST=1", + "JucePlugin_Build_VST=0", "JucePlugin_Build_VST3=0", - "JucePlugin_Build_AU=1", + "JucePlugin_Build_AU=0", "JucePlugin_Build_AUv3=0", "JucePlugin_Build_RTAS=0", "JucePlugin_Build_AAX=0", "JucePlugin_Build_Standalone=1", - "JUCE_SHARED_CODE=1", ); - GCC_SYMBOLS_PRIVATE_EXTERN = YES; + ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; - HEADER_SEARCH_PATHS = ("../../JuceLibraryCode", "../../JuceLibraryCode/modules", "../../JuceLibraryCode/modules/juce_audio_plugin_client", "$(inherited)"); - INSTALL_PATH = "@executable_path/../Frameworks"; - LLVM_LTO = YES; - MACOSX_DEPLOYMENT_TARGET = 10.7; + HEADER_SEARCH_PATHS = ( + ../../JuceLibraryCode, + ../../JuceLibraryCode/modules, + ../../JuceLibraryCode/modules/juce_audio_plugin_client, + "$(inherited)", + ); + INFOPLIST_FILE = "Info-Standalone_Plugin.plist"; + INFOPLIST_PREPROCESS = NO; + MACOSX_DEPLOYMENT_TARGET = 10.10; MACOSX_DEPLOYMENT_TARGET_ppc = 10.4; + OTHER_LDFLAGS = "-lDexed"; PRODUCT_BUNDLE_IDENTIFIER = com.digitalsuburban.Dexed; SDKROOT_ppc = macosx10.5; - USE_HEADERMAP = NO; }; name = Release; }; - 164731727DFE228515FE9A35 = {isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - DEBUG_INFORMATION_FORMAT = "dwarf"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = c11; - GCC_INLINES_ARE_PRIVATE_EXTERN = YES; - GCC_MODEL_TUNING = G5; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; - GCC_WARN_MISSING_PARENTHESES = YES; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PRODUCT_NAME = "Dexed"; - WARNING_CFLAGS = -Wreorder; - ZERO_LINK = NO; }; name = Debug; }; - 1F51A4544E7E3E72CAFCC59B = {isa = XCBuildConfiguration; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - DEBUG_INFORMATION_FORMAT = "dwarf"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = c11; - GCC_INLINES_ARE_PRIVATE_EXTERN = YES; - GCC_MODEL_TUNING = G5; - GCC_NO_COMMON_BLOCKS = YES; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_CHECK_SWITCH_STATEMENTS = YES; - GCC_WARN_MISSING_PARENTHESES = YES; - GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES; - GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - PRODUCT_NAME = "Dexed"; - WARNING_CFLAGS = -Wreorder; - ZERO_LINK = NO; }; name = Release; }; - AEED06CF06345EA963813899 = {isa = PBXTargetDependency; target = B85A7FAE3F78012F8709A078; }; - 63D3B1D351DD050B0F446528 = {isa = PBXTargetDependency; target = 257C7EAF4BE2A61E8C8FEE7B; }; - 27A8A5DA1320C1677729D57A = {isa = PBXTargetDependency; target = BD35E770F72A5AB3F4E97848; }; - 57952C722FCEDC11B915AC23 = {isa = PBXTargetDependency; target = 8D636399F35A44B4CEA6EDEB; }; - 79EC971C74D382E87C0F443D = {isa = XCConfigurationList; buildConfigurations = ( - 164731727DFE228515FE9A35, - 1F51A4544E7E3E72CAFCC59B, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 346A0C363D388A1698B1982C = {isa = XCConfigurationList; buildConfigurations = ( - 57AB3E3417E22462A18BE5BD, - C26C61A1BF294BFF1DB1DDDF, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 394A664BBBD0FEB67E4C5BF7 = {isa = PBXAggregateTarget; buildConfigurationList = 346A0C363D388A1698B1982C; buildPhases = ( ); buildRules = ( ); dependencies = ( - AEED06CF06345EA963813899, - 63D3B1D351DD050B0F446528, - 27A8A5DA1320C1677729D57A, - 57952C722FCEDC11B915AC23, ); name = "Dexed - All"; productName = Dexed; }; - 536908C9D2F581D2ACAC5D00 = {isa = XCConfigurationList; buildConfigurations = ( - 3CBEEA75D64AE87CB4FC1534, - 5A7D4CB14F1ECF2BC922D0D8, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 608D120C96FC6C1BF6DE2789 = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 813B2285513D65DDA30AA6E3, - 1675562B85E6B979C217EBFC, ); runOnlyForDeploymentPostprocessing = 0; }; - ADDA17D09ED82CA456A2CE1F = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 6097F7DEB38FA9D2D70CB94D, ); runOnlyForDeploymentPostprocessing = 0; }; - FC57B40E385B837BEECDD1C0 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6443699C06267ECC22CF9D12, - 60686C2C30A9F2777CEF01BD, - 77C3EA8D0A12986429BA466D, - E8BEA8ABF5E288C5D5FCD620, - F329522961F1313091764113, - B0A4786A252B14B604101175, - 82253A3BBFF29FC56A08C972, - FA2AF2015CFD98299593EA30, - 7116DC8487DC8321F36CD3D8, - 68878920F603FF1473994736, - A7D45B047CA84D7EF7018CDC, - 7E444608AFB10ED54DB5C9AB, ); runOnlyForDeploymentPostprocessing = 0; }; - B85A7FAE3F78012F8709A078 = {isa = PBXNativeTarget; buildConfigurationList = 536908C9D2F581D2ACAC5D00; buildPhases = ( - 608D120C96FC6C1BF6DE2789, - ADDA17D09ED82CA456A2CE1F, - FC57B40E385B837BEECDD1C0, ); buildRules = ( ); dependencies = ( - 57952C722FCEDC11B915AC23, ); name = "Dexed - VST"; productName = Dexed; productReference = 2F0DF45A6D489E7732ED4217; productType = "com.apple.product-type.bundle"; }; - E47DC75093413799707737D6 = {isa = XCConfigurationList; buildConfigurations = ( - 2DBA8F1DC382404D85BCBA4D, - 074225CE438ED57F5AFCD552, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - A502D6E40637E81E719C016F = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 813B2285513D65DDA30AA6E3, - 1675562B85E6B979C217EBFC, ); runOnlyForDeploymentPostprocessing = 0; }; - 83C66513F980259F460EC6BF = {isa = PBXRezBuildPhase; buildActionMask = 2147483647; files = ( - F2A31A40F31309656C86A4F4, ); runOnlyForDeploymentPostprocessing = 0; }; - 254803913081EAFB65FC63B8 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 7BF692FB5E4B4C6C77FCFDA0, - 23613F24F03D90F670247838, ); runOnlyForDeploymentPostprocessing = 0; }; - 64C330F2B8621FD376081FA6 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6443699C06267ECC22CF9D12, - 60686C2C30A9F2777CEF01BD, - 77C3EA8D0A12986429BA466D, - E8BEA8ABF5E288C5D5FCD620, - F329522961F1313091764113, - B0A4786A252B14B604101175, - 82253A3BBFF29FC56A08C972, - FA2AF2015CFD98299593EA30, - 7116DC8487DC8321F36CD3D8, - 68878920F603FF1473994736, - A7D45B047CA84D7EF7018CDC, - 7E444608AFB10ED54DB5C9AB, ); runOnlyForDeploymentPostprocessing = 0; }; - 257C7EAF4BE2A61E8C8FEE7B = {isa = PBXNativeTarget; buildConfigurationList = E47DC75093413799707737D6; buildPhases = ( - A502D6E40637E81E719C016F, - 83C66513F980259F460EC6BF, - 254803913081EAFB65FC63B8, - 64C330F2B8621FD376081FA6, ); buildRules = ( ); dependencies = ( - 57952C722FCEDC11B915AC23, ); name = "Dexed - AU"; productName = Dexed; productReference = EAD4969F0C18D34DAC586341; productType = "com.apple.product-type.bundle"; }; - 8D8FDCA66E483470344CE9B3 = {isa = XCConfigurationList; buildConfigurations = ( - B2CD4FC4A324439F8947183C, - 9D9DC2FC0C58509FF08A2B40, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 9D060DA4C4E2BECBBF4CD93B = {isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - 813B2285513D65DDA30AA6E3, - 1675562B85E6B979C217EBFC, ); runOnlyForDeploymentPostprocessing = 0; }; - 0D956ED4A18B3A899F5325A5 = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E393463EA71B7C11FC9B2CD0, ); runOnlyForDeploymentPostprocessing = 0; }; - 5A676342886FB9E7F0D3FED1 = {isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6443699C06267ECC22CF9D12, - 60686C2C30A9F2777CEF01BD, - 77C3EA8D0A12986429BA466D, - E8BEA8ABF5E288C5D5FCD620, - F329522961F1313091764113, - B0A4786A252B14B604101175, - 82253A3BBFF29FC56A08C972, - FA2AF2015CFD98299593EA30, - 7116DC8487DC8321F36CD3D8, - 68878920F603FF1473994736, - A7D45B047CA84D7EF7018CDC, - 7E444608AFB10ED54DB5C9AB, ); runOnlyForDeploymentPostprocessing = 0; }; - BD35E770F72A5AB3F4E97848 = {isa = PBXNativeTarget; buildConfigurationList = 8D8FDCA66E483470344CE9B3; buildPhases = ( - 9D060DA4C4E2BECBBF4CD93B, - 0D956ED4A18B3A899F5325A5, - 5A676342886FB9E7F0D3FED1, ); buildRules = ( ); dependencies = ( - 57952C722FCEDC11B915AC23, ); name = "Dexed - Standalone Plugin"; productName = Dexed; productReference = 6ED6439CBE67C17C72336007; productType = "com.apple.product-type.application"; }; - 6F54E31E257A2F1E1D78FB49 = {isa = XCConfigurationList; buildConfigurations = ( - 924F53B03D39684973CDDB35, - 9E287B5C3C873D0D76B40A50, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Debug; }; - 40F477B097FD98E008A4777D = {isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B18C192606DF6079E7B9AEB9, - 697C52FD23363CB2EB9075C6, - 4B27ACC5993C8C74FFCDD3BB, - 478699B4EF80A1A1C0D34C10, - 6252C45CDFF75E05CCDBF737, - 69A60891A52C61989A205791, - CD1CF0C6B4AB9F4C8175FE08, - 8F3B0996452972F266C749E0, - D5A4D43A16EA4C71D53E96CD, - 8121E10419E2D99645EA254E, - 082D6FF34EFF195C3A3B0CFB, - C510246D7D5E162C9DE63DDE, - 3AB728E101D7B85DD39C5CC8, - FAC9C3E771D11FDA4DFAF17E, - 47C317B0F77A29ECA0400B2B, - 9EC12165834B1341938E951D, - F9A9CC03BA0B3030E92675AD, - 7B82F1D5F8DED01AA8988D33, - 434647C21C803FA8A4D44A70, - 95105DC8536836A06FD5C7BB, - 0D3132A8B412AE9E63024927, - 1CBFE444B43C89E749602B7F, - 623AFA9E78826CA0136251DF, - 8BE2A084394DA3E45DDB5646, - EC23F9F2EE10A2DE3CB6D406, - 1C87DA0B69D67481FC6CF4FD, - 38BFC68CC5D31B3B0351F0B6, - 2CD04823B0F4759B7A2E5398, - 0160B26E85D90D23CEC48CC5, - 36A10FB9E3742B694E159B14, - 535BB5106E9037252387567F, - A75C179712D4F59160200035, - 76A2B27B08BD77594E1A8C95, - 2C617A27B09970640A6DF593, - 45A9DAF2ABCD48016173E9D3, - 74201460E8798B14603296A3, - 93095A7B8240722727C8507C, - 191E15E49A6BCA75D79BD0B8, - A9DF6BAEA633EC2CFF7D946E, ); runOnlyForDeploymentPostprocessing = 0; }; - 8D636399F35A44B4CEA6EDEB = {isa = PBXNativeTarget; buildConfigurationList = 6F54E31E257A2F1E1D78FB49; buildPhases = ( - 40F477B097FD98E008A4777D, ); buildRules = ( ); dependencies = ( ); name = "Dexed - Shared Code"; productName = Dexed; productReference = ACC1CDF49C0F7F4FF305AF4E; productType = "com.apple.product-type.library.static"; }; - 0DA61024CABBA334F84603C0 = {isa = PBXProject; buildConfigurationList = 79EC971C74D382E87C0F443D; attributes = { LastUpgradeCheck = 0830; ORGANIZATIONNAME = "Digital Suburban"; TargetAttributes = { 394A664BBBD0FEB67E4C5BF7 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };B85A7FAE3F78012F8709A078 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };257C7EAF4BE2A61E8C8FEE7B = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };BD35E770F72A5AB3F4E97848 = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; };8D636399F35A44B4CEA6EDEB = { SystemCapabilities = {com.apple.ApplicationGroups.iOS = { enabled = 0; }; com.apple.InAppPurchase = { enabled = 0; }; com.apple.InterAppAudio = { enabled = 0; }; com.apple.Push = { enabled = 0; }; com.apple.Sandbox = { enabled = 0; }; }; }; }; }; compatibilityVersion = "Xcode 3.2"; hasScannedForEncodings = 0; mainGroup = 8FF698E2E4B3B82B8C64B444; projectDirPath = ""; projectRoot = ""; targets = (394A664BBBD0FEB67E4C5BF7, B85A7FAE3F78012F8709A078, 257C7EAF4BE2A61E8C8FEE7B, BD35E770F72A5AB3F4E97848, 8D636399F35A44B4CEA6EDEB); }; + USE_HEADERMAP = NO; + }; + name = Debug; + }; + C26C61A1BF294BFF1DB1DDDF /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + MACOSX_DEPLOYMENT_TARGET = 10.7; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 346A0C363D388A1698B1982C /* Build configuration list for PBXAggregateTarget "Dexed - All" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 57AB3E3417E22462A18BE5BD /* Debug */, + C26C61A1BF294BFF1DB1DDDF /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 536908C9D2F581D2ACAC5D00 /* Build configuration list for PBXNativeTarget "Dexed - VST" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3CBEEA75D64AE87CB4FC1534 /* Debug */, + 5A7D4CB14F1ECF2BC922D0D8 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 6F54E31E257A2F1E1D78FB49 /* Build configuration list for PBXNativeTarget "Dexed - Shared Code" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 924F53B03D39684973CDDB35 /* Debug */, + 9E287B5C3C873D0D76B40A50 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 79EC971C74D382E87C0F443D /* Build configuration list for PBXProject "Dexed" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 164731727DFE228515FE9A35 /* Debug */, + 1F51A4544E7E3E72CAFCC59B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 8D8FDCA66E483470344CE9B3 /* Build configuration list for PBXNativeTarget "Dexed - Standalone Plugin" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + B2CD4FC4A324439F8947183C /* Debug */, + 9D9DC2FC0C58509FF08A2B40 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + E47DC75093413799707737D6 /* Build configuration list for PBXNativeTarget "Dexed - AU" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 2DBA8F1DC382404D85BCBA4D /* Debug */, + 074225CE438ED57F5AFCD552 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ }; - rootObject = 0DA61024CABBA334F84603C0; + rootObject = 0DA61024CABBA334F84603C0 /* Project object */; } From dead094425b2afa878ddb1e135fd8efec2933216 Mon Sep 17 00:00:00 2001 From: "Francois W. Nel" Date: Wed, 12 Jun 2019 21:23:21 +0200 Subject: [PATCH 6/8] fix(Dexed Midi Keyboard Component): Update focusLost method to only attempt to take focus back if the component that took focus is also a Dexed component. --- Source/DexedMidiKeyboardComponent.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Source/DexedMidiKeyboardComponent.cpp b/Source/DexedMidiKeyboardComponent.cpp index a1e84e28..d6ec23cc 100644 --- a/Source/DexedMidiKeyboardComponent.cpp +++ b/Source/DexedMidiKeyboardComponent.cpp @@ -47,8 +47,16 @@ bool DexedMidiKeyboardComponent::getPreferMidiKeyboardFocus() { void DexedMidiKeyboardComponent::focusLost(FocusChangeType focusChangeType) { MidiKeyboardComponent::focusLost(focusChangeType); - // Only keep the keyboard focused if it is set to be visible too. - if (showKeyboard == true && preferMidiKeyboardFocus == true) { + /* Get the component that grabbed focus away from the keyboard. + * If the method returns null, it is not a Dexed component. + */ + Component *currentlyFocusedComponent = getCurrentlyFocusedComponent(); + bool currentlyFocusedComponentIsADexedComponent = currentlyFocusedComponent != NULL; + + // Only take the keyboard focus back if focus was lost to a Dexed component and if it is visible. + if (currentlyFocusedComponentIsADexedComponent == true + && showKeyboard == true + && preferMidiKeyboardFocus == true) { grabKeyboardFocus(); } } From 6cecc50640261708308a5694a854ed78578f2619 Mon Sep 17 00:00:00 2001 From: "Francois W. Nel" Date: Wed, 12 Jun 2019 22:13:01 +0200 Subject: [PATCH 7/8] fix(Dexed Midi Keyboard Component): Update focusLost method to not take focus back if focus was lost to parameters button. --- Source/DexedMidiKeyboardComponent.cpp | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/Source/DexedMidiKeyboardComponent.cpp b/Source/DexedMidiKeyboardComponent.cpp index d6ec23cc..c16a0b19 100644 --- a/Source/DexedMidiKeyboardComponent.cpp +++ b/Source/DexedMidiKeyboardComponent.cpp @@ -46,17 +46,27 @@ bool DexedMidiKeyboardComponent::getPreferMidiKeyboardFocus() { void DexedMidiKeyboardComponent::focusLost(FocusChangeType focusChangeType) { MidiKeyboardComponent::focusLost(focusChangeType); - + /* Get the component that grabbed focus away from the keyboard. * If the method returns null, it is not a Dexed component. */ Component *currentlyFocusedComponent = getCurrentlyFocusedComponent(); - bool currentlyFocusedComponentIsADexedComponent = currentlyFocusedComponent != NULL; - - // Only take the keyboard focus back if focus was lost to a Dexed component and if it is visible. - if (currentlyFocusedComponentIsADexedComponent == true - && showKeyboard == true - && preferMidiKeyboardFocus == true) { + bool currentlyFocusedComponentIsNotADexedComponent = currentlyFocusedComponent == NULL; + + // Return early if focus was lost to another application. + if (currentlyFocusedComponentIsNotADexedComponent == true) { + return; + } + + // If the parameters window is opened, grabbing keyboard focus back can push it behind the Dexed window. + bool parmButtonClicked = currentlyFocusedComponent->getName() == "parmButton"; + + bool shouldGrabKeyboardFocus = + parmButtonClicked != true + && showKeyboard == true + && preferMidiKeyboardFocus == true; + + if (shouldGrabKeyboardFocus == true) { grabKeyboardFocus(); } } From 3b3bf64eeced3aab7de131db417ec3cd1b673d38 Mon Sep 17 00:00:00 2001 From: "Francois W. Nel" Date: Sat, 15 Jun 2019 12:47:38 +0200 Subject: [PATCH 8/8] fix(Dexed Midi Keyboard Component): Update focusLost method to not take focus back if focus was lost to a component that should have focus. --- .../Dexed_SharedCode.vcxproj.filters | 6 ++++ Source/DexedMidiKeyboardComponent.cpp | 34 +++++++++++-------- Source/DexedMidiKeyboardComponent.h | 13 ++++--- 3 files changed, 33 insertions(+), 20 deletions(-) diff --git a/Builds/VisualStudio2017/Dexed_SharedCode.vcxproj.filters b/Builds/VisualStudio2017/Dexed_SharedCode.vcxproj.filters index 80046e5b..a52ad5d8 100644 --- a/Builds/VisualStudio2017/Dexed_SharedCode.vcxproj.filters +++ b/Builds/VisualStudio2017/Dexed_SharedCode.vcxproj.filters @@ -2118,6 +2118,9 @@ JUCE Library Code + + Dexed\Source\ui + @@ -4130,6 +4133,9 @@ JUCE Library Code + + Dexed\Source\ui + diff --git a/Source/DexedMidiKeyboardComponent.cpp b/Source/DexedMidiKeyboardComponent.cpp index c16a0b19..cd1bb744 100644 --- a/Source/DexedMidiKeyboardComponent.cpp +++ b/Source/DexedMidiKeyboardComponent.cpp @@ -21,7 +21,11 @@ #include "DexedMidiKeyboardComponent.h" //============================================================================== -DexedMidiKeyboardComponent::DexedMidiKeyboardComponent(MidiKeyboardState& s, Orientation o, bool showKey, bool preferKeyFocus) +DexedMidiKeyboardComponent::DexedMidiKeyboardComponent( + MidiKeyboardState& s, + Orientation o, + bool showKey, + bool preferKeyFocus) : MidiKeyboardComponent(s, o), showKeyboard(showKey), preferMidiKeyboardFocus(preferKeyFocus) { } @@ -47,26 +51,26 @@ bool DexedMidiKeyboardComponent::getPreferMidiKeyboardFocus() { void DexedMidiKeyboardComponent::focusLost(FocusChangeType focusChangeType) { MidiKeyboardComponent::focusLost(focusChangeType); + if (shouldKeepKeyboardFocus() == true) + grabKeyboardFocus(); +} + +bool DexedMidiKeyboardComponent::shouldKeepKeyboardFocus() { + // Return early if we're not interested in keeping focus. + if (showKeyboard == false || preferMidiKeyboardFocus == false) + return false; + /* Get the component that grabbed focus away from the keyboard. * If the method returns null, it is not a Dexed component. */ Component *currentlyFocusedComponent = getCurrentlyFocusedComponent(); bool currentlyFocusedComponentIsNotADexedComponent = currentlyFocusedComponent == NULL; - // Return early if focus was lost to another application. - if (currentlyFocusedComponentIsNotADexedComponent == true) { - return; - } - - // If the parameters window is opened, grabbing keyboard focus back can push it behind the Dexed window. - bool parmButtonClicked = currentlyFocusedComponent->getName() == "parmButton"; + if (currentlyFocusedComponentIsNotADexedComponent == true) + return false; - bool shouldGrabKeyboardFocus = - parmButtonClicked != true - && showKeyboard == true - && preferMidiKeyboardFocus == true; + bool currentlyFocusedComponentShouldHaveFocus = + componentsThatShouldHaveFocus.contains(currentlyFocusedComponent->getName()); - if (shouldGrabKeyboardFocus == true) { - grabKeyboardFocus(); - } + return currentlyFocusedComponentShouldHaveFocus != true; } diff --git a/Source/DexedMidiKeyboardComponent.h b/Source/DexedMidiKeyboardComponent.h index f2bbf56c..fb573bf2 100644 --- a/Source/DexedMidiKeyboardComponent.h +++ b/Source/DexedMidiKeyboardComponent.h @@ -26,13 +26,14 @@ class DexedMidiKeyboardComponent : public MidiKeyboardComponent { public: - DexedMidiKeyboardComponent(MidiKeyboardState& state, - Orientation orientation, - bool showKeyboard, - bool preferMidiKeyboardFocus); + DexedMidiKeyboardComponent( + MidiKeyboardState& state, + Orientation orientation, + bool showKeyboard, + bool preferMidiKeyboardFocus); ~DexedMidiKeyboardComponent(); - + void setShowKeyboard(bool showKeyboard); void setPreferMidiKeyboardFocus(bool preferMidiKeyboardFocus); bool getShowKeyboard(); @@ -40,8 +41,10 @@ class DexedMidiKeyboardComponent : public MidiKeyboardComponent void focusLost(FocusChangeType) override; private: + bool shouldKeepKeyboardFocus(); bool showKeyboard; bool preferMidiKeyboardFocus; + const juce::StringArray componentsThatShouldHaveFocus = { "parmButton", "storeButton", "aboutButton" }; JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DexedMidiKeyboardComponent) };