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,261 @@
|
|
|
1
|
+
/************************************************************************
|
|
2
|
+
IMPORTANT NOTE : this file contains two clearly delimited sections :
|
|
3
|
+
the ARCHITECTURE section (in two parts) and the USER section. Each section
|
|
4
|
+
is governed by its own copyright and license. Please check individually
|
|
5
|
+
each section for license and copyright information.
|
|
6
|
+
*************************************************************************/
|
|
7
|
+
|
|
8
|
+
/******************* BEGIN pa-qt.cpp ****************/
|
|
9
|
+
/************************************************************************
|
|
10
|
+
FAUST Architecture File
|
|
11
|
+
Copyright (C) 2003-2019 GRAME, Centre National de Creation Musicale
|
|
12
|
+
---------------------------------------------------------------------
|
|
13
|
+
This Architecture section is free software; you can redistribute it
|
|
14
|
+
and/or modify it under the terms of the GNU General Public License
|
|
15
|
+
as published by the Free Software Foundation; either version 3 of
|
|
16
|
+
the License, or (at your option) any later version.
|
|
17
|
+
|
|
18
|
+
This program is distributed in the hope that it will be useful,
|
|
19
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
20
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
21
|
+
GNU General Public License for more details.
|
|
22
|
+
|
|
23
|
+
You should have received a copy of the GNU General Public License
|
|
24
|
+
along with this program; If not, see <http://www.gnu.org/licenses/>.
|
|
25
|
+
|
|
26
|
+
EXCEPTION : As a special exception, you may create a larger work
|
|
27
|
+
that contains this FAUST architecture section and distribute
|
|
28
|
+
that work under terms of your choice, so long as this FAUST
|
|
29
|
+
architecture section is not modified.
|
|
30
|
+
|
|
31
|
+
************************************************************************
|
|
32
|
+
************************************************************************/
|
|
33
|
+
|
|
34
|
+
#include <libgen.h>
|
|
35
|
+
#include <iostream>
|
|
36
|
+
|
|
37
|
+
#include "faust/dsp/timed-dsp.h"
|
|
38
|
+
#include "faust/gui/PathBuilder.h"
|
|
39
|
+
#include "faust/gui/FUI.h"
|
|
40
|
+
#include "faust/gui/JSONUI.h"
|
|
41
|
+
#include "faust/gui/QTUI.h"
|
|
42
|
+
#include "faust/misc.h"
|
|
43
|
+
#include "faust/audio/portaudio-dsp.h"
|
|
44
|
+
|
|
45
|
+
#ifdef OSCCTRL
|
|
46
|
+
#include "faust/gui/OSCUI.h"
|
|
47
|
+
#endif
|
|
48
|
+
|
|
49
|
+
#ifdef HTTPCTRL
|
|
50
|
+
#include "faust/gui/httpdUI.h"
|
|
51
|
+
#endif
|
|
52
|
+
|
|
53
|
+
// Always include this file, otherwise -nvoices only mode does not compile....
|
|
54
|
+
#include "faust/gui/MidiUI.h"
|
|
55
|
+
|
|
56
|
+
#ifdef MIDICTRL
|
|
57
|
+
#include "faust/midi/rt-midi.h"
|
|
58
|
+
#include "faust/midi/RtMidi.cpp"
|
|
59
|
+
#endif
|
|
60
|
+
|
|
61
|
+
using namespace std;
|
|
62
|
+
|
|
63
|
+
/******************************************************************************
|
|
64
|
+
*******************************************************************************
|
|
65
|
+
|
|
66
|
+
VECTOR INTRINSICS
|
|
67
|
+
|
|
68
|
+
*******************************************************************************
|
|
69
|
+
*******************************************************************************/
|
|
70
|
+
|
|
71
|
+
<<includeIntrinsic>>
|
|
72
|
+
|
|
73
|
+
/********************END ARCHITECTURE SECTION (part 1/2)****************/
|
|
74
|
+
|
|
75
|
+
/**************************BEGIN USER SECTION **************************/
|
|
76
|
+
|
|
77
|
+
<<includeclass>>
|
|
78
|
+
|
|
79
|
+
/***************************END USER SECTION ***************************/
|
|
80
|
+
|
|
81
|
+
/*******************BEGIN ARCHITECTURE SECTION (part 2/2)***************/
|
|
82
|
+
|
|
83
|
+
#include "faust/dsp/poly-dsp.h"
|
|
84
|
+
|
|
85
|
+
#ifdef POLY2
|
|
86
|
+
#include "faust/dsp/dsp-combiner.h"
|
|
87
|
+
#include "effect.h"
|
|
88
|
+
#endif
|
|
89
|
+
|
|
90
|
+
/***************************END USER SECTION ***************************/
|
|
91
|
+
|
|
92
|
+
/*******************BEGIN ARCHITECTURE SECTION (part 2/2)***************/
|
|
93
|
+
|
|
94
|
+
dsp* DSP;
|
|
95
|
+
|
|
96
|
+
list<GUI*> GUI::fGuiList;
|
|
97
|
+
ztimedmap GUI::gTimedZoneMap;
|
|
98
|
+
|
|
99
|
+
/******************************************************************************
|
|
100
|
+
*******************************************************************************
|
|
101
|
+
|
|
102
|
+
MAIN PLAY THREAD
|
|
103
|
+
|
|
104
|
+
*******************************************************************************
|
|
105
|
+
*******************************************************************************/
|
|
106
|
+
|
|
107
|
+
int main(int argc, char* argv[])
|
|
108
|
+
{
|
|
109
|
+
char name[256];
|
|
110
|
+
char rcfilename[256];
|
|
111
|
+
char* home = getenv("HOME");
|
|
112
|
+
bool midi_sync = false;
|
|
113
|
+
int nvoices = 0;
|
|
114
|
+
bool control = true;
|
|
115
|
+
|
|
116
|
+
mydsp* tmp_dsp = new mydsp();
|
|
117
|
+
MidiMeta::analyse(tmp_dsp, midi_sync, nvoices);
|
|
118
|
+
delete tmp_dsp;
|
|
119
|
+
|
|
120
|
+
snprintf(name, 256, "%s", basename(argv[0]));
|
|
121
|
+
snprintf(rcfilename, 256, "%s/.%src", home, name);
|
|
122
|
+
|
|
123
|
+
if (isopt(argv, "-h")) {
|
|
124
|
+
cout << argv[0] << " [--frequency <val>] [--buffer <val>] [--nvoices <num>] [--control <0/1>] [--group <0/1>] [--virtual-midi <0/1>]\n";
|
|
125
|
+
exit(1);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
long srate = (long)lopt(argv, "--frequency", 44100);
|
|
129
|
+
int fpb = lopt(argv, "--buffer", 128);
|
|
130
|
+
bool is_virtual = lopt(argv, "--virtual-midi", false);
|
|
131
|
+
|
|
132
|
+
#ifdef POLY2
|
|
133
|
+
nvoices = lopt(argv, "--nvoices", nvoices);
|
|
134
|
+
control = lopt(argv, "--control", control);
|
|
135
|
+
int group = lopt(argv, "--group", 1);
|
|
136
|
+
|
|
137
|
+
cout << "Started with " << nvoices << " voices\n";
|
|
138
|
+
DSP = new mydsp_poly(new mydsp(), nvoices, control, group);
|
|
139
|
+
|
|
140
|
+
#if MIDICTRL
|
|
141
|
+
if (midi_sync) {
|
|
142
|
+
DSP = new timed_dsp(new dsp_sequencer(DSP, new effect()));
|
|
143
|
+
} else {
|
|
144
|
+
DSP = new dsp_sequencer(DSP, new effect());
|
|
145
|
+
}
|
|
146
|
+
#else
|
|
147
|
+
DSP = new dsp_sequencer(DSP, new effect());
|
|
148
|
+
#endif
|
|
149
|
+
|
|
150
|
+
#else
|
|
151
|
+
nvoices = lopt(argv, "--nvoices", nvoices);
|
|
152
|
+
control = lopt(argv, "--control", control);
|
|
153
|
+
int group = lopt(argv, "--group", 1);
|
|
154
|
+
cout << "nvoices " << nvoices << " voices\n";
|
|
155
|
+
|
|
156
|
+
if (nvoices > 0) {
|
|
157
|
+
cout << "Started with " << nvoices << " voices\n";
|
|
158
|
+
DSP = new mydsp_poly(new mydsp(), nvoices, control, group);
|
|
159
|
+
#if MIDICTRL
|
|
160
|
+
if (midi_sync) {
|
|
161
|
+
DSP = new timed_dsp(DSP);
|
|
162
|
+
}
|
|
163
|
+
#endif
|
|
164
|
+
|
|
165
|
+
} else {
|
|
166
|
+
#if MIDICTRL
|
|
167
|
+
if (midi_sync) {
|
|
168
|
+
DSP = new timed_dsp(new mydsp());
|
|
169
|
+
} else {
|
|
170
|
+
DSP = new mydsp();
|
|
171
|
+
}
|
|
172
|
+
#else
|
|
173
|
+
// We possibly have a file...
|
|
174
|
+
/*
|
|
175
|
+
try {
|
|
176
|
+
DSP = new dsp_sequencer(new sound_player(stringify_expanded(SOUND_FILE)), new mydsp());
|
|
177
|
+
} catch (...) {
|
|
178
|
+
DSP = new mydsp();
|
|
179
|
+
}
|
|
180
|
+
*/
|
|
181
|
+
DSP = new mydsp();
|
|
182
|
+
#endif
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
#endif
|
|
186
|
+
|
|
187
|
+
if (!DSP) {
|
|
188
|
+
cerr << "Unable to allocate Faust DSP object" << endl;
|
|
189
|
+
exit(1);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
QApplication myApp(argc, argv);
|
|
193
|
+
|
|
194
|
+
QTGUI* interface = new QTGUI();
|
|
195
|
+
FUI* finterface = new FUI();
|
|
196
|
+
DSP->buildUserInterface(interface);
|
|
197
|
+
DSP->buildUserInterface(finterface);
|
|
198
|
+
|
|
199
|
+
#ifdef MIDICTRL
|
|
200
|
+
rt_midi midi_handler(name, is_virtual);
|
|
201
|
+
MidiUI midiinterface(&midi_handler);
|
|
202
|
+
DSP->buildUserInterface(&midiinterface);
|
|
203
|
+
cout << "MIDI is on" << endl;
|
|
204
|
+
#endif
|
|
205
|
+
|
|
206
|
+
#ifdef HTTPCTRL
|
|
207
|
+
httpdUI httpdinterface(name, DSP->getNumInputs(), DSP->getNumOutputs(), argc, argv);
|
|
208
|
+
DSP->buildUserInterface(&httpdinterface);
|
|
209
|
+
cout << "HTTPD is on" << endl;
|
|
210
|
+
#endif
|
|
211
|
+
|
|
212
|
+
#ifdef OSCCTRL
|
|
213
|
+
GUI* oscinterface = new OSCUI(name, argc, argv);
|
|
214
|
+
DSP->buildUserInterface(oscinterface);
|
|
215
|
+
#endif
|
|
216
|
+
|
|
217
|
+
portaudio audio(srate, fpb);
|
|
218
|
+
if (!audio.init(name, DSP)) {
|
|
219
|
+
cerr << "Unable to init audio" << endl;
|
|
220
|
+
exit(1);
|
|
221
|
+
}
|
|
222
|
+
finterface->recallState(rcfilename);
|
|
223
|
+
if (!audio.start()) {
|
|
224
|
+
cerr << "Unable to start audio" << endl;
|
|
225
|
+
exit(1);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
cout << "ins " << audio.getNumInputs() << endl;
|
|
229
|
+
cout << "outs " << audio.getNumOutputs() << endl;
|
|
230
|
+
|
|
231
|
+
#ifdef HTTPCTRL
|
|
232
|
+
httpdinterface.run();
|
|
233
|
+
#ifdef QRCODECTRL
|
|
234
|
+
interface->displayQRCode(httpdinterface.getTCPPort());
|
|
235
|
+
#endif
|
|
236
|
+
#endif
|
|
237
|
+
|
|
238
|
+
#ifdef OSCCTRL
|
|
239
|
+
oscinterface->run();
|
|
240
|
+
#endif
|
|
241
|
+
#ifdef MIDICTRL
|
|
242
|
+
if (!midiinterface.run()) {
|
|
243
|
+
cerr << "MidiUI run error\n";
|
|
244
|
+
}
|
|
245
|
+
#endif
|
|
246
|
+
interface->run();
|
|
247
|
+
|
|
248
|
+
myApp.setStyleSheet(interface->styleSheet());
|
|
249
|
+
myApp.exec();
|
|
250
|
+
interface->stop();
|
|
251
|
+
|
|
252
|
+
#ifdef MIDICTRL
|
|
253
|
+
midiinterface.stop();
|
|
254
|
+
#endif
|
|
255
|
+
|
|
256
|
+
audio.stop();
|
|
257
|
+
finterface->saveState(rcfilename);
|
|
258
|
+
return 0;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/******************* END pa-qt.cpp ****************/
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/************************************************************************
|
|
2
|
+
IMPORTANT NOTE : this file contains two clearly delimited sections :
|
|
3
|
+
the ARCHITECTURE section (in two parts) and the USER section. Each section
|
|
4
|
+
is governed by its own copyright and license. Please check individually
|
|
5
|
+
each section for license and copyright information.
|
|
6
|
+
*************************************************************************/
|
|
7
|
+
|
|
8
|
+
/******************* BEGIN path-printer.cpp ****************/
|
|
9
|
+
/************************************************************************
|
|
10
|
+
FAUST Architecture File
|
|
11
|
+
Copyright (C) 2003-2021 GRAME, Centre National de Creation Musicale
|
|
12
|
+
---------------------------------------------------------------------
|
|
13
|
+
This Architecture section is free software; you can redistribute it
|
|
14
|
+
and/or modify it under the terms of the GNU General Public License
|
|
15
|
+
as published by the Free Software Foundation; either version 3 of
|
|
16
|
+
the License, or (at your option) any later version.
|
|
17
|
+
|
|
18
|
+
This program is distributed in the hope that it will be useful,
|
|
19
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
20
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
21
|
+
GNU General Public License for more details.
|
|
22
|
+
|
|
23
|
+
You should have received a copy of the GNU General Public License
|
|
24
|
+
along with this program; If not, see <http://www.gnu.org/licenses/>.
|
|
25
|
+
|
|
26
|
+
EXCEPTION : As a special exception, you may create a larger work
|
|
27
|
+
that contains this FAUST architecture section and distribute
|
|
28
|
+
that work under terms of your choice, so long as this FAUST
|
|
29
|
+
architecture section is not modified.
|
|
30
|
+
|
|
31
|
+
************************************************************************
|
|
32
|
+
************************************************************************/
|
|
33
|
+
|
|
34
|
+
#include <cmath>
|
|
35
|
+
#include <cstring>
|
|
36
|
+
|
|
37
|
+
#include "faust/misc.h"
|
|
38
|
+
#include "faust/dsp/dsp.h"
|
|
39
|
+
#include "faust/gui/meta.h"
|
|
40
|
+
#include "faust/gui/DecoratorUI.h"
|
|
41
|
+
#include "faust/gui/JSONUIDecoder.h"
|
|
42
|
+
|
|
43
|
+
#ifdef SOUNDFILE
|
|
44
|
+
#include "faust/gui/SoundUI.h"
|
|
45
|
+
#endif
|
|
46
|
+
|
|
47
|
+
/******************************************************************************
|
|
48
|
+
*******************************************************************************
|
|
49
|
+
|
|
50
|
+
VECTOR INTRINSICS
|
|
51
|
+
|
|
52
|
+
*******************************************************************************
|
|
53
|
+
*******************************************************************************/
|
|
54
|
+
|
|
55
|
+
<<includeIntrinsic>>
|
|
56
|
+
|
|
57
|
+
/********************END ARCHITECTURE SECTION (part 1/2)****************/
|
|
58
|
+
|
|
59
|
+
/**************************BEGIN USER SECTION **************************/
|
|
60
|
+
|
|
61
|
+
<<includeclass>>
|
|
62
|
+
|
|
63
|
+
/***************************END USER SECTION ***************************/
|
|
64
|
+
|
|
65
|
+
/*******************BEGIN ARCHITECTURE SECTION (part 2/2)***************/
|
|
66
|
+
|
|
67
|
+
#include "faust/dsp/faust-poly-engine.h"
|
|
68
|
+
#include "faust/audio/dummy-audio.h"
|
|
69
|
+
|
|
70
|
+
std::list<GUI*> GUI::fGuiList;
|
|
71
|
+
ztimedmap GUI::gTimedZoneMap;
|
|
72
|
+
|
|
73
|
+
int main(int argc, char* argv[])
|
|
74
|
+
{
|
|
75
|
+
FaustPolyEngine fPolyEngine(new mydsp(), new dummyaudio());
|
|
76
|
+
|
|
77
|
+
std::cout << "## Parameters List\n\n";
|
|
78
|
+
std::cout << "### Main Parameters\n\n";
|
|
79
|
+
for(int i = 0; i < fPolyEngine.getParamsCount(); i++) {
|
|
80
|
+
std::cout << "* **" << i << "**: `" << fPolyEngine.getParamAddress(i) << "`" << "\n";
|
|
81
|
+
}
|
|
82
|
+
std::cout << "\n";
|
|
83
|
+
|
|
84
|
+
#if POLY_VOICES
|
|
85
|
+
// kind of funny, but it's the fastest way
|
|
86
|
+
MapUI* idpVoice = fPolyEngine.keyOn(100,100);
|
|
87
|
+
|
|
88
|
+
std::cout << "### Independent Voice" << "\n\n";
|
|
89
|
+
for(int i = 0; i < idpVoice->getParamsCount(); i++) {
|
|
90
|
+
std::cout << "* **" << i << "**: `" << idpVoice->getParamAddress(i) << "`" << "\n";
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
fPolyEngine.keyOff(100); // just to be really clean...
|
|
94
|
+
#endif
|
|
95
|
+
|
|
96
|
+
return 0;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/******************* END path-printer.cpp ****************/
|
|
100
|
+
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/************************************************************************
|
|
2
|
+
IMPORTANT NOTE : this file contains two clearly delimited sections :
|
|
3
|
+
the ARCHITECTURE section (in two parts) and the USER section. Each section
|
|
4
|
+
is governed by its own copyright and license. Please check individually
|
|
5
|
+
each section for license and copyright information.
|
|
6
|
+
*************************************************************************/
|
|
7
|
+
|
|
8
|
+
/******************* BEGIN plot.cpp ****************/
|
|
9
|
+
/************************************************************************
|
|
10
|
+
FAUST Architecture File
|
|
11
|
+
Copyright (C) 2003-2019 GRAME, Centre National de Creation Musicale
|
|
12
|
+
---------------------------------------------------------------------
|
|
13
|
+
This Architecture section is free software; you can redistribute it
|
|
14
|
+
and/or modify it under the terms of the GNU General Public License
|
|
15
|
+
as published by the Free Software Foundation; either version 3 of
|
|
16
|
+
the License, or (at your option) any later version.
|
|
17
|
+
|
|
18
|
+
This program is distributed in the hope that it will be useful,
|
|
19
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
20
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
21
|
+
GNU General Public License for more details.
|
|
22
|
+
|
|
23
|
+
You should have received a copy of the GNU General Public License
|
|
24
|
+
along with this program; If not, see <http://www.gnu.org/licenses/>.
|
|
25
|
+
|
|
26
|
+
EXCEPTION : As a special exception, you may create a larger work
|
|
27
|
+
that contains this FAUST architecture section and distribute
|
|
28
|
+
that work under terms of your choice, so long as this FAUST
|
|
29
|
+
architecture section is not modified.
|
|
30
|
+
|
|
31
|
+
************************************************************************
|
|
32
|
+
************************************************************************/
|
|
33
|
+
|
|
34
|
+
#include <stdlib.h>
|
|
35
|
+
#include <stdio.h>
|
|
36
|
+
#include <string.h>
|
|
37
|
+
#include <limits.h>
|
|
38
|
+
#include <math.h>
|
|
39
|
+
#include <errno.h>
|
|
40
|
+
#include <time.h>
|
|
41
|
+
#include <ctype.h>
|
|
42
|
+
#include <string>
|
|
43
|
+
#include <iostream>
|
|
44
|
+
#include <limits>
|
|
45
|
+
#include <iomanip>
|
|
46
|
+
|
|
47
|
+
#include "faust/gui/console.h"
|
|
48
|
+
#include "faust/dsp/dsp.h"
|
|
49
|
+
#include "faust/misc.h"
|
|
50
|
+
#include "faust/audio/channels.h"
|
|
51
|
+
|
|
52
|
+
using namespace std;
|
|
53
|
+
|
|
54
|
+
/******************************************************************************
|
|
55
|
+
*******************************************************************************
|
|
56
|
+
|
|
57
|
+
VECTOR INTRINSICS
|
|
58
|
+
|
|
59
|
+
*******************************************************************************
|
|
60
|
+
*******************************************************************************/
|
|
61
|
+
|
|
62
|
+
<<includeIntrinsic>>
|
|
63
|
+
|
|
64
|
+
/********************END ARCHITECTURE SECTION (part 1/2)****************/
|
|
65
|
+
|
|
66
|
+
/**************************BEGIN USER SECTION **************************/
|
|
67
|
+
|
|
68
|
+
<<includeclass>>
|
|
69
|
+
|
|
70
|
+
/***************************END USER SECTION ***************************/
|
|
71
|
+
|
|
72
|
+
/*******************BEGIN ARCHITECTURE SECTION (part 2/2)***************/
|
|
73
|
+
|
|
74
|
+
mydsp DSP;
|
|
75
|
+
|
|
76
|
+
std::list<GUI*> GUI::fGuiList;
|
|
77
|
+
ztimedmap GUI::gTimedZoneMap;
|
|
78
|
+
|
|
79
|
+
#define kFrames 512
|
|
80
|
+
|
|
81
|
+
int main(int argc, char* argv[])
|
|
82
|
+
{
|
|
83
|
+
FAUSTFLOAT fnbsamples;
|
|
84
|
+
|
|
85
|
+
CMDUI* interface = new CMDUI(argc, argv);
|
|
86
|
+
DSP.buildUserInterface(interface);
|
|
87
|
+
interface->addOption("-n", &fnbsamples, 16, 0.0, 100000000.0);
|
|
88
|
+
|
|
89
|
+
if (DSP.getNumInputs() > 0) {
|
|
90
|
+
fprintf(stderr, "no inputs allowed\n");
|
|
91
|
+
exit(1);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// init signal processor and the user interface values
|
|
95
|
+
DSP.init(44100);
|
|
96
|
+
|
|
97
|
+
// modify the UI values according to the command line options
|
|
98
|
+
interface->process_command();
|
|
99
|
+
|
|
100
|
+
int nouts = DSP.getNumOutputs();
|
|
101
|
+
channels chan(kFrames, nouts);
|
|
102
|
+
|
|
103
|
+
int nbsamples = int(fnbsamples);
|
|
104
|
+
cout << setprecision(numeric_limits<FAUSTFLOAT>::max_digits10);
|
|
105
|
+
while (nbsamples > kFrames) {
|
|
106
|
+
DSP.compute(kFrames, 0, chan.buffers());
|
|
107
|
+
for (int i = 0; i < kFrames; i++) {
|
|
108
|
+
for (int c = 0; c < nouts; c++) {
|
|
109
|
+
if (c) cout << "\t\t";
|
|
110
|
+
cout << chan.buffers()[c][i];
|
|
111
|
+
}
|
|
112
|
+
cout << endl;
|
|
113
|
+
}
|
|
114
|
+
nbsamples -= kFrames;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
DSP.compute(nbsamples, 0, chan.buffers());
|
|
118
|
+
for (int i = 0; i < nbsamples; i++) {
|
|
119
|
+
for (int c = 0; c < nouts; c++) {
|
|
120
|
+
if (c) cout << "\t\t";
|
|
121
|
+
cout << chan.buffers()[c][i];
|
|
122
|
+
}
|
|
123
|
+
cout << endl;
|
|
124
|
+
}
|
|
125
|
+
return 0;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/******************* END plot.cpp ****************/
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
/************************************************************************
|
|
2
|
+
FAUST Architecture File
|
|
3
|
+
Copyright (C) 2003-2019 GRAME, Centre National de Creation Musicale
|
|
4
|
+
---------------------------------------------------------------------
|
|
5
|
+
This Architecture section is free software; you can redistribute it
|
|
6
|
+
and/or modify it under the terms of the GNU General Public License
|
|
7
|
+
as published by the Free Software Foundation; either version 3 of
|
|
8
|
+
the License, or (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 General Public License for more details.
|
|
14
|
+
|
|
15
|
+
You should have received a copy of the GNU General Public License
|
|
16
|
+
along with this program; If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
|
|
18
|
+
EXCEPTION : As a special exception, you may create a larger work
|
|
19
|
+
that contains this FAUST architecture section and distribute
|
|
20
|
+
that work under terms of your choice, so long as this FAUST
|
|
21
|
+
architecture section is not modified.
|
|
22
|
+
|
|
23
|
+
************************************************************************
|
|
24
|
+
************************************************************************/
|
|
25
|
+
|
|
26
|
+
#![allow(unused_parens)]
|
|
27
|
+
#![allow(non_snake_case)]
|
|
28
|
+
#![allow(non_camel_case_types)]
|
|
29
|
+
#![allow(dead_code)]
|
|
30
|
+
#![allow(unused_variables)]
|
|
31
|
+
#![allow(unused_mut)]
|
|
32
|
+
#![allow(non_upper_case_globals)]
|
|
33
|
+
|
|
34
|
+
//! PortAudio architecture file
|
|
35
|
+
extern crate portaudio;
|
|
36
|
+
use portaudio as pa;
|
|
37
|
+
use std::io;
|
|
38
|
+
extern crate libm;
|
|
39
|
+
|
|
40
|
+
type F32 = f32;
|
|
41
|
+
type F64 = f64;
|
|
42
|
+
|
|
43
|
+
#[derive(Copy, Clone)]
|
|
44
|
+
pub struct ParamIndex(pub i32);
|
|
45
|
+
|
|
46
|
+
pub struct Soundfile<'a,T> {
|
|
47
|
+
fBuffers: &'a&'a T,
|
|
48
|
+
fLength: &'a i32,
|
|
49
|
+
fSR: &'a i32,
|
|
50
|
+
fOffset: &'a i32,
|
|
51
|
+
fChannels: i32
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
pub trait FaustDsp {
|
|
55
|
+
type T;
|
|
56
|
+
|
|
57
|
+
fn new() -> Self where Self: Sized;
|
|
58
|
+
fn metadata(&self, m: &mut dyn Meta);
|
|
59
|
+
fn get_sample_rate(&self) -> i32;
|
|
60
|
+
fn get_num_inputs(&self) -> i32;
|
|
61
|
+
fn get_num_outputs(&self) -> i32;
|
|
62
|
+
fn class_init(sample_rate: i32) where Self: Sized;
|
|
63
|
+
fn instance_reset_params(&mut self);
|
|
64
|
+
fn instance_clear(&mut self);
|
|
65
|
+
fn instance_constants(&mut self, sample_rate: i32);
|
|
66
|
+
fn instance_init(&mut self, sample_rate: i32);
|
|
67
|
+
fn init(&mut self, sample_rate: i32);
|
|
68
|
+
fn build_user_interface(&self, ui_interface: &mut dyn UI<Self::T>);
|
|
69
|
+
fn build_user_interface_static(ui_interface: &mut dyn UI<Self::T>) where Self: Sized;
|
|
70
|
+
fn get_param(&self, param: ParamIndex) -> Option<Self::T>;
|
|
71
|
+
fn set_param(&mut self, param: ParamIndex, value: Self::T);
|
|
72
|
+
fn compute(&mut self, count: i32, inputs: &[&[Self::T]], outputs: &mut[&mut[Self::T]]);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
pub trait Meta {
|
|
76
|
+
// -- metadata declarations
|
|
77
|
+
fn declare(&mut self, key: &str, value: &str);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
pub trait UI<T> {
|
|
81
|
+
// -- widget's layouts
|
|
82
|
+
fn open_tab_box(&mut self, label: &str);
|
|
83
|
+
fn open_horizontal_box(&mut self, label: &str);
|
|
84
|
+
fn open_vertical_box(&mut self, label: &str);
|
|
85
|
+
fn close_box(&mut self);
|
|
86
|
+
|
|
87
|
+
// -- active widgets
|
|
88
|
+
fn add_button(&mut self, label: &str, param: ParamIndex);
|
|
89
|
+
fn add_check_button(&mut self, label: &str, param: ParamIndex);
|
|
90
|
+
fn add_vertical_slider(&mut self, label: &str, param: ParamIndex, init: T, min: T, max: T, step: T);
|
|
91
|
+
fn add_horizontal_slider(&mut self, label: &str, param: ParamIndex, init: T, min: T, max: T, step: T);
|
|
92
|
+
fn add_num_entry(&mut self, label: &str, param: ParamIndex, init: T, min: T, max: T, step: T);
|
|
93
|
+
|
|
94
|
+
// -- passive widgets
|
|
95
|
+
fn add_horizontal_bargraph(&mut self, label: &str, param: ParamIndex, min: T, max: T);
|
|
96
|
+
fn add_vertical_bargraph(&mut self, label: &str, param: ParamIndex, min: T, max: T);
|
|
97
|
+
|
|
98
|
+
// -- metadata declarations
|
|
99
|
+
fn declare(&mut self, param: Option<ParamIndex>, key: &str, value: &str);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
<<includeIntrinsic>>
|
|
103
|
+
<<includeclass>>
|
|
104
|
+
|
|
105
|
+
const CHANNELS: i32 = 2;
|
|
106
|
+
const SAMPLE_RATE: f64 = 44_100.0;
|
|
107
|
+
const FRAMES_PER_BUFFER: u32 = 64;
|
|
108
|
+
|
|
109
|
+
fn main() {
|
|
110
|
+
run().unwrap()
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
fn run() -> Result<(), pa::Error> {
|
|
114
|
+
|
|
115
|
+
let pa = pa::PortAudio::new()?;
|
|
116
|
+
|
|
117
|
+
// Allocation DSP on the heap
|
|
118
|
+
let mut dsp;
|
|
119
|
+
#[cfg(feature = "default-boxed")]
|
|
120
|
+
{
|
|
121
|
+
use default_boxed::DefaultBoxed;
|
|
122
|
+
dsp = mydsp::default_boxed();
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
#[cfg(not(feature = "default-boxed"))]
|
|
126
|
+
{
|
|
127
|
+
dsp = Box::new(mydsp::new());
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
println!("Faust Rust code running with Portaudio: sample-rate = {} buffer-size = {}", SAMPLE_RATE, FRAMES_PER_BUFFER);
|
|
131
|
+
|
|
132
|
+
//Create a input/output stream with the same number of input and output channels
|
|
133
|
+
const INTERLEAVED: bool = false;// We want NON interleaved streams
|
|
134
|
+
let input_device = pa.default_input_device()?;
|
|
135
|
+
let output_device = pa.default_output_device()?;
|
|
136
|
+
let input_latency = pa.device_info(input_device)?.default_low_input_latency;
|
|
137
|
+
let output_latency = pa.device_info(output_device)?.default_low_input_latency;
|
|
138
|
+
|
|
139
|
+
let in_params = pa::StreamParameters::new(input_device, CHANNELS, INTERLEAVED, input_latency);
|
|
140
|
+
let out_params = pa::StreamParameters::new(output_device, CHANNELS, INTERLEAVED, output_latency);
|
|
141
|
+
let settings = pa::DuplexStreamSettings::new(in_params, out_params, SAMPLE_RATE, FRAMES_PER_BUFFER);
|
|
142
|
+
//This would have been interleaved:
|
|
143
|
+
//let mut settings = try!(pa.default_duplex_stream_settings(CHANNELS, CHANNELS, SAMPLE_RATE, FRAMES_PER_BUFFER));
|
|
144
|
+
|
|
145
|
+
println!("get_num_inputs: {}", dsp.get_num_inputs());
|
|
146
|
+
println!("get_num_outputs: {}", dsp.get_num_outputs());
|
|
147
|
+
|
|
148
|
+
// Init DSP with a given SR
|
|
149
|
+
dsp.init(SAMPLE_RATE as i32);
|
|
150
|
+
|
|
151
|
+
//settings.flags = pa::stream_flags::CLIP_OFF;
|
|
152
|
+
|
|
153
|
+
// This routine will be called by the PortAudio engine when audio is needed. It may called at
|
|
154
|
+
// interrupt level on some machines so don't do anything that could mess up the system like
|
|
155
|
+
// dynamic resource allocation or IO.
|
|
156
|
+
let callback = move |pa::DuplexStreamCallbackArgs { in_buffer, out_buffer, frames, time, .. } : pa::DuplexStreamCallbackArgs<f32, f32>| {
|
|
157
|
+
let out_buffr: &mut [*mut f32];
|
|
158
|
+
let in_buffr: & [*const f32];
|
|
159
|
+
//rust-portaudio does not support non-interleaved audio out of the box (but portaudio does)
|
|
160
|
+
unsafe {
|
|
161
|
+
let out_buffer: *mut *mut f32 = ::std::mem::transmute(out_buffer.get_unchecked_mut(0));
|
|
162
|
+
out_buffr = ::std::slice::from_raw_parts_mut(out_buffer, CHANNELS as usize);
|
|
163
|
+
let output0 = ::std::slice::from_raw_parts_mut(out_buffr[0], frames);
|
|
164
|
+
let output1 = ::std::slice::from_raw_parts_mut(out_buffr[1], frames);
|
|
165
|
+
|
|
166
|
+
let in_buffer: *const *const f32 = ::std::mem::transmute(in_buffer.get_unchecked(0));
|
|
167
|
+
in_buffr = ::std::slice::from_raw_parts(in_buffer, CHANNELS as usize);
|
|
168
|
+
let input0 = ::std::slice::from_raw_parts(in_buffr[0], frames);
|
|
169
|
+
let input1 = ::std::slice::from_raw_parts(in_buffr[1], frames);
|
|
170
|
+
|
|
171
|
+
let inputs = &[input0, input1];
|
|
172
|
+
let outputs = &mut [output0, output1];
|
|
173
|
+
|
|
174
|
+
dsp.compute(frames as i32, inputs, outputs);
|
|
175
|
+
}
|
|
176
|
+
pa::Continue
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
let mut stream = pa.open_non_blocking_stream(settings, callback)?;
|
|
180
|
+
|
|
181
|
+
stream.start()?;
|
|
182
|
+
|
|
183
|
+
// Wait for user input to quit
|
|
184
|
+
println!("Press enter/return to quit...");
|
|
185
|
+
let mut user_input = String::new();
|
|
186
|
+
io::stdin().read_line(&mut user_input).ok();
|
|
187
|
+
|
|
188
|
+
stream.stop()?;
|
|
189
|
+
stream.close()?;
|
|
190
|
+
|
|
191
|
+
Ok(())
|
|
192
|
+
}
|