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,87 @@
|
|
|
1
|
+
/************************** BEGIN UI.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 __UI_H__
|
|
26
|
+
#define __UI_H__
|
|
27
|
+
|
|
28
|
+
#include "faust/export.h"
|
|
29
|
+
|
|
30
|
+
#ifndef FAUSTFLOAT
|
|
31
|
+
#define FAUSTFLOAT float
|
|
32
|
+
#endif
|
|
33
|
+
|
|
34
|
+
/*******************************************************************************
|
|
35
|
+
* UI : Faust DSP User Interface
|
|
36
|
+
* User Interface as expected by the buildUserInterface() method of a DSP.
|
|
37
|
+
* This abstract class contains only the method that the Faust compiler can
|
|
38
|
+
* generate to describe a DSP user interface.
|
|
39
|
+
******************************************************************************/
|
|
40
|
+
|
|
41
|
+
struct Soundfile;
|
|
42
|
+
|
|
43
|
+
template <typename REAL>
|
|
44
|
+
struct FAUST_API UIReal {
|
|
45
|
+
|
|
46
|
+
UIReal() {}
|
|
47
|
+
virtual ~UIReal() {}
|
|
48
|
+
|
|
49
|
+
// -- widget's layouts
|
|
50
|
+
|
|
51
|
+
virtual void openTabBox(const char* label) = 0;
|
|
52
|
+
virtual void openHorizontalBox(const char* label) = 0;
|
|
53
|
+
virtual void openVerticalBox(const char* label) = 0;
|
|
54
|
+
virtual void closeBox() = 0;
|
|
55
|
+
|
|
56
|
+
// -- active widgets
|
|
57
|
+
|
|
58
|
+
virtual void addButton(const char* label, REAL* zone) = 0;
|
|
59
|
+
virtual void addCheckButton(const char* label, REAL* zone) = 0;
|
|
60
|
+
virtual void addVerticalSlider(const char* label, REAL* zone, REAL init, REAL min, REAL max, REAL step) = 0;
|
|
61
|
+
virtual void addHorizontalSlider(const char* label, REAL* zone, REAL init, REAL min, REAL max, REAL step) = 0;
|
|
62
|
+
virtual void addNumEntry(const char* label, REAL* zone, REAL init, REAL min, REAL max, REAL step) = 0;
|
|
63
|
+
|
|
64
|
+
// -- passive widgets
|
|
65
|
+
|
|
66
|
+
virtual void addHorizontalBargraph(const char* label, REAL* zone, REAL min, REAL max) = 0;
|
|
67
|
+
virtual void addVerticalBargraph(const char* label, REAL* zone, REAL min, REAL max) = 0;
|
|
68
|
+
|
|
69
|
+
// -- soundfiles
|
|
70
|
+
|
|
71
|
+
virtual void addSoundfile(const char* label, const char* filename, Soundfile** sf_zone) = 0;
|
|
72
|
+
|
|
73
|
+
// -- metadata declarations
|
|
74
|
+
|
|
75
|
+
virtual void declare(REAL* /*zone*/, const char* /*key*/, const char* /*val*/) {}
|
|
76
|
+
|
|
77
|
+
// To be used by LLVM client
|
|
78
|
+
virtual int sizeOfFAUSTFLOAT() { return sizeof(FAUSTFLOAT); }
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
struct FAUST_API UI : public UIReal<FAUSTFLOAT> {
|
|
82
|
+
UI() {}
|
|
83
|
+
virtual ~UI() {}
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
#endif
|
|
87
|
+
/************************** END UI.h **************************/
|
|
@@ -0,0 +1,543 @@
|
|
|
1
|
+
/************************** BEGIN ValueConverter.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 __ValueConverter__
|
|
26
|
+
#define __ValueConverter__
|
|
27
|
+
|
|
28
|
+
/***************************************************************************************
|
|
29
|
+
ValueConverter.h
|
|
30
|
+
(GRAME, Copyright 2015-2019)
|
|
31
|
+
|
|
32
|
+
Set of conversion objects used to map user interface values (for example a gui slider
|
|
33
|
+
delivering values between 0 and 1) to faust values (for example a vslider between
|
|
34
|
+
20 and 20000) using a log scale.
|
|
35
|
+
|
|
36
|
+
-- Utilities
|
|
37
|
+
|
|
38
|
+
Range(lo,hi) : clip a value x between lo and hi
|
|
39
|
+
Interpolator(lo,hi,v1,v2) : Maps a value x between lo and hi to a value y between v1 and v2
|
|
40
|
+
Interpolator3pt(lo,mi,hi,v1,vm,v2) : Map values between lo mid hi to values between v1 vm v2
|
|
41
|
+
|
|
42
|
+
-- Value Converters
|
|
43
|
+
|
|
44
|
+
ValueConverter::ui2faust(x)
|
|
45
|
+
ValueConverter::faust2ui(x)
|
|
46
|
+
|
|
47
|
+
-- ValueConverters used for sliders depending of the scale
|
|
48
|
+
|
|
49
|
+
LinearValueConverter(umin, umax, fmin, fmax)
|
|
50
|
+
LinearValueConverter2(lo, mi, hi, v1, vm, v2) using 2 segments
|
|
51
|
+
LogValueConverter(umin, umax, fmin, fmax)
|
|
52
|
+
ExpValueConverter(umin, umax, fmin, fmax)
|
|
53
|
+
|
|
54
|
+
-- ValueConverters used for accelerometers based on 3 points
|
|
55
|
+
|
|
56
|
+
AccUpConverter(amin, amid, amax, fmin, fmid, fmax) -- curve 0
|
|
57
|
+
AccDownConverter(amin, amid, amax, fmin, fmid, fmax) -- curve 1
|
|
58
|
+
AccUpDownConverter(amin, amid, amax, fmin, fmid, fmax) -- curve 2
|
|
59
|
+
AccDownUpConverter(amin, amid, amax, fmin, fmid, fmax) -- curve 3
|
|
60
|
+
|
|
61
|
+
-- lists of ZoneControl are used to implement accelerometers metadata for each axes
|
|
62
|
+
|
|
63
|
+
ZoneControl(zone, valueConverter) : a zone with an accelerometer data converter
|
|
64
|
+
|
|
65
|
+
-- ZoneReader are used to implement screencolor metadata
|
|
66
|
+
|
|
67
|
+
ZoneReader(zone, valueConverter) : a zone with a data converter
|
|
68
|
+
|
|
69
|
+
****************************************************************************************/
|
|
70
|
+
|
|
71
|
+
#include <float.h>
|
|
72
|
+
#include <algorithm> // std::max
|
|
73
|
+
#include <cmath>
|
|
74
|
+
#include <vector>
|
|
75
|
+
#include <assert.h>
|
|
76
|
+
|
|
77
|
+
#include "faust/export.h"
|
|
78
|
+
|
|
79
|
+
//--------------------------------------------------------------------------------------
|
|
80
|
+
// Interpolator(lo,hi,v1,v2)
|
|
81
|
+
// Maps a value x between lo and hi to a value y between v1 and v2
|
|
82
|
+
// y = v1 + (x-lo)/(hi-lo)*(v2-v1)
|
|
83
|
+
// y = v1 + (x-lo) * coef with coef = (v2-v1)/(hi-lo)
|
|
84
|
+
// y = v1 + x*coef - lo*coef
|
|
85
|
+
// y = v1 - lo*coef + x*coef
|
|
86
|
+
// y = offset + x*coef with offset = v1 - lo*coef
|
|
87
|
+
//--------------------------------------------------------------------------------------
|
|
88
|
+
class FAUST_API Interpolator {
|
|
89
|
+
|
|
90
|
+
private:
|
|
91
|
+
|
|
92
|
+
//--------------------------------------------------------------------------------------
|
|
93
|
+
// Range(lo,hi) clip a value between lo and hi
|
|
94
|
+
//--------------------------------------------------------------------------------------
|
|
95
|
+
struct Range
|
|
96
|
+
{
|
|
97
|
+
double fLo;
|
|
98
|
+
double fHi;
|
|
99
|
+
|
|
100
|
+
Range(double x, double y) : fLo(std::min<double>(x,y)), fHi(std::max<double>(x,y)) {}
|
|
101
|
+
double operator()(double x) { return (x<fLo) ? fLo : (x>fHi) ? fHi : x; }
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
Range fRange;
|
|
105
|
+
double fCoef;
|
|
106
|
+
double fOffset;
|
|
107
|
+
|
|
108
|
+
public:
|
|
109
|
+
|
|
110
|
+
Interpolator(double lo, double hi, double v1, double v2) : fRange(lo,hi)
|
|
111
|
+
{
|
|
112
|
+
if (hi != lo) {
|
|
113
|
+
// regular case
|
|
114
|
+
fCoef = (v2-v1)/(hi-lo);
|
|
115
|
+
fOffset = v1 - lo*fCoef;
|
|
116
|
+
} else {
|
|
117
|
+
// degenerate case, avoids division by zero
|
|
118
|
+
fCoef = 0;
|
|
119
|
+
fOffset = (v1+v2)/2;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
double operator()(double v)
|
|
123
|
+
{
|
|
124
|
+
double x = fRange(v);
|
|
125
|
+
return fOffset + x*fCoef;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
void getLowHigh(double& amin, double& amax)
|
|
129
|
+
{
|
|
130
|
+
amin = fRange.fLo;
|
|
131
|
+
amax = fRange.fHi;
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
//--------------------------------------------------------------------------------------
|
|
136
|
+
// Interpolator3pt(lo,mi,hi,v1,vm,v2)
|
|
137
|
+
// Map values between lo mid hi to values between v1 vm v2
|
|
138
|
+
//--------------------------------------------------------------------------------------
|
|
139
|
+
class FAUST_API Interpolator3pt {
|
|
140
|
+
|
|
141
|
+
private:
|
|
142
|
+
|
|
143
|
+
Interpolator fSegment1;
|
|
144
|
+
Interpolator fSegment2;
|
|
145
|
+
double fMid;
|
|
146
|
+
|
|
147
|
+
public:
|
|
148
|
+
|
|
149
|
+
Interpolator3pt(double lo, double mi, double hi, double v1, double vm, double v2) :
|
|
150
|
+
fSegment1(lo, mi, v1, vm),
|
|
151
|
+
fSegment2(mi, hi, vm, v2),
|
|
152
|
+
fMid(mi) {}
|
|
153
|
+
double operator()(double x) { return (x < fMid) ? fSegment1(x) : fSegment2(x); }
|
|
154
|
+
|
|
155
|
+
void getMappingValues(double& amin, double& amid, double& amax)
|
|
156
|
+
{
|
|
157
|
+
fSegment1.getLowHigh(amin, amid);
|
|
158
|
+
fSegment2.getLowHigh(amid, amax);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
//--------------------------------------------------------------------------------------
|
|
163
|
+
// Abstract ValueConverter class. Converts values between UI and Faust representations
|
|
164
|
+
//--------------------------------------------------------------------------------------
|
|
165
|
+
class FAUST_API ValueConverter {
|
|
166
|
+
|
|
167
|
+
public:
|
|
168
|
+
|
|
169
|
+
virtual ~ValueConverter() {}
|
|
170
|
+
virtual double ui2faust(double x) { return x; };
|
|
171
|
+
virtual double faust2ui(double x) { return x; };
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
//--------------------------------------------------------------------------------------
|
|
175
|
+
// A converter than can be updated
|
|
176
|
+
//--------------------------------------------------------------------------------------
|
|
177
|
+
|
|
178
|
+
class FAUST_API UpdatableValueConverter : public ValueConverter {
|
|
179
|
+
|
|
180
|
+
protected:
|
|
181
|
+
|
|
182
|
+
bool fActive;
|
|
183
|
+
|
|
184
|
+
public:
|
|
185
|
+
|
|
186
|
+
UpdatableValueConverter():fActive(true)
|
|
187
|
+
{}
|
|
188
|
+
virtual ~UpdatableValueConverter()
|
|
189
|
+
{}
|
|
190
|
+
|
|
191
|
+
virtual void setMappingValues(double amin, double amid, double amax, double min, double init, double max) = 0;
|
|
192
|
+
virtual void getMappingValues(double& amin, double& amid, double& amax) = 0;
|
|
193
|
+
|
|
194
|
+
void setActive(bool on_off) { fActive = on_off; }
|
|
195
|
+
bool getActive() { return fActive; }
|
|
196
|
+
|
|
197
|
+
};
|
|
198
|
+
|
|
199
|
+
//--------------------------------------------------------------------------------------
|
|
200
|
+
// Linear conversion between ui and Faust values
|
|
201
|
+
//--------------------------------------------------------------------------------------
|
|
202
|
+
class FAUST_API LinearValueConverter : public ValueConverter {
|
|
203
|
+
|
|
204
|
+
private:
|
|
205
|
+
|
|
206
|
+
Interpolator fUI2F;
|
|
207
|
+
Interpolator fF2UI;
|
|
208
|
+
|
|
209
|
+
public:
|
|
210
|
+
|
|
211
|
+
LinearValueConverter(double umin, double umax, double fmin, double fmax) :
|
|
212
|
+
fUI2F(umin,umax,fmin,fmax), fF2UI(fmin,fmax,umin,umax)
|
|
213
|
+
{}
|
|
214
|
+
|
|
215
|
+
LinearValueConverter() : fUI2F(0.,0.,0.,0.), fF2UI(0.,0.,0.,0.)
|
|
216
|
+
{}
|
|
217
|
+
virtual double ui2faust(double x) { return fUI2F(x); }
|
|
218
|
+
virtual double faust2ui(double x) { return fF2UI(x); }
|
|
219
|
+
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
//--------------------------------------------------------------------------------------
|
|
223
|
+
// Two segments linear conversion between ui and Faust values
|
|
224
|
+
//--------------------------------------------------------------------------------------
|
|
225
|
+
class FAUST_API LinearValueConverter2 : public UpdatableValueConverter {
|
|
226
|
+
|
|
227
|
+
private:
|
|
228
|
+
|
|
229
|
+
Interpolator3pt fUI2F;
|
|
230
|
+
Interpolator3pt fF2UI;
|
|
231
|
+
|
|
232
|
+
public:
|
|
233
|
+
|
|
234
|
+
LinearValueConverter2(double amin, double amid, double amax, double min, double init, double max) :
|
|
235
|
+
fUI2F(amin, amid, amax, min, init, max), fF2UI(min, init, max, amin, amid, amax)
|
|
236
|
+
{}
|
|
237
|
+
|
|
238
|
+
LinearValueConverter2() : fUI2F(0.,0.,0.,0.,0.,0.), fF2UI(0.,0.,0.,0.,0.,0.)
|
|
239
|
+
{}
|
|
240
|
+
|
|
241
|
+
virtual double ui2faust(double x) { return fUI2F(x); }
|
|
242
|
+
virtual double faust2ui(double x) { return fF2UI(x); }
|
|
243
|
+
|
|
244
|
+
virtual void setMappingValues(double amin, double amid, double amax, double min, double init, double max)
|
|
245
|
+
{
|
|
246
|
+
fUI2F = Interpolator3pt(amin, amid, amax, min, init, max);
|
|
247
|
+
fF2UI = Interpolator3pt(min, init, max, amin, amid, amax);
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
virtual void getMappingValues(double& amin, double& amid, double& amax)
|
|
251
|
+
{
|
|
252
|
+
fUI2F.getMappingValues(amin, amid, amax);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
//--------------------------------------------------------------------------------------
|
|
258
|
+
// Logarithmic conversion between ui and Faust values
|
|
259
|
+
//--------------------------------------------------------------------------------------
|
|
260
|
+
class FAUST_API LogValueConverter : public LinearValueConverter {
|
|
261
|
+
|
|
262
|
+
public:
|
|
263
|
+
|
|
264
|
+
// We use DBL_EPSILON which is bigger than DBL_MIN (safer)
|
|
265
|
+
LogValueConverter(double umin, double umax, double fmin, double fmax) :
|
|
266
|
+
LinearValueConverter(umin, umax, std::log(std::max<double>(DBL_EPSILON, fmin)), std::log(std::max<double>(DBL_EPSILON, fmax)))
|
|
267
|
+
{}
|
|
268
|
+
|
|
269
|
+
virtual double ui2faust(double x) { return std::exp(LinearValueConverter::ui2faust(x)); }
|
|
270
|
+
virtual double faust2ui(double x) { return LinearValueConverter::faust2ui(std::log(std::max<double>(DBL_EPSILON, x))); }
|
|
271
|
+
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
//--------------------------------------------------------------------------------------
|
|
275
|
+
// Exponential conversion between ui and Faust values
|
|
276
|
+
//--------------------------------------------------------------------------------------
|
|
277
|
+
class FAUST_API ExpValueConverter : public LinearValueConverter {
|
|
278
|
+
|
|
279
|
+
public:
|
|
280
|
+
|
|
281
|
+
ExpValueConverter(double umin, double umax, double fmin, double fmax) :
|
|
282
|
+
LinearValueConverter(umin, umax, std::min<double>(DBL_MAX, std::exp(fmin)), std::min<double>(DBL_MAX, std::exp(fmax)))
|
|
283
|
+
{}
|
|
284
|
+
|
|
285
|
+
virtual double ui2faust(double x) { return std::log(LinearValueConverter::ui2faust(x)); }
|
|
286
|
+
virtual double faust2ui(double x) { return LinearValueConverter::faust2ui(std::min<double>(DBL_MAX, std::exp(x))); }
|
|
287
|
+
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
//--------------------------------------------------------------------------------------
|
|
291
|
+
// Convert accelerometer or gyroscope values to Faust values
|
|
292
|
+
// Using an Up curve (curve 0)
|
|
293
|
+
//--------------------------------------------------------------------------------------
|
|
294
|
+
class FAUST_API AccUpConverter : public UpdatableValueConverter {
|
|
295
|
+
|
|
296
|
+
private:
|
|
297
|
+
|
|
298
|
+
Interpolator3pt fA2F;
|
|
299
|
+
Interpolator3pt fF2A;
|
|
300
|
+
|
|
301
|
+
public:
|
|
302
|
+
|
|
303
|
+
AccUpConverter(double amin, double amid, double amax, double fmin, double fmid, double fmax) :
|
|
304
|
+
fA2F(amin,amid,amax,fmin,fmid,fmax),
|
|
305
|
+
fF2A(fmin,fmid,fmax,amin,amid,amax)
|
|
306
|
+
{}
|
|
307
|
+
|
|
308
|
+
virtual double ui2faust(double x) { return fA2F(x); }
|
|
309
|
+
virtual double faust2ui(double x) { return fF2A(x); }
|
|
310
|
+
|
|
311
|
+
virtual void setMappingValues(double amin, double amid, double amax, double fmin, double fmid, double fmax)
|
|
312
|
+
{
|
|
313
|
+
//__android_log_print(ANDROID_LOG_ERROR, "Faust", "AccUpConverter update %f %f %f %f %f %f", amin,amid,amax,fmin,fmid,fmax);
|
|
314
|
+
fA2F = Interpolator3pt(amin, amid, amax, fmin, fmid, fmax);
|
|
315
|
+
fF2A = Interpolator3pt(fmin, fmid, fmax, amin, amid, amax);
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
virtual void getMappingValues(double& amin, double& amid, double& amax)
|
|
319
|
+
{
|
|
320
|
+
fA2F.getMappingValues(amin, amid, amax);
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
};
|
|
324
|
+
|
|
325
|
+
//--------------------------------------------------------------------------------------
|
|
326
|
+
// Convert accelerometer or gyroscope values to Faust values
|
|
327
|
+
// Using a Down curve (curve 1)
|
|
328
|
+
//--------------------------------------------------------------------------------------
|
|
329
|
+
class FAUST_API AccDownConverter : public UpdatableValueConverter {
|
|
330
|
+
|
|
331
|
+
private:
|
|
332
|
+
|
|
333
|
+
Interpolator3pt fA2F;
|
|
334
|
+
Interpolator3pt fF2A;
|
|
335
|
+
|
|
336
|
+
public:
|
|
337
|
+
|
|
338
|
+
AccDownConverter(double amin, double amid, double amax, double fmin, double fmid, double fmax) :
|
|
339
|
+
fA2F(amin,amid,amax,fmax,fmid,fmin),
|
|
340
|
+
fF2A(fmin,fmid,fmax,amax,amid,amin)
|
|
341
|
+
{}
|
|
342
|
+
|
|
343
|
+
virtual double ui2faust(double x) { return fA2F(x); }
|
|
344
|
+
virtual double faust2ui(double x) { return fF2A(x); }
|
|
345
|
+
|
|
346
|
+
virtual void setMappingValues(double amin, double amid, double amax, double fmin, double fmid, double fmax)
|
|
347
|
+
{
|
|
348
|
+
//__android_log_print(ANDROID_LOG_ERROR, "Faust", "AccDownConverter update %f %f %f %f %f %f", amin,amid,amax,fmin,fmid,fmax);
|
|
349
|
+
fA2F = Interpolator3pt(amin, amid, amax, fmax, fmid, fmin);
|
|
350
|
+
fF2A = Interpolator3pt(fmin, fmid, fmax, amax, amid, amin);
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
virtual void getMappingValues(double& amin, double& amid, double& amax)
|
|
354
|
+
{
|
|
355
|
+
fA2F.getMappingValues(amin, amid, amax);
|
|
356
|
+
}
|
|
357
|
+
};
|
|
358
|
+
|
|
359
|
+
//--------------------------------------------------------------------------------------
|
|
360
|
+
// Convert accelerometer or gyroscope values to Faust values
|
|
361
|
+
// Using an Up-Down curve (curve 2)
|
|
362
|
+
//--------------------------------------------------------------------------------------
|
|
363
|
+
class FAUST_API AccUpDownConverter : public UpdatableValueConverter {
|
|
364
|
+
|
|
365
|
+
private:
|
|
366
|
+
|
|
367
|
+
Interpolator3pt fA2F;
|
|
368
|
+
Interpolator fF2A;
|
|
369
|
+
|
|
370
|
+
public:
|
|
371
|
+
|
|
372
|
+
AccUpDownConverter(double amin, double amid, double amax, double fmin, double fmid, double fmax) :
|
|
373
|
+
fA2F(amin,amid,amax,fmin,fmax,fmin),
|
|
374
|
+
fF2A(fmin,fmax,amin,amax) // Special, pseudo inverse of a non monotonic function
|
|
375
|
+
{}
|
|
376
|
+
|
|
377
|
+
virtual double ui2faust(double x) { return fA2F(x); }
|
|
378
|
+
virtual double faust2ui(double x) { return fF2A(x); }
|
|
379
|
+
|
|
380
|
+
virtual void setMappingValues(double amin, double amid, double amax, double fmin, double fmid, double fmax)
|
|
381
|
+
{
|
|
382
|
+
//__android_log_print(ANDROID_LOG_ERROR, "Faust", "AccUpDownConverter update %f %f %f %f %f %f", amin,amid,amax,fmin,fmid,fmax);
|
|
383
|
+
fA2F = Interpolator3pt(amin, amid, amax, fmin, fmax, fmin);
|
|
384
|
+
fF2A = Interpolator(fmin, fmax, amin, amax);
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
virtual void getMappingValues(double& amin, double& amid, double& amax)
|
|
388
|
+
{
|
|
389
|
+
fA2F.getMappingValues(amin, amid, amax);
|
|
390
|
+
}
|
|
391
|
+
};
|
|
392
|
+
|
|
393
|
+
//--------------------------------------------------------------------------------------
|
|
394
|
+
// Convert accelerometer or gyroscope values to Faust values
|
|
395
|
+
// Using a Down-Up curve (curve 3)
|
|
396
|
+
//--------------------------------------------------------------------------------------
|
|
397
|
+
class FAUST_API AccDownUpConverter : public UpdatableValueConverter {
|
|
398
|
+
|
|
399
|
+
private:
|
|
400
|
+
|
|
401
|
+
Interpolator3pt fA2F;
|
|
402
|
+
Interpolator fF2A;
|
|
403
|
+
|
|
404
|
+
public:
|
|
405
|
+
|
|
406
|
+
AccDownUpConverter(double amin, double amid, double amax, double fmin, double fmid, double fmax) :
|
|
407
|
+
fA2F(amin,amid,amax,fmax,fmin,fmax),
|
|
408
|
+
fF2A(fmin,fmax,amin,amax) // Special, pseudo inverse of a non monotonic function
|
|
409
|
+
{}
|
|
410
|
+
|
|
411
|
+
virtual double ui2faust(double x) { return fA2F(x); }
|
|
412
|
+
virtual double faust2ui(double x) { return fF2A(x); }
|
|
413
|
+
|
|
414
|
+
virtual void setMappingValues(double amin, double amid, double amax, double fmin, double fmid, double fmax)
|
|
415
|
+
{
|
|
416
|
+
//__android_log_print(ANDROID_LOG_ERROR, "Faust", "AccDownUpConverter update %f %f %f %f %f %f", amin,amid,amax,fmin,fmid,fmax);
|
|
417
|
+
fA2F = Interpolator3pt(amin, amid, amax, fmax, fmin, fmax);
|
|
418
|
+
fF2A = Interpolator(fmin, fmax, amin, amax);
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
virtual void getMappingValues(double& amin, double& amid, double& amax)
|
|
422
|
+
{
|
|
423
|
+
fA2F.getMappingValues(amin, amid, amax);
|
|
424
|
+
}
|
|
425
|
+
};
|
|
426
|
+
|
|
427
|
+
//--------------------------------------------------------------------------------------
|
|
428
|
+
// Base class for ZoneControl
|
|
429
|
+
//--------------------------------------------------------------------------------------
|
|
430
|
+
class FAUST_API ZoneControl {
|
|
431
|
+
|
|
432
|
+
protected:
|
|
433
|
+
|
|
434
|
+
FAUSTFLOAT* fZone;
|
|
435
|
+
|
|
436
|
+
public:
|
|
437
|
+
|
|
438
|
+
ZoneControl(FAUSTFLOAT* zone) : fZone(zone) {}
|
|
439
|
+
virtual ~ZoneControl() {}
|
|
440
|
+
|
|
441
|
+
virtual void update(double v) const {}
|
|
442
|
+
|
|
443
|
+
virtual void setMappingValues(int curve, double amin, double amid, double amax, double min, double init, double max) {}
|
|
444
|
+
virtual void getMappingValues(double& amin, double& amid, double& amax) {}
|
|
445
|
+
|
|
446
|
+
FAUSTFLOAT* getZone() { return fZone; }
|
|
447
|
+
|
|
448
|
+
virtual void setActive(bool on_off) {}
|
|
449
|
+
virtual bool getActive() { return false; }
|
|
450
|
+
|
|
451
|
+
virtual int getCurve() { return -1; }
|
|
452
|
+
|
|
453
|
+
};
|
|
454
|
+
|
|
455
|
+
//--------------------------------------------------------------------------------------
|
|
456
|
+
// Useful to implement accelerometers metadata as a list of ZoneControl for each axes
|
|
457
|
+
//--------------------------------------------------------------------------------------
|
|
458
|
+
class FAUST_API ConverterZoneControl : public ZoneControl {
|
|
459
|
+
|
|
460
|
+
protected:
|
|
461
|
+
|
|
462
|
+
ValueConverter* fValueConverter;
|
|
463
|
+
|
|
464
|
+
public:
|
|
465
|
+
|
|
466
|
+
ConverterZoneControl(FAUSTFLOAT* zone, ValueConverter* converter) : ZoneControl(zone), fValueConverter(converter) {}
|
|
467
|
+
virtual ~ConverterZoneControl() { delete fValueConverter; } // Assuming fValueConverter is not kept elsewhere...
|
|
468
|
+
|
|
469
|
+
virtual void update(double v) const { *fZone = FAUSTFLOAT(fValueConverter->ui2faust(v)); }
|
|
470
|
+
|
|
471
|
+
ValueConverter* getConverter() { return fValueConverter; }
|
|
472
|
+
|
|
473
|
+
};
|
|
474
|
+
|
|
475
|
+
//--------------------------------------------------------------------------------------
|
|
476
|
+
// Association of a zone and a four value converter, each one for each possible curve.
|
|
477
|
+
// Useful to implement accelerometers metadata as a list of ZoneControl for each axes
|
|
478
|
+
//--------------------------------------------------------------------------------------
|
|
479
|
+
class FAUST_API CurveZoneControl : public ZoneControl {
|
|
480
|
+
|
|
481
|
+
private:
|
|
482
|
+
|
|
483
|
+
std::vector<UpdatableValueConverter*> fValueConverters;
|
|
484
|
+
int fCurve;
|
|
485
|
+
|
|
486
|
+
public:
|
|
487
|
+
|
|
488
|
+
CurveZoneControl(FAUSTFLOAT* zone, int curve, double amin, double amid, double amax, double min, double init, double max) : ZoneControl(zone), fCurve(0)
|
|
489
|
+
{
|
|
490
|
+
assert(curve >= 0 && curve <= 3);
|
|
491
|
+
fValueConverters.push_back(new AccUpConverter(amin, amid, amax, min, init, max));
|
|
492
|
+
fValueConverters.push_back(new AccDownConverter(amin, amid, amax, min, init, max));
|
|
493
|
+
fValueConverters.push_back(new AccUpDownConverter(amin, amid, amax, min, init, max));
|
|
494
|
+
fValueConverters.push_back(new AccDownUpConverter(amin, amid, amax, min, init, max));
|
|
495
|
+
fCurve = curve;
|
|
496
|
+
}
|
|
497
|
+
virtual ~CurveZoneControl()
|
|
498
|
+
{
|
|
499
|
+
for (const auto& it : fValueConverters) { delete it; }
|
|
500
|
+
}
|
|
501
|
+
void update(double v) const { if (fValueConverters[fCurve]->getActive()) *fZone = FAUSTFLOAT(fValueConverters[fCurve]->ui2faust(v)); }
|
|
502
|
+
|
|
503
|
+
void setMappingValues(int curve, double amin, double amid, double amax, double min, double init, double max)
|
|
504
|
+
{
|
|
505
|
+
fValueConverters[curve]->setMappingValues(amin, amid, amax, min, init, max);
|
|
506
|
+
fCurve = curve;
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
void getMappingValues(double& amin, double& amid, double& amax)
|
|
510
|
+
{
|
|
511
|
+
fValueConverters[fCurve]->getMappingValues(amin, amid, amax);
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
void setActive(bool on_off)
|
|
515
|
+
{
|
|
516
|
+
for (const auto& it : fValueConverters) { it->setActive(on_off); }
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
int getCurve() { return fCurve; }
|
|
520
|
+
};
|
|
521
|
+
|
|
522
|
+
class FAUST_API ZoneReader {
|
|
523
|
+
|
|
524
|
+
private:
|
|
525
|
+
|
|
526
|
+
FAUSTFLOAT* fZone;
|
|
527
|
+
Interpolator fInterpolator;
|
|
528
|
+
|
|
529
|
+
public:
|
|
530
|
+
|
|
531
|
+
ZoneReader(FAUSTFLOAT* zone, double lo, double hi) : fZone(zone), fInterpolator(lo, hi, 0, 255) {}
|
|
532
|
+
|
|
533
|
+
virtual ~ZoneReader() {}
|
|
534
|
+
|
|
535
|
+
int getValue()
|
|
536
|
+
{
|
|
537
|
+
return (fZone != nullptr) ? int(fInterpolator(*fZone)) : 127;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
};
|
|
541
|
+
|
|
542
|
+
#endif
|
|
543
|
+
/************************** END ValueConverter.h **************************/
|