# Iplug2 faust vst3 xcode basic setup

**URL:** <https://iplug2.discourse.group/t/iplug2-faust-vst3-xcode-basic-setup/642>\
**Category:** Uncategorized\
**Created:** [25 May 2022 18:34 UTC](https://iplug2.discourse.group/t/iplug2-faust-vst3-xcode-basic-setup/642 "2022-05-25T18:34:27Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![trummerschlunk](https://avatars.discourse-cdn.com/v4/letter/t/a8b319/32.png) [@trummerschlunk](https://iplug2.discourse.group/u/trummerschlunk)\
**Post date:** [25 May 2022 18:34 UTC](https://iplug2.discourse.group/t/iplug2-faust-vst3-xcode-basic-setup/642/1 "2022-05-25T18:34:27Z")

</div>

Hi, thanks for iplug2 🙂

I have little software development experience, but I wrote a nice audio effect in faust which I would like to transform into a VST3 plugin. (It needs compiler option -double, just in case that is relevant)

So far on MacOS 10.15.7 I have:  
installed faust ([BuildingSimple · grame-cncm/faust Wiki · GitHub](https://github.com/grame-cncm/faust/wiki/BuildingSimple))  
not sure if llvm is installed/needed (how?),  
xcode 12.4 running,  
VST3 SDK downloaded and copied to dependencies folder.

When I run macOS-VST3 from the IPlugFaustDSP example in xcode, the error is ‘faust/dsp/llvm-dsp.h not found’.

Your help would be greatly appreciated!  
Thanks

---

<div class="post-metadata">

**Author:** ![olilarkin](https://yyz2.discourse-cdn.com/free1/user_avatar/iplug2.discourse.group/olilarkin/32/2_2.png) [@olilarkin](https://iplug2.discourse.group/u/olilarkin)\
**Post date:** [26 May 2022 07:12 UTC](https://iplug2.discourse.group/t/iplug2-faust-vst3-xcode-basic-setup/642/2 "2022-05-26T07:12:59Z")

</div>

Hello, welcome

By default the iPlug2 faust example is set up to use a prebuilt faust library, located in the dependencies subfolder of the iPlug2 repo.

> <https://github.com/iPlug2/iPlug2/blob/master/common-mac.xcconfig#L74>

The easiest way to make the iPlug2 faust example work is to download the prebuilt libs with [this script](https://github.com/iPlug2/iPlug2/blob/master/Dependencies/download-prebuilt-libs.sh)

but you can also build faust yourself and change the paths in common-… or in the xconfig or .vsprops files that inherit the settings from the common-… config files

hope that helps!

---

<div class="post-metadata">

**Author:** ![trummerschlunk](https://avatars.discourse-cdn.com/v4/letter/t/a8b319/32.png) [@trummerschlunk](https://iplug2.discourse.group/u/trummerschlunk)\
**Post date:** [26 May 2022 14:00 UTC](https://iplug2.discourse.group/t/iplug2-faust-vst3-xcode-basic-setup/642/3 "2022-05-26T14:00:21Z")

</div>

Thanks, Oli!  
After running the script it works 🙂  
I will dig deeper now… Just a quick question up front: How/where would I let the faust compiler know the option -double (which I need for my project)?  
Danke, Klaus

---

<div class="post-metadata">

**Author:** ![olilarkin](https://yyz2.discourse-cdn.com/free1/user_avatar/iplug2.discourse.group/olilarkin/32/2_2.png) [@olilarkin](https://iplug2.discourse.group/u/olilarkin)\
**Post date:** [26 May 2022 14:30 UTC](https://iplug2.discourse.group/t/iplug2-faust-vst3-xcode-basic-setup/642/4 "2022-05-26T14:30:15Z")

</div>

The -double argument is passed to the libfaust compiler if the iPlug2 sample type is 64 bit (double precision).

> <https://github.com/iPlug2/iPlug2/blob/master/IPlug/Extras/Faust/IPlugFaustGen.cpp#L263>

the iPlug2 sample type is double precision, unless you specify SAMPLE\_TYPE\_FLOAT as a C++ preprocessor macro (not the default)

---

<div class="post-metadata">

**Author:** ![trummerschlunk](https://avatars.discourse-cdn.com/v4/letter/t/a8b319/32.png) [@trummerschlunk](https://iplug2.discourse.group/u/trummerschlunk)\
**Post date:** [26 May 2022 18:09 UTC](https://iplug2.discourse.group/t/iplug2-faust-vst3-xcode-basic-setup/642/5 "2022-05-26T18:09:45Z")

</div>

So I understand, it’s always compiled with -double if I don’t change anything.

Hopefully you don’t mind another newbee question…  
I watched your video [iPlug 2 - FAUST / WAMs / AUv3 intro tutorial - YouTube](https://www.youtube.com/watch?v=AlDw6iCD-7Y)  
There is a stage, where the gui has standard sliders which seem to get auto-generated according to the faust code. Later you include some code to do more fancy gui stuff. In the iPlugFaustDSP example, there is always 8 knobs, a scope and a keyboard. How can I disable this and work with the standard auto generated gui elements?

Thank you so much!
