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,726 @@
|
|
|
1
|
+
/************************** BEGIN APIUI.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 API_UI_H
|
|
26
|
+
#define API_UI_H
|
|
27
|
+
|
|
28
|
+
#include <sstream>
|
|
29
|
+
#include <string>
|
|
30
|
+
#include <vector>
|
|
31
|
+
#include <stdio.h>
|
|
32
|
+
#include <map>
|
|
33
|
+
|
|
34
|
+
#include "faust/gui/meta.h"
|
|
35
|
+
#include "faust/gui/UI.h"
|
|
36
|
+
#include "faust/gui/PathBuilder.h"
|
|
37
|
+
#include "faust/gui/ValueConverter.h"
|
|
38
|
+
|
|
39
|
+
typedef unsigned int uint;
|
|
40
|
+
|
|
41
|
+
class APIUI : public PathBuilder, public Meta, public UI
|
|
42
|
+
{
|
|
43
|
+
public:
|
|
44
|
+
enum ItemType { kButton = 0, kCheckButton, kVSlider, kHSlider, kNumEntry, kHBargraph, kVBargraph };
|
|
45
|
+
enum Type { kAcc = 0, kGyr = 1, kNoType };
|
|
46
|
+
|
|
47
|
+
protected:
|
|
48
|
+
|
|
49
|
+
enum Mapping { kLin = 0, kLog = 1, kExp = 2 };
|
|
50
|
+
|
|
51
|
+
struct Item {
|
|
52
|
+
std::string fLabel;
|
|
53
|
+
std::string fShortname;
|
|
54
|
+
std::string fPath;
|
|
55
|
+
ValueConverter* fConversion;
|
|
56
|
+
FAUSTFLOAT* fZone;
|
|
57
|
+
FAUSTFLOAT fInit;
|
|
58
|
+
FAUSTFLOAT fMin;
|
|
59
|
+
FAUSTFLOAT fMax;
|
|
60
|
+
FAUSTFLOAT fStep;
|
|
61
|
+
ItemType fItemType;
|
|
62
|
+
|
|
63
|
+
Item(const std::string& label,
|
|
64
|
+
const std::string& short_name,
|
|
65
|
+
const std::string& path,
|
|
66
|
+
ValueConverter* conversion,
|
|
67
|
+
FAUSTFLOAT* zone,
|
|
68
|
+
FAUSTFLOAT init,
|
|
69
|
+
FAUSTFLOAT min,
|
|
70
|
+
FAUSTFLOAT max,
|
|
71
|
+
FAUSTFLOAT step,
|
|
72
|
+
ItemType item_type)
|
|
73
|
+
:fLabel(label), fShortname(short_name), fPath(path), fConversion(conversion),
|
|
74
|
+
fZone(zone), fInit(init), fMin(min), fMax(max), fStep(step), fItemType(item_type)
|
|
75
|
+
{}
|
|
76
|
+
};
|
|
77
|
+
std::vector<Item> fItems;
|
|
78
|
+
|
|
79
|
+
std::vector<std::map<std::string, std::string> > fMetaData;
|
|
80
|
+
std::vector<ZoneControl*> fAcc[3];
|
|
81
|
+
std::vector<ZoneControl*> fGyr[3];
|
|
82
|
+
|
|
83
|
+
// Screen color control
|
|
84
|
+
// "...[screencolor:red]..." etc.
|
|
85
|
+
bool fHasScreenControl; // true if control screen color metadata
|
|
86
|
+
ZoneReader* fRedReader;
|
|
87
|
+
ZoneReader* fGreenReader;
|
|
88
|
+
ZoneReader* fBlueReader;
|
|
89
|
+
|
|
90
|
+
// Current values controlled by metadata
|
|
91
|
+
std::string fCurrentUnit;
|
|
92
|
+
int fCurrentScale;
|
|
93
|
+
std::string fCurrentAcc;
|
|
94
|
+
std::string fCurrentGyr;
|
|
95
|
+
std::string fCurrentColor;
|
|
96
|
+
std::string fCurrentTooltip;
|
|
97
|
+
std::map<std::string, std::string> fCurrentMetadata;
|
|
98
|
+
|
|
99
|
+
// Add a generic parameter
|
|
100
|
+
virtual void addParameter(const char* label,
|
|
101
|
+
FAUSTFLOAT* zone,
|
|
102
|
+
FAUSTFLOAT init,
|
|
103
|
+
FAUSTFLOAT min,
|
|
104
|
+
FAUSTFLOAT max,
|
|
105
|
+
FAUSTFLOAT step,
|
|
106
|
+
ItemType type)
|
|
107
|
+
{
|
|
108
|
+
std::string path = buildPath(label);
|
|
109
|
+
fFullPaths.push_back(path);
|
|
110
|
+
|
|
111
|
+
// handle scale metadata
|
|
112
|
+
ValueConverter* converter = nullptr;
|
|
113
|
+
switch (fCurrentScale) {
|
|
114
|
+
case kLin:
|
|
115
|
+
converter = new LinearValueConverter(0, 1, min, max);
|
|
116
|
+
break;
|
|
117
|
+
case kLog:
|
|
118
|
+
converter = new LogValueConverter(0, 1, min, max);
|
|
119
|
+
break;
|
|
120
|
+
case kExp:
|
|
121
|
+
converter = new ExpValueConverter(0, 1, min, max);
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
fCurrentScale = kLin;
|
|
125
|
+
|
|
126
|
+
fItems.push_back(Item(label, "", path, converter, zone, init, min, max, step, type));
|
|
127
|
+
|
|
128
|
+
if (fCurrentAcc.size() > 0 && fCurrentGyr.size() > 0) {
|
|
129
|
+
fprintf(stderr, "warning : 'acc' and 'gyr' metadata used for the same %s parameter !!\n", label);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
// handle acc metadata "...[acc : <axe> <curve> <amin> <amid> <amax>]..."
|
|
133
|
+
if (fCurrentAcc.size() > 0) {
|
|
134
|
+
std::istringstream iss(fCurrentAcc);
|
|
135
|
+
int axe, curve;
|
|
136
|
+
double amin, amid, amax;
|
|
137
|
+
iss >> axe >> curve >> amin >> amid >> amax;
|
|
138
|
+
|
|
139
|
+
if ((0 <= axe) && (axe < 3) &&
|
|
140
|
+
(0 <= curve) && (curve < 4) &&
|
|
141
|
+
(amin < amax) && (amin <= amid) && (amid <= amax))
|
|
142
|
+
{
|
|
143
|
+
fAcc[axe].push_back(new CurveZoneControl(zone, curve, amin, amid, amax, min, init, max));
|
|
144
|
+
} else {
|
|
145
|
+
fprintf(stderr, "incorrect acc metadata : %s \n", fCurrentAcc.c_str());
|
|
146
|
+
}
|
|
147
|
+
fCurrentAcc = "";
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
// handle gyr metadata "...[gyr : <axe> <curve> <amin> <amid> <amax>]..."
|
|
151
|
+
if (fCurrentGyr.size() > 0) {
|
|
152
|
+
std::istringstream iss(fCurrentGyr);
|
|
153
|
+
int axe, curve;
|
|
154
|
+
double amin, amid, amax;
|
|
155
|
+
iss >> axe >> curve >> amin >> amid >> amax;
|
|
156
|
+
|
|
157
|
+
if ((0 <= axe) && (axe < 3) &&
|
|
158
|
+
(0 <= curve) && (curve < 4) &&
|
|
159
|
+
(amin < amax) && (amin <= amid) && (amid <= amax))
|
|
160
|
+
{
|
|
161
|
+
fGyr[axe].push_back(new CurveZoneControl(zone, curve, amin, amid, amax, min, init, max));
|
|
162
|
+
} else {
|
|
163
|
+
fprintf(stderr, "incorrect gyr metadata : %s \n", fCurrentGyr.c_str());
|
|
164
|
+
}
|
|
165
|
+
fCurrentGyr = "";
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
// handle screencolor metadata "...[screencolor:red|green|blue|white]..."
|
|
169
|
+
if (fCurrentColor.size() > 0) {
|
|
170
|
+
if ((fCurrentColor == "red") && (fRedReader == nullptr)) {
|
|
171
|
+
fRedReader = new ZoneReader(zone, min, max);
|
|
172
|
+
fHasScreenControl = true;
|
|
173
|
+
} else if ((fCurrentColor == "green") && (fGreenReader == nullptr)) {
|
|
174
|
+
fGreenReader = new ZoneReader(zone, min, max);
|
|
175
|
+
fHasScreenControl = true;
|
|
176
|
+
} else if ((fCurrentColor == "blue") && (fBlueReader == nullptr)) {
|
|
177
|
+
fBlueReader = new ZoneReader(zone, min, max);
|
|
178
|
+
fHasScreenControl = true;
|
|
179
|
+
} else if ((fCurrentColor == "white") && (fRedReader == nullptr) && (fGreenReader == nullptr) && (fBlueReader == nullptr)) {
|
|
180
|
+
fRedReader = new ZoneReader(zone, min, max);
|
|
181
|
+
fGreenReader = new ZoneReader(zone, min, max);
|
|
182
|
+
fBlueReader = new ZoneReader(zone, min, max);
|
|
183
|
+
fHasScreenControl = true;
|
|
184
|
+
} else {
|
|
185
|
+
fprintf(stderr, "incorrect screencolor metadata : %s \n", fCurrentColor.c_str());
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
fCurrentColor = "";
|
|
189
|
+
|
|
190
|
+
fMetaData.push_back(fCurrentMetadata);
|
|
191
|
+
fCurrentMetadata.clear();
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
int getZoneIndex(std::vector<ZoneControl*>* table, int p, int val)
|
|
195
|
+
{
|
|
196
|
+
FAUSTFLOAT* zone = fItems[uint(p)].fZone;
|
|
197
|
+
for (size_t i = 0; i < table[val].size(); i++) {
|
|
198
|
+
if (zone == table[val][i]->getZone()) return int(i);
|
|
199
|
+
}
|
|
200
|
+
return -1;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
void setConverter(std::vector<ZoneControl*>* table, int p, int val, int curve, double amin, double amid, double amax)
|
|
204
|
+
{
|
|
205
|
+
int id1 = getZoneIndex(table, p, 0);
|
|
206
|
+
int id2 = getZoneIndex(table, p, 1);
|
|
207
|
+
int id3 = getZoneIndex(table, p, 2);
|
|
208
|
+
|
|
209
|
+
// Deactivates everywhere..
|
|
210
|
+
if (id1 != -1) table[0][uint(id1)]->setActive(false);
|
|
211
|
+
if (id2 != -1) table[1][uint(id2)]->setActive(false);
|
|
212
|
+
if (id3 != -1) table[2][uint(id3)]->setActive(false);
|
|
213
|
+
|
|
214
|
+
if (val == -1) { // Means: no more mapping...
|
|
215
|
+
// So stay all deactivated...
|
|
216
|
+
} else {
|
|
217
|
+
int id4 = getZoneIndex(table, p, val);
|
|
218
|
+
if (id4 != -1) {
|
|
219
|
+
// Reactivate the one we edit...
|
|
220
|
+
table[val][uint(id4)]->setMappingValues(curve, amin, amid, amax, fItems[uint(p)].fMin, fItems[uint(p)].fInit, fItems[uint(p)].fMax);
|
|
221
|
+
table[val][uint(id4)]->setActive(true);
|
|
222
|
+
} else {
|
|
223
|
+
// Allocate a new CurveZoneControl which is 'active' by default
|
|
224
|
+
FAUSTFLOAT* zone = fItems[uint(p)].fZone;
|
|
225
|
+
table[val].push_back(new CurveZoneControl(zone, curve, amin, amid, amax, fItems[uint(p)].fMin, fItems[uint(p)].fInit, fItems[uint(p)].fMax));
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
void getConverter(std::vector<ZoneControl*>* table, int p, int& val, int& curve, double& amin, double& amid, double& amax)
|
|
231
|
+
{
|
|
232
|
+
int id1 = getZoneIndex(table, p, 0);
|
|
233
|
+
int id2 = getZoneIndex(table, p, 1);
|
|
234
|
+
int id3 = getZoneIndex(table, p, 2);
|
|
235
|
+
|
|
236
|
+
if (id1 != -1) {
|
|
237
|
+
val = 0;
|
|
238
|
+
curve = table[val][uint(id1)]->getCurve();
|
|
239
|
+
table[val][uint(id1)]->getMappingValues(amin, amid, amax);
|
|
240
|
+
} else if (id2 != -1) {
|
|
241
|
+
val = 1;
|
|
242
|
+
curve = table[val][uint(id2)]->getCurve();
|
|
243
|
+
table[val][uint(id2)]->getMappingValues(amin, amid, amax);
|
|
244
|
+
} else if (id3 != -1) {
|
|
245
|
+
val = 2;
|
|
246
|
+
curve = table[val][uint(id3)]->getCurve();
|
|
247
|
+
table[val][uint(id3)]->getMappingValues(amin, amid, amax);
|
|
248
|
+
} else {
|
|
249
|
+
val = -1; // No mapping
|
|
250
|
+
curve = 0;
|
|
251
|
+
amin = -100.;
|
|
252
|
+
amid = 0.;
|
|
253
|
+
amax = 100.;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
public:
|
|
258
|
+
|
|
259
|
+
APIUI() : fHasScreenControl(false), fRedReader(nullptr), fGreenReader(nullptr), fBlueReader(nullptr), fCurrentScale(kLin)
|
|
260
|
+
{}
|
|
261
|
+
|
|
262
|
+
virtual ~APIUI()
|
|
263
|
+
{
|
|
264
|
+
for (const auto& it : fItems) delete it.fConversion;
|
|
265
|
+
for (int i = 0; i < 3; i++) {
|
|
266
|
+
for (const auto& it : fAcc[i]) delete it;
|
|
267
|
+
for (const auto& it : fGyr[i]) delete it;
|
|
268
|
+
}
|
|
269
|
+
delete fRedReader;
|
|
270
|
+
delete fGreenReader;
|
|
271
|
+
delete fBlueReader;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
// -- widget's layouts
|
|
275
|
+
|
|
276
|
+
virtual void openTabBox(const char* label) { pushLabel(label); }
|
|
277
|
+
virtual void openHorizontalBox(const char* label) { pushLabel(label); }
|
|
278
|
+
virtual void openVerticalBox(const char* label) { pushLabel(label); }
|
|
279
|
+
virtual void closeBox()
|
|
280
|
+
{
|
|
281
|
+
if (popLabel()) {
|
|
282
|
+
// Shortnames can be computed when all fullnames are known
|
|
283
|
+
computeShortNames();
|
|
284
|
+
// Fill 'shortname' field for each item
|
|
285
|
+
for (const auto& it : fFull2Short) {
|
|
286
|
+
int index = getParamIndex(it.first.c_str());
|
|
287
|
+
fItems[index].fShortname = it.second;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// -- active widgets
|
|
293
|
+
|
|
294
|
+
virtual void addButton(const char* label, FAUSTFLOAT* zone)
|
|
295
|
+
{
|
|
296
|
+
addParameter(label, zone, 0, 0, 1, 1, kButton);
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
virtual void addCheckButton(const char* label, FAUSTFLOAT* zone)
|
|
300
|
+
{
|
|
301
|
+
addParameter(label, zone, 0, 0, 1, 1, kCheckButton);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
virtual void addVerticalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
|
|
305
|
+
{
|
|
306
|
+
addParameter(label, zone, init, min, max, step, kVSlider);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
virtual void addHorizontalSlider(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
|
|
310
|
+
{
|
|
311
|
+
addParameter(label, zone, init, min, max, step, kHSlider);
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
virtual void addNumEntry(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT init, FAUSTFLOAT min, FAUSTFLOAT max, FAUSTFLOAT step)
|
|
315
|
+
{
|
|
316
|
+
addParameter(label, zone, init, min, max, step, kNumEntry);
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
// -- passive widgets
|
|
320
|
+
|
|
321
|
+
virtual void addHorizontalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max)
|
|
322
|
+
{
|
|
323
|
+
addParameter(label, zone, min, min, max, (max-min)/1000.0f, kHBargraph);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
virtual void addVerticalBargraph(const char* label, FAUSTFLOAT* zone, FAUSTFLOAT min, FAUSTFLOAT max)
|
|
327
|
+
{
|
|
328
|
+
addParameter(label, zone, min, min, max, (max-min)/1000.0f, kVBargraph);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
// -- soundfiles
|
|
332
|
+
|
|
333
|
+
virtual void addSoundfile(const char* label, const char* filename, Soundfile** sf_zone) {}
|
|
334
|
+
|
|
335
|
+
// -- metadata declarations
|
|
336
|
+
|
|
337
|
+
virtual void declare(FAUSTFLOAT* zone, const char* key, const char* val)
|
|
338
|
+
{
|
|
339
|
+
// Keep metadata
|
|
340
|
+
fCurrentMetadata[key] = val;
|
|
341
|
+
|
|
342
|
+
if (strcmp(key, "scale") == 0) {
|
|
343
|
+
if (strcmp(val, "log") == 0) {
|
|
344
|
+
fCurrentScale = kLog;
|
|
345
|
+
} else if (strcmp(val, "exp") == 0) {
|
|
346
|
+
fCurrentScale = kExp;
|
|
347
|
+
} else {
|
|
348
|
+
fCurrentScale = kLin;
|
|
349
|
+
}
|
|
350
|
+
} else if (strcmp(key, "unit") == 0) {
|
|
351
|
+
fCurrentUnit = val;
|
|
352
|
+
} else if (strcmp(key, "acc") == 0) {
|
|
353
|
+
fCurrentAcc = val;
|
|
354
|
+
} else if (strcmp(key, "gyr") == 0) {
|
|
355
|
+
fCurrentGyr = val;
|
|
356
|
+
} else if (strcmp(key, "screencolor") == 0) {
|
|
357
|
+
fCurrentColor = val; // val = "red", "green", "blue" or "white"
|
|
358
|
+
} else if (strcmp(key, "tooltip") == 0) {
|
|
359
|
+
fCurrentTooltip = val;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
virtual void declare(const char* key, const char* val)
|
|
364
|
+
{}
|
|
365
|
+
|
|
366
|
+
//-------------------------------------------------------------------------------
|
|
367
|
+
// Simple API part
|
|
368
|
+
//-------------------------------------------------------------------------------
|
|
369
|
+
|
|
370
|
+
/**
|
|
371
|
+
* Return the number of parameters in the UI.
|
|
372
|
+
*
|
|
373
|
+
* @return the number of parameters
|
|
374
|
+
*/
|
|
375
|
+
int getParamsCount() { return int(fItems.size()); }
|
|
376
|
+
|
|
377
|
+
/**
|
|
378
|
+
* Return the param index.
|
|
379
|
+
*
|
|
380
|
+
* @param str - the UI parameter label/shortname/path
|
|
381
|
+
*
|
|
382
|
+
* @return the param index
|
|
383
|
+
*/
|
|
384
|
+
int getParamIndex(const char* str)
|
|
385
|
+
{
|
|
386
|
+
std::string path = std::string(str);
|
|
387
|
+
auto it = find_if(fItems.begin(), fItems.end(),
|
|
388
|
+
[=](const Item& it) { return (it.fLabel == path) || (it.fShortname == path) || (it.fPath == path); });
|
|
389
|
+
return (it != fItems.end()) ? int(it - fItems.begin()) : -1;
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* Return the param label.
|
|
394
|
+
*
|
|
395
|
+
* @param p - the UI parameter index
|
|
396
|
+
*
|
|
397
|
+
* @return the param label
|
|
398
|
+
*/
|
|
399
|
+
const char* getParamLabel(int p) { return fItems[uint(p)].fLabel.c_str(); }
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* Return the param shortname.
|
|
403
|
+
*
|
|
404
|
+
* @param p - the UI parameter index
|
|
405
|
+
*
|
|
406
|
+
* @return the param shortname
|
|
407
|
+
*/
|
|
408
|
+
const char* getParamShortname(int p) { return fItems[uint(p)].fShortname.c_str(); }
|
|
409
|
+
|
|
410
|
+
/**
|
|
411
|
+
* Return the param path.
|
|
412
|
+
*
|
|
413
|
+
* @param p - the UI parameter index
|
|
414
|
+
*
|
|
415
|
+
* @return the param path
|
|
416
|
+
*/
|
|
417
|
+
const char* getParamAddress(int p) { return fItems[uint(p)].fPath.c_str(); }
|
|
418
|
+
|
|
419
|
+
/**
|
|
420
|
+
* Return the param metadata.
|
|
421
|
+
*
|
|
422
|
+
* @param p - the UI parameter index
|
|
423
|
+
*
|
|
424
|
+
* @return the param metadata as a map<key, value>
|
|
425
|
+
*/
|
|
426
|
+
std::map<const char*, const char*> getMetadata(int p)
|
|
427
|
+
{
|
|
428
|
+
std::map<const char*, const char*> res;
|
|
429
|
+
std::map<std::string, std::string> metadata = fMetaData[uint(p)];
|
|
430
|
+
for (const auto& it : metadata) {
|
|
431
|
+
res[it.first.c_str()] = it.second.c_str();
|
|
432
|
+
}
|
|
433
|
+
return res;
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
/**
|
|
437
|
+
* Return the param metadata value.
|
|
438
|
+
*
|
|
439
|
+
* @param p - the UI parameter index
|
|
440
|
+
* @param key - the UI parameter index
|
|
441
|
+
*
|
|
442
|
+
* @return the param metadata value associate to the key
|
|
443
|
+
*/
|
|
444
|
+
const char* getMetadata(int p, const char* key)
|
|
445
|
+
{
|
|
446
|
+
return (fMetaData[uint(p)].find(key) != fMetaData[uint(p)].end()) ? fMetaData[uint(p)][key].c_str() : "";
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
/**
|
|
450
|
+
* Return the param minimum value.
|
|
451
|
+
*
|
|
452
|
+
* @param p - the UI parameter index
|
|
453
|
+
*
|
|
454
|
+
* @return the param minimum value
|
|
455
|
+
*/
|
|
456
|
+
FAUSTFLOAT getParamMin(int p) { return fItems[uint(p)].fMin; }
|
|
457
|
+
|
|
458
|
+
/**
|
|
459
|
+
* Return the param maximum value.
|
|
460
|
+
*
|
|
461
|
+
* @param p - the UI parameter index
|
|
462
|
+
*
|
|
463
|
+
* @return the param maximum value
|
|
464
|
+
*/
|
|
465
|
+
FAUSTFLOAT getParamMax(int p) { return fItems[uint(p)].fMax; }
|
|
466
|
+
|
|
467
|
+
/**
|
|
468
|
+
* Return the param step value.
|
|
469
|
+
*
|
|
470
|
+
* @param p - the UI parameter index
|
|
471
|
+
*
|
|
472
|
+
* @return the param step value
|
|
473
|
+
*/
|
|
474
|
+
FAUSTFLOAT getParamStep(int p) { return fItems[uint(p)].fStep; }
|
|
475
|
+
|
|
476
|
+
/**
|
|
477
|
+
* Return the param init value.
|
|
478
|
+
*
|
|
479
|
+
* @param p - the UI parameter index
|
|
480
|
+
*
|
|
481
|
+
* @return the param init value
|
|
482
|
+
*/
|
|
483
|
+
FAUSTFLOAT getParamInit(int p) { return fItems[uint(p)].fInit; }
|
|
484
|
+
|
|
485
|
+
/**
|
|
486
|
+
* Return the param memory zone.
|
|
487
|
+
*
|
|
488
|
+
* @param p - the UI parameter index
|
|
489
|
+
*
|
|
490
|
+
* @return the param memory zone.
|
|
491
|
+
*/
|
|
492
|
+
FAUSTFLOAT* getParamZone(int p) { return fItems[uint(p)].fZone; }
|
|
493
|
+
|
|
494
|
+
/**
|
|
495
|
+
* Return the param value.
|
|
496
|
+
*
|
|
497
|
+
* @param p - the UI parameter index
|
|
498
|
+
*
|
|
499
|
+
* @return the param value.
|
|
500
|
+
*/
|
|
501
|
+
FAUSTFLOAT getParamValue(int p) { return *fItems[uint(p)].fZone; }
|
|
502
|
+
|
|
503
|
+
/**
|
|
504
|
+
* Return the param value.
|
|
505
|
+
*
|
|
506
|
+
* @param str - the UI parameter label/shortname/path
|
|
507
|
+
*
|
|
508
|
+
* @return the param value.
|
|
509
|
+
*/
|
|
510
|
+
FAUSTFLOAT getParamValue(const char* str)
|
|
511
|
+
{
|
|
512
|
+
int index = getParamIndex(str);
|
|
513
|
+
if (index >= 0) {
|
|
514
|
+
return getParamValue(index);
|
|
515
|
+
} else {
|
|
516
|
+
fprintf(stderr, "getParamValue : '%s' not found\n", (str == nullptr ? "NULL" : str));
|
|
517
|
+
return FAUSTFLOAT(0);
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
/**
|
|
522
|
+
* Set the param value.
|
|
523
|
+
*
|
|
524
|
+
* @param p - the UI parameter index
|
|
525
|
+
* @param v - the UI parameter value
|
|
526
|
+
*
|
|
527
|
+
*/
|
|
528
|
+
void setParamValue(int p, FAUSTFLOAT v) { *fItems[uint(p)].fZone = v; }
|
|
529
|
+
|
|
530
|
+
/**
|
|
531
|
+
* Set the param value.
|
|
532
|
+
*
|
|
533
|
+
* @param p - the UI parameter label/shortname/path
|
|
534
|
+
* @param v - the UI parameter value
|
|
535
|
+
*
|
|
536
|
+
*/
|
|
537
|
+
void setParamValue(const char* path, FAUSTFLOAT v)
|
|
538
|
+
{
|
|
539
|
+
int index = getParamIndex(path);
|
|
540
|
+
if (index >= 0) {
|
|
541
|
+
setParamValue(index, v);
|
|
542
|
+
} else {
|
|
543
|
+
fprintf(stderr, "setParamValue : '%s' not found\n", (path == nullptr ? "NULL" : path));
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
double getParamRatio(int p) { return fItems[uint(p)].fConversion->faust2ui(*fItems[uint(p)].fZone); }
|
|
548
|
+
void setParamRatio(int p, double r) { *fItems[uint(p)].fZone = FAUSTFLOAT(fItems[uint(p)].fConversion->ui2faust(r)); }
|
|
549
|
+
|
|
550
|
+
double value2ratio(int p, double r) { return fItems[uint(p)].fConversion->faust2ui(r); }
|
|
551
|
+
double ratio2value(int p, double r) { return fItems[uint(p)].fConversion->ui2faust(r); }
|
|
552
|
+
|
|
553
|
+
/**
|
|
554
|
+
* Return the control type (kAcc, kGyr, or -1) for a given parameter.
|
|
555
|
+
*
|
|
556
|
+
* @param p - the UI parameter index
|
|
557
|
+
*
|
|
558
|
+
* @return the type
|
|
559
|
+
*/
|
|
560
|
+
Type getParamType(int p)
|
|
561
|
+
{
|
|
562
|
+
if (p >= 0) {
|
|
563
|
+
if (getZoneIndex(fAcc, p, 0) != -1
|
|
564
|
+
|| getZoneIndex(fAcc, p, 1) != -1
|
|
565
|
+
|| getZoneIndex(fAcc, p, 2) != -1) {
|
|
566
|
+
return kAcc;
|
|
567
|
+
} else if (getZoneIndex(fGyr, p, 0) != -1
|
|
568
|
+
|| getZoneIndex(fGyr, p, 1) != -1
|
|
569
|
+
|| getZoneIndex(fGyr, p, 2) != -1) {
|
|
570
|
+
return kGyr;
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
return kNoType;
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
/**
|
|
577
|
+
* Return the Item type (kButton = 0, kCheckButton, kVSlider, kHSlider, kNumEntry, kHBargraph, kVBargraph) for a given parameter.
|
|
578
|
+
*
|
|
579
|
+
* @param p - the UI parameter index
|
|
580
|
+
*
|
|
581
|
+
* @return the Item type
|
|
582
|
+
*/
|
|
583
|
+
ItemType getParamItemType(int p)
|
|
584
|
+
{
|
|
585
|
+
return fItems[uint(p)].fItemType;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* Set a new value coming from an accelerometer, propagate it to all relevant FAUSTFLOAT* zones.
|
|
590
|
+
*
|
|
591
|
+
* @param acc - 0 for X accelerometer, 1 for Y accelerometer, 2 for Z accelerometer
|
|
592
|
+
* @param value - the new value
|
|
593
|
+
*
|
|
594
|
+
*/
|
|
595
|
+
void propagateAcc(int acc, double value)
|
|
596
|
+
{
|
|
597
|
+
for (size_t i = 0; i < fAcc[acc].size(); i++) {
|
|
598
|
+
fAcc[acc][i]->update(value);
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
|
|
602
|
+
/**
|
|
603
|
+
* Used to edit accelerometer curves and mapping. Set curve and related mapping for a given UI parameter.
|
|
604
|
+
*
|
|
605
|
+
* @param p - the UI parameter index
|
|
606
|
+
* @param acc - 0 for X accelerometer, 1 for Y accelerometer, 2 for Z accelerometer (-1 means "no mapping")
|
|
607
|
+
* @param curve - between 0 and 3 (0: up, 1: down, 2: up and down, 2: down and up)
|
|
608
|
+
* @param amin - mapping 'min' point
|
|
609
|
+
* @param amid - mapping 'middle' point
|
|
610
|
+
* @param amax - mapping 'max' point
|
|
611
|
+
*
|
|
612
|
+
*/
|
|
613
|
+
void setAccConverter(int p, int acc, int curve, double amin, double amid, double amax)
|
|
614
|
+
{
|
|
615
|
+
setConverter(fAcc, p, acc, curve, amin, amid, amax);
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
/**
|
|
619
|
+
* Used to edit gyroscope curves and mapping. Set curve and related mapping for a given UI parameter.
|
|
620
|
+
*
|
|
621
|
+
* @param p - the UI parameter index
|
|
622
|
+
* @param gyr - 0 for X gyroscope, 1 for Y gyroscope, 2 for Z gyroscope (-1 means "no mapping")
|
|
623
|
+
* @param curve - between 0 and 3 (0: up, 1: down, 2: up and down, 2: down and up)
|
|
624
|
+
* @param amin - mapping 'min' point
|
|
625
|
+
* @param amid - mapping 'middle' point
|
|
626
|
+
* @param amax - mapping 'max' point
|
|
627
|
+
*
|
|
628
|
+
*/
|
|
629
|
+
void setGyrConverter(int p, int gyr, int curve, double amin, double amid, double amax)
|
|
630
|
+
{
|
|
631
|
+
setConverter(fGyr, p, gyr, curve, amin, amid, amax);
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
/**
|
|
635
|
+
* Used to edit accelerometer curves and mapping. Get curve and related mapping for a given UI parameter.
|
|
636
|
+
*
|
|
637
|
+
* @param p - the UI parameter index
|
|
638
|
+
* @param acc - the acc value to be retrieved (-1 means "no mapping")
|
|
639
|
+
* @param curve - the curve value to be retrieved (between 0 and 3)
|
|
640
|
+
* @param amin - the amin value to be retrieved
|
|
641
|
+
* @param amid - the amid value to be retrieved
|
|
642
|
+
* @param amax - the amax value to be retrieved
|
|
643
|
+
*
|
|
644
|
+
*/
|
|
645
|
+
void getAccConverter(int p, int& acc, int& curve, double& amin, double& amid, double& amax)
|
|
646
|
+
{
|
|
647
|
+
getConverter(fAcc, p, acc, curve, amin, amid, amax);
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
/**
|
|
651
|
+
* Used to edit gyroscope curves and mapping. Get curve and related mapping for a given UI parameter.
|
|
652
|
+
*
|
|
653
|
+
* @param p - the UI parameter index
|
|
654
|
+
* @param gyr - the gyr value to be retrieved (-1 means "no mapping")
|
|
655
|
+
* @param curve - the curve value to be retrieved (between 0 and 3)
|
|
656
|
+
* @param amin - the amin value to be retrieved
|
|
657
|
+
* @param amid - the amid value to be retrieved
|
|
658
|
+
* @param amax - the amax value to be retrieved
|
|
659
|
+
*
|
|
660
|
+
*/
|
|
661
|
+
void getGyrConverter(int p, int& gyr, int& curve, double& amin, double& amid, double& amax)
|
|
662
|
+
{
|
|
663
|
+
getConverter(fGyr, p, gyr, curve, amin, amid, amax);
|
|
664
|
+
}
|
|
665
|
+
|
|
666
|
+
/**
|
|
667
|
+
* Set a new value coming from an gyroscope, propagate it to all relevant FAUSTFLOAT* zones.
|
|
668
|
+
*
|
|
669
|
+
* @param gyr - 0 for X gyroscope, 1 for Y gyroscope, 2 for Z gyroscope
|
|
670
|
+
* @param value - the new value
|
|
671
|
+
*
|
|
672
|
+
*/
|
|
673
|
+
void propagateGyr(int gyr, double value)
|
|
674
|
+
{
|
|
675
|
+
for (size_t i = 0; i < fGyr[gyr].size(); i++) {
|
|
676
|
+
fGyr[gyr][i]->update(value);
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
/**
|
|
681
|
+
* Get the number of FAUSTFLOAT* zones controlled with the accelerometer.
|
|
682
|
+
*
|
|
683
|
+
* @param acc - 0 for X accelerometer, 1 for Y accelerometer, 2 for Z accelerometer
|
|
684
|
+
* @return the number of zones
|
|
685
|
+
*
|
|
686
|
+
*/
|
|
687
|
+
int getAccCount(int acc)
|
|
688
|
+
{
|
|
689
|
+
return (acc >= 0 && acc < 3) ? int(fAcc[acc].size()) : 0;
|
|
690
|
+
}
|
|
691
|
+
|
|
692
|
+
/**
|
|
693
|
+
* Get the number of FAUSTFLOAT* zones controlled with the gyroscope.
|
|
694
|
+
*
|
|
695
|
+
* @param gyr - 0 for X gyroscope, 1 for Y gyroscope, 2 for Z gyroscope
|
|
696
|
+
* @param the number of zones
|
|
697
|
+
*
|
|
698
|
+
*/
|
|
699
|
+
int getGyrCount(int gyr)
|
|
700
|
+
{
|
|
701
|
+
return (gyr >= 0 && gyr < 3) ? int(fGyr[gyr].size()) : 0;
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
/**
|
|
705
|
+
* Get the requested screen color.
|
|
706
|
+
*
|
|
707
|
+
* -1 means no screen color control (no screencolor metadata found)
|
|
708
|
+
* otherwise return 0x00RRGGBB a ready to use color
|
|
709
|
+
*
|
|
710
|
+
*/
|
|
711
|
+
int getScreenColor()
|
|
712
|
+
{
|
|
713
|
+
if (fHasScreenControl) {
|
|
714
|
+
int r = (fRedReader) ? fRedReader->getValue() : 0;
|
|
715
|
+
int g = (fGreenReader) ? fGreenReader->getValue() : 0;
|
|
716
|
+
int b = (fBlueReader) ? fBlueReader->getValue() : 0;
|
|
717
|
+
return (r<<16) | (g<<8) | b;
|
|
718
|
+
} else {
|
|
719
|
+
return -1;
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
};
|
|
724
|
+
|
|
725
|
+
#endif
|
|
726
|
+
/************************** END APIUI.h **************************/
|