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,188 @@
|
|
|
1
|
+
/************************** BEGIN wasm-dsp-imp.h **************************
|
|
2
|
+
FAUST Architecture File
|
|
3
|
+
Copyright (C) 2003-2022 GRAME, Centre National de Creation Musicale
|
|
4
|
+
---------------------------------------------------------------------
|
|
5
|
+
This program is free software; you can redistribute it and/or modify
|
|
6
|
+
it under the terms of the GNU Lesser General Public License as published by
|
|
7
|
+
the Free Software Foundation; either version 2.1 of the License, or
|
|
8
|
+
(at your option) any later version.
|
|
9
|
+
|
|
10
|
+
This program is distributed in the hope that it will be useful,
|
|
11
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
GNU Lesser General Public License for more details.
|
|
14
|
+
|
|
15
|
+
You should have received a copy of the GNU Lesser General Public License
|
|
16
|
+
along with this program; if not, write to the Free Software
|
|
17
|
+
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
18
|
+
|
|
19
|
+
EXCEPTION : As a special exception, you may create a larger work
|
|
20
|
+
that contains this FAUST architecture section and distribute
|
|
21
|
+
that work under terms of your choice, so long as this FAUST
|
|
22
|
+
architecture section is not modified.
|
|
23
|
+
***************************************************************************/
|
|
24
|
+
|
|
25
|
+
#ifndef wasm_dsp_imp_H
|
|
26
|
+
#define wasm_dsp_imp_H
|
|
27
|
+
|
|
28
|
+
#include <string>
|
|
29
|
+
#include <vector>
|
|
30
|
+
#include <assert.h>
|
|
31
|
+
|
|
32
|
+
#include "faust/dsp/dsp.h"
|
|
33
|
+
#include "faust/gui/meta.h"
|
|
34
|
+
#include "faust/gui/JSONUIDecoder.h"
|
|
35
|
+
#include "faust/export.h"
|
|
36
|
+
|
|
37
|
+
// Generic wasm_dsp_factory class that keeps the JSON decoder.
|
|
38
|
+
|
|
39
|
+
class LIFAUST_API wasm_dsp_factory_imp : public dsp_factory {
|
|
40
|
+
|
|
41
|
+
public:
|
|
42
|
+
|
|
43
|
+
wasm_dsp_factory_imp():fDecoder(nullptr) {}
|
|
44
|
+
virtual ~wasm_dsp_factory_imp()
|
|
45
|
+
{
|
|
46
|
+
delete fDecoder;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
JSONUIDecoderBase* fDecoder;
|
|
50
|
+
|
|
51
|
+
std::string getName() { return fDecoder->getName(); }
|
|
52
|
+
|
|
53
|
+
virtual std::string getSHAKey() { return ""; }
|
|
54
|
+
|
|
55
|
+
virtual std::string getDSPCode() { return ""; }
|
|
56
|
+
|
|
57
|
+
std::string getCompileOptions() { return fDecoder->getCompileOptions(); }
|
|
58
|
+
|
|
59
|
+
std::vector<std::string> getLibraryList() { return fDecoder->getLibraryList(); }
|
|
60
|
+
|
|
61
|
+
std::vector<std::string> getIncludePathnames() { return fDecoder->getIncludePathnames(); }
|
|
62
|
+
|
|
63
|
+
virtual dsp* createDSPInstance() {}
|
|
64
|
+
|
|
65
|
+
virtual void setMemoryManager(dsp_memory_manager* manager) {}
|
|
66
|
+
|
|
67
|
+
virtual dsp_memory_manager* getMemoryManager() { return nullptr; }
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
// Generic wasm_dsp class that creates and use the JSON decoder, and manage DSP and audio memory.
|
|
71
|
+
|
|
72
|
+
class LIFAUST_API wasm_dsp_imp : public dsp {
|
|
73
|
+
|
|
74
|
+
protected:
|
|
75
|
+
|
|
76
|
+
wasm_dsp_factory_imp* fFactory;
|
|
77
|
+
|
|
78
|
+
char* fMemory; // Wasm memory
|
|
79
|
+
|
|
80
|
+
int fWasmInputs; // Index in wasm memory
|
|
81
|
+
int fWasmOutputs; // Index in wasm memory
|
|
82
|
+
|
|
83
|
+
FAUSTFLOAT** fInputs; // Wasm memory mapped to audio pointers
|
|
84
|
+
FAUSTFLOAT** fOutputs; // Wasm memory mapped to audio pointers
|
|
85
|
+
|
|
86
|
+
// Assuming fFactory and fMemory are set
|
|
87
|
+
void initDecoder()
|
|
88
|
+
{
|
|
89
|
+
assert(fFactory);
|
|
90
|
+
assert(fMemory);
|
|
91
|
+
|
|
92
|
+
if (!fFactory->fDecoder) {
|
|
93
|
+
std::string json = std::string(fMemory);
|
|
94
|
+
std::cout << "JSON " << json << std::endl;
|
|
95
|
+
fFactory->fDecoder = createJSONUIDecoder(json);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
std::cout << "Libfaust version: " << fFactory->fDecoder->getLibVersion() << std::endl;
|
|
99
|
+
std::cout << "Compilation options: " << fFactory->fDecoder->getCompileOptions() << std::endl;
|
|
100
|
+
|
|
101
|
+
int ptr_size = sizeof(FAUSTFLOAT*);
|
|
102
|
+
int sample_size = sizeof(FAUSTFLOAT);
|
|
103
|
+
int buffer_size = 4096; // Max
|
|
104
|
+
|
|
105
|
+
fInputs = new FAUSTFLOAT*[fFactory->fDecoder->getNumInputs()];
|
|
106
|
+
fOutputs = new FAUSTFLOAT*[fFactory->fDecoder->getNumOutputs()];
|
|
107
|
+
|
|
108
|
+
// DSP is placed first with index 0. Audio buffer start at the end of DSP
|
|
109
|
+
int audio_heap_ptr = fFactory->fDecoder->getDSPSize();
|
|
110
|
+
|
|
111
|
+
// Setup pointers offset
|
|
112
|
+
int audio_heap_ptr_inputs = audio_heap_ptr;
|
|
113
|
+
int audio_heap_ptr_outputs = audio_heap_ptr_inputs + (fFactory->fDecoder->getNumInputs() * ptr_size);
|
|
114
|
+
|
|
115
|
+
// Setup buffer offset
|
|
116
|
+
int audio_heap_inputs = audio_heap_ptr_outputs + (fFactory->fDecoder->getNumOutputs() * ptr_size);
|
|
117
|
+
int audio_heap_outputs = audio_heap_inputs + (fFactory->fDecoder->getNumInputs() * buffer_size * sample_size);
|
|
118
|
+
|
|
119
|
+
if (fFactory->fDecoder->getNumInputs() > 0) {
|
|
120
|
+
|
|
121
|
+
fWasmInputs = audio_heap_ptr_inputs;
|
|
122
|
+
int* HEAP32 = reinterpret_cast<int*>(fMemory + audio_heap_ptr_inputs);
|
|
123
|
+
FAUSTFLOAT* HEAPF32 = reinterpret_cast<FAUSTFLOAT*>(fMemory + audio_heap_inputs);
|
|
124
|
+
|
|
125
|
+
for (int i = 0; i < fFactory->fDecoder->getNumInputs(); i++) {
|
|
126
|
+
// Setup input buffer indexes for wasm side
|
|
127
|
+
HEAP32[i] = audio_heap_inputs + (buffer_size * sample_size * i);
|
|
128
|
+
// Setup input buffer pointers for runtime side
|
|
129
|
+
fInputs[i] = HEAPF32 + (buffer_size * i);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
if (fFactory->fDecoder->getNumOutputs() > 0) {
|
|
134
|
+
|
|
135
|
+
fWasmOutputs = audio_heap_ptr_outputs;
|
|
136
|
+
int* HEAP32 = reinterpret_cast<int*>(fMemory + audio_heap_ptr_outputs);
|
|
137
|
+
FAUSTFLOAT* HEAPF32 = reinterpret_cast<FAUSTFLOAT*>(fMemory + audio_heap_outputs);
|
|
138
|
+
|
|
139
|
+
for (int i = 0; i < fFactory->fDecoder->getNumOutputs(); i++) {
|
|
140
|
+
// Setup output buffer indexes for wasm side
|
|
141
|
+
HEAP32[i] = audio_heap_outputs + (buffer_size * sample_size * i);
|
|
142
|
+
// Setup output buffer pointers for runtime side
|
|
143
|
+
fOutputs[i] = HEAPF32 + (buffer_size * i);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
public:
|
|
149
|
+
|
|
150
|
+
wasm_dsp_imp(wasm_dsp_factory_imp* factory, char* memory = nullptr):
|
|
151
|
+
fFactory(factory),
|
|
152
|
+
fMemory(memory),
|
|
153
|
+
fInputs(nullptr),
|
|
154
|
+
fOutputs(nullptr),
|
|
155
|
+
fWasmInputs(0),
|
|
156
|
+
fWasmOutputs(0)
|
|
157
|
+
{}
|
|
158
|
+
|
|
159
|
+
virtual ~wasm_dsp_imp()
|
|
160
|
+
{
|
|
161
|
+
delete [] fInputs;
|
|
162
|
+
delete [] fOutputs;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
virtual int getNumInputs() { return -1; }
|
|
166
|
+
virtual int getNumOutputs() { return -1; ; }
|
|
167
|
+
virtual void buildUserInterface(UI* ui_interface)
|
|
168
|
+
{
|
|
169
|
+
fFactory->fDecoder->buildUserInterface(ui_interface, fMemory);
|
|
170
|
+
}
|
|
171
|
+
virtual int getSampleRate() { return -1; }
|
|
172
|
+
virtual void init(int sample_rate) {}
|
|
173
|
+
virtual void instanceInit(int sample_rate) {}
|
|
174
|
+
virtual void instanceConstants(int sample_rate) {}
|
|
175
|
+
virtual void instanceResetUserInterface() {}
|
|
176
|
+
virtual void instanceClear() {}
|
|
177
|
+
virtual wasm_dsp_imp* clone() { return nullptr; }
|
|
178
|
+
virtual void metadata(Meta* m)
|
|
179
|
+
{
|
|
180
|
+
fFactory->fDecoder->metadata(m);
|
|
181
|
+
}
|
|
182
|
+
// Beware: subclasses usually have to overload the two 'compute' methods
|
|
183
|
+
virtual void compute(int count, FAUSTFLOAT** inputs, FAUSTFLOAT** outputs) {}
|
|
184
|
+
virtual void compute(double date_usec, int count, FAUSTFLOAT** inputs, FAUSTFLOAT** outputs) {}
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
#endif
|
|
188
|
+
/************************** END wasm-dsp-imp.h **************************/
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
/************************** BEGIN wasm-dsp.h ****************************
|
|
2
|
+
FAUST Architecture File
|
|
3
|
+
Copyright (C) 2003-2022 GRAME, Centre National de Creation Musicale
|
|
4
|
+
---------------------------------------------------------------------
|
|
5
|
+
This program is free software; you can redistribute it and/or modify
|
|
6
|
+
it under the terms of the GNU Lesser General Public License as published by
|
|
7
|
+
the Free Software Foundation; either version 2.1 of the License, or
|
|
8
|
+
(at your option) any later version.
|
|
9
|
+
|
|
10
|
+
This program is distributed in the hope that it will be useful,
|
|
11
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
GNU Lesser General Public License for more details.
|
|
14
|
+
|
|
15
|
+
You should have received a copy of the GNU Lesser General Public License
|
|
16
|
+
along with this program; if not, write to the Free Software
|
|
17
|
+
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
18
|
+
|
|
19
|
+
EXCEPTION : As a special exception, you may create a larger work
|
|
20
|
+
that contains this FAUST architecture section and distribute
|
|
21
|
+
that work under terms of your choice, so long as this FAUST
|
|
22
|
+
architecture section is not modified.
|
|
23
|
+
***************************************************************************/
|
|
24
|
+
|
|
25
|
+
#ifndef wasm_dsp_H
|
|
26
|
+
#define wasm_dsp_H
|
|
27
|
+
|
|
28
|
+
#include <string>
|
|
29
|
+
#include <vector>
|
|
30
|
+
|
|
31
|
+
#include "faust/dsp/dsp.h"
|
|
32
|
+
#include "faust/dsp/libfaust-signal.h"
|
|
33
|
+
#include "faust/gui/meta.h"
|
|
34
|
+
|
|
35
|
+
/*!
|
|
36
|
+
\addtogroup wasmcpp C++ interface for compiling Faust code. Note that the API is not thread safe.
|
|
37
|
+
@{
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Get the library version.
|
|
42
|
+
*
|
|
43
|
+
* @return the library version as a static string.
|
|
44
|
+
*/
|
|
45
|
+
extern "C" LIFAUST_API const char* getCLibFaustVersion();
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* DSP instance class with methods.
|
|
49
|
+
*/
|
|
50
|
+
class LIFAUST_API wasm_dsp : public dsp {
|
|
51
|
+
|
|
52
|
+
private:
|
|
53
|
+
|
|
54
|
+
// wasm_dsp objects are allocated using wasm_dsp_factory::createDSPInstance();
|
|
55
|
+
wasm_dsp() {}
|
|
56
|
+
|
|
57
|
+
public:
|
|
58
|
+
|
|
59
|
+
int getNumInputs();
|
|
60
|
+
|
|
61
|
+
int getNumOutputs();
|
|
62
|
+
|
|
63
|
+
void buildUserInterface(UI* ui_interface);
|
|
64
|
+
|
|
65
|
+
int getSampleRate();
|
|
66
|
+
|
|
67
|
+
void init(int sample_rate);
|
|
68
|
+
|
|
69
|
+
void instanceInit(int sample_rate);
|
|
70
|
+
|
|
71
|
+
void instanceConstants(int sample_rate);
|
|
72
|
+
|
|
73
|
+
void instanceResetUserInterface();
|
|
74
|
+
|
|
75
|
+
void instanceClear();
|
|
76
|
+
|
|
77
|
+
wasm_dsp* clone();
|
|
78
|
+
|
|
79
|
+
void metadata(Meta* m);
|
|
80
|
+
|
|
81
|
+
void compute(int count, FAUSTFLOAT** input, FAUSTFLOAT** output);
|
|
82
|
+
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Wasm DSP factory class.
|
|
87
|
+
*/
|
|
88
|
+
class LIFAUST_API wasm_dsp_factory : public dsp_factory {
|
|
89
|
+
|
|
90
|
+
public:
|
|
91
|
+
|
|
92
|
+
virtual ~wasm_dsp_factory();
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Return factory name:
|
|
96
|
+
* either the name declared in DSP with [declare name "foo"] syntax
|
|
97
|
+
* or 'filename' (if createWasmDSPFactoryFromFile is used)
|
|
98
|
+
* or 'name_app' (if createWasmDSPFactoryFromString is used)
|
|
99
|
+
*/
|
|
100
|
+
std::string getName();
|
|
101
|
+
|
|
102
|
+
/* Return factory SHA key */
|
|
103
|
+
std::string getSHAKey();
|
|
104
|
+
|
|
105
|
+
/* Return factory expanded DSP code */
|
|
106
|
+
std::string getDSPCode();
|
|
107
|
+
|
|
108
|
+
/* Return factory compile options */
|
|
109
|
+
std::string getCompileOptions();
|
|
110
|
+
|
|
111
|
+
/* Get the Faust DSP factory list of library dependancies */
|
|
112
|
+
std::vector<std::string> getLibraryList();
|
|
113
|
+
|
|
114
|
+
/* Get the list of all used includes */
|
|
115
|
+
std::vector<std::string> getIncludePathnames();
|
|
116
|
+
|
|
117
|
+
/* Get warning messages list for a given compilation */
|
|
118
|
+
std::vector<std::string> getWarningMessages();
|
|
119
|
+
|
|
120
|
+
/* Create a new DSP instance, to be deleted with C++ 'delete' */
|
|
121
|
+
wasm_dsp* createDSPInstance();
|
|
122
|
+
|
|
123
|
+
/* Set a custom memory manager to be used when creating instances */
|
|
124
|
+
void setMemoryManager(dsp_memory_manager* manager);
|
|
125
|
+
|
|
126
|
+
/* Return the currently set custom memory manager */
|
|
127
|
+
dsp_memory_manager* getMemoryManager();
|
|
128
|
+
};
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Get the Faust DSP factory associated with a given SHA key (created from the 'expanded' DSP source),
|
|
132
|
+
* if already allocated in the factories cache and increment it's reference counter. You will have to explicitly
|
|
133
|
+
* use deleteWasmDSPFactory to properly decrement reference counter when the factory is no more needed.
|
|
134
|
+
*
|
|
135
|
+
* @param sha_key - the SHA key for an already created factory, kept in the factory cache
|
|
136
|
+
*
|
|
137
|
+
* @return a valid DSP factory if one is associated with the SHA key, otherwise a null pointer.
|
|
138
|
+
*/
|
|
139
|
+
LIFAUST_API wasm_dsp_factory* getWasmDSPFactoryFromSHAKey(const std::string& sha_key);
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Create a Faust DSP factory from a DSP source code as a file. Note that the library keeps an internal cache of all
|
|
143
|
+
* allocated factories so that the compilation of same DSP code (that is same source code and
|
|
144
|
+
* same set of 'normalized' compilations options) will return the same (reference counted) factory pointer. You will
|
|
145
|
+
* have to explicitly use deleteWasmDSPFactory to properly decrement reference counter when the factory is no
|
|
146
|
+
* more needed.
|
|
147
|
+
*
|
|
148
|
+
* @param filename - the DSP filename
|
|
149
|
+
* @param argc - the number of parameters in argv array
|
|
150
|
+
* @param argv - the array of parameters
|
|
151
|
+
* @param error_msg - the error string to be filled
|
|
152
|
+
* @param internal_memory - whether to use an internally allocated memory block for wasm module
|
|
153
|
+
*
|
|
154
|
+
* @return a DSP factory on success, otherwise a null pointer.
|
|
155
|
+
*/
|
|
156
|
+
LIFAUST_API wasm_dsp_factory* createWasmDSPFactoryFromFile(const std::string& filename, int argc, const char* argv[],
|
|
157
|
+
std::string& error_msg, bool internal_memory);
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Create a Faust DSP factory from a DSP source code as a string. Note that the library keeps an internal cache of all
|
|
161
|
+
* allocated factories so that the compilation of same DSP code (that is same source code and
|
|
162
|
+
* same set of 'normalized' compilations options) will return the same (reference counted) factory pointer. You will
|
|
163
|
+
* have to explicitly use deleteDSPFactory to properly decrement reference counter when the factory is no more needed.
|
|
164
|
+
*
|
|
165
|
+
* @param name_app - the name of the Faust program
|
|
166
|
+
* @param dsp_content - the Faust program as a string
|
|
167
|
+
* @param argc - the number of parameters in argv array
|
|
168
|
+
* @param argv - the array of parameters
|
|
169
|
+
* @param error_msg - the error string to be filled
|
|
170
|
+
* @param internal_memory - whether to use an internally allocated memory block for wasm module
|
|
171
|
+
*
|
|
172
|
+
* @return a DSP factory on success, otherwise a null pointer.
|
|
173
|
+
*/
|
|
174
|
+
LIFAUST_API wasm_dsp_factory* createWasmDSPFactoryFromString(const std::string& name_app, const std::string& dsp_content, int argc,
|
|
175
|
+
const char* argv[], std::string& error_msg, bool internal_memory);
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Create a Faust DSP factory from a vector of output signals.
|
|
179
|
+
* It has to be used with the signal API defined in libfaust-signal.h.
|
|
180
|
+
*
|
|
181
|
+
* @param name_app - the name of the Faust program
|
|
182
|
+
* @param signals - the vector of output signals
|
|
183
|
+
* @param argc - the number of parameters in argv array
|
|
184
|
+
* @param argv - the array of parameters
|
|
185
|
+
* @param error_msg - the error string to be filled
|
|
186
|
+
* @param internal_memory - whether to use an internally allocated memory block for wasm module
|
|
187
|
+
*
|
|
188
|
+
* @return a DSP factory on success, otherwise a null pointer.
|
|
189
|
+
*/
|
|
190
|
+
LIFAUST_API wasm_dsp_factory* createWasmDSPFactoryFromSignals(const std::string& name_app, tvec signals,
|
|
191
|
+
int argc, const char* argv[], std::string& error_msg,
|
|
192
|
+
bool internal_memory);
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Delete a Faust DSP factory, that is decrements it's reference counter, possible really deleting the internal pointer.
|
|
196
|
+
* Possibly also delete DSP pointers associated with this factory, if they were not explicitly deleted.
|
|
197
|
+
* Beware: all kept factories and DSP pointers (in local variables...) thus become invalid.
|
|
198
|
+
*
|
|
199
|
+
* @param factory - the DSP factory
|
|
200
|
+
*
|
|
201
|
+
* @return true if the factory internal pointer was really deleted, and false if only 'decremented'.
|
|
202
|
+
*/
|
|
203
|
+
LIFAUST_API bool deleteWasmDSPFactory(wasm_dsp_factory* factory);
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Delete all Faust DSP factories kept in the library cache. Beware: all kept factory and DSP pointers (in local
|
|
207
|
+
* variables...) thus become invalid.
|
|
208
|
+
*
|
|
209
|
+
*/
|
|
210
|
+
LIFAUST_API void deleteAllWasmDSPFactories();
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* Return Faust DSP factories of the library cache as a vector of their SHA keys.
|
|
214
|
+
*
|
|
215
|
+
* @return the Faust DSP factories.
|
|
216
|
+
*/
|
|
217
|
+
LIFAUST_API std::vector<std::string> getAllWasmDSPFactories();
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Create a Faust DSP factory from a machine code string. Note that the library keeps an internal cache of all
|
|
221
|
+
* allocated factories so that the compilation of the same DSP code (that is the same machine code string) will return
|
|
222
|
+
* the same (reference counted) factory pointer. You will have to explicitly use deleteWasmDSPFactory to properly
|
|
223
|
+
* decrement reference counter when the factory is no more needed.
|
|
224
|
+
*
|
|
225
|
+
* @param machine_code - the machine code string
|
|
226
|
+
* @param error_msg - the error string to be filled
|
|
227
|
+
*
|
|
228
|
+
* @return the DSP factory on success, otherwise a null pointer.
|
|
229
|
+
*/
|
|
230
|
+
LIFAUST_API wasm_dsp_factory* readWasmDSPFactoryFromMachine(const std::string& machine_code, std::string& error_msg);
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Write a Faust DSP factory into a machine code string.
|
|
234
|
+
*
|
|
235
|
+
* @param factory - the DSP factory
|
|
236
|
+
*
|
|
237
|
+
* @return the machine code as a string.
|
|
238
|
+
*/
|
|
239
|
+
LIFAUST_API std::string writeWasmDSPFactoryToMachine(wasm_dsp_factory* factory);
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* Create a Faust DSP factory from a machine code file. Note that the library keeps an internal cache of all
|
|
243
|
+
* allocated factories so that the compilation of the same DSP code (that is the same machine code file) will return
|
|
244
|
+
* the same (reference counted) factory pointer. You will have to explicitly use deleteWasmDSPFactory to properly
|
|
245
|
+
* decrement reference counter when the factory is no more needed.
|
|
246
|
+
*
|
|
247
|
+
* @param machine_code_path - the machine code file pathname
|
|
248
|
+
* @param error_msg - the error string to be filled
|
|
249
|
+
*
|
|
250
|
+
* @return the DSP factory on success, otherwise a null pointer.
|
|
251
|
+
*/
|
|
252
|
+
LIFAUST_API wasm_dsp_factory* readWasmDSPFactoryFromMachineFile(const std::string& machine_code_path, std::string& error_msg);
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Write a Faust DSP factory into a machine code file.
|
|
256
|
+
*
|
|
257
|
+
* @param factory - the DSP factory
|
|
258
|
+
* @param machine_code_path - the machine code file pathname
|
|
259
|
+
*
|
|
260
|
+
*/
|
|
261
|
+
LIFAUST_API void writeWasmDSPFactoryToMachineFile(wasm_dsp_factory* factory, const std::string& machine_code_path);
|
|
262
|
+
|
|
263
|
+
/*!
|
|
264
|
+
@}
|
|
265
|
+
*/
|
|
266
|
+
|
|
267
|
+
#ifdef EMCC
|
|
268
|
+
#include <emscripten.h>
|
|
269
|
+
#include <emscripten/bind.h>
|
|
270
|
+
using namespace emscripten;
|
|
271
|
+
|
|
272
|
+
EMSCRIPTEN_BINDINGS(CLASS_wasm_dsp_factory)
|
|
273
|
+
{
|
|
274
|
+
class_<wasm_dsp_factory>("wasm_dsp_factory")
|
|
275
|
+
.constructor()
|
|
276
|
+
.function("createDSPInstance", &wasm_dsp_factory::createDSPInstance, allow_raw_pointers())
|
|
277
|
+
.function("deleteDSPInstance", &wasm_dsp_factory::deleteDSPInstance, allow_raw_pointers())
|
|
278
|
+
.class_function("readWasmDSPFactoryFromMachineFile2", &wasm_dsp_factory::readWasmDSPFactoryFromMachineFile2,
|
|
279
|
+
allow_raw_pointers())
|
|
280
|
+
.class_function("readWasmDSPFactoryFromMachine2", &wasm_dsp_factory::readWasmDSPFactoryFromMachine2,
|
|
281
|
+
allow_raw_pointers())
|
|
282
|
+
.class_function("createWasmDSPFactory", &wasm_dsp_factory::createWasmDSPFactory, allow_raw_pointers())
|
|
283
|
+
.class_function("deleteWasmDSPFactory", &wasm_dsp_factory::deleteWasmDSPFactory2, allow_raw_pointers())
|
|
284
|
+
.class_function("getErrorMessage", &wasm_dsp_factory::getErrorMessage)
|
|
285
|
+
.class_function("extractJSON", &wasm_dsp_factory::extractJSON, allow_raw_pointers());
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
EMSCRIPTEN_BINDINGS(CLASS_wasm_dsp)
|
|
289
|
+
{
|
|
290
|
+
class_<wasm_dsp>("wasm_dsp")
|
|
291
|
+
.constructor()
|
|
292
|
+
.function("getNumInputs", &wasm_dsp::getNumInputs, allow_raw_pointers())
|
|
293
|
+
.function("getNumOutputs", &wasm_dsp::getNumOutputs, allow_raw_pointers())
|
|
294
|
+
.function("getSampleRate", &wasm_dsp::getSampleRate, allow_raw_pointers())
|
|
295
|
+
.function("init", &wasm_dsp::init, allow_raw_pointers())
|
|
296
|
+
.function("instanceInit", &wasm_dsp::instanceInit, allow_raw_pointers())
|
|
297
|
+
.function("instanceConstants", &wasm_dsp::instanceConstants, allow_raw_pointers())
|
|
298
|
+
.function("instanceResetUserInterface", &wasm_dsp::instanceResetUserInterface, allow_raw_pointers())
|
|
299
|
+
.function("instanceClear", &wasm_dsp::instanceClear, allow_raw_pointers())
|
|
300
|
+
.function("clone", &wasm_dsp::clone, allow_raw_pointers())
|
|
301
|
+
.function("compute", &wasm_dsp::computeJS, allow_raw_pointers())
|
|
302
|
+
.function("setParamValue", &wasm_dsp::setParamValue, allow_raw_pointers())
|
|
303
|
+
.function("getParamValue", &wasm_dsp::getParamValue, allow_raw_pointers());
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
#endif
|
|
307
|
+
|
|
308
|
+
#endif
|
|
309
|
+
/************************** END wasm-dsp.h **************************/
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/************************** BEGIN ysfx-dsp.h ****************************
|
|
2
|
+
FAUST Architecture File
|
|
3
|
+
Copyright (C) 2003-2022 GRAME, Centre National de Creation Musicale
|
|
4
|
+
---------------------------------------------------------------------
|
|
5
|
+
This program is free software; you can redistribute it and/or modify
|
|
6
|
+
it under the terms of the GNU Lesser General Public License as published by
|
|
7
|
+
the Free Software Foundation; either version 2.1 of the License, or
|
|
8
|
+
(at your option) any later version.
|
|
9
|
+
|
|
10
|
+
This program is distributed in the hope that it will be useful,
|
|
11
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
GNU Lesser General Public License for more details.
|
|
14
|
+
|
|
15
|
+
You should have received a copy of the GNU Lesser General Public License
|
|
16
|
+
along with this program; if not, write to the Free Software
|
|
17
|
+
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
18
|
+
|
|
19
|
+
EXCEPTION : As a special exception, you may create a larger work
|
|
20
|
+
that contains this FAUST architecture section and distribute
|
|
21
|
+
that work under terms of your choice, so long as this FAUST
|
|
22
|
+
architecture section is not modified.
|
|
23
|
+
***************************************************************************/
|
|
24
|
+
|
|
25
|
+
#ifndef ysfx_dsp_H
|
|
26
|
+
#define ysfx_dsp_H
|
|
27
|
+
|
|
28
|
+
#include <string>
|
|
29
|
+
#include <vector>
|
|
30
|
+
|
|
31
|
+
#include "faust/dsp/dsp.h"
|
|
32
|
+
#include "faust/gui/meta.h"
|
|
33
|
+
#include "ysfx.h"
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* DSP instance class with methods.
|
|
37
|
+
*/
|
|
38
|
+
template <class REAL>
|
|
39
|
+
class ysfx_dsp : public dsp {
|
|
40
|
+
|
|
41
|
+
private:
|
|
42
|
+
|
|
43
|
+
struct ControlValue {
|
|
44
|
+
FAUSTFLOAT fValue;
|
|
45
|
+
ControlValue(FAUSTFLOAT value):fValue(value)
|
|
46
|
+
{}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
ysfx_config_t* fConfig;
|
|
50
|
+
ysfx_t* fDSP;
|
|
51
|
+
const char* fFileName;
|
|
52
|
+
std::vector<ControlValue*> fInputsValue;
|
|
53
|
+
std::vector<ControlValue*> fOutputsValue;
|
|
54
|
+
|
|
55
|
+
void updateInputsControl()
|
|
56
|
+
{
|
|
57
|
+
for (int i = 0; i < fInputsValue.size(); i++) {
|
|
58
|
+
ysfx_slider_set_value(fDSP, i, fInputsValue[i]->fValue);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
void updateOutputsControl()
|
|
63
|
+
{
|
|
64
|
+
for (int i = 0; i < fOutputsValue.size(); i++) {
|
|
65
|
+
fOutputsValue[i]->fValue = ysfx_slider_get_value(fDSP, i);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
public:
|
|
70
|
+
|
|
71
|
+
ysfx_dsp(const char* filename)
|
|
72
|
+
{
|
|
73
|
+
fConfig = ysfx_config_new();
|
|
74
|
+
fDSP = ysfx_new(fConfig);
|
|
75
|
+
if (!ysfx_load_file(fDSP, filename, 0)) {
|
|
76
|
+
std::cerr << "File not found:" << filename << endl;
|
|
77
|
+
throw std::bad_alloc();
|
|
78
|
+
}
|
|
79
|
+
if (!ysfx_compile(fDSP, 0)) {
|
|
80
|
+
cout << "Cannot compile:" << filename << endl;
|
|
81
|
+
throw std::bad_alloc();
|
|
82
|
+
}
|
|
83
|
+
fFileName = filename;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
virtual ~ysfx_dsp()
|
|
87
|
+
{
|
|
88
|
+
ysfx_config_free(fConfig);
|
|
89
|
+
ysfx_free(fDSP);
|
|
90
|
+
for (int i = 0; i < fInputsValue.size(); i++) {
|
|
91
|
+
delete fInputsValue[i];
|
|
92
|
+
}
|
|
93
|
+
for (int i = 0; i < fOutputsValue.size(); i++) {
|
|
94
|
+
delete fOutputsValue[i];
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
int getNumInputs()
|
|
99
|
+
{
|
|
100
|
+
return ysfx_get_num_inputs(fDSP);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
int getNumOutputs()
|
|
104
|
+
{
|
|
105
|
+
return ysfx_get_num_outputs(fDSP);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
void buildUserInterface(UI* ui_interface)
|
|
109
|
+
{
|
|
110
|
+
int i = 0;
|
|
111
|
+
ui_interface->openVerticalBox("JSFX");
|
|
112
|
+
while (ysfx_slider_exists(fDSP, i)) {
|
|
113
|
+
ysfx_slider_range_t ra;
|
|
114
|
+
ysfx_slider_get_range(fDSP, i, &ra);
|
|
115
|
+
fInputsValue.push_back(new ControlValue(ra.def));
|
|
116
|
+
string name = ysfx_slider_get_name(fDSP, i);
|
|
117
|
+
if (startWith(name, "button")) {
|
|
118
|
+
ui_interface->addButton(ysfx_slider_get_name(fDSP, i), &fInputsValue[i]->fValue);
|
|
119
|
+
} else if (startWith(name, "checkbox")) {
|
|
120
|
+
ui_interface->addCheckbox(ysfx_slider_get_name(fDSP, i), &fInputsValue[i]->fValue);
|
|
121
|
+
} else if (startWith(name, "hslider")) {
|
|
122
|
+
ui_interface->addHorizontalSlider(ysfx_slider_get_name(fDSP, i),
|
|
123
|
+
&fInputsValue[i]->fValue,
|
|
124
|
+
ra.def,
|
|
125
|
+
ra.min,
|
|
126
|
+
ra.max,
|
|
127
|
+
ra.inc);
|
|
128
|
+
} else if (startWith(name, "vslider")) {
|
|
129
|
+
ui_interface->addVorizontalSlider(ysfx_slider_get_name(fDSP, i),
|
|
130
|
+
&fInputsValue[i]->fValue,
|
|
131
|
+
ra.def,
|
|
132
|
+
ra.min,
|
|
133
|
+
ra.max,
|
|
134
|
+
ra.inc);
|
|
135
|
+
} else if (startWith(name, "nentry")) {
|
|
136
|
+
ui_interface->addNumEntry(ysfx_slider_get_name(fDSP, i),
|
|
137
|
+
&fInputsValue[i]->fValue,
|
|
138
|
+
ra.def,
|
|
139
|
+
ra.min,
|
|
140
|
+
ra.max,
|
|
141
|
+
ra.inc);
|
|
142
|
+
}
|
|
143
|
+
i++;
|
|
144
|
+
}
|
|
145
|
+
ui_interface->closeBox();
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
int getSampleRate()
|
|
149
|
+
{
|
|
150
|
+
return ysfx_get_sample_rate(fDSP);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
void init(int sample_rate)
|
|
154
|
+
{
|
|
155
|
+
ysfx_set_sample_rate(fDSP, sample_rate);
|
|
156
|
+
ysfx_init(fDSP);
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
void instanceInit(int sample_rate) {}
|
|
160
|
+
|
|
161
|
+
void instanceConstants(int sample_rate) {}
|
|
162
|
+
|
|
163
|
+
void instanceResetUserInterface() {}
|
|
164
|
+
|
|
165
|
+
void instanceClear() {}
|
|
166
|
+
|
|
167
|
+
ysfx_dsp* clone()
|
|
168
|
+
{
|
|
169
|
+
return new ysfx_dsp(fFileName);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
void metadata(Meta* m) {}
|
|
173
|
+
|
|
174
|
+
void compute(int count, FAUSTFLOAT** input, FAUSTFLOAT** output)
|
|
175
|
+
{
|
|
176
|
+
updateInputsControl();
|
|
177
|
+
if (sizeof(REAL) == sizeof(float)) {
|
|
178
|
+
ysfx_process_float(fDSP, (const float **)input, (float **)output, getNumInputs(), getNumOutputs(), count);
|
|
179
|
+
} else {
|
|
180
|
+
ysfx_process_double(fDSP, (const double **)input, (double **)output, getNumInputs(), getNumOutputs(), count);
|
|
181
|
+
}
|
|
182
|
+
updateOutputsControl();
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
#endif
|
|
188
|
+
/************************** END ysfx-dsp.h **************************/
|