Skip to content

Commit

Permalink
use prebuild faust dylib
Browse files Browse the repository at this point in the history
  • Loading branch information
olilarkin committed Dec 8, 2019
1 parent cc404d6 commit b552566
Show file tree
Hide file tree
Showing 13 changed files with 1,410 additions and 8,787 deletions.
345 changes: 0 additions & 345 deletions Builds/Linux/Makefile

This file was deleted.

2,297 changes: 1,394 additions & 903 deletions Builds/MacOSX/pMix.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

20 changes: 0 additions & 20 deletions Builds/VisualStudio2017/pMix.sln

This file was deleted.

2,710 changes: 0 additions & 2,710 deletions Builds/VisualStudio2017/pMix_App.vcxproj

This file was deleted.

4,694 changes: 0 additions & 4,694 deletions Builds/VisualStudio2017/pMix_App.vcxproj.filters

This file was deleted.

30 changes: 0 additions & 30 deletions Builds/VisualStudio2017/resources.rc

This file was deleted.

4 changes: 2 additions & 2 deletions JuceLibraryCode/AppConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -213,8 +213,8 @@
//==============================================================================
// juce_events flags:

#ifndef JUCE_EXECUTE_APP_SUSPEND_ON_IOS_BACKGROUND_TASK
//#define JUCE_EXECUTE_APP_SUSPEND_ON_IOS_BACKGROUND_TASK 0
#ifndef JUCE_EXECUTE_APP_SUSPEND_ON_BACKGROUND_TASK
//#define JUCE_EXECUTE_APP_SUSPEND_ON_BACKGROUND_TASK 0
#endif

//==============================================================================
Expand Down
4 changes: 2 additions & 2 deletions JuceLibraryCode/JuceHeader.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ namespace ProjectInfo
{
const char* const projectName = "pMix";
const char* const companyName = "OliLarkin";
const char* const versionString = "0.0.2";
const int versionNumber = 0x2;
const char* const versionString = "0.0.3";
const int versionNumber = 0x3;
}
#endif
18 changes: 3 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,31 +8,19 @@ Morphing between presets can result in the discovery of interesting hybrid sound

pMix version 2 will eventually work on Mac, Linux and Windows and can operate as a standalone application or as a plug-in.

Currently it is being developed using JUCE on Mac with Xcode 8 and the 10.12 SDK, with OSX deployment target set to 10.12. It won't yet compile/work well on other platforms.

[![IMAGE ALT TEXT](/misc/pMixVimeo.png?raw=true)](https://vimeo.com/122268573 "pMix2 quick demo")


## Dependencies

Due to the complexity of this project please closely follow the instructions:

**Using brew to install dependencies**
**libFaust**

```brew install llvm zlib ncurses openssl```
The Faust JIT compiler is linked dynamically. libfaust.dylib is copied into the application bundle. In order to to simplify building pMix2, a prebuilt libfaust.dylib can be downloaded. [This zip](https://github.com/iPlug2/iPlug2/releases/download/setup/IPLUG2_DEPS_MAC.zip) should be extracted to a directory "Faust" alongside the .jucer file.

**JUCE**

pMix v2 is built using JUCE and the .jucer project expects to find the JUCE source and the juce_faustllvm juce modules source in the global module directory, which you can set in the Projucer settings.

**VST3 SDK**

The VST 3 SDK is now included as three git submodules. You will need to use ```git submodule update``` to check out the submodules.

**JUCE_FAUSTLLVM Module Dependencies**

There are more dependencies which are described in the juce_faustllvm [README.md](https://github.com/olilarkin/juce_faustllvm)


## Compiling

Expand All @@ -42,7 +30,7 @@ If you need to change any paths etc, you should do so using the .jucer project r

## Notes

* pMix has been developed on Mac OSX and there hasn't yet been time to get it working on the other intended platforms! Hopefully there should not be any platform dependencies that prevent it working on Linux and Windows.
* pMix has been developed on macOS and there hasn't yet been time to get it working on the other intended platforms! Hopefully there should not be any platform dependencies that prevent it working on Linux and Windows.
* JUCE's VST2 plug-in support is most mature, so VST2 plug-ins are preferable to VST3, however Steinberg no longer distribute the VST2.4 SDK so VST3 support must be enabled in order to find the VST2.4 headers in the VST3 SDK.
* If you don't care about plugin hosting support, you can disable it on the juce_audio_processors module tab by opening the pMix.jucer.
* AU plug-in hosting is currently disabled, you can turn it on via the .jucer project.
Expand Down
1 change: 0 additions & 1 deletion VST3_SDK/base
Submodule base deleted from b9bfea
1 change: 0 additions & 1 deletion VST3_SDK/pluginterfaces
Submodule pluginterfaces deleted from fe378b
1 change: 0 additions & 1 deletion VST3_SDK/public.sdk
Submodule public.sdk deleted from 2841d3
72 changes: 9 additions & 63 deletions pMix.jucer
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>

<JUCERPROJECT id="RsNvH4" name="pMix" version="0.0.2" bundleIdentifier="com.OliLarkin.pMix"
<JUCERPROJECT id="RsNvH4" name="pMix" version="0.0.3" bundleIdentifier="com.OliLarkin.pMix"
includeBinaryInAppConfig="1" jucerVersion="5.4.5" companyName="OliLarkin"
companyWebsite="www.olilarkin.co.uk" companyEmail="contact@olilarkin.co.uk"
displaySplashScreen="0" reportAppUsage="0" splashScreenColour="Dark"
cppLanguageStandard="11" projectType="guiapp">
cppLanguageStandard="17" projectType="guiapp">
<MAINGROUP id="FiV8Cl" name="pMix">
<FILE id="OqTrli" name="pMix.png" compile="0" resource="0" file="BinaryData/pMix.png"/>
<GROUP id="{C1340CBE-4817-B4D1-E09B-3DFCB457E038}" name="Source">
Expand Down Expand Up @@ -138,16 +138,15 @@
<XCODE_MAC targetFolder="Builds/MacOSX" vstFolder="~/SDKs/vstsdk2.4" vst3Folder="VST3_SDK"
customPList="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&#10;&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;&#10;&lt;plist&gt;&#10; &lt;dict&gt;&#10; &lt;key&gt;CFBundleExecutable&lt;/key&gt;&#10; &lt;string&gt;${EXECUTABLE_NAME}&lt;/string&gt;&#10; &lt;key&gt;CFBundleIconFile&lt;/key&gt;&#10; &lt;string&gt;Icon.icns&lt;/string&gt;&#10; &lt;key&gt;CFBundleIdentifier&lt;/key&gt;&#10; &lt;string&gt;$(PRODUCT_BUNDLE_IDENTIFIER)&lt;/string&gt;&#10; &lt;key&gt;CFBundleName&lt;/key&gt;&#10; &lt;string&gt;pMix&lt;/string&gt;&#10; &lt;key&gt;CFBundleDisplayName&lt;/key&gt;&#10; &lt;string&gt;pMix&lt;/string&gt;&#10; &lt;key&gt;CFBundlePackageType&lt;/key&gt;&#10; &lt;string&gt;APPL&lt;/string&gt;&#10; &lt;key&gt;CFBundleSignature&lt;/key&gt;&#10; &lt;string&gt;????&lt;/string&gt;&#10; &lt;key&gt;CFBundleShortVersionString&lt;/key&gt;&#10; &lt;string&gt;0.0.2&lt;/string&gt;&#10; &lt;key&gt;CFBundleVersion&lt;/key&gt;&#10; &lt;string&gt;0.0.2&lt;/string&gt;&#10; &lt;key&gt;NSHumanReadableCopyright&lt;/key&gt;&#10; &lt;string&gt;OliLarkin&lt;/string&gt;&#10; &lt;key&gt;NSHighResolutionCapable&lt;/key&gt;&#10; &lt;true/&gt;&#10; &lt;key&gt;NSAppTransportSecurity&lt;/key&gt;&#10; &lt;dict&gt;&#10; &lt;!--Include to allow all connections (DANGER)--&gt;&#10; &lt;key&gt;NSAllowsArbitraryLoads&lt;/key&gt;&#10; &lt;true/&gt;&#10;&lt;/dict&gt;&#10; &lt;/dict&gt;&#10;&lt;/plist&gt;"
bigIcon="OqTrli" smallIcon="OqTrli" externalLibraries="" extraCompilerFlags=""
extraDefs="FAUSTFLOAT=double" postbuildCommand="if [ -d &quot;/usr/local/share/faust/&quot; ]; then&#10; echo copying faust libraries to bundle resources&#10; cp /usr/local/share/faust/*.lib $BUILT_PRODUCTS_DIR/pMix.app/Contents/Resources/&#10; cp $SRCROOT/../../Resources/* $BUILT_PRODUCTS_DIR/pMix.app/Contents/Resources/&#10;else&#10; echo faust not installed at /usr/local/share&#10;fi">
extraDefs="FAUSTFLOAT=double" postbuildCommand="if [ -d &quot;$(SRCROOT)/../../Faust/&quot; ]; then&#10; echo copying faust libraries to bundle resources&#10; cp $(SRCROOT)/../../Faust/share/faust/*.lib $BUILT_PRODUCTS_DIR/pMix.app/Contents/Resources/&#10; cp $SRCROOT/../../Resources/* $BUILT_PRODUCTS_DIR/pMix.app/Contents/Resources/&#10;else&#10; echo faust not installed at $(SRCROOT)/../../Faust/share/faust&#10;fi"
embeddedFrameworks="$(SRCROOT)/../../Faust/lib/libfaust.dylib">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" osxCompatibility="10.9 SDK" osxArchitecture="64BitIntel"
isDebug="1" optimisation="1" targetName="pMix" libraryPath="/opt/local/libexec/llvm-6.0/lib&#10;/usr/local/lib&#10;/opt/local/lib&#10;/Users/oli/Dev/MyPlugins/Dependencies/Build/mac/lib&#10;/usr/local/opt/openssl/lib/&#10;/Users/oli/Dev/LLVM/lib"
headerPath="/usr/local/include&#10;/Users/oli/Dev/MyPlugins/Dependencies/Build/mac/include"
cppLibType="libc++"/>
<CONFIGURATION name="Release" osxCompatibility="10.9 SDK" osxArchitecture="64BitIntel"
isDebug="0" optimisation="2" targetName="pMix" headerPath="/usr/local/include"
libraryPath="/opt/local/libexec/llvm-6.0/lib&#10;/usr/local/lib&#10;/opt/local/lib"
cppLibType="libc++"/>
isDebug="0" optimisation="2" targetName="pMix" cppLibType="libc++"
headerPath="$(SRCROOT)/../../Faust/include/" libraryPath="$(SRCROOT)/../../Faust/lib/"/>
<CONFIGURATION name="Debug" osxCompatibility="10.9 SDK" osxArchitecture="64BitIntel"
isDebug="1" optimisation="1" targetName="pMix" headerPath="$(SRCROOT)/../../Faust/include/"
cppLibType="libc++" libraryPath="$(SRCROOT)/../../Faust/lib/"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_core" path="../../juce/modules"/>
Expand All @@ -166,59 +165,6 @@
<MODULEPATH id="juce_faustllvm" path="../../Projects"/>
</MODULEPATHS>
</XCODE_MAC>
<LINUX_MAKE targetFolder="Builds/Linux" externalLibraries="" extraLinkerFlags=""
smallIcon="OqTrli" bigIcon="OqTrli" extraCompilerFlags="-std=gnu++0x"
vstFolder="~/SDKs/vstsdk2.4" extraDefs="JUCE_PLUGINHOST_LADSPA=1"
vst3Folder="~/SDKs/VST3 SDK">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" libraryPath="/usr/X11R6/lib/&#10;/usr/lib/llvm-5.0/lib/"
isDebug="1" optimisation="1" targetName="pMix" linuxArchitecture="-m64"/>
<CONFIGURATION name="Release" libraryPath="/usr/X11R6/lib/&#10;/usr/lib/llvm-5.0/lib/"
isDebug="0" optimisation="2" targetName="pMix" linuxArchitecture="-m64"/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_opengl" path="../../juce/modules"/>
<MODULEPATH id="juce_gui_extra" path="../../juce/modules"/>
<MODULEPATH id="juce_gui_basics" path="../../juce/modules"/>
<MODULEPATH id="juce_graphics" path="../../juce/modules"/>
<MODULEPATH id="juce_events" path="../../juce/modules"/>
<MODULEPATH id="juce_data_structures" path="../../juce/modules"/>
<MODULEPATH id="juce_cryptography" path="../../juce/modules"/>
<MODULEPATH id="juce_core" path="../../juce/modules"/>
<MODULEPATH id="juce_audio_utils" path="../../juce/modules"/>
<MODULEPATH id="juce_audio_formats" path="../../juce/modules"/>
<MODULEPATH id="juce_audio_devices" path="../../juce/modules"/>
<MODULEPATH id="juce_audio_basics" path="../../juce/modules"/>
<MODULEPATH id="juce_audio_processors" path="../../juce/modules"/>
<MODULEPATH id="juce_faustllvm" path="../../juce/modules"/>
</MODULEPATHS>
</LINUX_MAKE>
<VS2017 targetFolder="Builds/VisualStudio2017" externalLibraries="" extraCompilerFlags="/wd4100&#10;/wd4068&#10;/wd4996">
<CONFIGURATIONS>
<CONFIGURATION name="Debug" winWarningLevel="4" generateManifest="1" winArchitecture="x64"
isDebug="1" optimisation="1" targetName="pMix" libraryPath=""
headerPath=""/>
<CONFIGURATION name="Release" winWarningLevel="4" generateManifest="1" winArchitecture="x64"
isDebug="0" optimisation="3" targetName="pMix" libraryPath=""
headerPath=""/>
</CONFIGURATIONS>
<MODULEPATHS>
<MODULEPATH id="juce_opengl" path="..\..\JUCE\modules"/>
<MODULEPATH id="juce_gui_extra" path="..\..\JUCE\modules"/>
<MODULEPATH id="juce_gui_basics" path="..\..\JUCE\modules"/>
<MODULEPATH id="juce_graphics" path="..\..\JUCE\modules"/>
<MODULEPATH id="juce_faustllvm" path="..\..\Projects"/>
<MODULEPATH id="juce_events" path="..\..\JUCE\modules"/>
<MODULEPATH id="juce_data_structures" path="..\..\JUCE\modules"/>
<MODULEPATH id="juce_cryptography" path="..\..\JUCE\modules"/>
<MODULEPATH id="juce_core" path="..\..\JUCE\modules"/>
<MODULEPATH id="juce_audio_utils" path="..\..\JUCE\modules"/>
<MODULEPATH id="juce_audio_processors" path="..\..\JUCE\modules"/>
<MODULEPATH id="juce_audio_formats" path="..\..\JUCE\modules"/>
<MODULEPATH id="juce_audio_devices" path="..\..\JUCE\modules"/>
<MODULEPATH id="juce_audio_basics" path="..\..\JUCE\modules"/>
</MODULEPATHS>
</VS2017>
</EXPORTFORMATS>
<MODULES>
<MODULES id="juce_audio_basics" showAllCode="1" useLocalCopy="0"/>
Expand Down

0 comments on commit b552566

Please sign in to comment.