cyfaust 0.1.0__cp311-cp311-macosx_15_0_arm64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- cyfaust/CMakeLists.txt +93 -0
- cyfaust/__init__.py +0 -0
- cyfaust/__main__.py +819 -0
- cyfaust/box.pxd +46 -0
- cyfaust/box.pyx +2459 -0
- cyfaust/common.pxd +5 -0
- cyfaust/common.pyx +61 -0
- cyfaust/cyfaust.cpython-311-darwin.so +0 -0
- cyfaust/faust_box.pxd +298 -0
- cyfaust/faust_box_oo.pyx +66 -0
- cyfaust/faust_gui.pxd +261 -0
- cyfaust/faust_interp.pxd +160 -0
- cyfaust/faust_player.pxd +80 -0
- cyfaust/faust_signal.pxd +257 -0
- cyfaust/gui_statics.cpp +15 -0
- cyfaust/interp.pyx +673 -0
- cyfaust/player.cpp +32519 -0
- cyfaust/player.pyx +191 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUBase.cpp +2327 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUBase.h +1019 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUDispatch.cpp +423 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUDispatch.h +82 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUInputElement.cpp +151 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUInputElement.h +119 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUOutputElement.cpp +62 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUOutputElement.h +66 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUPlugInDispatch.cpp +615 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUPlugInDispatch.h +128 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUScopeElement.cpp +512 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/AUScopeElement.h +544 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/ComponentBase.cpp +370 -0
- cyfaust/resources/architecture/AU/AUPublic/AUBase/ComponentBase.h +340 -0
- cyfaust/resources/architecture/AU/AUPublic/AUEffectBase/AUEffectBase.cpp +463 -0
- cyfaust/resources/architecture/AU/AUPublic/AUEffectBase/AUEffectBase.h +391 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUInstrumentBase.cpp +837 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUInstrumentBase.h +267 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUMIDIBase.cpp +495 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUMIDIBase.h +213 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/LockFreeFIFO.h +168 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MIDIControlHandler.h +92 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MusicDeviceBase.cpp +354 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MusicDeviceBase.h +126 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthElement.cpp +419 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthElement.h +227 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthEvent.h +145 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNote.cpp +138 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNote.h +186 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNoteList.cpp +93 -0
- cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNoteList.h +232 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUBaseHelper.cpp +134 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUBaseHelper.h +80 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUBuffer.cpp +217 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUBuffer.h +267 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUMIDIDefs.h +136 -0
- cyfaust/resources/architecture/AU/AUPublic/Utility/AUSilentTimeout.h +93 -0
- cyfaust/resources/architecture/AU/English.lproj/InfoPlist.strings +0 -0
- cyfaust/resources/architecture/AU/FaustAU.exp +2 -0
- cyfaust/resources/architecture/AU/FaustAU.xcodeproj/project.pbxproj +968 -0
- cyfaust/resources/architecture/AU/FaustAU.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- cyfaust/resources/architecture/AU/FaustAUCustomView.plist +14 -0
- cyfaust/resources/architecture/AU/Info.plist +47 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAtomic.h +305 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAtomicStack.h +239 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAudioChannelLayout.cpp +153 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAudioChannelLayout.h +199 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAAutoDisposer.h +508 -0
- cyfaust/resources/architecture/AU/PublicUtility/CABufferList.cpp +264 -0
- cyfaust/resources/architecture/AU/PublicUtility/CABufferList.h +319 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAByteOrder.h +161 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugMacros.cpp +88 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugMacros.h +580 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugPrintf.cpp +89 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugPrintf.h +115 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugger.cpp +77 -0
- cyfaust/resources/architecture/AU/PublicUtility/CADebugger.h +56 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAException.h +83 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAGuard.cpp +339 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAGuard.h +133 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAHostTimeBase.cpp +110 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAHostTimeBase.h +231 -0
- cyfaust/resources/architecture/AU/PublicUtility/CALogMacros.h +140 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAMath.h +68 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAMutex.cpp +345 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAMutex.h +163 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAReferenceCounted.h +87 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAStreamBasicDescription.cpp +795 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAStreamBasicDescription.h +409 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAThreadSafeList.h +255 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnit.cpp +191 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnit.h +100 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnitTypes.h +59 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAXException.cpp +49 -0
- cyfaust/resources/architecture/AU/PublicUtility/CAXException.h +338 -0
- cyfaust/resources/architecture/AU/SectionPatternLight.tiff +0 -0
- cyfaust/resources/architecture/AU/Source/AUSource/FaustAU.h +38 -0
- cyfaust/resources/architecture/AU/Source/AUSource/FaustAU.r +153 -0
- cyfaust/resources/architecture/AU/Source/AUSource/FaustAUVersion.h +64 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Bargraph.h +18 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Bargraph.m +21 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Button.h +20 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Button.m +56 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomView.h +87 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomView.m +834 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomViewFactory.h +13 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomViewFactory.m +22 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Knob.h +81 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Knob.m +199 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Slider.h +18 -0
- cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Slider.m +21 -0
- cyfaust/resources/architecture/AU/version.plist +16 -0
- cyfaust/resources/architecture/VST/Info.plist +28 -0
- cyfaust/resources/architecture/VST/PkgInfo +1 -0
- cyfaust/resources/architecture/VST/README +11 -0
- cyfaust/resources/architecture/VST/VST.xcode/project.pbxproj +655 -0
- cyfaust/resources/architecture/alsa-console.cpp +246 -0
- cyfaust/resources/architecture/alsa-gtk.cpp +220 -0
- cyfaust/resources/architecture/alsa-qt.cpp +229 -0
- cyfaust/resources/architecture/api/DspFaust.cpp +612 -0
- cyfaust/resources/architecture/api/DspFaust.h +511 -0
- cyfaust/resources/architecture/api/README.md +237 -0
- cyfaust/resources/architecture/api/doc/Generic.md +38 -0
- cyfaust/resources/architecture/au-effect.cpp +487 -0
- cyfaust/resources/architecture/au-instrument.cpp +573 -0
- cyfaust/resources/architecture/bench.cpp +91 -0
- cyfaust/resources/architecture/c-jack-gtk.c +227 -0
- cyfaust/resources/architecture/ca-gtk.cpp +284 -0
- cyfaust/resources/architecture/ca-qt.cpp +424 -0
- cyfaust/resources/architecture/cpal.rs +195 -0
- cyfaust/resources/architecture/csound.cpp +245 -0
- cyfaust/resources/architecture/csvplot.cpp +227 -0
- cyfaust/resources/architecture/daisy/Makefile +14 -0
- cyfaust/resources/architecture/daisy/README.md +50 -0
- cyfaust/resources/architecture/daisy/ex_faust.cpp +173 -0
- cyfaust/resources/architecture/dssi.cpp +1262 -0
- cyfaust/resources/architecture/dummy-mem.cpp +186 -0
- cyfaust/resources/architecture/dummy.cpp +294 -0
- cyfaust/resources/architecture/faust/au/AUUI.h +404 -0
- cyfaust/resources/architecture/faust/audio/alsa-dsp.h +693 -0
- cyfaust/resources/architecture/faust/audio/android-dsp.h +583 -0
- cyfaust/resources/architecture/faust/audio/audio.h +115 -0
- cyfaust/resources/architecture/faust/audio/channels.h +122 -0
- cyfaust/resources/architecture/faust/audio/coreaudio-dsp.h +1543 -0
- cyfaust/resources/architecture/faust/audio/coreaudio-ios-dsp.h +743 -0
- cyfaust/resources/architecture/faust/audio/dummy-audio.h +255 -0
- cyfaust/resources/architecture/faust/audio/esp32-dsp.h +284 -0
- cyfaust/resources/architecture/faust/audio/fpe.h +164 -0
- cyfaust/resources/architecture/faust/audio/jack-dsp.h +534 -0
- cyfaust/resources/architecture/faust/audio/juce-dsp.h +119 -0
- cyfaust/resources/architecture/faust/audio/netjack-dsp.h +354 -0
- cyfaust/resources/architecture/faust/audio/oboe-dsp.h +308 -0
- cyfaust/resources/architecture/faust/audio/ofaudio-dsp.h +155 -0
- cyfaust/resources/architecture/faust/audio/opensles-android-dsp.h +631 -0
- cyfaust/resources/architecture/faust/audio/osc-dsp.h +120 -0
- cyfaust/resources/architecture/faust/audio/portaudio-dsp.h +236 -0
- cyfaust/resources/architecture/faust/audio/rtaudio-dsp.h +241 -0
- cyfaust/resources/architecture/faust/audio/samAudio.h +140 -0
- cyfaust/resources/architecture/faust/audio/teensy-dsp.h +171 -0
- cyfaust/resources/architecture/faust/dsp/cmajor-cpp-dsp.h +253 -0
- cyfaust/resources/architecture/faust/dsp/cmajorpatch-dsp.h +483 -0
- cyfaust/resources/architecture/faust/dsp/cpp-dsp-adapter.h +38 -0
- cyfaust/resources/architecture/faust/dsp/dsp-adapter.h +836 -0
- cyfaust/resources/architecture/faust/dsp/dsp-bench.h +611 -0
- cyfaust/resources/architecture/faust/dsp/dsp-checker.h +115 -0
- cyfaust/resources/architecture/faust/dsp/dsp-combiner.h +810 -0
- cyfaust/resources/architecture/faust/dsp/dsp-compute-adapter.h +159 -0
- cyfaust/resources/architecture/faust/dsp/dsp-multi.h +702 -0
- cyfaust/resources/architecture/faust/dsp/dsp-multifun.h +90 -0
- cyfaust/resources/architecture/faust/dsp/dsp-optimizer.h +511 -0
- cyfaust/resources/architecture/faust/dsp/dsp-tools.h +229 -0
- cyfaust/resources/architecture/faust/dsp/dsp.h +321 -0
- cyfaust/resources/architecture/faust/dsp/fastmath.cpp +301 -0
- cyfaust/resources/architecture/faust/dsp/faust-dynamic-engine.cpp +494 -0
- cyfaust/resources/architecture/faust/dsp/faust-dynamic-engine.h +386 -0
- cyfaust/resources/architecture/faust/dsp/faust-engine.h +75 -0
- cyfaust/resources/architecture/faust/dsp/faust-poly-engine.h +638 -0
- cyfaust/resources/architecture/faust/dsp/interpreter-dsp-c.h +288 -0
- cyfaust/resources/architecture/faust/dsp/interpreter-dsp.h +362 -0
- cyfaust/resources/architecture/faust/dsp/interpreter-machine-dsp.h +233 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-box-c.h +817 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-box.h +889 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-c.h +116 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-signal-c.h +649 -0
- cyfaust/resources/architecture/faust/dsp/libfaust-signal.h +731 -0
- cyfaust/resources/architecture/faust/dsp/llvm-dsp-adapter.h +160 -0
- cyfaust/resources/architecture/faust/dsp/llvm-dsp-c.h +524 -0
- cyfaust/resources/architecture/faust/dsp/llvm-dsp.h +575 -0
- cyfaust/resources/architecture/faust/dsp/llvm-machine-dsp.h +215 -0
- cyfaust/resources/architecture/faust/dsp/one-sample-dsp.h +477 -0
- cyfaust/resources/architecture/faust/dsp/poly-dsp.h +1079 -0
- cyfaust/resources/architecture/faust/dsp/poly-interpreter-dsp.h +143 -0
- cyfaust/resources/architecture/faust/dsp/poly-llvm-dsp.h +249 -0
- cyfaust/resources/architecture/faust/dsp/poly-wasm-dsp.h +257 -0
- cyfaust/resources/architecture/faust/dsp/proxy-dsp.h +108 -0
- cyfaust/resources/architecture/faust/dsp/proxy-osc-dsp.h +109 -0
- cyfaust/resources/architecture/faust/dsp/rnbo-dsp.h +187 -0
- cyfaust/resources/architecture/faust/dsp/sound-player.h +428 -0
- cyfaust/resources/architecture/faust/dsp/timed-dsp.h +279 -0
- cyfaust/resources/architecture/faust/dsp/wasm-dsp-imp.h +188 -0
- cyfaust/resources/architecture/faust/dsp/wasm-dsp.h +309 -0
- cyfaust/resources/architecture/faust/dsp/ysfx-dsp.h +188 -0
- cyfaust/resources/architecture/faust/export.h +61 -0
- cyfaust/resources/architecture/faust/gui/APIUI.h +726 -0
- cyfaust/resources/architecture/faust/gui/BelaOSCUI.h +170 -0
- cyfaust/resources/architecture/faust/gui/CGlue.h +667 -0
- cyfaust/resources/architecture/faust/gui/CInterface.h +142 -0
- cyfaust/resources/architecture/faust/gui/ControlSequenceUI.h +197 -0
- cyfaust/resources/architecture/faust/gui/ControlUI.h +137 -0
- cyfaust/resources/architecture/faust/gui/DaisyControlUI.h +283 -0
- cyfaust/resources/architecture/faust/gui/DaisyPatchInitControlUI.h +254 -0
- cyfaust/resources/architecture/faust/gui/DecoratorUI.h +115 -0
- cyfaust/resources/architecture/faust/gui/Esp32ControlUI.h +341 -0
- cyfaust/resources/architecture/faust/gui/Esp32Reader.h +102 -0
- cyfaust/resources/architecture/faust/gui/Esp32SensorUI.h +137 -0
- cyfaust/resources/architecture/faust/gui/FUI.h +147 -0
- cyfaust/resources/architecture/faust/gui/GTKUI.h +1414 -0
- cyfaust/resources/architecture/faust/gui/GUI.h +465 -0
- cyfaust/resources/architecture/faust/gui/JSONControl.h +48 -0
- cyfaust/resources/architecture/faust/gui/JSONUI.h +722 -0
- cyfaust/resources/architecture/faust/gui/JSONUIDecoder.h +589 -0
- cyfaust/resources/architecture/faust/gui/JuceGUI.h +2061 -0
- cyfaust/resources/architecture/faust/gui/JuceOSCUI.h +163 -0
- cyfaust/resources/architecture/faust/gui/JuceParameterUI.h +158 -0
- cyfaust/resources/architecture/faust/gui/JuceReader.h +103 -0
- cyfaust/resources/architecture/faust/gui/JuceStateUI.h +88 -0
- cyfaust/resources/architecture/faust/gui/LayoutUI.h +423 -0
- cyfaust/resources/architecture/faust/gui/LibsndfileReader.h +366 -0
- cyfaust/resources/architecture/faust/gui/MapUI.h +370 -0
- cyfaust/resources/architecture/faust/gui/MemoryReader.h +111 -0
- cyfaust/resources/architecture/faust/gui/MetaDataUI.h +357 -0
- cyfaust/resources/architecture/faust/gui/MidiUI.h +939 -0
- cyfaust/resources/architecture/faust/gui/OCVUI.h +688 -0
- cyfaust/resources/architecture/faust/gui/OSCUI.h +219 -0
- cyfaust/resources/architecture/faust/gui/PathBuilder.h +228 -0
- cyfaust/resources/architecture/faust/gui/PresetUI.h +337 -0
- cyfaust/resources/architecture/faust/gui/PrintCUI.h +152 -0
- cyfaust/resources/architecture/faust/gui/PrintUI.h +121 -0
- cyfaust/resources/architecture/faust/gui/QTUI.h +1891 -0
- cyfaust/resources/architecture/faust/gui/RosCI.h +493 -0
- cyfaust/resources/architecture/faust/gui/RosUI.h +488 -0
- cyfaust/resources/architecture/faust/gui/SaveUI.h +163 -0
- cyfaust/resources/architecture/faust/gui/SimpleParser.h +583 -0
- cyfaust/resources/architecture/faust/gui/SoundUI.h +217 -0
- cyfaust/resources/architecture/faust/gui/Soundfile.h +342 -0
- cyfaust/resources/architecture/faust/gui/Styles/Blue.qrc +5 -0
- cyfaust/resources/architecture/faust/gui/Styles/Blue.qss +177 -0
- cyfaust/resources/architecture/faust/gui/Styles/Default.qrc +5 -0
- cyfaust/resources/architecture/faust/gui/Styles/Default.qss +117 -0
- cyfaust/resources/architecture/faust/gui/Styles/Grey.qrc +5 -0
- cyfaust/resources/architecture/faust/gui/Styles/Grey.qss +174 -0
- cyfaust/resources/architecture/faust/gui/Styles/Salmon.qrc +5 -0
- cyfaust/resources/architecture/faust/gui/Styles/Salmon.qss +171 -0
- cyfaust/resources/architecture/faust/gui/UI.h +87 -0
- cyfaust/resources/architecture/faust/gui/ValueConverter.h +543 -0
- cyfaust/resources/architecture/faust/gui/WaveReader.h +364 -0
- cyfaust/resources/architecture/faust/gui/console.h +322 -0
- cyfaust/resources/architecture/faust/gui/httpdUI.h +372 -0
- cyfaust/resources/architecture/faust/gui/meta.h +39 -0
- cyfaust/resources/architecture/faust/gui/mspUI.h +580 -0
- cyfaust/resources/architecture/faust/gui/qrcodegen.h +269 -0
- cyfaust/resources/architecture/faust/gui/qrcodegen.impl.h +1025 -0
- cyfaust/resources/architecture/faust/gui/ring-buffer.h +414 -0
- cyfaust/resources/architecture/faust/midi/RtMidi.cpp +3054 -0
- cyfaust/resources/architecture/faust/midi/RtMidi.h +1034 -0
- cyfaust/resources/architecture/faust/midi/bela-midi.h +266 -0
- cyfaust/resources/architecture/faust/midi/daisy-midi.h +116 -0
- cyfaust/resources/architecture/faust/midi/esp32-midi.h +185 -0
- cyfaust/resources/architecture/faust/midi/gramophone-midi.h +107 -0
- cyfaust/resources/architecture/faust/midi/iplug2-midi.h +148 -0
- cyfaust/resources/architecture/faust/midi/jack-midi.h +247 -0
- cyfaust/resources/architecture/faust/midi/juce-midi.h +275 -0
- cyfaust/resources/architecture/faust/midi/midi.h +475 -0
- cyfaust/resources/architecture/faust/midi/rt-midi.h +315 -0
- cyfaust/resources/architecture/faust/midi/teensy-midi.h +89 -0
- cyfaust/resources/architecture/faust/misc.h +106 -0
- cyfaust/resources/architecture/faust/sound-file.h +132 -0
- cyfaust/resources/architecture/faust/unity/AudioPluginInterface.h +301 -0
- cyfaust/resources/architecture/faust/vst/faust.h +141 -0
- cyfaust/resources/architecture/faust/vst/voice.h +43 -0
- cyfaust/resources/architecture/faust/vst/vstui.h +524 -0
- cyfaust/resources/architecture/faustvst.cpp +3435 -0
- cyfaust/resources/architecture/faustvstqt.h +91 -0
- cyfaust/resources/architecture/gen-json.cpp +76 -0
- cyfaust/resources/architecture/jack-console.cpp +267 -0
- cyfaust/resources/architecture/jack-gtk-ros.cpp +139 -0
- cyfaust/resources/architecture/jack-gtk.cpp +282 -0
- cyfaust/resources/architecture/jack-internal.cpp +560 -0
- cyfaust/resources/architecture/jack-qt-chain-footer.cpp +87 -0
- cyfaust/resources/architecture/jack-qt-chain-header.cpp +92 -0
- cyfaust/resources/architecture/jack-qt.cpp +281 -0
- cyfaust/resources/architecture/jack.rs +171 -0
- cyfaust/resources/architecture/juce/README.md +84 -0
- cyfaust/resources/architecture/juce/juce-plugin.cpp +809 -0
- cyfaust/resources/architecture/juce/juce-standalone.cpp +413 -0
- cyfaust/resources/architecture/juce/plugin/plugin-llvm.jucer +184 -0
- cyfaust/resources/architecture/juce/plugin/plugin.jucer +159 -0
- cyfaust/resources/architecture/juce/standalone/standalone-llvm.jucer +216 -0
- cyfaust/resources/architecture/juce/standalone/standalone.jucer +191 -0
- cyfaust/resources/architecture/ladspa.cpp +543 -0
- cyfaust/resources/architecture/latexheader.tex +65 -0
- cyfaust/resources/architecture/lv2.cpp +2090 -0
- cyfaust/resources/architecture/lv2qtgui.h +62 -0
- cyfaust/resources/architecture/lv2ui.cpp +1966 -0
- cyfaust/resources/architecture/max-msp/README.md +109 -0
- cyfaust/resources/architecture/max-msp/faustgen-wrapper-poly.maxpat +184 -0
- cyfaust/resources/architecture/max-msp/faustgen-wrapper.maxpat +163 -0
- cyfaust/resources/architecture/max-msp/max-msp.cpp +734 -0
- cyfaust/resources/architecture/max-msp/max-msp64.cpp +789 -0
- cyfaust/resources/architecture/max-msp/py2max/README.md +277 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/__init__.py +3 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/common.py +7 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/core.py +1387 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/maxclassdb.py +318 -0
- cyfaust/resources/architecture/max-msp/py2max/py2max/utils.py +20 -0
- cyfaust/resources/architecture/max-msp/rnbo.py +1591 -0
- cyfaust/resources/architecture/max-msp/sndfile/sndfile.h +857 -0
- cyfaust/resources/architecture/max-msp/ui.js +230 -0
- cyfaust/resources/architecture/max-msp/wrapper-poly.maxpat +153 -0
- cyfaust/resources/architecture/max-msp/wrapper.maxpat +131 -0
- cyfaust/resources/architecture/minimal-bench.cpp +100 -0
- cyfaust/resources/architecture/minimal-effect.c +149 -0
- cyfaust/resources/architecture/minimal-effect.cpp +70 -0
- cyfaust/resources/architecture/minimal-fixed-point.cpp +195 -0
- cyfaust/resources/architecture/minimal-static.cpp +160 -0
- cyfaust/resources/architecture/minimal.c +103 -0
- cyfaust/resources/architecture/minimal.cpp +84 -0
- cyfaust/resources/architecture/minimal.rs +223 -0
- cyfaust/resources/architecture/module.cpp +91 -0
- cyfaust/resources/architecture/octave.cpp +471 -0
- cyfaust/resources/architecture/oscio-gtk.cpp +115 -0
- cyfaust/resources/architecture/oscio-qt.cpp +121 -0
- cyfaust/resources/architecture/owl.cpp +345 -0
- cyfaust/resources/architecture/pa-gtk.cpp +119 -0
- cyfaust/resources/architecture/pa-qt.cpp +261 -0
- cyfaust/resources/architecture/path-printer.cpp +100 -0
- cyfaust/resources/architecture/plot.cpp +128 -0
- cyfaust/resources/architecture/portaudio.rs +192 -0
- cyfaust/resources/architecture/puredata.cpp +636 -0
- cyfaust/resources/architecture/ra-qt.cpp +238 -0
- cyfaust/resources/architecture/sam/fast_pow2.h +69 -0
- cyfaust/resources/architecture/sam/fastexp.h +140 -0
- cyfaust/resources/architecture/sam/samFaustDSP.cpp +125 -0
- cyfaust/resources/architecture/sam/samFaustDSP.h +107 -0
- cyfaust/resources/architecture/scheduler.cpp +1391 -0
- cyfaust/resources/architecture/sndfile.cpp +291 -0
- cyfaust/resources/architecture/supercollider.cpp +611 -0
- cyfaust/resources/architecture/teensy/README.md +13 -0
- cyfaust/resources/architecture/teensy/teensy.cpp +214 -0
- cyfaust/resources/architecture/teensy/teensy.h +71 -0
- cyfaust/resources/architecture/thread.h +373 -0
- cyfaust/resources/architecture/vcvrack/README.md +78 -0
- cyfaust/resources/architecture/vcvrack/template/.gitignore +6 -0
- cyfaust/resources/architecture/vcvrack/template/Makefile +22 -0
- cyfaust/resources/architecture/vcvrack/template/res/FaustModule.svg +299 -0
- cyfaust/resources/architecture/vcvrack/template/src/FaustModule.cpp +942 -0
- cyfaust/resources/architecture/vst.cpp +947 -0
- cyfaust/resources/libraries/aanl.lib +900 -0
- cyfaust/resources/libraries/all.lib +36 -0
- cyfaust/resources/libraries/analyzers.lib +980 -0
- cyfaust/resources/libraries/basics.lib +2681 -0
- cyfaust/resources/libraries/compressors.lib +1341 -0
- cyfaust/resources/libraries/delays.lib +401 -0
- cyfaust/resources/libraries/demos.lib +1556 -0
- cyfaust/resources/libraries/dx7.lib +1036 -0
- cyfaust/resources/libraries/effect.lib +1645 -0
- cyfaust/resources/libraries/envelopes.lib +666 -0
- cyfaust/resources/libraries/examples/README.md +13 -0
- cyfaust/resources/libraries/examples/ambisonics/fourSourcesToOcto.dsp +20 -0
- cyfaust/resources/libraries/examples/ambisonics/oneSourceToStereo.dsp +12 -0
- cyfaust/resources/libraries/examples/analysis/FFT.dsp +26 -0
- cyfaust/resources/libraries/examples/analysis/dbmeter.dsp +19 -0
- cyfaust/resources/libraries/examples/analysis/spectralLevel.dsp +8 -0
- cyfaust/resources/libraries/examples/analysis/spectralTiltLab.dsp +20 -0
- cyfaust/resources/libraries/examples/analysis/vumeter.dsp +18 -0
- cyfaust/resources/libraries/examples/autodiff/delay/diff.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/delay/gt.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/gain/diff.dsp +7 -0
- cyfaust/resources/libraries/examples/autodiff/gain/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/gain_dc/diff.dsp +7 -0
- cyfaust/resources/libraries/examples/autodiff/gain_dc/gt.dsp +4 -0
- cyfaust/resources/libraries/examples/autodiff/gain_exp/diff.dsp +9 -0
- cyfaust/resources/libraries/examples/autodiff/gain_exp/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/gain_pow/diff.dsp +9 -0
- cyfaust/resources/libraries/examples/autodiff/gain_pow/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/gain_pow_trig/diff.dsp +12 -0
- cyfaust/resources/libraries/examples/autodiff/gain_pow_trig/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/gain_sq/diff.dsp +7 -0
- cyfaust/resources/libraries/examples/autodiff/gain_sq/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/mem/diff.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/mem/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/noise.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/noop.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/one_zero/diff.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/one_zero/gt.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/ramp.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/recursion/diff.dsp +2 -0
- cyfaust/resources/libraries/examples/autodiff/recursion/gt.dsp +1 -0
- cyfaust/resources/libraries/examples/autodiff/recursion/target.dsp +13 -0
- cyfaust/resources/libraries/examples/autodiff/tremolo/diff.dsp +14 -0
- cyfaust/resources/libraries/examples/autodiff/tremolo/diffable.lib +7 -0
- cyfaust/resources/libraries/examples/autodiff/tremolo/gt.dsp +11 -0
- cyfaust/resources/libraries/examples/delayEcho/echo.dsp +15 -0
- cyfaust/resources/libraries/examples/delayEcho/quadEcho.dsp +21 -0
- cyfaust/resources/libraries/examples/delayEcho/smoothDelay.dsp +26 -0
- cyfaust/resources/libraries/examples/delayEcho/stereoEcho.dsp +16 -0
- cyfaust/resources/libraries/examples/delayEcho/tapiir.dsp +44 -0
- cyfaust/resources/libraries/examples/dynamic/compressor.dsp +8 -0
- cyfaust/resources/libraries/examples/dynamic/distortion.dsp +8 -0
- cyfaust/resources/libraries/examples/dynamic/gateCompressor.dsp +10 -0
- cyfaust/resources/libraries/examples/dynamic/noiseGate.dsp +8 -0
- cyfaust/resources/libraries/examples/dynamic/volume.dsp +15 -0
- cyfaust/resources/libraries/examples/filtering/APF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/BPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/DNN.dsp +25 -0
- cyfaust/resources/libraries/examples/filtering/HPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/LPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/bandFilter.dsp +44 -0
- cyfaust/resources/libraries/examples/filtering/cryBaby.dsp +4 -0
- cyfaust/resources/libraries/examples/filtering/diodeLadder.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/filterBank.dsp +6 -0
- cyfaust/resources/libraries/examples/filtering/graphicEqLab.dsp +10 -0
- cyfaust/resources/libraries/examples/filtering/highShelf.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/korg35HPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/korg35LPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/lfBoost.dsp +40 -0
- cyfaust/resources/libraries/examples/filtering/lowBoost.dsp +40 -0
- cyfaust/resources/libraries/examples/filtering/lowCut.dsp +40 -0
- cyfaust/resources/libraries/examples/filtering/lowShelf.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/moogHalfLadder.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/moogLadder.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/moogVCF.dsp +6 -0
- cyfaust/resources/libraries/examples/filtering/multibandFilter.dsp +14 -0
- cyfaust/resources/libraries/examples/filtering/notch.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/oberheim.dsp +14 -0
- cyfaust/resources/libraries/examples/filtering/oberheimBPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/oberheimBSF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/oberheimHPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/oberheimLPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/parametricEqLab.dsp +10 -0
- cyfaust/resources/libraries/examples/filtering/parametricEqualizer.dsp +6 -0
- cyfaust/resources/libraries/examples/filtering/peakNotch.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/peakingEQ.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrder.dsp +14 -0
- cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderBPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderHPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderLPF.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKeyOnePole.dsp +13 -0
- cyfaust/resources/libraries/examples/filtering/sallenKeyOnePoleHPF.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/sallenKeyOnePoleLPF.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/spectralTilt.dsp +8 -0
- cyfaust/resources/libraries/examples/filtering/vcfWahLab.dsp +12 -0
- cyfaust/resources/libraries/examples/filtering/vocoder.dsp +8 -0
- cyfaust/resources/libraries/examples/filtering/wahPedal.dsp +6 -0
- cyfaust/resources/libraries/examples/gameaudio/bubble.dsp +42 -0
- cyfaust/resources/libraries/examples/gameaudio/door.dsp +58 -0
- cyfaust/resources/libraries/examples/gameaudio/fire.dsp +46 -0
- cyfaust/resources/libraries/examples/gameaudio/insects.dsp +148 -0
- cyfaust/resources/libraries/examples/gameaudio/rain.dsp +27 -0
- cyfaust/resources/libraries/examples/gameaudio/wind.dsp +23 -0
- cyfaust/resources/libraries/examples/generator/filterOsc.dsp +8 -0
- cyfaust/resources/libraries/examples/generator/noise.dsp +52 -0
- cyfaust/resources/libraries/examples/generator/noiseMetadata.dsp +74 -0
- cyfaust/resources/libraries/examples/generator/osc.dsp +17 -0
- cyfaust/resources/libraries/examples/generator/osci.dsp +17 -0
- cyfaust/resources/libraries/examples/generator/sawtoothLab.dsp +8 -0
- cyfaust/resources/libraries/examples/generator/virtualAnalog.dsp +8 -0
- cyfaust/resources/libraries/examples/generator/virtualAnalogLab.dsp +10 -0
- cyfaust/resources/libraries/examples/misc/UITester.dsp +71 -0
- cyfaust/resources/libraries/examples/misc/autopan.dsp +59 -0
- cyfaust/resources/libraries/examples/misc/capture.dsp +24 -0
- cyfaust/resources/libraries/examples/misc/drumkit.dsp +36 -0
- cyfaust/resources/libraries/examples/misc/guitarix.dsp +184 -0
- cyfaust/resources/libraries/examples/misc/matrix.dsp +17 -0
- cyfaust/resources/libraries/examples/misc/midiTester.dsp +122 -0
- cyfaust/resources/libraries/examples/misc/mixer.dsp +27 -0
- cyfaust/resources/libraries/examples/misc/statespace.dsp +39 -0
- cyfaust/resources/libraries/examples/misc/switcher.dsp +20 -0
- cyfaust/resources/libraries/examples/misc/tester.dsp +32 -0
- cyfaust/resources/libraries/examples/misc/tester2.dsp +31 -0
- cyfaust/resources/libraries/examples/old/README.md +5 -0
- cyfaust/resources/libraries/examples/old/freeverb.dsp +109 -0
- cyfaust/resources/libraries/examples/old/rewriting/Makefile +21 -0
- cyfaust/resources/libraries/examples/old/rewriting/fact.dsp +3 -0
- cyfaust/resources/libraries/examples/old/rewriting/fold.dsp +61 -0
- cyfaust/resources/libraries/examples/old/rewriting/mesh.dsp +43 -0
- cyfaust/resources/libraries/examples/old/rewriting/mesh.pd +37 -0
- cyfaust/resources/libraries/examples/old/rewriting/sample.pd +12 -0
- cyfaust/resources/libraries/examples/old/rewriting/serial.dsp +7 -0
- cyfaust/resources/libraries/examples/old/rewriting/sum.dsp +55 -0
- cyfaust/resources/libraries/examples/old/rewriting/test.pd +48 -0
- cyfaust/resources/libraries/examples/phasing/flanger.dsp +8 -0
- cyfaust/resources/libraries/examples/phasing/phaser.dsp +8 -0
- cyfaust/resources/libraries/examples/phasing/phaserFlangerLab.dsp +12 -0
- cyfaust/resources/libraries/examples/physicalModeling/brass.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/brassMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/churchBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/clarinet.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/clarinetMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/djembeMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/elecGuitarMIDI.dsp +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/englishBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/NLFeks.dsp +91 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/NLFfm.dsp +70 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/README +125 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bass.dsp +84 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bass.h +91 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/blowBottle.dsp +102 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bowed.dsp +114 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/brass.dsp +103 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/clarinet.dsp +110 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/flute.dsp +116 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/fluteStk.dsp +121 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/glassHarmonica.dsp +131 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/harpsi.dsp +90 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/harpsichord.h +185 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/instrument.h +114 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/modalBar.dsp +122 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/modalBar.h +48 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/bottle.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/clarinets.pd +15 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/bass.pd +162 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/canon.pd +55 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/flute.pd +343 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/pachelbel.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/daisy.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/daisy.pd +45 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/piano.pd +205 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/voiceForm.pd +340 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/blowHole.pd +330 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/piano.pd +205 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/take5.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/take5.pd +45 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/harpsi.pd +204 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/turkish-march.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/turkish-march.pd +31 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/audio-out.pd +33 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/bass.pd +162 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/modalBar.pd +258 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/piano.pd +205 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/what-a-friend.pd +52 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/what_a_friend.mid +0 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/flutes.pd +15 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fm.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/glassBare.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/harpsichord-poly.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/ironBare.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/midi-in.pd +111 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/modal.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/osc.pd +26 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/piano-poly.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/plucked.pd +20 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/saxophone.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/tibetan.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/trumpet.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/violin.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/voiceSynth.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/woodenBare.pd +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/phonemes.h +189 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/piano.dsp +255 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/piano.h +751 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/saxophony.dsp +114 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/sitar.dsp +48 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/tibetanBowl.dsp +155 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/tunedBar.dsp +123 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/uniBar.dsp +100 -0
- cyfaust/resources/libraries/examples/physicalModeling/faust-stk/voiceForm.dsp +125 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/1dDampedWaveEquation.dsp +43 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/2dKirchhoffThinPlate.dsp +75 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/BowedString.dsp +61 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/ControllableNonPhysicalString.dsp +72 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/HammeredString.dsp +74 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/PianoHammeredString.dsp +85 -0
- cyfaust/resources/libraries/examples/physicalModeling/fds/StiffString.dsp +54 -0
- cyfaust/resources/libraries/examples/physicalModeling/flute.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/fluteMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/frenchBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/germanBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/guitarMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/karplus.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/marimbaMIDI.dsp +10 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator.dsp +58 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator2.dsp +62 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator3.dsp +65 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/01_ParamControl/paramOsc.dsp +63 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/02_AudioParamControl/audioParamOsc.dsp +63 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/03_HammerTime/hammerOsc.dsp +71 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/04_Gravity/bouncingOsc.dsp +64 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/05_PluckedOscillator/pluckedOsc.dsp +57 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/06_BowedOscillator/bowedOsc.dsp +65 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/07_NonLinearOscillator/nlOsc.dsp +78 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/08_TwoMassChain/2massChain.dsp +75 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/09_TinyString/tinyString.dsp +101 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/10_PluckedString/pluckedString.dsp +678 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/11_BowedString/bowedString.dsp +671 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/12_TriangleMesh/triangleMesh.dsp +448 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/13_Construction/construction.dsp +1036 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/14_Polyphonic/polyTriangle.dsp +79 -0
- cyfaust/resources/libraries/examples/physicalModeling/mi-faust/15_PhysicalLFO/physicalLFO.dsp +107 -0
- cyfaust/resources/libraries/examples/physicalModeling/modularInterpInstrMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/nylonGuitarMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/old/harpe.dsp +45 -0
- cyfaust/resources/libraries/examples/physicalModeling/old/karplus.dsp +34 -0
- cyfaust/resources/libraries/examples/physicalModeling/old/karplus32.dsp +47 -0
- cyfaust/resources/libraries/examples/physicalModeling/russianBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/standardBell.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/violin.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/violinMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/vocalBP.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/vocalBPMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/vocalFOF.dsp +8 -0
- cyfaust/resources/libraries/examples/physicalModeling/vocalFOFMIDI.dsp +8 -0
- cyfaust/resources/libraries/examples/pitchShifting/pitchShifter.dsp +20 -0
- cyfaust/resources/libraries/examples/psychoacoustic/harmonicExciter.dsp +10 -0
- cyfaust/resources/libraries/examples/quantizing/quantizedChords.dsp +49 -0
- cyfaust/resources/libraries/examples/reverb/dattorro.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/fdnRev.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/freeverb.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/greyhole.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/jprev.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/reverbDesigner.dsp +12 -0
- cyfaust/resources/libraries/examples/reverb/reverbTester.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/zitaRev.dsp +8 -0
- cyfaust/resources/libraries/examples/reverb/zitaRevFDN.dsp +8 -0
- cyfaust/resources/libraries/examples/smartKeyboard/acGuitar.dsp +100 -0
- cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/elecGuitarEffect.dsp +8 -0
- cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/myEffect.dsp +5 -0
- cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/reverb.dsp +5 -0
- cyfaust/resources/libraries/examples/smartKeyboard/bells.dsp +80 -0
- cyfaust/resources/libraries/examples/smartKeyboard/bowed.dsp +87 -0
- cyfaust/resources/libraries/examples/smartKeyboard/brass.dsp +82 -0
- cyfaust/resources/libraries/examples/smartKeyboard/clarinet.dsp +113 -0
- cyfaust/resources/libraries/examples/smartKeyboard/crazyGuiro.dsp +96 -0
- cyfaust/resources/libraries/examples/smartKeyboard/drums.dsp +74 -0
- cyfaust/resources/libraries/examples/smartKeyboard/dubDub.dsp +87 -0
- cyfaust/resources/libraries/examples/smartKeyboard/elecGuitar.dsp +67 -0
- cyfaust/resources/libraries/examples/smartKeyboard/fm.dsp +78 -0
- cyfaust/resources/libraries/examples/smartKeyboard/frog.dsp +74 -0
- cyfaust/resources/libraries/examples/smartKeyboard/harp.dsp +84 -0
- cyfaust/resources/libraries/examples/smartKeyboard/midiOnly.dsp +62 -0
- cyfaust/resources/libraries/examples/smartKeyboard/multiSynth.dsp +75 -0
- cyfaust/resources/libraries/examples/smartKeyboard/toy.dsp +71 -0
- cyfaust/resources/libraries/examples/smartKeyboard/trumpet.dsp +59 -0
- cyfaust/resources/libraries/examples/smartKeyboard/turenas.dsp +114 -0
- cyfaust/resources/libraries/examples/smartKeyboard/violin.dsp +91 -0
- cyfaust/resources/libraries/examples/smartKeyboard/violin2.dsp +84 -0
- cyfaust/resources/libraries/examples/smartKeyboard/vocal.dsp +43 -0
- cyfaust/resources/libraries/examples/spat/panpot.dsp +17 -0
- cyfaust/resources/libraries/examples/spat/spat.dsp +25 -0
- cyfaust/resources/libraries/fds.lib +535 -0
- cyfaust/resources/libraries/filter.lib +1710 -0
- cyfaust/resources/libraries/filters.lib +3125 -0
- cyfaust/resources/libraries/hoa.lib +1081 -0
- cyfaust/resources/libraries/instruments.lib +263 -0
- cyfaust/resources/libraries/interpolators.lib +675 -0
- cyfaust/resources/libraries/math.lib +602 -0
- cyfaust/resources/libraries/maths.lib +798 -0
- cyfaust/resources/libraries/maxmsp.lib +237 -0
- cyfaust/resources/libraries/mi.lib +528 -0
- cyfaust/resources/libraries/misceffects.lib +998 -0
- cyfaust/resources/libraries/music.lib +496 -0
- cyfaust/resources/libraries/noises.lib +487 -0
- cyfaust/resources/libraries/oscillator.lib +450 -0
- cyfaust/resources/libraries/oscillators.lib +1838 -0
- cyfaust/resources/libraries/phaflangers.lib +235 -0
- cyfaust/resources/libraries/physmodels.lib +3990 -0
- cyfaust/resources/libraries/platform.lib +59 -0
- cyfaust/resources/libraries/quantizers.lib +310 -0
- cyfaust/resources/libraries/reducemaps.lib +235 -0
- cyfaust/resources/libraries/reverbs.lib +686 -0
- cyfaust/resources/libraries/routes.lib +262 -0
- cyfaust/resources/libraries/sf.lib +53 -0
- cyfaust/resources/libraries/signals.lib +570 -0
- cyfaust/resources/libraries/soundfiles.lib +234 -0
- cyfaust/resources/libraries/spats.lib +173 -0
- cyfaust/resources/libraries/stdfaust.lib +38 -0
- cyfaust/resources/libraries/synths.lib +322 -0
- cyfaust/resources/libraries/tonestacks.lib +427 -0
- cyfaust/resources/libraries/tubes.lib +5039 -0
- cyfaust/resources/libraries/vaeffects.lib +984 -0
- cyfaust/resources/libraries/version.lib +22 -0
- cyfaust/resources/libraries/wdmodels.lib +2276 -0
- cyfaust/resources/libraries/webaudio.lib +402 -0
- cyfaust/signal.pxd +44 -0
- cyfaust/signal.pyx +1993 -0
- cyfaust-0.1.0.dist-info/METADATA +355 -0
- cyfaust-0.1.0.dist-info/RECORD +693 -0
- cyfaust-0.1.0.dist-info/WHEEL +5 -0
- cyfaust-0.1.0.dist-info/entry_points.txt +3 -0
- cyfaust-0.1.0.dist-info/licenses/LICENSE +26 -0
|
@@ -0,0 +1,611 @@
|
|
|
1
|
+
/************************************************************************
|
|
2
|
+
IMPORTANT NOTE : this file contains two clearly delimited sections :
|
|
3
|
+
the ARCHITECTURE section (in two parts) and the USER section. Each section
|
|
4
|
+
is governed by its own copyright and license. Please check individually
|
|
5
|
+
each section for license and copyright information.
|
|
6
|
+
*************************************************************************/
|
|
7
|
+
|
|
8
|
+
/******************* BEGIN supercollider.cpp ****************/
|
|
9
|
+
/************************************************************************
|
|
10
|
+
FAUST Architecture File
|
|
11
|
+
Copyright (C) 2005-2012 Stefan Kersten.
|
|
12
|
+
Copyright (C) 2003-2019 GRAME, Centre National de Creation Musicale
|
|
13
|
+
---------------------------------------------------------------------
|
|
14
|
+
This Architecture section is free software; you can redistribute it
|
|
15
|
+
and/or modify it under the terms of the GNU General Public License
|
|
16
|
+
as published by the Free Software Foundation; either version 3 of
|
|
17
|
+
the License, or (at your option) any later version.
|
|
18
|
+
|
|
19
|
+
This program is distributed in the hope that it will be useful,
|
|
20
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
21
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
22
|
+
GNU General Public License for more details.
|
|
23
|
+
|
|
24
|
+
You should have received a copy of the GNU General Public License
|
|
25
|
+
along with this program; If not, see <http://www.gnu.org/licenses/>.
|
|
26
|
+
|
|
27
|
+
EXCEPTION : As a special exception, you may create a larger work
|
|
28
|
+
that contains this FAUST architecture section and distribute
|
|
29
|
+
that work under terms of your choice, so long as this FAUST
|
|
30
|
+
architecture section is not modified.
|
|
31
|
+
|
|
32
|
+
************************************************************************
|
|
33
|
+
************************************************************************/
|
|
34
|
+
|
|
35
|
+
// The prefix is set to "Faust" in the faust2supercollider script, otherwise set empty
|
|
36
|
+
#if !defined(SC_FAUST_PREFIX)
|
|
37
|
+
#define SC_FAUST_PREFIX ""
|
|
38
|
+
#endif
|
|
39
|
+
|
|
40
|
+
#include <map>
|
|
41
|
+
#include <string>
|
|
42
|
+
#include <string.h>
|
|
43
|
+
#include <SC_PlugIn.h>
|
|
44
|
+
|
|
45
|
+
#include <faust/dsp/dsp.h>
|
|
46
|
+
#include <faust/gui/UI.h>
|
|
47
|
+
#include <faust/misc.h>
|
|
48
|
+
|
|
49
|
+
#ifdef SOUNDFILE
|
|
50
|
+
#include "faust/gui/SoundUI.h"
|
|
51
|
+
#endif
|
|
52
|
+
|
|
53
|
+
std::string defaultSoundfilesDirectory()
|
|
54
|
+
{
|
|
55
|
+
char* soundfiles_dir = getenv("FAUST_SOUNDFILES");
|
|
56
|
+
return std::string((soundfiles_dir) ? soundfiles_dir : "");
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
#ifdef __APPLE__
|
|
60
|
+
std::string defaultUserAppSupportDirectory()
|
|
61
|
+
{
|
|
62
|
+
return std::string(getenv("HOME")) + "/Library/Application Support/SuperCollider/Extensions";
|
|
63
|
+
}
|
|
64
|
+
std::string defaultSoundfilesDirectory1()
|
|
65
|
+
{
|
|
66
|
+
return std::string(getenv("HOME")) + "/Library/Application Support/SuperCollider/Extensions/FaustSounds";
|
|
67
|
+
}
|
|
68
|
+
#else
|
|
69
|
+
std::string defaultUserAppSupportDirectory()
|
|
70
|
+
{
|
|
71
|
+
return getenv("HOME");
|
|
72
|
+
}
|
|
73
|
+
std::string defaultSoundfilesDirectory1()
|
|
74
|
+
{
|
|
75
|
+
return std::string(getenv("HOME")) + "/FaustSounds";
|
|
76
|
+
}
|
|
77
|
+
#endif
|
|
78
|
+
|
|
79
|
+
using namespace std;
|
|
80
|
+
|
|
81
|
+
#if defined(__GNUC__) && __GNUC__ >= 4
|
|
82
|
+
#define FAUST_EXPORT __attribute__((visibility("default")))
|
|
83
|
+
#else
|
|
84
|
+
#define FAUST_EXPORT SC_API_EXPORT
|
|
85
|
+
#endif
|
|
86
|
+
|
|
87
|
+
#ifdef WIN32
|
|
88
|
+
#define STRDUP _strdup
|
|
89
|
+
#else
|
|
90
|
+
#define STRDUP strdup
|
|
91
|
+
#endif
|
|
92
|
+
|
|
93
|
+
//----------------------------------------------------------------------------
|
|
94
|
+
// Metadata
|
|
95
|
+
//----------------------------------------------------------------------------
|
|
96
|
+
|
|
97
|
+
class MetaData : public Meta
|
|
98
|
+
, public std::map<std::string, std::string>
|
|
99
|
+
{
|
|
100
|
+
public:
|
|
101
|
+
void declare(const char* key, const char* value)
|
|
102
|
+
{
|
|
103
|
+
(*this)[key] = value;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
//----------------------------------------------------------------------------
|
|
108
|
+
// Control counter
|
|
109
|
+
//----------------------------------------------------------------------------
|
|
110
|
+
|
|
111
|
+
class ControlCounter : public UI
|
|
112
|
+
{
|
|
113
|
+
public:
|
|
114
|
+
ControlCounter()
|
|
115
|
+
: mNumControlInputs(0),
|
|
116
|
+
mNumControlOutputs(0)
|
|
117
|
+
{}
|
|
118
|
+
|
|
119
|
+
size_t getNumControls() const { return getNumControlInputs(); }
|
|
120
|
+
size_t getNumControlInputs() const { return mNumControlInputs; }
|
|
121
|
+
size_t getNumControlOutputs() const { return mNumControlOutputs; }
|
|
122
|
+
|
|
123
|
+
// Layout widgets
|
|
124
|
+
virtual void openTabBox(const char* label) { }
|
|
125
|
+
virtual void openHorizontalBox(const char* label) { }
|
|
126
|
+
virtual void openVerticalBox(const char* label) { }
|
|
127
|
+
virtual void closeBox() { }
|
|
128
|
+
|
|
129
|
+
// Active widgets
|
|
130
|
+
virtual void addButton(const char* label, FAUSTFLOAT* zone)
|
|
131
|
+
{ addControlInput(); }
|
|
132
|
+
virtual void addCheckButton(const char* label, FAUSTFLOAT* zone)
|
|
133
|
+
{ addControlInput(); }
|
|
134
|
+
virtual void addVerticalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
|
|
135
|
+
{ addControlInput(); }
|
|
136
|
+
virtual void addHorizontalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
|
|
137
|
+
{ addControlInput(); }
|
|
138
|
+
virtual void addNumEntry(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
|
|
139
|
+
{ addControlInput(); }
|
|
140
|
+
|
|
141
|
+
// Passive widgets
|
|
142
|
+
virtual void addHorizontalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max)
|
|
143
|
+
{ addControlOutput(); }
|
|
144
|
+
virtual void addVerticalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max)
|
|
145
|
+
{ addControlOutput(); }
|
|
146
|
+
|
|
147
|
+
virtual void addSoundfile(const char* label, const char* filename, Soundfile** sf_zone) {}
|
|
148
|
+
|
|
149
|
+
protected:
|
|
150
|
+
void addControlInput() { mNumControlInputs++; }
|
|
151
|
+
void addControlOutput() { mNumControlOutputs++; }
|
|
152
|
+
|
|
153
|
+
private:
|
|
154
|
+
size_t mNumControlInputs;
|
|
155
|
+
size_t mNumControlOutputs;
|
|
156
|
+
};
|
|
157
|
+
|
|
158
|
+
//----------------------------------------------------------------------------
|
|
159
|
+
// UI control
|
|
160
|
+
//----------------------------------------------------------------------------
|
|
161
|
+
|
|
162
|
+
struct Control
|
|
163
|
+
{
|
|
164
|
+
typedef void (*UpdateFunction)(Control* self, FAUSTFLOAT value);
|
|
165
|
+
|
|
166
|
+
UpdateFunction updateFunction;
|
|
167
|
+
FAUSTFLOAT* zone;
|
|
168
|
+
FAUSTFLOAT min, max;
|
|
169
|
+
|
|
170
|
+
inline void update(FAUSTFLOAT value)
|
|
171
|
+
{
|
|
172
|
+
(*updateFunction)(this, value);
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
static void simpleUpdate(Control* self, FAUSTFLOAT value)
|
|
176
|
+
{
|
|
177
|
+
*self->zone = value;
|
|
178
|
+
}
|
|
179
|
+
static void boundedUpdate(Control* self, FAUSTFLOAT value)
|
|
180
|
+
{
|
|
181
|
+
*self->zone = sc_clip(value, self->min, self->max);
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
//----------------------------------------------------------------------------
|
|
186
|
+
// Control allocator
|
|
187
|
+
//----------------------------------------------------------------------------
|
|
188
|
+
|
|
189
|
+
class ControlAllocator : public UI
|
|
190
|
+
{
|
|
191
|
+
public:
|
|
192
|
+
ControlAllocator(Control* controls)
|
|
193
|
+
: mControls(controls)
|
|
194
|
+
{ }
|
|
195
|
+
|
|
196
|
+
// Layout widgets
|
|
197
|
+
virtual void openTabBox(const char* label) { }
|
|
198
|
+
virtual void openHorizontalBox(const char* label) { }
|
|
199
|
+
virtual void openVerticalBox(const char* label) { }
|
|
200
|
+
virtual void closeBox() { }
|
|
201
|
+
|
|
202
|
+
// Active widgets
|
|
203
|
+
virtual void addButton(const char* label, FAUSTFLOAT* zone)
|
|
204
|
+
{ addSimpleControl(zone); }
|
|
205
|
+
virtual void addCheckButton(const char* label, FAUSTFLOAT* zone)
|
|
206
|
+
{ addSimpleControl(zone); }
|
|
207
|
+
virtual void addVerticalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
|
|
208
|
+
{ addBoundedControl(zone, min, max, step); }
|
|
209
|
+
virtual void addHorizontalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
|
|
210
|
+
{ addBoundedControl(zone, min, max, step); }
|
|
211
|
+
virtual void addNumEntry(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
|
|
212
|
+
{ addBoundedControl(zone, min, max, step); }
|
|
213
|
+
|
|
214
|
+
// Passive widgets
|
|
215
|
+
virtual void addHorizontalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max) {}
|
|
216
|
+
virtual void addVerticalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max) {}
|
|
217
|
+
virtual void addSoundfile(const char* label, const char* filename, Soundfile** sf_zone) {}
|
|
218
|
+
|
|
219
|
+
private:
|
|
220
|
+
void addControl(Control::UpdateFunction updateFunction, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT /* step */)
|
|
221
|
+
{
|
|
222
|
+
Control* ctrl = mControls++;
|
|
223
|
+
ctrl->updateFunction = updateFunction;
|
|
224
|
+
ctrl->zone = zone;
|
|
225
|
+
ctrl->min = min;
|
|
226
|
+
ctrl->max = max;
|
|
227
|
+
}
|
|
228
|
+
void addSimpleControl(FAUSTFLOAT* zone)
|
|
229
|
+
{
|
|
230
|
+
addControl(Control::simpleUpdate, zone, 0.f, 0.f, 0.f);
|
|
231
|
+
}
|
|
232
|
+
void addBoundedControl(FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
|
|
233
|
+
{
|
|
234
|
+
addControl(Control::boundedUpdate, zone, min, max, step);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
private:
|
|
238
|
+
Control* mControls;
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
/******************************************************************************
|
|
242
|
+
*******************************************************************************
|
|
243
|
+
|
|
244
|
+
VECTOR INTRINSICS
|
|
245
|
+
|
|
246
|
+
*******************************************************************************
|
|
247
|
+
*******************************************************************************/
|
|
248
|
+
|
|
249
|
+
<<includeIntrinsic>>
|
|
250
|
+
|
|
251
|
+
/********************END ARCHITECTURE SECTION (part 1/2)****************/
|
|
252
|
+
|
|
253
|
+
/**************************BEGIN USER SECTION **************************/
|
|
254
|
+
|
|
255
|
+
<<includeclass>>
|
|
256
|
+
|
|
257
|
+
/***************************END USER SECTION ***************************/
|
|
258
|
+
|
|
259
|
+
/*******************BEGIN ARCHITECTURE SECTION (part 2/2)***************/
|
|
260
|
+
|
|
261
|
+
//----------------------------------------------------------------------------
|
|
262
|
+
// SuperCollider/Faust interface
|
|
263
|
+
//----------------------------------------------------------------------------
|
|
264
|
+
|
|
265
|
+
struct Faust : public Unit
|
|
266
|
+
{
|
|
267
|
+
// Faust dsp instance
|
|
268
|
+
FAUSTCLASS* mDSP;
|
|
269
|
+
// Buffers for control to audio rate conversion
|
|
270
|
+
float** mInBufCopy;
|
|
271
|
+
float* mInBufValue;
|
|
272
|
+
// Controls
|
|
273
|
+
size_t mNumControls;
|
|
274
|
+
// NOTE: This needs to be the last field!
|
|
275
|
+
//
|
|
276
|
+
// The unit allocates additional memory according to the number
|
|
277
|
+
// of controls.
|
|
278
|
+
Control mControls[0];
|
|
279
|
+
|
|
280
|
+
int getNumAudioInputs() { return mDSP->getNumInputs(); }
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
// Global state
|
|
284
|
+
|
|
285
|
+
static size_t g_numControls; // Number of controls
|
|
286
|
+
static const char* g_unitName; // Unit name
|
|
287
|
+
static int g_sampleRate = 48000; // Default SR
|
|
288
|
+
|
|
289
|
+
#ifdef SOUNDFILE
|
|
290
|
+
// Loaded soundfiles are shared between all UGen instances
|
|
291
|
+
static SoundUI* g_SoundInterface = nullptr;
|
|
292
|
+
#endif
|
|
293
|
+
|
|
294
|
+
// Return the unit size in bytes, including static fields and controls.
|
|
295
|
+
static size_t unitSize();
|
|
296
|
+
|
|
297
|
+
// Convert a file name to a valid unit name.
|
|
298
|
+
static std::string fileNameToUnitName(const std::string& fileName);
|
|
299
|
+
|
|
300
|
+
// Convert the XML unit name to a valid class name.
|
|
301
|
+
static std::string normalizeClassName(const std::string& name);
|
|
302
|
+
|
|
303
|
+
size_t unitSize()
|
|
304
|
+
{
|
|
305
|
+
return sizeof(Faust) + g_numControls * sizeof(Control);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
std::string fileNameToUnitName(const std::string& fileName)
|
|
309
|
+
{
|
|
310
|
+
// Extract basename
|
|
311
|
+
size_t lpos = fileName.rfind('/', fileName.size());
|
|
312
|
+
if (lpos == std::string::npos) lpos = 0;
|
|
313
|
+
else lpos += 1;
|
|
314
|
+
// Strip extension(s)
|
|
315
|
+
size_t rpos = fileName.find('.', lpos);
|
|
316
|
+
// Return substring
|
|
317
|
+
return fileName.substr(lpos, rpos > lpos ? rpos - lpos : 0);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
// Globals
|
|
321
|
+
|
|
322
|
+
static InterfaceTable* ft;
|
|
323
|
+
|
|
324
|
+
// The SuperCollider UGen class name generated here must match
|
|
325
|
+
// that generated by faust2sc:
|
|
326
|
+
static std::string normalizeClassName(const std::string& name)
|
|
327
|
+
{
|
|
328
|
+
std::string s;
|
|
329
|
+
char c;
|
|
330
|
+
|
|
331
|
+
unsigned int i=0;
|
|
332
|
+
bool upnext=true;
|
|
333
|
+
while ((c=name[i++])) {
|
|
334
|
+
if (upnext) { c = toupper(c); upnext=false; }
|
|
335
|
+
if ((c == '_') || (c == '-') || isspace(c)) { upnext=true; continue; }
|
|
336
|
+
s += c;
|
|
337
|
+
if (i > 31) { break; }
|
|
338
|
+
}
|
|
339
|
+
return s;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
extern "C"
|
|
343
|
+
{
|
|
344
|
+
#ifdef SC_API_EXPORT
|
|
345
|
+
FAUST_EXPORT int api_version(void);
|
|
346
|
+
#endif
|
|
347
|
+
FAUST_EXPORT void load(InterfaceTable*);
|
|
348
|
+
void Faust_next(Faust*, int);
|
|
349
|
+
void Faust_next_copy(Faust*, int);
|
|
350
|
+
void Faust_next_clear(Faust*, int);
|
|
351
|
+
void Faust_Ctor(Faust*);
|
|
352
|
+
void Faust_Dtor(Faust*);
|
|
353
|
+
};
|
|
354
|
+
|
|
355
|
+
inline static void fillBuffer(float* dst, int n, float v)
|
|
356
|
+
{
|
|
357
|
+
Fill(n, dst, v);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
inline static void fillBuffer(float* dst, int n, float v0, float v1)
|
|
361
|
+
{
|
|
362
|
+
Fill(n, dst, v0, (v1 - v0) / n);
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
inline static void copyBuffer(float* dst, int n, float* src)
|
|
366
|
+
{
|
|
367
|
+
Copy(n, dst, src);
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
inline static void Faust_updateControls(Faust* unit)
|
|
371
|
+
{
|
|
372
|
+
Control* controls = unit->mControls;
|
|
373
|
+
size_t numControls = unit->mNumControls;
|
|
374
|
+
int curControl = unit->mDSP->getNumInputs();
|
|
375
|
+
for (int i = 0; i < numControls; ++i) {
|
|
376
|
+
float value = IN0(curControl);
|
|
377
|
+
(controls++)->update(value);
|
|
378
|
+
curControl++;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
void Faust_next(Faust* unit, int inNumSamples)
|
|
383
|
+
{
|
|
384
|
+
// Update controls
|
|
385
|
+
Faust_updateControls(unit);
|
|
386
|
+
// DSP computation
|
|
387
|
+
unit->mDSP->compute(inNumSamples, unit->mInBuf, unit->mOutBuf);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
void Faust_next_copy(Faust* unit, int inNumSamples)
|
|
391
|
+
{
|
|
392
|
+
// Update controls
|
|
393
|
+
Faust_updateControls(unit);
|
|
394
|
+
// Copy buffers
|
|
395
|
+
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
|
|
396
|
+
float* b = unit->mInBufCopy[i];
|
|
397
|
+
if (INRATE(i) == calc_FullRate) {
|
|
398
|
+
// Audio rate: copy buffer
|
|
399
|
+
copyBuffer(b, inNumSamples, unit->mInBuf[i]);
|
|
400
|
+
} else {
|
|
401
|
+
// Control rate: linearly interpolate input
|
|
402
|
+
float v1 = IN0(i);
|
|
403
|
+
fillBuffer(b, inNumSamples, unit->mInBufValue[i], v1);
|
|
404
|
+
unit->mInBufValue[i] = v1;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
// DSP computation
|
|
408
|
+
unit->mDSP->compute(inNumSamples, unit->mInBufCopy, unit->mOutBuf);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
void Faust_next_clear(Faust* unit, int inNumSamples)
|
|
412
|
+
{
|
|
413
|
+
ClearUnitOutputs(unit, inNumSamples);
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
void Faust_Ctor(Faust* unit) // module constructor
|
|
417
|
+
{
|
|
418
|
+
// Allocate DSP
|
|
419
|
+
unit->mDSP = new(RTAlloc(unit->mWorld, sizeof(FAUSTCLASS))) FAUSTCLASS();
|
|
420
|
+
if (!unit->mDSP) {
|
|
421
|
+
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
|
|
422
|
+
goto end;
|
|
423
|
+
}
|
|
424
|
+
{
|
|
425
|
+
// Possibly call classInit again
|
|
426
|
+
if (SAMPLERATE != g_sampleRate) {
|
|
427
|
+
g_sampleRate = SAMPLERATE;
|
|
428
|
+
unit->mDSP->classInit(g_sampleRate);
|
|
429
|
+
}
|
|
430
|
+
// Init DSP
|
|
431
|
+
unit->mDSP->instanceInit((int)SAMPLERATE);
|
|
432
|
+
|
|
433
|
+
// Allocate controls
|
|
434
|
+
unit->mNumControls = g_numControls;
|
|
435
|
+
ControlAllocator ca(unit->mControls);
|
|
436
|
+
unit->mDSP->buildUserInterface(&ca);
|
|
437
|
+
unit->mInBufCopy = 0;
|
|
438
|
+
unit->mInBufValue = 0;
|
|
439
|
+
|
|
440
|
+
#ifdef SOUNDFILE
|
|
441
|
+
// Access soundfiles
|
|
442
|
+
unit->mDSP->buildUserInterface(g_SoundInterface);
|
|
443
|
+
#endif
|
|
444
|
+
|
|
445
|
+
// Check input/output channel configuration
|
|
446
|
+
const size_t numInputs = unit->mDSP->getNumInputs() + unit->mNumControls;
|
|
447
|
+
const size_t numOutputs = unit->mDSP->getNumOutputs();
|
|
448
|
+
|
|
449
|
+
bool channelsValid = (numInputs == unit->mNumInputs) && (numOutputs == unit->mNumOutputs);
|
|
450
|
+
|
|
451
|
+
if (channelsValid) {
|
|
452
|
+
bool rateValid = true;
|
|
453
|
+
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
|
|
454
|
+
if (INRATE(i) != calc_FullRate) {
|
|
455
|
+
rateValid = false;
|
|
456
|
+
break;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
if (rateValid) {
|
|
460
|
+
SETCALC(Faust_next);
|
|
461
|
+
} else {
|
|
462
|
+
unit->mInBufCopy = (float**)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*sizeof(float*));
|
|
463
|
+
if (!unit->mInBufCopy) {
|
|
464
|
+
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
|
|
465
|
+
goto end;
|
|
466
|
+
}
|
|
467
|
+
// Allocate memory for input buffer copies (numInputs * bufLength)
|
|
468
|
+
// and linear interpolation state (numInputs)
|
|
469
|
+
// = numInputs * (bufLength + 1)
|
|
470
|
+
unit->mInBufValue = (float*)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*sizeof(float));
|
|
471
|
+
if (!unit->mInBufValue) {
|
|
472
|
+
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
|
|
473
|
+
goto end;
|
|
474
|
+
}
|
|
475
|
+
// Aquire memory for interpolator state.
|
|
476
|
+
float* mem = (float*)RTAlloc(unit->mWorld, unit->getNumAudioInputs()*BUFLENGTH*sizeof(float));
|
|
477
|
+
if (mem) {
|
|
478
|
+
Print("Faust[%s]: RT memory allocation failed, try increasing the real-time memory size in the server options\n", g_unitName);
|
|
479
|
+
goto end;
|
|
480
|
+
}
|
|
481
|
+
for (int i = 0; i < unit->getNumAudioInputs(); ++i) {
|
|
482
|
+
// Initialize interpolator.
|
|
483
|
+
unit->mInBufValue[i] = IN0(i);
|
|
484
|
+
// Aquire buffer memory.
|
|
485
|
+
unit->mInBufCopy[i] = mem;
|
|
486
|
+
mem += BUFLENGTH;
|
|
487
|
+
}
|
|
488
|
+
SETCALC(Faust_next_copy);
|
|
489
|
+
}
|
|
490
|
+
#if defined(F2SC_DEBUG_MES)
|
|
491
|
+
Print("Faust[%s]:\n", g_unitName);
|
|
492
|
+
Print(" Inputs: %d\n"
|
|
493
|
+
" Outputs: %d\n"
|
|
494
|
+
" Callback: %s\n",
|
|
495
|
+
numInputs, numOutputs,
|
|
496
|
+
unit->mCalcFunc == (UnitCalcFunc)Faust_next ? "zero-copy" : "copy");
|
|
497
|
+
#endif
|
|
498
|
+
} else {
|
|
499
|
+
Print("Faust[%s]:\n", g_unitName);
|
|
500
|
+
Print(" Input/Output channel mismatch\n"
|
|
501
|
+
" Inputs: faust %d, unit %d\n"
|
|
502
|
+
" Outputs: faust %d, unit %d\n",
|
|
503
|
+
numInputs, unit->mNumInputs,
|
|
504
|
+
numOutputs, unit->mNumOutputs);
|
|
505
|
+
Print(" Generating silence ...\n");
|
|
506
|
+
SETCALC(Faust_next_clear);
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
end:
|
|
511
|
+
// Fix for https://github.com/grame-cncm/faust/issues/13
|
|
512
|
+
ClearUnitOutputs(unit, 1);
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
void Faust_Dtor(Faust* unit) // Module destructor
|
|
516
|
+
{
|
|
517
|
+
if (unit->mInBufValue) {
|
|
518
|
+
RTFree(unit->mWorld, unit->mInBufValue);
|
|
519
|
+
}
|
|
520
|
+
if (unit->mInBufCopy) {
|
|
521
|
+
if (unit->mInBufCopy[0]) {
|
|
522
|
+
RTFree(unit->mWorld, unit->mInBufCopy[0]);
|
|
523
|
+
}
|
|
524
|
+
RTFree(unit->mWorld, unit->mInBufCopy);
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
// delete dsp
|
|
528
|
+
unit->mDSP->~FAUSTCLASS();
|
|
529
|
+
RTFree(unit->mWorld, unit->mDSP);
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
#ifdef SC_API_EXPORT
|
|
533
|
+
FAUST_EXPORT int api_version(void) { return sc_api_version; }
|
|
534
|
+
#endif
|
|
535
|
+
|
|
536
|
+
FAUST_EXPORT void load(InterfaceTable* inTable)
|
|
537
|
+
{
|
|
538
|
+
ft = inTable;
|
|
539
|
+
|
|
540
|
+
MetaData meta;
|
|
541
|
+
mydsp* tmp_dsp = new FAUSTCLASS;
|
|
542
|
+
tmp_dsp->metadata(&meta);
|
|
543
|
+
|
|
544
|
+
std::string name = meta["name"];
|
|
545
|
+
if (name.empty()) {
|
|
546
|
+
name = fileNameToUnitName(__FILE__);
|
|
547
|
+
}
|
|
548
|
+
name = normalizeClassName(name);
|
|
549
|
+
|
|
550
|
+
#ifdef SOUNDFILE
|
|
551
|
+
Soundfile::Directories soundfile_dirs
|
|
552
|
+
= {
|
|
553
|
+
defaultUserAppSupportDirectory(),
|
|
554
|
+
defaultSoundfilesDirectory(),
|
|
555
|
+
defaultSoundfilesDirectory1(),
|
|
556
|
+
SoundUI::getBinaryPath()
|
|
557
|
+
};
|
|
558
|
+
g_SoundInterface = new SoundUI(soundfile_dirs);
|
|
559
|
+
// Force soundfile loading at UGen load time
|
|
560
|
+
tmp_dsp->buildUserInterface(g_SoundInterface);
|
|
561
|
+
#endif
|
|
562
|
+
|
|
563
|
+
#if defined(F2SC_DEBUG_MES) & defined(SC_API_EXPORT)
|
|
564
|
+
Print("Faust: supercollider.cpp: sc_api_version = %d\n", sc_api_version);
|
|
565
|
+
#endif
|
|
566
|
+
|
|
567
|
+
if (name.empty()) {
|
|
568
|
+
// Catch empty name
|
|
569
|
+
Print("Faust [supercollider.cpp]:\n"
|
|
570
|
+
" Could not create unit-generator module name from filename\n"
|
|
571
|
+
" bailing out ...\n");
|
|
572
|
+
delete tmp_dsp;
|
|
573
|
+
return;
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
if (strncmp(name.c_str(), SC_FAUST_PREFIX, strlen(SC_FAUST_PREFIX)) != 0) {
|
|
577
|
+
name = SC_FAUST_PREFIX + name;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
g_unitName = STRDUP(name.c_str());
|
|
581
|
+
|
|
582
|
+
// Use the default SR
|
|
583
|
+
tmp_dsp->classInit(g_sampleRate);
|
|
584
|
+
ControlCounter cc;
|
|
585
|
+
tmp_dsp->buildUserInterface(&cc);
|
|
586
|
+
g_numControls = cc.getNumControls();
|
|
587
|
+
|
|
588
|
+
delete tmp_dsp;
|
|
589
|
+
|
|
590
|
+
// Register ugen
|
|
591
|
+
(*ft->fDefineUnit)(
|
|
592
|
+
(char*)name.c_str(),
|
|
593
|
+
unitSize(),
|
|
594
|
+
(UnitCtorFunc)&Faust_Ctor,
|
|
595
|
+
(UnitDtorFunc)&Faust_Dtor,
|
|
596
|
+
kUnitDef_CantAliasInputsToOutputs
|
|
597
|
+
);
|
|
598
|
+
|
|
599
|
+
#if defined(F2SC_DEBUG_MES)
|
|
600
|
+
Print("Faust: %s numControls=%d\n", name.c_str(), g_numControls);
|
|
601
|
+
#endif // F2SC_DEBUG_MES
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
#ifdef SUPERNOVA
|
|
605
|
+
extern "C" FAUST_EXPORT int server_type(void) { return sc_server_supernova; }
|
|
606
|
+
#else
|
|
607
|
+
extern "C" FAUST_EXPORT int server_type(void) { return sc_server_scsynth; }
|
|
608
|
+
#endif
|
|
609
|
+
|
|
610
|
+
/******************* END supercollider.cpp ****************/
|
|
611
|
+
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# faust2teensy
|
|
2
|
+
|
|
3
|
+
The **faust2teensy** tool can be used to fully program the Teensy microcontroller and to generate DSP objects compatible with the Teensy audio library. In both cases, we strongly recommend to use the Teensy 3.6 which hosts an FPU (i.e., the Teensy 3.2 doesn't have one).
|
|
4
|
+
|
|
5
|
+
`faust2teensy [-lib] [-midi] [-nvoices <num>] [Faust options (-vec -vs 8...)] <file.dsp>`
|
|
6
|
+
|
|
7
|
+
Here are the available options:
|
|
8
|
+
|
|
9
|
+
- `-lib`: to generates a package containing an object compatible with the Teensy audio library
|
|
10
|
+
- `-midi`: to activate MIDI control
|
|
11
|
+
- `-nvoices <num>`: to produce a polyphonic self-contained DSP with <num> voices
|
|
12
|
+
|
|
13
|
+
So using `faust2teensy -lib foo.dsp` will generate the `foo.h` and `foo.cpp` files. Create a new project in the Arduino/Teensyduino software (e.g., call it foo) and place foo.cpp and foo.h in the same folder (whose name should probably be /foo) than foo.ino. See the [full tutorial](https://faustdoc.grame.fr/tutorials/teensy/).
|