-
Notifications
You must be signed in to change notification settings - Fork 6
/
juce_faustllvm.h.in
executable file
·78 lines (58 loc) · 4.96 KB
/
juce_faustllvm.h.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
/*
This file is part of the juce_faustllvm JUCE module
Written by Oliver Larkin
www.olilarkin.co.uk
License: GPL
based on Faustgen~ by GRAME
*/
/*******************************************************************************
BEGIN_JUCE_MODULE_DECLARATION
ID: juce_faustllvm
vendor: olilarkin
version: 0.4
name: LIBFAUST compiler for JUCE
description: FaustAudioPluginInstance and related classes for embedding the libfaust JIT compiler in JUCE Projects.
website: https://github.com/olilarkin/juce_faustllvm
license: GPL
dependencies: juce_core, juce_audio_processors, juce_gui_basics
OSXLibs: faust crypto z curses {{llvm_libs}}
LinuxLibs: faust crypto z curses {{llvm_libs}}
WinLibs: faust LLVMLTO.lib LLVMPasses.lib LLVMObjCARCOpts.lib LLVMSymbolize.lib LLVMDebugInfoPDB.lib LLVMDebugInfoDWARF.lib LLVMMIRParser.lib LLVMCoverage.lib LLVMTableGen.lib LLVMDlltoolDriver.lib LLVMOrcJIT.lib LLVMXCoreDisassembler.lib LLVMXCoreCodeGen.lib LLVMXCoreDesc.lib LLVMXCoreInfo.lib LLVMXCoreAsmPrinter.lib LLVMSystemZDisassembler.lib LLVMSystemZCodeGen.lib LLVMSystemZAsmParser.lib LLVMSystemZDesc.lib LLVMSystemZInfo.lib LLVMSystemZAsmPrinter.lib LLVMSparcDisassembler.lib LLVMSparcCodeGen.lib LLVMSparcAsmParser.lib LLVMSparcDesc.lib LLVMSparcInfo.lib LLVMSparcAsmPrinter.lib LLVMPowerPCDisassembler.lib LLVMPowerPCCodeGen.lib LLVMPowerPCAsmParser.lib LLVMPowerPCDesc.lib LLVMPowerPCInfo.lib LLVMPowerPCAsmPrinter.lib LLVMNVPTXCodeGen.lib LLVMNVPTXDesc.lib LLVMNVPTXInfo.lib LLVMNVPTXAsmPrinter.lib LLVMMSP430CodeGen.lib LLVMMSP430Desc.lib LLVMMSP430Info.lib LLVMMSP430AsmPrinter.lib LLVMMipsDisassembler.lib LLVMMipsCodeGen.lib LLVMMipsAsmParser.lib LLVMMipsDesc.lib LLVMMipsInfo.lib LLVMMipsAsmPrinter.lib LLVMLanaiDisassembler.lib LLVMLanaiCodeGen.lib LLVMLanaiAsmParser.lib LLVMLanaiDesc.lib LLVMLanaiAsmPrinter.lib LLVMLanaiInfo.lib LLVMHexagonDisassembler.lib LLVMHexagonCodeGen.lib LLVMHexagonAsmParser.lib LLVMHexagonDesc.lib LLVMHexagonInfo.lib LLVMBPFDisassembler.lib LLVMBPFCodeGen.lib LLVMBPFDesc.lib LLVMBPFInfo.lib LLVMBPFAsmPrinter.lib LLVMARMDisassembler.lib LLVMARMCodeGen.lib LLVMARMAsmParser.lib LLVMARMDesc.lib LLVMARMInfo.lib LLVMARMAsmPrinter.lib LLVMAMDGPUDisassembler.lib LLVMAMDGPUCodeGen.lib LLVMAMDGPUAsmParser.lib LLVMAMDGPUDesc.lib LLVMAMDGPUInfo.lib LLVMAMDGPUAsmPrinter.lib LLVMAMDGPUUtils.lib LLVMAArch64Disassembler.lib LLVMAArch64CodeGen.lib LLVMAArch64AsmParser.lib LLVMAArch64Desc.lib LLVMAArch64Info.lib LLVMAArch64AsmPrinter.lib LLVMAArch64Utils.lib LLVMObjectYAML.lib LLVMLibDriver.lib LLVMOption.lib LLVMX86Disassembler.lib LLVMX86AsmParser.lib LLVMX86CodeGen.lib LLVMGlobalISel.lib LLVMSelectionDAG.lib LLVMAsmPrinter.lib LLVMDebugInfoCodeView.lib LLVMDebugInfoMSF.lib LLVMX86Desc.lib LLVMMCDisassembler.lib LLVMX86Info.lib LLVMX86AsmPrinter.lib LLVMX86Utils.lib LLVMMCJIT.lib LLVMLineEditor.lib LLVMInterpreter.lib LLVMExecutionEngine.lib LLVMRuntimeDyld.lib LLVMCodeGen.lib LLVMTarget.lib LLVMCoroutines.lib LLVMipo.lib LLVMInstrumentation.lib LLVMVectorize.lib LLVMScalarOpts.lib LLVMLinker.lib LLVMIRReader.lib LLVMAsmParser.lib LLVMInstCombine.lib LLVMTransformUtils.lib LLVMBitWriter.lib LLVMAnalysis.lib LLVMProfileData.lib LLVMObject.lib LLVMMCParser.lib LLVMMC.lib LLVMBitReader.lib LLVMCore.lib LLVMBinaryFormat.lib LLVMSupport.lib LLVMDemangle.lib
END_JUCE_MODULE_DECLARATION
*******************************************************************************/
#include <juce_core/juce_core.h>
#include <juce_audio_processors/juce_audio_processors.h>
#include <juce_gui_basics/juce_gui_basics.h>
#ifndef FAUSTFLOAT
#define FAUSTFLOAT float
#endif
#define DEFAULT_FAUST_DSP_SEARCHPATH "~/Library/Application Support/pMix2/FaustNodes" // TODO: don't do this here
#define FAUSTGEN_VERSION "0.99b" // TODO: rename this
#if JUCE_MAC || JUCE_LINUX
#define FAUST_DRAW_PATH "/var/tmp/"
#define SEPARATOR '/'
#elif JUCE_WIN32
#define FAUST_DRAW_PATH "\\faustgen-resources\\" // TODO: rename this/don't do this here
#define SEPARATOR '\\'
#endif
#define LLVM_OPTIMIZATION -1
#define DEFAULT_CODE "declare name \"Faust Effect\";\nimport(\"stdfaust.lib\");\nprocess = _;"
#define HTML_WRAPPER "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n\
<html>\n\
<head>\n\
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n\
<title>SVG viewer</title>\n\
</head>\n\
<body style=\"background-color: white;\">\n\
<embed src=\"process.svg\" type=\"image/svg+xml\" style=\"background-color: white; width: 100%;\">\n\
</body>\n\
</html>"
#define LOG Logger::getCurrentLogger()->writeToLog
#include "source/FaustAudioPluginInstance.h"
#include "source/FaustAudioProcessorEditor.h"
#include "source/FaustAudioProcessorParameter.h"
#include "source/FaustCodeTokenizer.h"
#include "source/FaustPluginFormat.h"
// #include "source/FaustDSPWatcher.h"
// #include "source/FaustFileFilter.h"
// #include "source/FaustGenFactory.h"