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.
Files changed (693) hide show
  1. cyfaust/CMakeLists.txt +93 -0
  2. cyfaust/__init__.py +0 -0
  3. cyfaust/__main__.py +819 -0
  4. cyfaust/box.pxd +46 -0
  5. cyfaust/box.pyx +2459 -0
  6. cyfaust/common.pxd +5 -0
  7. cyfaust/common.pyx +61 -0
  8. cyfaust/cyfaust.cpython-311-darwin.so +0 -0
  9. cyfaust/faust_box.pxd +298 -0
  10. cyfaust/faust_box_oo.pyx +66 -0
  11. cyfaust/faust_gui.pxd +261 -0
  12. cyfaust/faust_interp.pxd +160 -0
  13. cyfaust/faust_player.pxd +80 -0
  14. cyfaust/faust_signal.pxd +257 -0
  15. cyfaust/gui_statics.cpp +15 -0
  16. cyfaust/interp.pyx +673 -0
  17. cyfaust/player.cpp +32519 -0
  18. cyfaust/player.pyx +191 -0
  19. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUBase.cpp +2327 -0
  20. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUBase.h +1019 -0
  21. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUDispatch.cpp +423 -0
  22. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUDispatch.h +82 -0
  23. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUInputElement.cpp +151 -0
  24. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUInputElement.h +119 -0
  25. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUOutputElement.cpp +62 -0
  26. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUOutputElement.h +66 -0
  27. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUPlugInDispatch.cpp +615 -0
  28. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUPlugInDispatch.h +128 -0
  29. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUScopeElement.cpp +512 -0
  30. cyfaust/resources/architecture/AU/AUPublic/AUBase/AUScopeElement.h +544 -0
  31. cyfaust/resources/architecture/AU/AUPublic/AUBase/ComponentBase.cpp +370 -0
  32. cyfaust/resources/architecture/AU/AUPublic/AUBase/ComponentBase.h +340 -0
  33. cyfaust/resources/architecture/AU/AUPublic/AUEffectBase/AUEffectBase.cpp +463 -0
  34. cyfaust/resources/architecture/AU/AUPublic/AUEffectBase/AUEffectBase.h +391 -0
  35. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUInstrumentBase.cpp +837 -0
  36. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUInstrumentBase.h +267 -0
  37. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUMIDIBase.cpp +495 -0
  38. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/AUMIDIBase.h +213 -0
  39. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/LockFreeFIFO.h +168 -0
  40. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MIDIControlHandler.h +92 -0
  41. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MusicDeviceBase.cpp +354 -0
  42. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/MusicDeviceBase.h +126 -0
  43. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthElement.cpp +419 -0
  44. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthElement.h +227 -0
  45. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthEvent.h +145 -0
  46. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNote.cpp +138 -0
  47. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNote.h +186 -0
  48. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNoteList.cpp +93 -0
  49. cyfaust/resources/architecture/AU/AUPublic/AUInstrumentBase/SynthNoteList.h +232 -0
  50. cyfaust/resources/architecture/AU/AUPublic/Utility/AUBaseHelper.cpp +134 -0
  51. cyfaust/resources/architecture/AU/AUPublic/Utility/AUBaseHelper.h +80 -0
  52. cyfaust/resources/architecture/AU/AUPublic/Utility/AUBuffer.cpp +217 -0
  53. cyfaust/resources/architecture/AU/AUPublic/Utility/AUBuffer.h +267 -0
  54. cyfaust/resources/architecture/AU/AUPublic/Utility/AUMIDIDefs.h +136 -0
  55. cyfaust/resources/architecture/AU/AUPublic/Utility/AUSilentTimeout.h +93 -0
  56. cyfaust/resources/architecture/AU/English.lproj/InfoPlist.strings +0 -0
  57. cyfaust/resources/architecture/AU/FaustAU.exp +2 -0
  58. cyfaust/resources/architecture/AU/FaustAU.xcodeproj/project.pbxproj +968 -0
  59. cyfaust/resources/architecture/AU/FaustAU.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  60. cyfaust/resources/architecture/AU/FaustAUCustomView.plist +14 -0
  61. cyfaust/resources/architecture/AU/Info.plist +47 -0
  62. cyfaust/resources/architecture/AU/PublicUtility/CAAtomic.h +305 -0
  63. cyfaust/resources/architecture/AU/PublicUtility/CAAtomicStack.h +239 -0
  64. cyfaust/resources/architecture/AU/PublicUtility/CAAudioChannelLayout.cpp +153 -0
  65. cyfaust/resources/architecture/AU/PublicUtility/CAAudioChannelLayout.h +199 -0
  66. cyfaust/resources/architecture/AU/PublicUtility/CAAutoDisposer.h +508 -0
  67. cyfaust/resources/architecture/AU/PublicUtility/CABufferList.cpp +264 -0
  68. cyfaust/resources/architecture/AU/PublicUtility/CABufferList.h +319 -0
  69. cyfaust/resources/architecture/AU/PublicUtility/CAByteOrder.h +161 -0
  70. cyfaust/resources/architecture/AU/PublicUtility/CADebugMacros.cpp +88 -0
  71. cyfaust/resources/architecture/AU/PublicUtility/CADebugMacros.h +580 -0
  72. cyfaust/resources/architecture/AU/PublicUtility/CADebugPrintf.cpp +89 -0
  73. cyfaust/resources/architecture/AU/PublicUtility/CADebugPrintf.h +115 -0
  74. cyfaust/resources/architecture/AU/PublicUtility/CADebugger.cpp +77 -0
  75. cyfaust/resources/architecture/AU/PublicUtility/CADebugger.h +56 -0
  76. cyfaust/resources/architecture/AU/PublicUtility/CAException.h +83 -0
  77. cyfaust/resources/architecture/AU/PublicUtility/CAGuard.cpp +339 -0
  78. cyfaust/resources/architecture/AU/PublicUtility/CAGuard.h +133 -0
  79. cyfaust/resources/architecture/AU/PublicUtility/CAHostTimeBase.cpp +110 -0
  80. cyfaust/resources/architecture/AU/PublicUtility/CAHostTimeBase.h +231 -0
  81. cyfaust/resources/architecture/AU/PublicUtility/CALogMacros.h +140 -0
  82. cyfaust/resources/architecture/AU/PublicUtility/CAMath.h +68 -0
  83. cyfaust/resources/architecture/AU/PublicUtility/CAMutex.cpp +345 -0
  84. cyfaust/resources/architecture/AU/PublicUtility/CAMutex.h +163 -0
  85. cyfaust/resources/architecture/AU/PublicUtility/CAReferenceCounted.h +87 -0
  86. cyfaust/resources/architecture/AU/PublicUtility/CAStreamBasicDescription.cpp +795 -0
  87. cyfaust/resources/architecture/AU/PublicUtility/CAStreamBasicDescription.h +409 -0
  88. cyfaust/resources/architecture/AU/PublicUtility/CAThreadSafeList.h +255 -0
  89. cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnit.cpp +191 -0
  90. cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnit.h +100 -0
  91. cyfaust/resources/architecture/AU/PublicUtility/CAVectorUnitTypes.h +59 -0
  92. cyfaust/resources/architecture/AU/PublicUtility/CAXException.cpp +49 -0
  93. cyfaust/resources/architecture/AU/PublicUtility/CAXException.h +338 -0
  94. cyfaust/resources/architecture/AU/SectionPatternLight.tiff +0 -0
  95. cyfaust/resources/architecture/AU/Source/AUSource/FaustAU.h +38 -0
  96. cyfaust/resources/architecture/AU/Source/AUSource/FaustAU.r +153 -0
  97. cyfaust/resources/architecture/AU/Source/AUSource/FaustAUVersion.h +64 -0
  98. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Bargraph.h +18 -0
  99. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Bargraph.m +21 -0
  100. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Button.h +20 -0
  101. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Button.m +56 -0
  102. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomView.h +87 -0
  103. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomView.m +834 -0
  104. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomViewFactory.h +13 -0
  105. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_CustomViewFactory.m +22 -0
  106. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Knob.h +81 -0
  107. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Knob.m +199 -0
  108. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Slider.h +18 -0
  109. cyfaust/resources/architecture/AU/Source/CocoaUI/FaustAU_Slider.m +21 -0
  110. cyfaust/resources/architecture/AU/version.plist +16 -0
  111. cyfaust/resources/architecture/VST/Info.plist +28 -0
  112. cyfaust/resources/architecture/VST/PkgInfo +1 -0
  113. cyfaust/resources/architecture/VST/README +11 -0
  114. cyfaust/resources/architecture/VST/VST.xcode/project.pbxproj +655 -0
  115. cyfaust/resources/architecture/alsa-console.cpp +246 -0
  116. cyfaust/resources/architecture/alsa-gtk.cpp +220 -0
  117. cyfaust/resources/architecture/alsa-qt.cpp +229 -0
  118. cyfaust/resources/architecture/api/DspFaust.cpp +612 -0
  119. cyfaust/resources/architecture/api/DspFaust.h +511 -0
  120. cyfaust/resources/architecture/api/README.md +237 -0
  121. cyfaust/resources/architecture/api/doc/Generic.md +38 -0
  122. cyfaust/resources/architecture/au-effect.cpp +487 -0
  123. cyfaust/resources/architecture/au-instrument.cpp +573 -0
  124. cyfaust/resources/architecture/bench.cpp +91 -0
  125. cyfaust/resources/architecture/c-jack-gtk.c +227 -0
  126. cyfaust/resources/architecture/ca-gtk.cpp +284 -0
  127. cyfaust/resources/architecture/ca-qt.cpp +424 -0
  128. cyfaust/resources/architecture/cpal.rs +195 -0
  129. cyfaust/resources/architecture/csound.cpp +245 -0
  130. cyfaust/resources/architecture/csvplot.cpp +227 -0
  131. cyfaust/resources/architecture/daisy/Makefile +14 -0
  132. cyfaust/resources/architecture/daisy/README.md +50 -0
  133. cyfaust/resources/architecture/daisy/ex_faust.cpp +173 -0
  134. cyfaust/resources/architecture/dssi.cpp +1262 -0
  135. cyfaust/resources/architecture/dummy-mem.cpp +186 -0
  136. cyfaust/resources/architecture/dummy.cpp +294 -0
  137. cyfaust/resources/architecture/faust/au/AUUI.h +404 -0
  138. cyfaust/resources/architecture/faust/audio/alsa-dsp.h +693 -0
  139. cyfaust/resources/architecture/faust/audio/android-dsp.h +583 -0
  140. cyfaust/resources/architecture/faust/audio/audio.h +115 -0
  141. cyfaust/resources/architecture/faust/audio/channels.h +122 -0
  142. cyfaust/resources/architecture/faust/audio/coreaudio-dsp.h +1543 -0
  143. cyfaust/resources/architecture/faust/audio/coreaudio-ios-dsp.h +743 -0
  144. cyfaust/resources/architecture/faust/audio/dummy-audio.h +255 -0
  145. cyfaust/resources/architecture/faust/audio/esp32-dsp.h +284 -0
  146. cyfaust/resources/architecture/faust/audio/fpe.h +164 -0
  147. cyfaust/resources/architecture/faust/audio/jack-dsp.h +534 -0
  148. cyfaust/resources/architecture/faust/audio/juce-dsp.h +119 -0
  149. cyfaust/resources/architecture/faust/audio/netjack-dsp.h +354 -0
  150. cyfaust/resources/architecture/faust/audio/oboe-dsp.h +308 -0
  151. cyfaust/resources/architecture/faust/audio/ofaudio-dsp.h +155 -0
  152. cyfaust/resources/architecture/faust/audio/opensles-android-dsp.h +631 -0
  153. cyfaust/resources/architecture/faust/audio/osc-dsp.h +120 -0
  154. cyfaust/resources/architecture/faust/audio/portaudio-dsp.h +236 -0
  155. cyfaust/resources/architecture/faust/audio/rtaudio-dsp.h +241 -0
  156. cyfaust/resources/architecture/faust/audio/samAudio.h +140 -0
  157. cyfaust/resources/architecture/faust/audio/teensy-dsp.h +171 -0
  158. cyfaust/resources/architecture/faust/dsp/cmajor-cpp-dsp.h +253 -0
  159. cyfaust/resources/architecture/faust/dsp/cmajorpatch-dsp.h +483 -0
  160. cyfaust/resources/architecture/faust/dsp/cpp-dsp-adapter.h +38 -0
  161. cyfaust/resources/architecture/faust/dsp/dsp-adapter.h +836 -0
  162. cyfaust/resources/architecture/faust/dsp/dsp-bench.h +611 -0
  163. cyfaust/resources/architecture/faust/dsp/dsp-checker.h +115 -0
  164. cyfaust/resources/architecture/faust/dsp/dsp-combiner.h +810 -0
  165. cyfaust/resources/architecture/faust/dsp/dsp-compute-adapter.h +159 -0
  166. cyfaust/resources/architecture/faust/dsp/dsp-multi.h +702 -0
  167. cyfaust/resources/architecture/faust/dsp/dsp-multifun.h +90 -0
  168. cyfaust/resources/architecture/faust/dsp/dsp-optimizer.h +511 -0
  169. cyfaust/resources/architecture/faust/dsp/dsp-tools.h +229 -0
  170. cyfaust/resources/architecture/faust/dsp/dsp.h +321 -0
  171. cyfaust/resources/architecture/faust/dsp/fastmath.cpp +301 -0
  172. cyfaust/resources/architecture/faust/dsp/faust-dynamic-engine.cpp +494 -0
  173. cyfaust/resources/architecture/faust/dsp/faust-dynamic-engine.h +386 -0
  174. cyfaust/resources/architecture/faust/dsp/faust-engine.h +75 -0
  175. cyfaust/resources/architecture/faust/dsp/faust-poly-engine.h +638 -0
  176. cyfaust/resources/architecture/faust/dsp/interpreter-dsp-c.h +288 -0
  177. cyfaust/resources/architecture/faust/dsp/interpreter-dsp.h +362 -0
  178. cyfaust/resources/architecture/faust/dsp/interpreter-machine-dsp.h +233 -0
  179. cyfaust/resources/architecture/faust/dsp/libfaust-box-c.h +817 -0
  180. cyfaust/resources/architecture/faust/dsp/libfaust-box.h +889 -0
  181. cyfaust/resources/architecture/faust/dsp/libfaust-c.h +116 -0
  182. cyfaust/resources/architecture/faust/dsp/libfaust-signal-c.h +649 -0
  183. cyfaust/resources/architecture/faust/dsp/libfaust-signal.h +731 -0
  184. cyfaust/resources/architecture/faust/dsp/llvm-dsp-adapter.h +160 -0
  185. cyfaust/resources/architecture/faust/dsp/llvm-dsp-c.h +524 -0
  186. cyfaust/resources/architecture/faust/dsp/llvm-dsp.h +575 -0
  187. cyfaust/resources/architecture/faust/dsp/llvm-machine-dsp.h +215 -0
  188. cyfaust/resources/architecture/faust/dsp/one-sample-dsp.h +477 -0
  189. cyfaust/resources/architecture/faust/dsp/poly-dsp.h +1079 -0
  190. cyfaust/resources/architecture/faust/dsp/poly-interpreter-dsp.h +143 -0
  191. cyfaust/resources/architecture/faust/dsp/poly-llvm-dsp.h +249 -0
  192. cyfaust/resources/architecture/faust/dsp/poly-wasm-dsp.h +257 -0
  193. cyfaust/resources/architecture/faust/dsp/proxy-dsp.h +108 -0
  194. cyfaust/resources/architecture/faust/dsp/proxy-osc-dsp.h +109 -0
  195. cyfaust/resources/architecture/faust/dsp/rnbo-dsp.h +187 -0
  196. cyfaust/resources/architecture/faust/dsp/sound-player.h +428 -0
  197. cyfaust/resources/architecture/faust/dsp/timed-dsp.h +279 -0
  198. cyfaust/resources/architecture/faust/dsp/wasm-dsp-imp.h +188 -0
  199. cyfaust/resources/architecture/faust/dsp/wasm-dsp.h +309 -0
  200. cyfaust/resources/architecture/faust/dsp/ysfx-dsp.h +188 -0
  201. cyfaust/resources/architecture/faust/export.h +61 -0
  202. cyfaust/resources/architecture/faust/gui/APIUI.h +726 -0
  203. cyfaust/resources/architecture/faust/gui/BelaOSCUI.h +170 -0
  204. cyfaust/resources/architecture/faust/gui/CGlue.h +667 -0
  205. cyfaust/resources/architecture/faust/gui/CInterface.h +142 -0
  206. cyfaust/resources/architecture/faust/gui/ControlSequenceUI.h +197 -0
  207. cyfaust/resources/architecture/faust/gui/ControlUI.h +137 -0
  208. cyfaust/resources/architecture/faust/gui/DaisyControlUI.h +283 -0
  209. cyfaust/resources/architecture/faust/gui/DaisyPatchInitControlUI.h +254 -0
  210. cyfaust/resources/architecture/faust/gui/DecoratorUI.h +115 -0
  211. cyfaust/resources/architecture/faust/gui/Esp32ControlUI.h +341 -0
  212. cyfaust/resources/architecture/faust/gui/Esp32Reader.h +102 -0
  213. cyfaust/resources/architecture/faust/gui/Esp32SensorUI.h +137 -0
  214. cyfaust/resources/architecture/faust/gui/FUI.h +147 -0
  215. cyfaust/resources/architecture/faust/gui/GTKUI.h +1414 -0
  216. cyfaust/resources/architecture/faust/gui/GUI.h +465 -0
  217. cyfaust/resources/architecture/faust/gui/JSONControl.h +48 -0
  218. cyfaust/resources/architecture/faust/gui/JSONUI.h +722 -0
  219. cyfaust/resources/architecture/faust/gui/JSONUIDecoder.h +589 -0
  220. cyfaust/resources/architecture/faust/gui/JuceGUI.h +2061 -0
  221. cyfaust/resources/architecture/faust/gui/JuceOSCUI.h +163 -0
  222. cyfaust/resources/architecture/faust/gui/JuceParameterUI.h +158 -0
  223. cyfaust/resources/architecture/faust/gui/JuceReader.h +103 -0
  224. cyfaust/resources/architecture/faust/gui/JuceStateUI.h +88 -0
  225. cyfaust/resources/architecture/faust/gui/LayoutUI.h +423 -0
  226. cyfaust/resources/architecture/faust/gui/LibsndfileReader.h +366 -0
  227. cyfaust/resources/architecture/faust/gui/MapUI.h +370 -0
  228. cyfaust/resources/architecture/faust/gui/MemoryReader.h +111 -0
  229. cyfaust/resources/architecture/faust/gui/MetaDataUI.h +357 -0
  230. cyfaust/resources/architecture/faust/gui/MidiUI.h +939 -0
  231. cyfaust/resources/architecture/faust/gui/OCVUI.h +688 -0
  232. cyfaust/resources/architecture/faust/gui/OSCUI.h +219 -0
  233. cyfaust/resources/architecture/faust/gui/PathBuilder.h +228 -0
  234. cyfaust/resources/architecture/faust/gui/PresetUI.h +337 -0
  235. cyfaust/resources/architecture/faust/gui/PrintCUI.h +152 -0
  236. cyfaust/resources/architecture/faust/gui/PrintUI.h +121 -0
  237. cyfaust/resources/architecture/faust/gui/QTUI.h +1891 -0
  238. cyfaust/resources/architecture/faust/gui/RosCI.h +493 -0
  239. cyfaust/resources/architecture/faust/gui/RosUI.h +488 -0
  240. cyfaust/resources/architecture/faust/gui/SaveUI.h +163 -0
  241. cyfaust/resources/architecture/faust/gui/SimpleParser.h +583 -0
  242. cyfaust/resources/architecture/faust/gui/SoundUI.h +217 -0
  243. cyfaust/resources/architecture/faust/gui/Soundfile.h +342 -0
  244. cyfaust/resources/architecture/faust/gui/Styles/Blue.qrc +5 -0
  245. cyfaust/resources/architecture/faust/gui/Styles/Blue.qss +177 -0
  246. cyfaust/resources/architecture/faust/gui/Styles/Default.qrc +5 -0
  247. cyfaust/resources/architecture/faust/gui/Styles/Default.qss +117 -0
  248. cyfaust/resources/architecture/faust/gui/Styles/Grey.qrc +5 -0
  249. cyfaust/resources/architecture/faust/gui/Styles/Grey.qss +174 -0
  250. cyfaust/resources/architecture/faust/gui/Styles/Salmon.qrc +5 -0
  251. cyfaust/resources/architecture/faust/gui/Styles/Salmon.qss +171 -0
  252. cyfaust/resources/architecture/faust/gui/UI.h +87 -0
  253. cyfaust/resources/architecture/faust/gui/ValueConverter.h +543 -0
  254. cyfaust/resources/architecture/faust/gui/WaveReader.h +364 -0
  255. cyfaust/resources/architecture/faust/gui/console.h +322 -0
  256. cyfaust/resources/architecture/faust/gui/httpdUI.h +372 -0
  257. cyfaust/resources/architecture/faust/gui/meta.h +39 -0
  258. cyfaust/resources/architecture/faust/gui/mspUI.h +580 -0
  259. cyfaust/resources/architecture/faust/gui/qrcodegen.h +269 -0
  260. cyfaust/resources/architecture/faust/gui/qrcodegen.impl.h +1025 -0
  261. cyfaust/resources/architecture/faust/gui/ring-buffer.h +414 -0
  262. cyfaust/resources/architecture/faust/midi/RtMidi.cpp +3054 -0
  263. cyfaust/resources/architecture/faust/midi/RtMidi.h +1034 -0
  264. cyfaust/resources/architecture/faust/midi/bela-midi.h +266 -0
  265. cyfaust/resources/architecture/faust/midi/daisy-midi.h +116 -0
  266. cyfaust/resources/architecture/faust/midi/esp32-midi.h +185 -0
  267. cyfaust/resources/architecture/faust/midi/gramophone-midi.h +107 -0
  268. cyfaust/resources/architecture/faust/midi/iplug2-midi.h +148 -0
  269. cyfaust/resources/architecture/faust/midi/jack-midi.h +247 -0
  270. cyfaust/resources/architecture/faust/midi/juce-midi.h +275 -0
  271. cyfaust/resources/architecture/faust/midi/midi.h +475 -0
  272. cyfaust/resources/architecture/faust/midi/rt-midi.h +315 -0
  273. cyfaust/resources/architecture/faust/midi/teensy-midi.h +89 -0
  274. cyfaust/resources/architecture/faust/misc.h +106 -0
  275. cyfaust/resources/architecture/faust/sound-file.h +132 -0
  276. cyfaust/resources/architecture/faust/unity/AudioPluginInterface.h +301 -0
  277. cyfaust/resources/architecture/faust/vst/faust.h +141 -0
  278. cyfaust/resources/architecture/faust/vst/voice.h +43 -0
  279. cyfaust/resources/architecture/faust/vst/vstui.h +524 -0
  280. cyfaust/resources/architecture/faustvst.cpp +3435 -0
  281. cyfaust/resources/architecture/faustvstqt.h +91 -0
  282. cyfaust/resources/architecture/gen-json.cpp +76 -0
  283. cyfaust/resources/architecture/jack-console.cpp +267 -0
  284. cyfaust/resources/architecture/jack-gtk-ros.cpp +139 -0
  285. cyfaust/resources/architecture/jack-gtk.cpp +282 -0
  286. cyfaust/resources/architecture/jack-internal.cpp +560 -0
  287. cyfaust/resources/architecture/jack-qt-chain-footer.cpp +87 -0
  288. cyfaust/resources/architecture/jack-qt-chain-header.cpp +92 -0
  289. cyfaust/resources/architecture/jack-qt.cpp +281 -0
  290. cyfaust/resources/architecture/jack.rs +171 -0
  291. cyfaust/resources/architecture/juce/README.md +84 -0
  292. cyfaust/resources/architecture/juce/juce-plugin.cpp +809 -0
  293. cyfaust/resources/architecture/juce/juce-standalone.cpp +413 -0
  294. cyfaust/resources/architecture/juce/plugin/plugin-llvm.jucer +184 -0
  295. cyfaust/resources/architecture/juce/plugin/plugin.jucer +159 -0
  296. cyfaust/resources/architecture/juce/standalone/standalone-llvm.jucer +216 -0
  297. cyfaust/resources/architecture/juce/standalone/standalone.jucer +191 -0
  298. cyfaust/resources/architecture/ladspa.cpp +543 -0
  299. cyfaust/resources/architecture/latexheader.tex +65 -0
  300. cyfaust/resources/architecture/lv2.cpp +2090 -0
  301. cyfaust/resources/architecture/lv2qtgui.h +62 -0
  302. cyfaust/resources/architecture/lv2ui.cpp +1966 -0
  303. cyfaust/resources/architecture/max-msp/README.md +109 -0
  304. cyfaust/resources/architecture/max-msp/faustgen-wrapper-poly.maxpat +184 -0
  305. cyfaust/resources/architecture/max-msp/faustgen-wrapper.maxpat +163 -0
  306. cyfaust/resources/architecture/max-msp/max-msp.cpp +734 -0
  307. cyfaust/resources/architecture/max-msp/max-msp64.cpp +789 -0
  308. cyfaust/resources/architecture/max-msp/py2max/README.md +277 -0
  309. cyfaust/resources/architecture/max-msp/py2max/py2max/__init__.py +3 -0
  310. cyfaust/resources/architecture/max-msp/py2max/py2max/common.py +7 -0
  311. cyfaust/resources/architecture/max-msp/py2max/py2max/core.py +1387 -0
  312. cyfaust/resources/architecture/max-msp/py2max/py2max/maxclassdb.py +318 -0
  313. cyfaust/resources/architecture/max-msp/py2max/py2max/utils.py +20 -0
  314. cyfaust/resources/architecture/max-msp/rnbo.py +1591 -0
  315. cyfaust/resources/architecture/max-msp/sndfile/sndfile.h +857 -0
  316. cyfaust/resources/architecture/max-msp/ui.js +230 -0
  317. cyfaust/resources/architecture/max-msp/wrapper-poly.maxpat +153 -0
  318. cyfaust/resources/architecture/max-msp/wrapper.maxpat +131 -0
  319. cyfaust/resources/architecture/minimal-bench.cpp +100 -0
  320. cyfaust/resources/architecture/minimal-effect.c +149 -0
  321. cyfaust/resources/architecture/minimal-effect.cpp +70 -0
  322. cyfaust/resources/architecture/minimal-fixed-point.cpp +195 -0
  323. cyfaust/resources/architecture/minimal-static.cpp +160 -0
  324. cyfaust/resources/architecture/minimal.c +103 -0
  325. cyfaust/resources/architecture/minimal.cpp +84 -0
  326. cyfaust/resources/architecture/minimal.rs +223 -0
  327. cyfaust/resources/architecture/module.cpp +91 -0
  328. cyfaust/resources/architecture/octave.cpp +471 -0
  329. cyfaust/resources/architecture/oscio-gtk.cpp +115 -0
  330. cyfaust/resources/architecture/oscio-qt.cpp +121 -0
  331. cyfaust/resources/architecture/owl.cpp +345 -0
  332. cyfaust/resources/architecture/pa-gtk.cpp +119 -0
  333. cyfaust/resources/architecture/pa-qt.cpp +261 -0
  334. cyfaust/resources/architecture/path-printer.cpp +100 -0
  335. cyfaust/resources/architecture/plot.cpp +128 -0
  336. cyfaust/resources/architecture/portaudio.rs +192 -0
  337. cyfaust/resources/architecture/puredata.cpp +636 -0
  338. cyfaust/resources/architecture/ra-qt.cpp +238 -0
  339. cyfaust/resources/architecture/sam/fast_pow2.h +69 -0
  340. cyfaust/resources/architecture/sam/fastexp.h +140 -0
  341. cyfaust/resources/architecture/sam/samFaustDSP.cpp +125 -0
  342. cyfaust/resources/architecture/sam/samFaustDSP.h +107 -0
  343. cyfaust/resources/architecture/scheduler.cpp +1391 -0
  344. cyfaust/resources/architecture/sndfile.cpp +291 -0
  345. cyfaust/resources/architecture/supercollider.cpp +611 -0
  346. cyfaust/resources/architecture/teensy/README.md +13 -0
  347. cyfaust/resources/architecture/teensy/teensy.cpp +214 -0
  348. cyfaust/resources/architecture/teensy/teensy.h +71 -0
  349. cyfaust/resources/architecture/thread.h +373 -0
  350. cyfaust/resources/architecture/vcvrack/README.md +78 -0
  351. cyfaust/resources/architecture/vcvrack/template/.gitignore +6 -0
  352. cyfaust/resources/architecture/vcvrack/template/Makefile +22 -0
  353. cyfaust/resources/architecture/vcvrack/template/res/FaustModule.svg +299 -0
  354. cyfaust/resources/architecture/vcvrack/template/src/FaustModule.cpp +942 -0
  355. cyfaust/resources/architecture/vst.cpp +947 -0
  356. cyfaust/resources/libraries/aanl.lib +900 -0
  357. cyfaust/resources/libraries/all.lib +36 -0
  358. cyfaust/resources/libraries/analyzers.lib +980 -0
  359. cyfaust/resources/libraries/basics.lib +2681 -0
  360. cyfaust/resources/libraries/compressors.lib +1341 -0
  361. cyfaust/resources/libraries/delays.lib +401 -0
  362. cyfaust/resources/libraries/demos.lib +1556 -0
  363. cyfaust/resources/libraries/dx7.lib +1036 -0
  364. cyfaust/resources/libraries/effect.lib +1645 -0
  365. cyfaust/resources/libraries/envelopes.lib +666 -0
  366. cyfaust/resources/libraries/examples/README.md +13 -0
  367. cyfaust/resources/libraries/examples/ambisonics/fourSourcesToOcto.dsp +20 -0
  368. cyfaust/resources/libraries/examples/ambisonics/oneSourceToStereo.dsp +12 -0
  369. cyfaust/resources/libraries/examples/analysis/FFT.dsp +26 -0
  370. cyfaust/resources/libraries/examples/analysis/dbmeter.dsp +19 -0
  371. cyfaust/resources/libraries/examples/analysis/spectralLevel.dsp +8 -0
  372. cyfaust/resources/libraries/examples/analysis/spectralTiltLab.dsp +20 -0
  373. cyfaust/resources/libraries/examples/analysis/vumeter.dsp +18 -0
  374. cyfaust/resources/libraries/examples/autodiff/delay/diff.dsp +2 -0
  375. cyfaust/resources/libraries/examples/autodiff/delay/gt.dsp +2 -0
  376. cyfaust/resources/libraries/examples/autodiff/gain/diff.dsp +7 -0
  377. cyfaust/resources/libraries/examples/autodiff/gain/gt.dsp +1 -0
  378. cyfaust/resources/libraries/examples/autodiff/gain_dc/diff.dsp +7 -0
  379. cyfaust/resources/libraries/examples/autodiff/gain_dc/gt.dsp +4 -0
  380. cyfaust/resources/libraries/examples/autodiff/gain_exp/diff.dsp +9 -0
  381. cyfaust/resources/libraries/examples/autodiff/gain_exp/gt.dsp +1 -0
  382. cyfaust/resources/libraries/examples/autodiff/gain_pow/diff.dsp +9 -0
  383. cyfaust/resources/libraries/examples/autodiff/gain_pow/gt.dsp +1 -0
  384. cyfaust/resources/libraries/examples/autodiff/gain_pow_trig/diff.dsp +12 -0
  385. cyfaust/resources/libraries/examples/autodiff/gain_pow_trig/gt.dsp +1 -0
  386. cyfaust/resources/libraries/examples/autodiff/gain_sq/diff.dsp +7 -0
  387. cyfaust/resources/libraries/examples/autodiff/gain_sq/gt.dsp +1 -0
  388. cyfaust/resources/libraries/examples/autodiff/mem/diff.dsp +1 -0
  389. cyfaust/resources/libraries/examples/autodiff/mem/gt.dsp +1 -0
  390. cyfaust/resources/libraries/examples/autodiff/noise.dsp +2 -0
  391. cyfaust/resources/libraries/examples/autodiff/noop.dsp +2 -0
  392. cyfaust/resources/libraries/examples/autodiff/one_zero/diff.dsp +2 -0
  393. cyfaust/resources/libraries/examples/autodiff/one_zero/gt.dsp +2 -0
  394. cyfaust/resources/libraries/examples/autodiff/ramp.dsp +1 -0
  395. cyfaust/resources/libraries/examples/autodiff/recursion/diff.dsp +2 -0
  396. cyfaust/resources/libraries/examples/autodiff/recursion/gt.dsp +1 -0
  397. cyfaust/resources/libraries/examples/autodiff/recursion/target.dsp +13 -0
  398. cyfaust/resources/libraries/examples/autodiff/tremolo/diff.dsp +14 -0
  399. cyfaust/resources/libraries/examples/autodiff/tremolo/diffable.lib +7 -0
  400. cyfaust/resources/libraries/examples/autodiff/tremolo/gt.dsp +11 -0
  401. cyfaust/resources/libraries/examples/delayEcho/echo.dsp +15 -0
  402. cyfaust/resources/libraries/examples/delayEcho/quadEcho.dsp +21 -0
  403. cyfaust/resources/libraries/examples/delayEcho/smoothDelay.dsp +26 -0
  404. cyfaust/resources/libraries/examples/delayEcho/stereoEcho.dsp +16 -0
  405. cyfaust/resources/libraries/examples/delayEcho/tapiir.dsp +44 -0
  406. cyfaust/resources/libraries/examples/dynamic/compressor.dsp +8 -0
  407. cyfaust/resources/libraries/examples/dynamic/distortion.dsp +8 -0
  408. cyfaust/resources/libraries/examples/dynamic/gateCompressor.dsp +10 -0
  409. cyfaust/resources/libraries/examples/dynamic/noiseGate.dsp +8 -0
  410. cyfaust/resources/libraries/examples/dynamic/volume.dsp +15 -0
  411. cyfaust/resources/libraries/examples/filtering/APF.dsp +13 -0
  412. cyfaust/resources/libraries/examples/filtering/BPF.dsp +13 -0
  413. cyfaust/resources/libraries/examples/filtering/DNN.dsp +25 -0
  414. cyfaust/resources/libraries/examples/filtering/HPF.dsp +13 -0
  415. cyfaust/resources/libraries/examples/filtering/LPF.dsp +13 -0
  416. cyfaust/resources/libraries/examples/filtering/bandFilter.dsp +44 -0
  417. cyfaust/resources/libraries/examples/filtering/cryBaby.dsp +4 -0
  418. cyfaust/resources/libraries/examples/filtering/diodeLadder.dsp +12 -0
  419. cyfaust/resources/libraries/examples/filtering/filterBank.dsp +6 -0
  420. cyfaust/resources/libraries/examples/filtering/graphicEqLab.dsp +10 -0
  421. cyfaust/resources/libraries/examples/filtering/highShelf.dsp +13 -0
  422. cyfaust/resources/libraries/examples/filtering/korg35HPF.dsp +13 -0
  423. cyfaust/resources/libraries/examples/filtering/korg35LPF.dsp +13 -0
  424. cyfaust/resources/libraries/examples/filtering/lfBoost.dsp +40 -0
  425. cyfaust/resources/libraries/examples/filtering/lowBoost.dsp +40 -0
  426. cyfaust/resources/libraries/examples/filtering/lowCut.dsp +40 -0
  427. cyfaust/resources/libraries/examples/filtering/lowShelf.dsp +13 -0
  428. cyfaust/resources/libraries/examples/filtering/moogHalfLadder.dsp +12 -0
  429. cyfaust/resources/libraries/examples/filtering/moogLadder.dsp +12 -0
  430. cyfaust/resources/libraries/examples/filtering/moogVCF.dsp +6 -0
  431. cyfaust/resources/libraries/examples/filtering/multibandFilter.dsp +14 -0
  432. cyfaust/resources/libraries/examples/filtering/notch.dsp +13 -0
  433. cyfaust/resources/libraries/examples/filtering/oberheim.dsp +14 -0
  434. cyfaust/resources/libraries/examples/filtering/oberheimBPF.dsp +13 -0
  435. cyfaust/resources/libraries/examples/filtering/oberheimBSF.dsp +13 -0
  436. cyfaust/resources/libraries/examples/filtering/oberheimHPF.dsp +13 -0
  437. cyfaust/resources/libraries/examples/filtering/oberheimLPF.dsp +13 -0
  438. cyfaust/resources/libraries/examples/filtering/parametricEqLab.dsp +10 -0
  439. cyfaust/resources/libraries/examples/filtering/parametricEqualizer.dsp +6 -0
  440. cyfaust/resources/libraries/examples/filtering/peakNotch.dsp +13 -0
  441. cyfaust/resources/libraries/examples/filtering/peakingEQ.dsp +13 -0
  442. cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrder.dsp +14 -0
  443. cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderBPF.dsp +13 -0
  444. cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderHPF.dsp +13 -0
  445. cyfaust/resources/libraries/examples/filtering/sallenKey2ndOrderLPF.dsp +13 -0
  446. cyfaust/resources/libraries/examples/filtering/sallenKeyOnePole.dsp +13 -0
  447. cyfaust/resources/libraries/examples/filtering/sallenKeyOnePoleHPF.dsp +12 -0
  448. cyfaust/resources/libraries/examples/filtering/sallenKeyOnePoleLPF.dsp +12 -0
  449. cyfaust/resources/libraries/examples/filtering/spectralTilt.dsp +8 -0
  450. cyfaust/resources/libraries/examples/filtering/vcfWahLab.dsp +12 -0
  451. cyfaust/resources/libraries/examples/filtering/vocoder.dsp +8 -0
  452. cyfaust/resources/libraries/examples/filtering/wahPedal.dsp +6 -0
  453. cyfaust/resources/libraries/examples/gameaudio/bubble.dsp +42 -0
  454. cyfaust/resources/libraries/examples/gameaudio/door.dsp +58 -0
  455. cyfaust/resources/libraries/examples/gameaudio/fire.dsp +46 -0
  456. cyfaust/resources/libraries/examples/gameaudio/insects.dsp +148 -0
  457. cyfaust/resources/libraries/examples/gameaudio/rain.dsp +27 -0
  458. cyfaust/resources/libraries/examples/gameaudio/wind.dsp +23 -0
  459. cyfaust/resources/libraries/examples/generator/filterOsc.dsp +8 -0
  460. cyfaust/resources/libraries/examples/generator/noise.dsp +52 -0
  461. cyfaust/resources/libraries/examples/generator/noiseMetadata.dsp +74 -0
  462. cyfaust/resources/libraries/examples/generator/osc.dsp +17 -0
  463. cyfaust/resources/libraries/examples/generator/osci.dsp +17 -0
  464. cyfaust/resources/libraries/examples/generator/sawtoothLab.dsp +8 -0
  465. cyfaust/resources/libraries/examples/generator/virtualAnalog.dsp +8 -0
  466. cyfaust/resources/libraries/examples/generator/virtualAnalogLab.dsp +10 -0
  467. cyfaust/resources/libraries/examples/misc/UITester.dsp +71 -0
  468. cyfaust/resources/libraries/examples/misc/autopan.dsp +59 -0
  469. cyfaust/resources/libraries/examples/misc/capture.dsp +24 -0
  470. cyfaust/resources/libraries/examples/misc/drumkit.dsp +36 -0
  471. cyfaust/resources/libraries/examples/misc/guitarix.dsp +184 -0
  472. cyfaust/resources/libraries/examples/misc/matrix.dsp +17 -0
  473. cyfaust/resources/libraries/examples/misc/midiTester.dsp +122 -0
  474. cyfaust/resources/libraries/examples/misc/mixer.dsp +27 -0
  475. cyfaust/resources/libraries/examples/misc/statespace.dsp +39 -0
  476. cyfaust/resources/libraries/examples/misc/switcher.dsp +20 -0
  477. cyfaust/resources/libraries/examples/misc/tester.dsp +32 -0
  478. cyfaust/resources/libraries/examples/misc/tester2.dsp +31 -0
  479. cyfaust/resources/libraries/examples/old/README.md +5 -0
  480. cyfaust/resources/libraries/examples/old/freeverb.dsp +109 -0
  481. cyfaust/resources/libraries/examples/old/rewriting/Makefile +21 -0
  482. cyfaust/resources/libraries/examples/old/rewriting/fact.dsp +3 -0
  483. cyfaust/resources/libraries/examples/old/rewriting/fold.dsp +61 -0
  484. cyfaust/resources/libraries/examples/old/rewriting/mesh.dsp +43 -0
  485. cyfaust/resources/libraries/examples/old/rewriting/mesh.pd +37 -0
  486. cyfaust/resources/libraries/examples/old/rewriting/sample.pd +12 -0
  487. cyfaust/resources/libraries/examples/old/rewriting/serial.dsp +7 -0
  488. cyfaust/resources/libraries/examples/old/rewriting/sum.dsp +55 -0
  489. cyfaust/resources/libraries/examples/old/rewriting/test.pd +48 -0
  490. cyfaust/resources/libraries/examples/phasing/flanger.dsp +8 -0
  491. cyfaust/resources/libraries/examples/phasing/phaser.dsp +8 -0
  492. cyfaust/resources/libraries/examples/phasing/phaserFlangerLab.dsp +12 -0
  493. cyfaust/resources/libraries/examples/physicalModeling/brass.dsp +8 -0
  494. cyfaust/resources/libraries/examples/physicalModeling/brassMIDI.dsp +8 -0
  495. cyfaust/resources/libraries/examples/physicalModeling/churchBell.dsp +8 -0
  496. cyfaust/resources/libraries/examples/physicalModeling/clarinet.dsp +8 -0
  497. cyfaust/resources/libraries/examples/physicalModeling/clarinetMIDI.dsp +8 -0
  498. cyfaust/resources/libraries/examples/physicalModeling/djembeMIDI.dsp +8 -0
  499. cyfaust/resources/libraries/examples/physicalModeling/elecGuitarMIDI.dsp +10 -0
  500. cyfaust/resources/libraries/examples/physicalModeling/englishBell.dsp +8 -0
  501. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/NLFeks.dsp +91 -0
  502. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/NLFfm.dsp +70 -0
  503. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/README +125 -0
  504. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bass.dsp +84 -0
  505. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bass.h +91 -0
  506. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/blowBottle.dsp +102 -0
  507. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/bowed.dsp +114 -0
  508. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/brass.dsp +103 -0
  509. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/clarinet.dsp +110 -0
  510. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/flute.dsp +116 -0
  511. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/fluteStk.dsp +121 -0
  512. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/glassHarmonica.dsp +131 -0
  513. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/harpsi.dsp +90 -0
  514. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/harpsichord.h +185 -0
  515. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/instrument.h +114 -0
  516. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/modalBar.dsp +122 -0
  517. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/modalBar.h +48 -0
  518. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/audio-out.pd +33 -0
  519. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/bottle.pd +10 -0
  520. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/clarinets.pd +15 -0
  521. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/audio-out.pd +33 -0
  522. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/bass.pd +162 -0
  523. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/canon.pd +55 -0
  524. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/flute.pd +343 -0
  525. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/canon/pachelbel.mid +0 -0
  526. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/audio-out.pd +33 -0
  527. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/daisy.mid +0 -0
  528. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/daisy.pd +45 -0
  529. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/piano.pd +205 -0
  530. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/daisy/voiceForm.pd +340 -0
  531. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/audio-out.pd +33 -0
  532. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/blowHole.pd +330 -0
  533. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/piano.pd +205 -0
  534. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/take5.mid +0 -0
  535. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/take5/take5.pd +45 -0
  536. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/audio-out.pd +33 -0
  537. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/harpsi.pd +204 -0
  538. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/turkish-march.mid +0 -0
  539. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/turkish-march/turkish-march.pd +31 -0
  540. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/audio-out.pd +33 -0
  541. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/bass.pd +162 -0
  542. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/modalBar.pd +258 -0
  543. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/piano.pd +205 -0
  544. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/what-a-friend.pd +52 -0
  545. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fancy/what-a-friend/what_a_friend.mid +0 -0
  546. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/flutes.pd +15 -0
  547. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/fm.pd +10 -0
  548. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/glassBare.pd +10 -0
  549. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/harpsichord-poly.pd +10 -0
  550. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/ironBare.pd +10 -0
  551. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/midi-in.pd +111 -0
  552. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/modal.pd +10 -0
  553. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/osc.pd +26 -0
  554. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/piano-poly.pd +10 -0
  555. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/plucked.pd +20 -0
  556. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/saxophone.pd +10 -0
  557. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/tibetan.pd +10 -0
  558. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/trumpet.pd +10 -0
  559. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/violin.pd +10 -0
  560. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/voiceSynth.pd +10 -0
  561. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/pd-patches/woodenBare.pd +10 -0
  562. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/phonemes.h +189 -0
  563. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/piano.dsp +255 -0
  564. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/piano.h +751 -0
  565. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/saxophony.dsp +114 -0
  566. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/sitar.dsp +48 -0
  567. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/tibetanBowl.dsp +155 -0
  568. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/tunedBar.dsp +123 -0
  569. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/uniBar.dsp +100 -0
  570. cyfaust/resources/libraries/examples/physicalModeling/faust-stk/voiceForm.dsp +125 -0
  571. cyfaust/resources/libraries/examples/physicalModeling/fds/1dDampedWaveEquation.dsp +43 -0
  572. cyfaust/resources/libraries/examples/physicalModeling/fds/2dKirchhoffThinPlate.dsp +75 -0
  573. cyfaust/resources/libraries/examples/physicalModeling/fds/BowedString.dsp +61 -0
  574. cyfaust/resources/libraries/examples/physicalModeling/fds/ControllableNonPhysicalString.dsp +72 -0
  575. cyfaust/resources/libraries/examples/physicalModeling/fds/HammeredString.dsp +74 -0
  576. cyfaust/resources/libraries/examples/physicalModeling/fds/PianoHammeredString.dsp +85 -0
  577. cyfaust/resources/libraries/examples/physicalModeling/fds/StiffString.dsp +54 -0
  578. cyfaust/resources/libraries/examples/physicalModeling/flute.dsp +8 -0
  579. cyfaust/resources/libraries/examples/physicalModeling/fluteMIDI.dsp +8 -0
  580. cyfaust/resources/libraries/examples/physicalModeling/frenchBell.dsp +8 -0
  581. cyfaust/resources/libraries/examples/physicalModeling/germanBell.dsp +8 -0
  582. cyfaust/resources/libraries/examples/physicalModeling/guitarMIDI.dsp +8 -0
  583. cyfaust/resources/libraries/examples/physicalModeling/karplus.dsp +8 -0
  584. cyfaust/resources/libraries/examples/physicalModeling/marimbaMIDI.dsp +10 -0
  585. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator.dsp +58 -0
  586. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator2.dsp +62 -0
  587. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/00_BasicOscillator/harmonicOscillator3.dsp +65 -0
  588. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/01_ParamControl/paramOsc.dsp +63 -0
  589. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/02_AudioParamControl/audioParamOsc.dsp +63 -0
  590. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/03_HammerTime/hammerOsc.dsp +71 -0
  591. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/04_Gravity/bouncingOsc.dsp +64 -0
  592. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/05_PluckedOscillator/pluckedOsc.dsp +57 -0
  593. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/06_BowedOscillator/bowedOsc.dsp +65 -0
  594. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/07_NonLinearOscillator/nlOsc.dsp +78 -0
  595. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/08_TwoMassChain/2massChain.dsp +75 -0
  596. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/09_TinyString/tinyString.dsp +101 -0
  597. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/10_PluckedString/pluckedString.dsp +678 -0
  598. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/11_BowedString/bowedString.dsp +671 -0
  599. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/12_TriangleMesh/triangleMesh.dsp +448 -0
  600. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/13_Construction/construction.dsp +1036 -0
  601. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/14_Polyphonic/polyTriangle.dsp +79 -0
  602. cyfaust/resources/libraries/examples/physicalModeling/mi-faust/15_PhysicalLFO/physicalLFO.dsp +107 -0
  603. cyfaust/resources/libraries/examples/physicalModeling/modularInterpInstrMIDI.dsp +8 -0
  604. cyfaust/resources/libraries/examples/physicalModeling/nylonGuitarMIDI.dsp +8 -0
  605. cyfaust/resources/libraries/examples/physicalModeling/old/harpe.dsp +45 -0
  606. cyfaust/resources/libraries/examples/physicalModeling/old/karplus.dsp +34 -0
  607. cyfaust/resources/libraries/examples/physicalModeling/old/karplus32.dsp +47 -0
  608. cyfaust/resources/libraries/examples/physicalModeling/russianBell.dsp +8 -0
  609. cyfaust/resources/libraries/examples/physicalModeling/standardBell.dsp +8 -0
  610. cyfaust/resources/libraries/examples/physicalModeling/violin.dsp +8 -0
  611. cyfaust/resources/libraries/examples/physicalModeling/violinMIDI.dsp +8 -0
  612. cyfaust/resources/libraries/examples/physicalModeling/vocalBP.dsp +8 -0
  613. cyfaust/resources/libraries/examples/physicalModeling/vocalBPMIDI.dsp +8 -0
  614. cyfaust/resources/libraries/examples/physicalModeling/vocalFOF.dsp +8 -0
  615. cyfaust/resources/libraries/examples/physicalModeling/vocalFOFMIDI.dsp +8 -0
  616. cyfaust/resources/libraries/examples/pitchShifting/pitchShifter.dsp +20 -0
  617. cyfaust/resources/libraries/examples/psychoacoustic/harmonicExciter.dsp +10 -0
  618. cyfaust/resources/libraries/examples/quantizing/quantizedChords.dsp +49 -0
  619. cyfaust/resources/libraries/examples/reverb/dattorro.dsp +8 -0
  620. cyfaust/resources/libraries/examples/reverb/fdnRev.dsp +8 -0
  621. cyfaust/resources/libraries/examples/reverb/freeverb.dsp +8 -0
  622. cyfaust/resources/libraries/examples/reverb/greyhole.dsp +8 -0
  623. cyfaust/resources/libraries/examples/reverb/jprev.dsp +8 -0
  624. cyfaust/resources/libraries/examples/reverb/reverbDesigner.dsp +12 -0
  625. cyfaust/resources/libraries/examples/reverb/reverbTester.dsp +8 -0
  626. cyfaust/resources/libraries/examples/reverb/zitaRev.dsp +8 -0
  627. cyfaust/resources/libraries/examples/reverb/zitaRevFDN.dsp +8 -0
  628. cyfaust/resources/libraries/examples/smartKeyboard/acGuitar.dsp +100 -0
  629. cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/elecGuitarEffect.dsp +8 -0
  630. cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/myEffect.dsp +5 -0
  631. cyfaust/resources/libraries/examples/smartKeyboard/associatedEffects/reverb.dsp +5 -0
  632. cyfaust/resources/libraries/examples/smartKeyboard/bells.dsp +80 -0
  633. cyfaust/resources/libraries/examples/smartKeyboard/bowed.dsp +87 -0
  634. cyfaust/resources/libraries/examples/smartKeyboard/brass.dsp +82 -0
  635. cyfaust/resources/libraries/examples/smartKeyboard/clarinet.dsp +113 -0
  636. cyfaust/resources/libraries/examples/smartKeyboard/crazyGuiro.dsp +96 -0
  637. cyfaust/resources/libraries/examples/smartKeyboard/drums.dsp +74 -0
  638. cyfaust/resources/libraries/examples/smartKeyboard/dubDub.dsp +87 -0
  639. cyfaust/resources/libraries/examples/smartKeyboard/elecGuitar.dsp +67 -0
  640. cyfaust/resources/libraries/examples/smartKeyboard/fm.dsp +78 -0
  641. cyfaust/resources/libraries/examples/smartKeyboard/frog.dsp +74 -0
  642. cyfaust/resources/libraries/examples/smartKeyboard/harp.dsp +84 -0
  643. cyfaust/resources/libraries/examples/smartKeyboard/midiOnly.dsp +62 -0
  644. cyfaust/resources/libraries/examples/smartKeyboard/multiSynth.dsp +75 -0
  645. cyfaust/resources/libraries/examples/smartKeyboard/toy.dsp +71 -0
  646. cyfaust/resources/libraries/examples/smartKeyboard/trumpet.dsp +59 -0
  647. cyfaust/resources/libraries/examples/smartKeyboard/turenas.dsp +114 -0
  648. cyfaust/resources/libraries/examples/smartKeyboard/violin.dsp +91 -0
  649. cyfaust/resources/libraries/examples/smartKeyboard/violin2.dsp +84 -0
  650. cyfaust/resources/libraries/examples/smartKeyboard/vocal.dsp +43 -0
  651. cyfaust/resources/libraries/examples/spat/panpot.dsp +17 -0
  652. cyfaust/resources/libraries/examples/spat/spat.dsp +25 -0
  653. cyfaust/resources/libraries/fds.lib +535 -0
  654. cyfaust/resources/libraries/filter.lib +1710 -0
  655. cyfaust/resources/libraries/filters.lib +3125 -0
  656. cyfaust/resources/libraries/hoa.lib +1081 -0
  657. cyfaust/resources/libraries/instruments.lib +263 -0
  658. cyfaust/resources/libraries/interpolators.lib +675 -0
  659. cyfaust/resources/libraries/math.lib +602 -0
  660. cyfaust/resources/libraries/maths.lib +798 -0
  661. cyfaust/resources/libraries/maxmsp.lib +237 -0
  662. cyfaust/resources/libraries/mi.lib +528 -0
  663. cyfaust/resources/libraries/misceffects.lib +998 -0
  664. cyfaust/resources/libraries/music.lib +496 -0
  665. cyfaust/resources/libraries/noises.lib +487 -0
  666. cyfaust/resources/libraries/oscillator.lib +450 -0
  667. cyfaust/resources/libraries/oscillators.lib +1838 -0
  668. cyfaust/resources/libraries/phaflangers.lib +235 -0
  669. cyfaust/resources/libraries/physmodels.lib +3990 -0
  670. cyfaust/resources/libraries/platform.lib +59 -0
  671. cyfaust/resources/libraries/quantizers.lib +310 -0
  672. cyfaust/resources/libraries/reducemaps.lib +235 -0
  673. cyfaust/resources/libraries/reverbs.lib +686 -0
  674. cyfaust/resources/libraries/routes.lib +262 -0
  675. cyfaust/resources/libraries/sf.lib +53 -0
  676. cyfaust/resources/libraries/signals.lib +570 -0
  677. cyfaust/resources/libraries/soundfiles.lib +234 -0
  678. cyfaust/resources/libraries/spats.lib +173 -0
  679. cyfaust/resources/libraries/stdfaust.lib +38 -0
  680. cyfaust/resources/libraries/synths.lib +322 -0
  681. cyfaust/resources/libraries/tonestacks.lib +427 -0
  682. cyfaust/resources/libraries/tubes.lib +5039 -0
  683. cyfaust/resources/libraries/vaeffects.lib +984 -0
  684. cyfaust/resources/libraries/version.lib +22 -0
  685. cyfaust/resources/libraries/wdmodels.lib +2276 -0
  686. cyfaust/resources/libraries/webaudio.lib +402 -0
  687. cyfaust/signal.pxd +44 -0
  688. cyfaust/signal.pyx +1993 -0
  689. cyfaust-0.1.0.dist-info/METADATA +355 -0
  690. cyfaust-0.1.0.dist-info/RECORD +693 -0
  691. cyfaust-0.1.0.dist-info/WHEEL +5 -0
  692. cyfaust-0.1.0.dist-info/entry_points.txt +3 -0
  693. cyfaust-0.1.0.dist-info/licenses/LICENSE +26 -0
@@ -0,0 +1,889 @@
1
+ /***************************************************************************
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 LIBFAUSTCOMMON_H
26
+ #define LIBFAUSTCOMMON_H
27
+
28
+ #include <string>
29
+ #include <vector>
30
+ #include <ostream>
31
+
32
+ #include "faust/export.h"
33
+
34
+ /*!
35
+ \addtogroup boxcpp C++ interface for the Box API.
36
+ @{
37
+ */
38
+
39
+ /**
40
+ * Opaque types.
41
+ */
42
+ class LIBFAUST_API CTree;
43
+ typedef std::vector<CTree*> tvec;
44
+
45
+ typedef CTree* Signal;
46
+ typedef CTree* Box;
47
+ typedef CTree* Tree;
48
+
49
+ typedef Tree (*prim0)();
50
+ typedef Tree (*prim1)(Tree x);
51
+ typedef Tree (*prim2)(Tree x, Tree y);
52
+ typedef Tree (*prim3)(Tree x, Tree y, Tree z);
53
+ typedef Tree (*prim4)(Tree w, Tree x, Tree y, Tree z);
54
+ typedef Tree (*prim5)(Tree v, Tree w, Tree x, Tree y, Tree z);
55
+
56
+ LIBFAUST_API const char* prim0name(prim0);
57
+ LIBFAUST_API const char* prim1name(prim1);
58
+ LIBFAUST_API const char* prim2name(prim2);
59
+ LIBFAUST_API const char* prim3name(prim3);
60
+ LIBFAUST_API const char* prim4name(prim4);
61
+ LIBFAUST_API const char* prim5name(prim5);
62
+
63
+ /**
64
+ * Return the name parameter of a foreign function.
65
+ *
66
+ * @param s - the signal
67
+ * @return the name
68
+ */
69
+ LIBFAUST_API const char* ffname(Signal s);
70
+
71
+ /**
72
+ * Return the arity of a foreign function.
73
+ *
74
+ * @param s - the signal
75
+ * @return the name
76
+ */
77
+ LIBFAUST_API int ffarity(Signal s);
78
+
79
+ enum SType { kSInt, kSReal };
80
+
81
+ typedef std::vector<SType> svec;
82
+
83
+ typedef std::vector<std::string> nvec;
84
+
85
+ enum SOperator { kAdd, kSub, kMul, kDiv, kRem, kLsh, kARsh, kLRsh, kGT, kLT, kGE, kLE, kEQ, kNE, kAND, kOR, kXOR };
86
+
87
+ /**
88
+ * Base class for factories.
89
+ */
90
+ struct LIBFAUST_API dsp_factory_base {
91
+
92
+ virtual ~dsp_factory_base() {}
93
+
94
+ virtual void write(std::ostream* /*out*/, bool /*binary*/ = false, bool /*compact*/ = false) {}
95
+ };
96
+
97
+ /**
98
+ * Print the box.
99
+ *
100
+ * @param box - the box to be printed
101
+ * @param shared - whether the identical sub boxes are printed as identifiers
102
+ * @param max_size - the maximum number of characters to be printed (possibly needed for big expressions in non shared mode)
103
+ *
104
+ * @return the printed box as a string
105
+ */
106
+ LIBFAUST_API std::string printBox(Box box, bool shared, int max_size);
107
+
108
+ /**
109
+ * Print the signal.
110
+ *
111
+ * @param sig - the signal to be printed
112
+ * @param shared - whether the identical sub signals are printed as identifiers
113
+ * @param max_size - the maximum number of characters to be printed (possibly needed for big expressions in non shared mode)
114
+ *
115
+ * @return the printed signal as a string
116
+ */
117
+ LIBFAUST_API std::string printSignal(Signal sig, bool shared, int max_size);
118
+
119
+ #endif
120
+
121
+ #ifndef LIBFAUSTBOX_H
122
+ #define LIBFAUSTBOX_H
123
+
124
+ /**
125
+ * Indicates the identifier (if any) the expression was a definition of.
126
+ *
127
+ * @param b the expression
128
+ * @param id reference to the identifier
129
+ *
130
+ * @return true if the expression b was a definition of id
131
+ **/
132
+ LIBFAUST_API bool getDefNameProperty(Box b, Box& id);
133
+
134
+ /**
135
+ * Extract the name from a label.
136
+ *
137
+ * @param full_label the label to be analyzed
138
+ *
139
+ * @return the extracted name
140
+ **/
141
+ LIBFAUST_API std::string extractName(Box full_label);
142
+
143
+ /**
144
+ * Create global compilation context, has to be done first.
145
+ */
146
+ extern "C" LIBFAUST_API void createLibContext();
147
+
148
+ /**
149
+ * Destroy global compilation context, has to be done last.
150
+ */
151
+ extern "C" LIBFAUST_API void destroyLibContext();
152
+
153
+ /**
154
+ * Check if a box is nil.
155
+ *
156
+ * @param b - the box
157
+ *
158
+ * @return true if the box is nil, otherwise false.
159
+ */
160
+ LIBFAUST_API bool isNil(Box b);
161
+
162
+ /**
163
+ * Convert a box (such as the label of a UI) to a string.
164
+ *
165
+ * @param b - the box to convert
166
+ *
167
+ * @return a string representation of a box.
168
+ */
169
+ LIBFAUST_API const char* tree2str(Box b);
170
+
171
+ /**
172
+ * If t has a node of type int, return it. Otherwise error
173
+ *
174
+ * @param b - the box to convert
175
+ *
176
+ * @return the int value of the box.
177
+ */
178
+ LIBFAUST_API int tree2int(Box b);
179
+
180
+ /**
181
+ * Return the xtended type of a box.
182
+ *
183
+ * @param b - the box whose xtended type to return
184
+ *
185
+ * @return a pointer to xtended type if it exists, otherwise nullptr.
186
+ */
187
+ LIBFAUST_API void* getUserData(Box b);
188
+
189
+ /**
190
+ * Constant integer : for all t, x(t) = n.
191
+ *
192
+ * @param n - the integer
193
+ *
194
+ * @return the integer box.
195
+ */
196
+
197
+ LIBFAUST_API Box boxInt(int n);
198
+
199
+ /**
200
+ * Constant real : for all t, x(t) = n.
201
+ *
202
+ * @param n - the float/double value (depends of -single or -double compilation parameter)
203
+ *
204
+ * @return the float/double box.
205
+ */
206
+ LIBFAUST_API Box boxReal(double n);
207
+
208
+ /**
209
+ * The identity box, copy its input to its output.
210
+ *
211
+ * @return the identity box.
212
+ */
213
+ LIBFAUST_API Box boxWire();
214
+
215
+ /**
216
+ * The cut box, to "stop"/terminate a signal.
217
+ *
218
+ * @return the cut box.
219
+ */
220
+ LIBFAUST_API Box boxCut();
221
+
222
+ /**
223
+ * The sequential composition of two blocks (e.g., A:B) expects: outputs(A)=inputs(B)
224
+ *
225
+ * @return the seq box.
226
+ */
227
+ LIBFAUST_API Box boxSeq(Box x, Box y);
228
+
229
+ /**
230
+ * The parallel composition of two blocks (e.g., A,B).
231
+ * It places the two block-diagrams one on top of the other, without connections.
232
+ *
233
+ * @return the par box.
234
+ */
235
+ LIBFAUST_API Box boxPar(Box x, Box y);
236
+
237
+ LIBFAUST_API Box boxPar3(Box x, Box y, Box z);
238
+
239
+ LIBFAUST_API Box boxPar4(Box a, Box b, Box c, Box d);
240
+
241
+ LIBFAUST_API Box boxPar5(Box a, Box b, Box c, Box d, Box e);
242
+
243
+ /**
244
+ * The split composition (e.g., A<:B) operator is used to distribute
245
+ * the outputs of A to the inputs of B.
246
+ *
247
+ * For the operation to be valid, the number of inputs of B
248
+ * must be a multiple of the number of outputs of A: outputs(A).k=inputs(B)
249
+ *
250
+ * @return the split box.
251
+ */
252
+ LIBFAUST_API Box boxSplit(Box x, Box y);
253
+
254
+ /**
255
+ * The merge composition (e.g., A:>B) is the dual of the split composition.
256
+ *
257
+ * The number of outputs of A must be a multiple of the number of inputs of B: outputs(A)=k.inputs(B)
258
+ *
259
+ * @return the merge box.
260
+ */
261
+ LIBFAUST_API Box boxMerge(Box x, Box y);
262
+
263
+ /**
264
+ * The recursive composition (e.g., A~B) is used to create cycles in the block-diagram
265
+ * in order to express recursive computations.
266
+ * It is the most complex operation in terms of connections: outputs(A)≥inputs(B) and inputs(A)≥outputs(B)
267
+ *
268
+ * @return the rec box.
269
+ */
270
+ LIBFAUST_API Box boxRec(Box x, Box y);
271
+
272
+ /**
273
+ * The route primitive facilitates the routing of signals in Faust.
274
+ * It has the following syntax: route(A,B,a,b,c,d,...) or route(A,B,(a,b),(c,d),...)
275
+ *
276
+ * @param n - the number of input signals
277
+ * @param m - the number of output signals
278
+ * @param r - the routing description, a 'par' expression of a,b / (a,b) input/output pairs
279
+
280
+ * @return the route box.
281
+ */
282
+ LIBFAUST_API Box boxRoute(Box n, Box m, Box r);
283
+
284
+ /**
285
+ * Create a delayed box.
286
+ *
287
+ * @return the delayed box.
288
+ */
289
+ LIBFAUST_API Box boxDelay();
290
+
291
+ /**
292
+ * Create a delayed box.
293
+ *
294
+ * @param s - the box to be delayed
295
+ * @param del - the delay box that doesn't have to be fixed but must be bounded and cannot be negative
296
+
297
+ * @return the delayed box.
298
+ */
299
+ LIBFAUST_API Box boxDelay(Box b, Box del);
300
+
301
+ /**
302
+ * Create a casted box.
303
+ *
304
+ * @return the casted box.
305
+ */
306
+ LIBFAUST_API Box boxIntCast();
307
+
308
+ /**
309
+ * Create a casted box.
310
+ *
311
+ * @param s - the box to be casted in integer
312
+ *
313
+ * @return the casted box.
314
+ */
315
+ LIBFAUST_API Box boxIntCast(Box b);
316
+
317
+ /**
318
+ * Create a casted box.
319
+ *
320
+ * @return the casted box.
321
+ */
322
+ LIBFAUST_API Box boxFloatCast();
323
+
324
+ /**
325
+ * Create a casted box.
326
+ *
327
+ * @param s - the signal to be casted as float/double value (depends of -single or -double compilation parameter)
328
+ *
329
+ * @return the casted box.
330
+ */
331
+ LIBFAUST_API Box boxFloatCast(Box b);
332
+
333
+ /**
334
+ * Create a read only table.
335
+ *
336
+ * @return the table box.
337
+ */
338
+ LIBFAUST_API Box boxReadOnlyTable();
339
+
340
+ /**
341
+ * Create a read only table.
342
+ *
343
+ * @param n - the table size, a constant numerical expression (see [1])
344
+ * @param init - the table content
345
+ * @param ridx - the read index (an int between 0 and n-1)
346
+ *
347
+ * @return the table box.
348
+ */
349
+ LIBFAUST_API Box boxReadOnlyTable(Box n, Box init, Box ridx);
350
+
351
+ /**
352
+ * Create a read/write table.
353
+ *
354
+ * @return the table box.
355
+ */
356
+ LIBFAUST_API Box boxWriteReadTable();
357
+
358
+ /**
359
+ * Create a read/write table.
360
+ *
361
+ * @param n - the table size, a constant numerical expression (see [1])
362
+ * @param init - the table content
363
+ * @param widx - the write index (an integer between 0 and n-1)
364
+ * @param wsig - the input of the table
365
+ * @param ridx - the read index (an integer between 0 and n-1)
366
+ *
367
+ * @return the table box.
368
+ */
369
+ LIBFAUST_API Box boxWriteReadTable(Box n, Box init, Box widx, Box wsig, Box ridx);
370
+
371
+ /**
372
+ * Create a waveform.
373
+ *
374
+ * @param wf - the content of the waveform as a vector of boxInt or boxDouble boxes
375
+ *
376
+ * @return the waveform box.
377
+ */
378
+ LIBFAUST_API Box boxWaveform(const tvec& wf);
379
+
380
+ /**
381
+ * Create a soundfile block.
382
+ *
383
+ * @param label - of form "label[url:{'path1';'path2';'path3'}]" to describe a list of soundfiles
384
+ * @param chan - the number of outputs channels, a constant numerical expression (see [1])
385
+ *
386
+ * @return the soundfile box.
387
+ */
388
+ LIBFAUST_API Box boxSoundfile(const std::string& label, Box chan);
389
+
390
+ /**
391
+ * Create a soundfile block.
392
+ *
393
+ * @param label - of form "label[url:{'path1';'path2';'path3'}]" to describe a list of soundfiles
394
+ * @param chan - the number of outputs channels, a constant numerical expression (see [1])
395
+ * @param part - in the [0..255] range to select a given sound number, a constant numerical expression (see [1])
396
+ * @param ridx - the read index (an integer between 0 and the selected sound length)
397
+ *
398
+ * @return the soundfile box.
399
+ */
400
+ LIBFAUST_API Box boxSoundfile(const std::string& label, Box chan, Box part, Box ridx);
401
+
402
+ /**
403
+ * Create a selector between two boxes.
404
+ *
405
+ * @return the selected box depending of the selector value at each time t.
406
+ */
407
+ LIBFAUST_API Box boxSelect2();
408
+
409
+ /**
410
+ * Create a selector between two boxes.
411
+ *
412
+ * @param selector - when 0 at time t returns s1[t], otherwise returns s2[t]
413
+ * @param s1 - first box to be selected
414
+ * @param s2 - second box to be selected
415
+ *
416
+ * @return the selected box depending of the selector value at each time t.
417
+ */
418
+ LIBFAUST_API Box boxSelect2(Box selector, Box b1, Box b2);
419
+
420
+ /**
421
+ * Create a selector between three boxes.
422
+ *
423
+ * @return the selected box depending of the selector value at each time t.
424
+ */
425
+ LIBFAUST_API Box boxSelect3();
426
+
427
+ /**
428
+ * Create a selector between three boxes.
429
+ *
430
+ * @param selector - when 0 at time t returns s1[t], when 1 at time t returns s2[t], otherwise returns s3[t]
431
+ * @param s1 - first box to be selected
432
+ * @param s2 - second box to be selected
433
+ * @param s3 - third box to be selected
434
+ *
435
+ * @return the selected box depending of the selector value at each time t.
436
+ */
437
+ LIBFAUST_API Box boxSelect3(Box selector, Box b1, Box b2, Box b3);
438
+
439
+ /**
440
+ * Create a foreign function box.
441
+ *
442
+ * @param rtype - the foreign function return type of SType
443
+ * @param names - the list of function names for single, double, quad, fixed-point
444
+ * @param atypes - the list of arguments types
445
+ * @param incfile - the include file where the foreign function is defined
446
+ * @param libfile - the library file where the foreign function is defined
447
+ *
448
+ * @return the foreign function box.
449
+ */
450
+ LIBFAUST_API Box boxFFun(SType rtype, nvec names, svec atypes, const std::string& incfile, const std::string& libfile);
451
+
452
+ /**
453
+ * Create a foreign constant box.
454
+ *
455
+ * @param type - the foreign constant type of SType
456
+ * @param name - the foreign constant name
457
+ * @param incfile - the include file where the foreign constant is defined
458
+ *
459
+ * @return the foreign constant box.
460
+ */
461
+ LIBFAUST_API Box boxFConst(SType type, const std::string& name, const std::string& incfile);
462
+
463
+ /**
464
+ * Create a foreign variable box.
465
+ *
466
+ * @param type - the foreign variable type of SType
467
+ * @param name - the foreign variable name
468
+ * @param incfile - the include file where the foreign variable is defined
469
+ *
470
+ * @return the foreign variable box.
471
+ */
472
+ LIBFAUST_API Box boxFVar(SType type, const std::string& name, const std::string& incfile);
473
+
474
+ /**
475
+ * Generic binary mathematical functions.
476
+ *
477
+ * @param op - the operator in SOperator set
478
+ *
479
+ * @return the result box of op(x,y).
480
+ */
481
+ LIBFAUST_API Box boxBinOp(SOperator op);
482
+
483
+ LIBFAUST_API Box boxBinOp(SOperator op, Box b1, Box b2);
484
+
485
+ /**
486
+ * Specific binary mathematical functions.
487
+ *
488
+ * @return the result box.
489
+ */
490
+ LIBFAUST_API Box boxAdd();
491
+ LIBFAUST_API Box boxAdd(Box b1, Box b2);
492
+ LIBFAUST_API Box boxSub();
493
+ LIBFAUST_API Box boxSub(Box b1, Box b2);
494
+ LIBFAUST_API Box boxMul();
495
+ LIBFAUST_API Box boxMul(Box b1, Box b2);
496
+ LIBFAUST_API Box boxDiv();
497
+ LIBFAUST_API Box boxDiv(Box b1, Box b2);
498
+ LIBFAUST_API Box boxRem();
499
+ LIBFAUST_API Box boxRem(Box b1, Box b2);
500
+
501
+ LIBFAUST_API Box boxLeftShift();
502
+ LIBFAUST_API Box boxLeftShift(Box b1, Box b2);
503
+ LIBFAUST_API Box boxLRightShift();
504
+ LIBFAUST_API Box boxLRightShift(Box b1, Box b2);
505
+ LIBFAUST_API Box boxARightShift();
506
+ LIBFAUST_API Box boxARightShift(Box b1, Box b2);
507
+
508
+ LIBFAUST_API Box boxGT();
509
+ LIBFAUST_API Box boxGT(Box b1, Box b2);
510
+ LIBFAUST_API Box boxLT();
511
+ LIBFAUST_API Box boxLT(Box b1, Box b2);
512
+ LIBFAUST_API Box boxGE();
513
+ LIBFAUST_API Box boxGE(Box b1, Box b2);
514
+ LIBFAUST_API Box boxLE();
515
+ LIBFAUST_API Box boxLE(Box b1, Box b2);
516
+ LIBFAUST_API Box boxEQ();
517
+ LIBFAUST_API Box boxEQ(Box b1, Box b2);
518
+ LIBFAUST_API Box boxNE();
519
+ LIBFAUST_API Box boxNE(Box b1, Box b2);
520
+
521
+ LIBFAUST_API Box boxAND();
522
+ LIBFAUST_API Box boxAND(Box b1, Box b2);
523
+ LIBFAUST_API Box boxOR();
524
+ LIBFAUST_API Box boxOR(Box b1, Box b2);
525
+ LIBFAUST_API Box boxXOR();
526
+ LIBFAUST_API Box boxXOR(Box b1, Box b2);
527
+
528
+ /**
529
+ * Extended unary mathematical functions.
530
+ */
531
+ LIBFAUST_API Box boxAbs();
532
+ LIBFAUST_API Box boxAbs(Box x);
533
+ LIBFAUST_API Box boxAcos();
534
+ LIBFAUST_API Box boxAcos(Box x);
535
+ LIBFAUST_API Box boxTan();
536
+ LIBFAUST_API Box boxTan(Box x);
537
+ LIBFAUST_API Box boxSqrt();
538
+ LIBFAUST_API Box boxSqrt(Box x);
539
+ LIBFAUST_API Box boxSin();
540
+ LIBFAUST_API Box boxSin(Box x);
541
+ LIBFAUST_API Box boxRint();
542
+ LIBFAUST_API Box boxRint(Box x);
543
+ LIBFAUST_API Box boxRound();
544
+ LIBFAUST_API Box boxRound(Box x);
545
+ LIBFAUST_API Box boxLog();
546
+ LIBFAUST_API Box boxLog(Box x);
547
+ LIBFAUST_API Box boxLog10();
548
+ LIBFAUST_API Box boxLog10(Box x);
549
+ LIBFAUST_API Box boxFloor();
550
+ LIBFAUST_API Box boxFloor(Box x);
551
+ LIBFAUST_API Box boxExp();
552
+ LIBFAUST_API Box boxExp(Box x);
553
+ LIBFAUST_API Box boxExp10();
554
+ LIBFAUST_API Box boxExp10(Box x);
555
+ LIBFAUST_API Box boxCos();
556
+ LIBFAUST_API Box boxCos(Box x);
557
+ LIBFAUST_API Box boxCeil();
558
+ LIBFAUST_API Box boxCeil(Box x);
559
+ LIBFAUST_API Box boxAtan();
560
+ LIBFAUST_API Box boxAtan(Box x);
561
+ LIBFAUST_API Box boxAsin();
562
+ LIBFAUST_API Box boxAsin(Box x);
563
+
564
+ /**
565
+ * Extended binary mathematical functions.
566
+ */
567
+ LIBFAUST_API Box boxRemainder();
568
+ LIBFAUST_API Box boxRemainder(Box b1, Box b2);
569
+ LIBFAUST_API Box boxPow();
570
+ LIBFAUST_API Box boxPow(Box b1, Box b2);
571
+ LIBFAUST_API Box boxMin();
572
+ LIBFAUST_API Box boxMin(Box b1, Box b2);
573
+ LIBFAUST_API Box boxMax();
574
+ LIBFAUST_API Box boxMax(Box b1, Box b2);
575
+ LIBFAUST_API Box boxFmod();
576
+ LIBFAUST_API Box boxFmod(Box b1, Box b2);
577
+ LIBFAUST_API Box boxAtan2();
578
+ LIBFAUST_API Box boxAtan2(Box b1, Box b2);
579
+
580
+ /**
581
+ * Create a button box.
582
+ *
583
+ * @param label - the label definition (see [2])
584
+ *
585
+ * @return the button box.
586
+ */
587
+ LIBFAUST_API Box boxButton(const std::string& label);
588
+
589
+ /**
590
+ * Create a checkbox box.
591
+ *
592
+ * @param label - the label definition (see [2])
593
+ *
594
+ * @return the checkbox box.
595
+ */
596
+ LIBFAUST_API Box boxCheckbox(const std::string& label);
597
+
598
+ /**
599
+ * Create a vertical slider box.
600
+ *
601
+ * @param label - the label definition (see [2])
602
+ * @param init - the init box, a constant numerical expression (see [1])
603
+ * @param min - the min box, a constant numerical expression (see [1])
604
+ * @param max - the max box, a constant numerical expression (see [1])
605
+ * @param step - the step box, a constant numerical expression (see [1])
606
+ *
607
+ * @return the vertical slider box.
608
+ */
609
+ LIBFAUST_API Box boxVSlider(const std::string& label, Box init, Box min, Box max, Box step);
610
+
611
+ /**
612
+ * Create an horizontal slider box.
613
+ *
614
+ * @param label - the label definition (see [2])
615
+ * @param init - the init box, a constant numerical expression (see [1])
616
+ * @param min - the min box, a constant numerical expression (see [1])
617
+ * @param max - the max box, a constant numerical expression (see [1])
618
+ * @param step - the step box, a constant numerical expression (see [1])
619
+ *
620
+ * @return the horizontal slider box.
621
+ */
622
+ LIBFAUST_API Box boxHSlider(const std::string& label, Box init, Box min, Box max, Box step);
623
+
624
+ /**
625
+ * Create a num entry box.
626
+ *
627
+ * @param label - the label definition (see [2])
628
+ * @param init - the init box, a constant numerical expression (see [1])
629
+ * @param min - the min box, a constant numerical expression (see [1])
630
+ * @param max - the max box, a constant numerical expression (see [1])
631
+ * @param step - the step box, a constant numerical expression (see [1])
632
+ *
633
+ * @return the num entry box.
634
+ */
635
+ LIBFAUST_API Box boxNumEntry(const std::string& label, Box init, Box min, Box max, Box step);
636
+
637
+ /**
638
+ * Create a vertical bargraph box.
639
+ *
640
+ * @param label - the label definition (see [2])
641
+ * @param min - the min box, a constant numerical expression (see [1])
642
+ * @param max - the max box, a constant numerical expression (see [1])
643
+ *
644
+ * @return the vertical bargraph box.
645
+ */
646
+ LIBFAUST_API Box boxVBargraph(const std::string& label, Box min, Box max);
647
+
648
+ /**
649
+ * Create a vertical bargraph box.
650
+ *
651
+ * @param label - the label definition (see [2])
652
+ * @param min - the min box, a constant numerical expression (see [1])
653
+ * @param max - the max box, a constant numerical expression (see [1])
654
+ * @param x - the input box
655
+ *
656
+ * @return the vertical bargraph box.
657
+ */
658
+ LIBFAUST_API Box boxVBargraph(const std::string& label, Box min, Box max, Box x);
659
+
660
+ /**
661
+ * Create an horizontal bargraph box.
662
+ *
663
+ * @param label - the label definition (see [2])
664
+ * @param min - the min box, a constant numerical expression (see [1])
665
+ * @param max - the max box, a constant numerical expression (see [1])
666
+ *
667
+ * @return the horizontal bargraph box.
668
+ */
669
+ LIBFAUST_API Box boxHBargraph(const std::string& label, Box min, Box max);
670
+
671
+ /**
672
+ * Create a horizontal bargraph box.
673
+ *
674
+ * @param label - the label definition (see [2])
675
+ * @param min - the min box, a constant numerical expression (see [1])
676
+ * @param max - the max box, a constant numerical expression (see [1])
677
+ * @param x - the input box
678
+ *
679
+ * @return the horizontal bargraph box.
680
+ */
681
+ LIBFAUST_API Box boxHBargraph(const std::string& label, Box min, Box max, Box x);
682
+
683
+ /**
684
+ * Create a vertical group box.
685
+ * @param label - the label definition (see [2])
686
+ * @param group - the group to be added
687
+ *
688
+ * @return the vertical group box.
689
+ */
690
+ LIBFAUST_API Box boxVGroup(const std::string& label, Box group);
691
+
692
+ /**
693
+ * Create a horizontal group box.
694
+ * @param label - the label definition (see [2])
695
+ * @param group - the group to be added
696
+ *
697
+ * @return the horizontal group box.
698
+ */
699
+ LIBFAUST_API Box boxHGroup(const std::string& label, Box group);
700
+
701
+ /**
702
+ * Create a tab group box.
703
+ * @param label - the label definition (see [2])
704
+ * @param group - the group to be added
705
+ *
706
+ * @return the tab group box.
707
+ */
708
+ LIBFAUST_API Box boxTGroup(const std::string& label, Box group);
709
+
710
+ /**
711
+ * Create an attach box.
712
+ *
713
+ * The attach primitive takes two input boxes and produces one output box
714
+ * which is a copy of the first input. The role of attach is to force
715
+ * its second input boxes to be compiled with the first one.
716
+ *
717
+ * @return the attach box.
718
+ */
719
+ LIBFAUST_API Box boxAttach();
720
+
721
+ /**
722
+ * Create an attach box.
723
+ *
724
+ * The attach primitive takes two input box and produces one output box
725
+ * which is a copy of the first input. The role of attach is to force
726
+ * its second input box to be compiled with the first one.
727
+ *
728
+ * @param s1 - the first box
729
+ * @param s2 - the second box
730
+ *
731
+ * @return the attach box.
732
+ */
733
+ LIBFAUST_API Box boxAttach(Box b1, Box b2);
734
+
735
+ LIBFAUST_API Box boxPrim2(prim2 foo);
736
+
737
+ /**
738
+ * Test each box and fill additional boxe specific parameters.
739
+ *
740
+ * @return true and fill the specific parameters if the box is of a given type, false otherwise
741
+ */
742
+ LIBFAUST_API bool isBoxAbstr(Box t);
743
+ LIBFAUST_API bool isBoxAbstr(Box t, Box& x, Box& y);
744
+ LIBFAUST_API bool isBoxAccess(Box t, Box& exp, Box& id);
745
+ LIBFAUST_API bool isBoxAppl(Box t);
746
+ LIBFAUST_API bool isBoxAppl(Box t, Box& x, Box& y);
747
+ LIBFAUST_API bool isBoxButton(Box b);
748
+ LIBFAUST_API bool isBoxButton(Box b, Box& lbl);
749
+ LIBFAUST_API bool isBoxCase(Box b);
750
+ LIBFAUST_API bool isBoxCase(Box b, Box& rules);
751
+ LIBFAUST_API bool isBoxCheckbox(Box b);
752
+ LIBFAUST_API bool isBoxCheckbox(Box b, Box& lbl);
753
+ LIBFAUST_API bool isBoxComponent(Box b, Box& filename);
754
+ LIBFAUST_API bool isBoxCut(Box t);
755
+ LIBFAUST_API bool isBoxEnvironment(Box b);
756
+ LIBFAUST_API bool isBoxError(Box t);
757
+ LIBFAUST_API bool isBoxFConst(Box b);
758
+ LIBFAUST_API bool isBoxFConst(Box b, Box& type, Box& name, Box& file);
759
+ LIBFAUST_API bool isBoxFFun(Box b);
760
+ LIBFAUST_API bool isBoxFFun(Box b, Box& ff);
761
+ LIBFAUST_API bool isBoxFVar(Box b);
762
+ LIBFAUST_API bool isBoxFVar(Box b, Box& type, Box& name, Box& file);
763
+ LIBFAUST_API bool isBoxHBargraph(Box b);
764
+ LIBFAUST_API bool isBoxHBargraph(Box b, Box& lbl, Box& min, Box& max);
765
+ LIBFAUST_API bool isBoxHGroup(Box b);
766
+ LIBFAUST_API bool isBoxHGroup(Box b, Box& lbl, Box& x);
767
+ LIBFAUST_API bool isBoxHSlider(Box b);
768
+ LIBFAUST_API bool isBoxHSlider(Box b, Box& lbl, Box& cur, Box& min, Box& max, Box& step);
769
+ LIBFAUST_API bool isBoxIdent(Box t);
770
+ LIBFAUST_API bool isBoxIdent(Box t, const char** str);
771
+ LIBFAUST_API bool isBoxInputs(Box t, Box& x);
772
+ LIBFAUST_API bool isBoxInt(Box t);
773
+ LIBFAUST_API bool isBoxInt(Box t, int* i);
774
+ LIBFAUST_API bool isBoxIPar(Box t, Box& x, Box& y, Box& z);
775
+ LIBFAUST_API bool isBoxIProd(Box t, Box& x, Box& y, Box& z);
776
+ LIBFAUST_API bool isBoxISeq(Box t, Box& x, Box& y, Box& z);
777
+ LIBFAUST_API bool isBoxISum(Box t, Box& x, Box& y, Box& z);
778
+ LIBFAUST_API bool isBoxLibrary(Box b, Box& filename);
779
+ LIBFAUST_API bool isBoxMerge(Box t, Box& x, Box& y);
780
+ LIBFAUST_API bool isBoxMetadata(Box b, Box& exp, Box& mdlist);
781
+ LIBFAUST_API bool isBoxNumEntry(Box b);
782
+ LIBFAUST_API bool isBoxNumEntry(Box b, Box& lbl, Box& cur, Box& min, Box& max, Box& step);
783
+ LIBFAUST_API bool isBoxOutputs(Box t, Box& x);
784
+ LIBFAUST_API bool isBoxPar(Box t, Box& x, Box& y);
785
+ LIBFAUST_API bool isBoxPrim0(Box b);
786
+ LIBFAUST_API bool isBoxPrim1(Box b);
787
+ LIBFAUST_API bool isBoxPrim2(Box b);
788
+ LIBFAUST_API bool isBoxPrim3(Box b);
789
+ LIBFAUST_API bool isBoxPrim4(Box b);
790
+ LIBFAUST_API bool isBoxPrim5(Box b);
791
+ LIBFAUST_API bool isBoxPrim0(Box b, prim0* p);
792
+ LIBFAUST_API bool isBoxPrim1(Box b, prim1* p);
793
+ LIBFAUST_API bool isBoxPrim2(Box b, prim2* p);
794
+ LIBFAUST_API bool isBoxPrim3(Box b, prim3* p);
795
+ LIBFAUST_API bool isBoxPrim4(Box b, prim4* p);
796
+ LIBFAUST_API bool isBoxPrim5(Box b, prim5* p);
797
+ LIBFAUST_API bool isBoxReal(Box t);
798
+ LIBFAUST_API bool isBoxReal(Box t, double* r);
799
+ LIBFAUST_API bool isBoxRec(Box t, Box& x, Box& y);
800
+ LIBFAUST_API bool isBoxRoute(Box b, Box& n, Box& m, Box& r);
801
+ LIBFAUST_API bool isBoxSeq(Box t, Box& x, Box& y);
802
+ LIBFAUST_API bool isBoxSlot(Box t);
803
+ LIBFAUST_API bool isBoxSlot(Box t, int* id);
804
+ LIBFAUST_API bool isBoxSoundfile(Box b);
805
+ LIBFAUST_API bool isBoxSoundfile(Box b, Box& label, Box& chan);
806
+ LIBFAUST_API bool isBoxSplit(Box t, Box& x, Box& y);
807
+ LIBFAUST_API bool isBoxSymbolic(Box t);
808
+ LIBFAUST_API bool isBoxSymbolic(Box t, Box& slot, Box& body);
809
+ LIBFAUST_API bool isBoxTGroup(Box b);
810
+ LIBFAUST_API bool isBoxTGroup(Box b, Box& lbl, Box& x);
811
+ LIBFAUST_API bool isBoxVBargraph(Box b);
812
+ LIBFAUST_API bool isBoxVBargraph(Box b, Box& lbl, Box& min, Box& max);
813
+ LIBFAUST_API bool isBoxVGroup(Box b);
814
+ LIBFAUST_API bool isBoxVGroup(Box b, Box& lbl, Box& x);
815
+ LIBFAUST_API bool isBoxVSlider(Box b);
816
+ LIBFAUST_API bool isBoxVSlider(Box b, Box& lbl, Box& cur, Box& min, Box& max, Box& step);
817
+ LIBFAUST_API bool isBoxWaveform(Box b);
818
+ LIBFAUST_API bool isBoxWire(Box t);
819
+ LIBFAUST_API bool isBoxWithLocalDef(Box t, Box& body, Box& ldef);
820
+
821
+ /**
822
+ * Compile a DSP source code as a string in a flattened box
823
+ *
824
+ * @param name_app - the name of the Faust program
825
+ * @param dsp_content - the Faust program as a string
826
+ * @param argc - the number of parameters in argv array
827
+ * @param argv - the array of parameters
828
+ * @param inputs - the place to return the number of inputs of the resulting box
829
+ * @param outputs - the place to return the number of outputs of the resulting box
830
+ * @param error_msg - the error string to be filled
831
+ *
832
+ * @return a flattened box on success, otherwise a null pointer.
833
+ */
834
+ LIBFAUST_API Box DSPToBoxes(const std::string& name_app, const std::string& dsp_content, int argc, const char* argv[], int* inputs, int* outputs, std::string& error_msg);
835
+
836
+ /**
837
+ * Return the number of inputs and outputs of a box
838
+ *
839
+ * @param box - the box we want to know the number of inputs and outputs
840
+ * @param inputs - the place to return the number of inputs
841
+ * @param outputs - the place to return the number of outputs
842
+ *
843
+ * @return true if type is defined, false if undefined.
844
+ */
845
+ LIBFAUST_API bool getBoxType(Box box, int* inputs, int* outputs);
846
+
847
+ /**
848
+ * Compile a box expression in a list of signals in normal form
849
+ * (see simplifyToNormalForm in libfaust-signal.h)
850
+ *
851
+ * @param box - the box expression
852
+ * @param error_msg - the error string to be filled
853
+ *
854
+ * @return a list of signals in normal form on success, otherwise an empty list.
855
+ */
856
+ LIBFAUST_API tvec boxesToSignals(Box box, std::string& error_msg);
857
+
858
+ /**
859
+ * Create source code in a target language from a box expression.
860
+ *
861
+ * @param name_app - the name of the Faust program
862
+ * @param box - the box expression
863
+ * @param lang - the target source code's language which can be one of "c",
864
+ * "cpp", "cmajor", "codebox", "csharp", "dlang", "fir", "interp", "java", "jax",
865
+ * "jsfx", "julia", "ocpp", "rust" or "wast"
866
+ * (depending of which of the corresponding backends are compiled in libfaust)
867
+ * @param argc - the number of parameters in argv array
868
+ * @param argv - the array of parameters
869
+ * @param error_msg - the error string to be filled
870
+ *
871
+ * @return a string of source code on success, setting error_msg on error.
872
+ */
873
+ LIBFAUST_API std::string createSourceFromBoxes(const std::string& name_app, Box box,
874
+ const std::string& lang,
875
+ int argc, const char* argv[],
876
+ std::string& error_msg);
877
+
878
+
879
+
880
+ /*
881
+ [1] Constant numerical expression : see https://faustdoc.grame.fr/manual/syntax/#constant-numerical-expressions
882
+ [2] Label definition : https://faustdoc.grame.fr/manual/syntax/#variable-parts-of-a-label
883
+ */
884
+
885
+ /*!
886
+ @}
887
+ */
888
+
889
+ #endif