Hello everyone, I’m new here and I’m a complete newbie of the coding world. I just need help compiling the source code for a program I’d like to try out : pMix2
When I read the dependencies, I thought it would be simple, but not for me
I downloaded the Faust zip, but Juce can’t find the path to juce_faustllvm…
Could someone please help me ? I guess I need Xcode to compile ?
Sorry for my total ignorance !
You do indeed need to download Xcode in order to compile. You will also need Projucer, which you can get here: Download - JUCE
Make sure you set your global modules path correctly in Projucer.
Hi Adam, thank you for the quick reply ! I think I was wrong with the “prebuilt libfaust.dylib” because I thought that it was the provided zip file… I think I need to find this prebuild library somewhere, right ?
Looks like the library is prebuilt inside that zip file.
Ok, but the faustllvm file does not seem to be inside because Juce can’t find it at the Faust specified path. I’ve extracted the zip file into a Faust folder in the same folder as the pMix.juicer as described.
If you’ve got Projucer going, you should be able to check the paths in the various boxes + the global paths window. Sorry I can’t help more right now, I’m not at a computer.
No problem, I really appreciate the time you take to try to help me
I can see that the problem comes from the User Modules path. In the Modules Panel, the module “juce_faustllvm” is grayed out, meaning that the path is wrong I guess. But which path to specify ? I tried specifying the Faust folder and all the sub-floders too
Well, I think I’m doing something wrong… Let’s see if @olilarkin has time to help (he’s the creator of pMix).
Aha I think it’s here:
Thank you Adam ! So this thing has to be compiled to get the file I need ?
It should compile along with everything else, so you just download the source from there and make sure projucer can see it.
Thanks for your interest. Unfortunately the code has rotted quite a bit & it was never finished anyway.
I have got it to build here but currently libfaust crashes when you try to make a faust node.
You need it in a structure like this.
pMixBuild ✹ ✚main
.
├── JUCE
│ ├── BREAKING-CHANGES.txt
│ ├── ChangeList.txt
│ ├── LICENSE.md
│ ├── README.md
│ ├── doxygen
│ │ ├── Doxyfile
│ │ ├── Makefile
│ │ ├── README.txt
│ │ ├── make.bat
│ │ └── process_source_files.py
│ ├── examples
│ │ ├── Assets
│ │ ├── Audio
│ │ ├── BLOCKS
│ │ ├── DSP
│ │ ├── DemoRunner
│ │ ├── GUI
│ │ ├── Plugins
│ │ └── Utilities
│ ├── extras
│ │ ├── AudioPerformanceTest
│ │ ├── AudioPluginHost
│ │ ├── BLOCKS
│ │ ├── BinaryBuilder
│ │ ├── NetworkGraphicsDemo
│ │ ├── Projucer
│ │ ├── UnitTestRunner
│ │ └── WindowsDLL
│ └── modules
│ ├── JUCE Module Format.txt
│ ├── juce_analytics
│ ├── juce_audio_basics
│ ├── juce_audio_devices
│ ├── juce_audio_formats
│ ├── juce_audio_plugin_client
│ ├── juce_audio_processors
│ ├── juce_audio_utils
│ ├── juce_blocks_basics
│ ├── juce_box2d
│ ├── juce_core
│ ├── juce_cryptography
│ ├── juce_data_structures
│ ├── juce_dsp
│ ├── juce_events
│ ├── juce_graphics
│ ├── juce_gui_basics
│ ├── juce_gui_extra
│ ├── juce_opengl
│ ├── juce_osc
│ ├── juce_product_unlocking
│ └── juce_video
├── juce_faustllvm
│ ├── BUILD.md
│ ├── GPL.txt
│ ├── Makefile
│ ├── README.md
│ ├── juce_faustllvm.cpp
│ ├── juce_faustllvm.h
│ ├── juce_faustllvm.h.in
│ └── source
│ ├── FaustAudioPluginInstance.cpp
│ ├── FaustAudioPluginInstance.h
│ ├── FaustAudioProcessorEditor.cpp
│ ├── FaustAudioProcessorEditor.h
│ ├── FaustAudioProcessorParameter.cpp
│ ├── FaustAudioProcessorParameter.h
│ ├── FaustCodeTokenizer.cpp
│ ├── FaustCodeTokenizer.h
│ ├── FaustDSPWatcher.h
│ ├── FaustFileFilter.h
│ ├── FaustGenFactory.cpp
│ ├── FaustGenFactory.h
│ └── FaustPluginFormat.h
└── pMix2
├── BinaryData
│ └── pMix.png
├── Builds
│ └── MacOSX
├── Faust
│ ├── bin
│ ├── faust
│ ├── include
│ ├── lib
│ └── share
├── GPL.txt
├── JuceLibraryCode
│ ├── AppConfig.h
│ ├── JuceHeader.h
│ ├── ReadMe.txt
│ ├── include_juce_audio_basics.cpp
│ ├── include_juce_audio_basics.mm
│ ├── include_juce_audio_devices.cpp
│ ├── include_juce_audio_devices.mm
│ ├── include_juce_audio_formats.cpp
│ ├── include_juce_audio_formats.mm
│ ├── include_juce_audio_processors.cpp
│ ├── include_juce_audio_processors.mm
│ ├── include_juce_audio_utils.cpp
│ ├── include_juce_audio_utils.mm
│ ├── include_juce_core.cpp
│ ├── include_juce_core.mm
│ ├── include_juce_cryptography.cpp
│ ├── include_juce_cryptography.mm
│ ├── include_juce_data_structures.cpp
│ ├── include_juce_data_structures.mm
│ ├── include_juce_events.cpp
│ ├── include_juce_events.mm
│ ├── include_juce_faustllvm.cpp
│ ├── include_juce_graphics.cpp
│ ├── include_juce_graphics.mm
│ ├── include_juce_gui_basics.cpp
│ ├── include_juce_gui_basics.mm
│ ├── include_juce_gui_extra.cpp
│ ├── include_juce_gui_extra.mm
│ ├── include_juce_opengl.cpp
│ └── include_juce_opengl.mm
├── README.md
├── Resources
│ ├── default.gif
│ └── wait.html
├── Source
│ ├── pMixAboutBox.h
│ ├── pMixApp.cpp
│ ├── pMixApp.h
│ ├── pMixAudioEngine.cpp
│ ├── pMixAudioEngine.h
│ ├── pMixCodeEditor.cpp
│ ├── pMixCodeEditor.h
│ ├── pMixCommandIDs.h
│ ├── pMixConsole.cpp
│ ├── pMixConsole.h
│ ├── pMixConstants.h
│ ├── pMixDefaultColours.h
│ ├── pMixDocument.cpp
│ ├── pMixDocument.h
│ ├── pMixFileBrowser.cpp
│ ├── pMixFileBrowser.h
│ ├── pMixFloatWindow.cpp
│ ├── pMixFloatWindow.h
│ ├── pMixGenericEditor.cpp
│ ├── pMixGenericEditor.h
│ ├── pMixGraphEditor.cpp
│ ├── pMixGraphEditor.h
│ ├── pMixGraphEditorActions.cpp
│ ├── pMixGraphEditorActions.h
│ ├── pMixGraphEditorParts.cpp
│ ├── pMixGraphEditorParts.h
│ ├── pMixInternalPluginFormat.cpp
│ ├── pMixInternalPluginFormat.h
│ ├── pMixInterpolationSpace.cpp
│ ├── pMixInterpolationSpace.h
│ ├── pMixInterpolationSpaceActions.cpp
│ ├── pMixInterpolationSpaceActions.h
│ ├── pMixInterpolationSpaceCrosshairs.cpp
│ ├── pMixInterpolationSpaceCrosshairs.h
│ ├── pMixInterpolationSpaceLayout.cpp
│ ├── pMixInterpolationSpaceLayout.h
│ ├── pMixLogger.h
│ ├── pMixLookAndFeel.cpp
│ ├── pMixLookAndFeel.h
│ ├── pMixMainAppWindow.cpp
│ ├── pMixMainAppWindow.h
│ ├── pMixMainComponent.cpp
│ ├── pMixMainComponent.h
│ ├── pMixParamTreeView.cpp
│ ├── pMixParamTreeView.h
│ ├── pMixParamView.cpp
│ ├── pMixParamView.h
│ ├── pMixPluginWindow.cpp
│ ├── pMixPluginWindow.h
│ ├── pMixPrefsAudio.cpp
│ ├── pMixPrefsAudio.h
│ ├── pMixPrefsColours.cpp
│ ├── pMixPrefsColours.h
│ ├── pMixPrefsComponent.cpp
│ ├── pMixPrefsComponent.h
│ ├── pMixPrefsControllers.cpp
│ ├── pMixPrefsControllers.h
│ ├── pMixPrefsGeneral.cpp
│ ├── pMixPrefsGeneral.h
│ ├── pMixPrefsPlugins.cpp
│ ├── pMixPrefsPlugins.h
│ ├── pMixRHPTabContainer.cpp
│ ├── pMixRHPTabContainer.h
│ ├── pMixSVGDisplay.cpp
│ └── pMixSVGDisplay.h
├── manual
│ └── pMix-manual.tex
├── misc
│ └── pMixVimeo.png
├── pMix.jucer
└── pMixPlugin
├── Builds
├── JUCE.patch
├── JuceLibraryCode
├── README.md
├── Source
└── pMixPlugin.jucer
And it compiles on macOS, with a few tweaks against JUCE v5.4.5… but libfaust segfaults
Thanks Oli ! So libfaust is the problem… too bad this project was abandoned, as it promised to be very interesting.