Audio plugin host https://kx.studio/carla
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

475 lines
9.4KB

  1. /*
  2. * Carla Native Plugins
  3. * Copyright (C) 2012-2016 Filipe Coelho <falktx@falktx.com>
  4. *
  5. * This program is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU General Public License as
  7. * published by the Free Software Foundation; either version 2 of
  8. * the License, or any later version.
  9. *
  10. * This program is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. *
  15. * For a full copy of the GNU General Public License see the doc/GPL.txt file.
  16. */
  17. #include "CarlaDefines.h"
  18. #ifdef CARLA_OS_WIN
  19. # include <cmath>
  20. # define errx(...) {}
  21. # define warnx(...) {}
  22. # define rindex strrchr
  23. #else
  24. # include <err.h>
  25. #endif
  26. #define PLUGINVERSION
  27. #define SOURCE_DIR "/usr/share/zynaddsubfx/examples"
  28. #undef override
  29. // base c-style headers
  30. #include "zynaddsubfx/tlsf/tlsf.h"
  31. #include "zynaddsubfx/rtosc/rtosc.h"
  32. // C-code includes
  33. extern "C" {
  34. #include "zynaddsubfx/tlsf/tlsf.c"
  35. #undef TLSF_64BIT
  36. #undef tlsf_decl
  37. #undef tlsf_fls_sizet
  38. #undef tlsf_cast
  39. #undef tlsf_min
  40. #undef tlsf_max
  41. #undef tlsf_assert
  42. #undef _tlsf_glue2
  43. #undef _tlsf_glue
  44. #undef tlsf_static_assert
  45. #undef tlsf_insist
  46. #include "zynaddsubfx/rtosc/dispatch.c"
  47. #include "zynaddsubfx/rtosc/rtosc.c"
  48. }
  49. // rtosc includes
  50. #include "zynaddsubfx/rtosc/cpp/midimapper.cpp"
  51. #include "zynaddsubfx/rtosc/cpp/miditable.cpp"
  52. #undef RTOSC_INVALID_MIDI
  53. #undef MAX_UNHANDLED_PATH
  54. #include "zynaddsubfx/rtosc/cpp/ports.cpp"
  55. #undef __builtin_expect
  56. #include "zynaddsubfx/rtosc/cpp/subtree-serialize.cpp"
  57. #include "zynaddsubfx/rtosc/cpp/thread-link.cpp"
  58. #undef off_t
  59. #include "zynaddsubfx/rtosc/cpp/undo-history.cpp"
  60. // zynaddsubfx includes
  61. #include "zynaddsubfx/Containers/MultiPseudoStack.cpp"
  62. #undef rObject
  63. #undef rStdString
  64. #undef rStdStringCb
  65. #undef rChangeCb
  66. #define rChangeCb
  67. #include "zynaddsubfx/Containers/NotePool.cpp"
  68. #undef rObject
  69. #undef rStdString
  70. #undef rStdStringCb
  71. #undef rChangeCb
  72. #define rChangeCb
  73. #include "zynaddsubfx/DSP/AnalogFilter.cpp"
  74. #undef rObject
  75. #undef rStdString
  76. #undef rStdStringCb
  77. #undef rChangeCb
  78. #define rChangeCb
  79. #include "zynaddsubfx/DSP/FFTwrapper.cpp"
  80. #undef rObject
  81. #undef rStdString
  82. #undef rStdStringCb
  83. #undef rChangeCb
  84. #define rChangeCb
  85. #include "zynaddsubfx/DSP/Filter.cpp"
  86. #undef rObject
  87. #undef rStdString
  88. #undef rStdStringCb
  89. #undef rChangeCb
  90. #define rChangeCb
  91. #include "zynaddsubfx/DSP/FormantFilter.cpp"
  92. #undef rObject
  93. #undef rStdString
  94. #undef rStdStringCb
  95. #undef rChangeCb
  96. #define rChangeCb
  97. #include "zynaddsubfx/DSP/SVFilter.cpp"
  98. #undef rObject
  99. #undef rStdString
  100. #undef rStdStringCb
  101. #undef rChangeCb
  102. #define rChangeCb
  103. #include "zynaddsubfx/DSP/Unison.cpp"
  104. #undef rObject
  105. #undef rStdString
  106. #undef rStdStringCb
  107. #undef rChangeCb
  108. #define rChangeCb
  109. #include "zynaddsubfx/Effects/Alienwah.cpp"
  110. #undef rObject
  111. #undef rStdString
  112. #undef rStdStringCb
  113. #undef rChangeCb
  114. #define rChangeCb
  115. #include "zynaddsubfx/Effects/Chorus.cpp"
  116. #undef rObject
  117. #undef rStdString
  118. #undef rStdStringCb
  119. #undef rChangeCb
  120. #define rChangeCb
  121. #include "zynaddsubfx/Effects/Distorsion.cpp"
  122. #undef rObject
  123. #undef rStdString
  124. #undef rStdStringCb
  125. #undef rChangeCb
  126. #define rChangeCb
  127. #include "zynaddsubfx/Effects/DynamicFilter.cpp"
  128. #undef rObject
  129. #undef rStdString
  130. #undef rStdStringCb
  131. #undef rChangeCb
  132. #define rChangeCb
  133. #include "zynaddsubfx/Effects/Echo.cpp"
  134. #undef MAX_DELAY
  135. #undef rObject
  136. #undef rStdString
  137. #undef rStdStringCb
  138. #undef rChangeCb
  139. #define rChangeCb
  140. #include "zynaddsubfx/Effects/Effect.cpp"
  141. #undef rObject
  142. #undef rStdString
  143. #undef rStdStringCb
  144. #undef rChangeCb
  145. #define rChangeCb
  146. #include "zynaddsubfx/Effects/EffectLFO.cpp"
  147. #undef rObject
  148. #undef rStdString
  149. #undef rStdStringCb
  150. #undef rChangeCb
  151. #define rChangeCb
  152. #include "zynaddsubfx/Effects/EffectMgr.cpp"
  153. #undef rObject
  154. #undef rStdString
  155. #undef rStdStringCb
  156. #undef rChangeCb
  157. #define rChangeCb
  158. #include "zynaddsubfx/Effects/EQ.cpp"
  159. #undef rObject
  160. #undef rStdString
  161. #undef rStdStringCb
  162. #undef rChangeCb
  163. #define rChangeCb
  164. #include "zynaddsubfx/Effects/Phaser.cpp"
  165. #undef rObject
  166. #undef rStdString
  167. #undef rStdStringCb
  168. #undef rChangeCb
  169. #define rChangeCb
  170. #undef PHASER_LFO_SHAPE
  171. #undef ONE_
  172. #undef ZERO_
  173. #include "zynaddsubfx/Effects/Reverb.cpp"
  174. #undef rObject
  175. #undef rStdString
  176. #undef rStdStringCb
  177. #undef rChangeCb
  178. #define rChangeCb
  179. #include "zynaddsubfx/Misc/Allocator.cpp"
  180. #undef rObject
  181. #undef rStdString
  182. #undef rStdStringCb
  183. #undef rChangeCb
  184. #define rChangeCb
  185. #include "zynaddsubfx/Misc/Bank.cpp"
  186. #undef INSTRUMENT_EXTENSION
  187. #undef FORCE_BANK_DIR_FILE
  188. #undef rObject
  189. #undef rStdString
  190. #undef rStdStringCb
  191. #undef rChangeCb
  192. #define rChangeCb
  193. #include "zynaddsubfx/Misc/CallbackRepeater.cpp"
  194. #undef rObject
  195. #undef rStdString
  196. #undef rStdStringCb
  197. #undef rChangeCb
  198. #define rChangeCb
  199. #include "zynaddsubfx/Misc/Config.cpp"
  200. #undef rObject
  201. #undef rStdString
  202. #undef rStdStringCb
  203. #undef rChangeCb
  204. #define rChangeCb
  205. #include "zynaddsubfx/Misc/Master.cpp"
  206. #undef rObject
  207. #undef rStdString
  208. #undef rStdStringCb
  209. #undef rChangeCb
  210. #define rChangeCb
  211. #include "zynaddsubfx/Misc/Microtonal.cpp"
  212. #undef MAX_LINE_SIZE
  213. #undef rObject
  214. #undef rStdString
  215. #undef rStdStringCb
  216. #undef rChangeCb
  217. #define rChangeCb
  218. #include "zynaddsubfx/Misc/MiddleWare.cpp"
  219. #undef rObject
  220. #undef rStdString
  221. #undef rStdStringCb
  222. #undef rChangeCb
  223. #define rChangeCb
  224. #include "zynaddsubfx/Misc/Part.cpp"
  225. #undef CLONE
  226. #undef rObject
  227. #undef rStdString
  228. #undef rStdStringCb
  229. #undef rChangeCb
  230. #define rChangeCb
  231. #include "zynaddsubfx/Misc/PresetExtractor.cpp"
  232. #undef rObject
  233. #undef rStdString
  234. #undef rStdStringCb
  235. #undef rChangeCb
  236. #define rChangeCb
  237. #include "zynaddsubfx/Misc/Recorder.cpp"
  238. #undef rObject
  239. #undef rStdString
  240. #undef rStdStringCb
  241. #undef rChangeCb
  242. #define rChangeCb
  243. #include "zynaddsubfx/Misc/Util.cpp"
  244. #undef rObject
  245. #undef rStdString
  246. #undef rStdStringCb
  247. #undef rChangeCb
  248. #define rChangeCb
  249. #include "zynaddsubfx/Misc/WavFile.cpp"
  250. #undef rObject
  251. #undef rStdString
  252. #undef rStdStringCb
  253. #undef rChangeCb
  254. #define rChangeCb
  255. #include "zynaddsubfx/Misc/WaveShapeSmps.cpp"
  256. #undef rObject
  257. #undef rStdString
  258. #undef rStdStringCb
  259. #undef rChangeCb
  260. #define rChangeCb
  261. #include "zynaddsubfx/Misc/XMLwrapper.cpp"
  262. #undef rObject
  263. #undef rStdString
  264. #undef rStdStringCb
  265. #undef rChangeCb
  266. #define rChangeCb
  267. #include "zynaddsubfx/Params/ADnoteParameters.cpp"
  268. #undef EXPAND
  269. #undef rObject
  270. #undef rStdString
  271. #undef rStdStringCb
  272. #undef rChangeCb
  273. #define rChangeCb
  274. #include "zynaddsubfx/Params/Controller.cpp"
  275. #undef rObject
  276. #undef rStdString
  277. #undef rStdStringCb
  278. #undef rChangeCb
  279. #define rChangeCb
  280. #include "zynaddsubfx/Params/EnvelopeParams.cpp"
  281. #undef rObject
  282. #undef rStdString
  283. #undef rStdStringCb
  284. #undef rChangeCb
  285. #define rChangeCb
  286. #include "zynaddsubfx/Params/FilterParams.cpp"
  287. #undef rObject
  288. #undef rStdString
  289. #undef rStdStringCb
  290. #undef rChangeCb
  291. #define rChangeCb
  292. #include "zynaddsubfx/Params/LFOParams.cpp"
  293. #undef rObject
  294. #undef rStdString
  295. #undef rStdStringCb
  296. #undef rChangeCb
  297. #define rChangeCb
  298. #include "zynaddsubfx/Params/PADnoteParameters.cpp"
  299. #undef PC
  300. #undef P_C
  301. #undef rObject
  302. #undef rStdString
  303. #undef rStdStringCb
  304. #undef rChangeCb
  305. #define rChangeCb
  306. #include "zynaddsubfx/Params/Presets.cpp"
  307. #undef rObject
  308. #undef rStdString
  309. #undef rStdStringCb
  310. #undef rChangeCb
  311. #define rChangeCb
  312. #include "zynaddsubfx/Params/PresetsArray.cpp"
  313. #undef rObject
  314. #undef rStdString
  315. #undef rStdStringCb
  316. #undef rChangeCb
  317. #define rChangeCb
  318. #include "zynaddsubfx/Params/PresetsStore.cpp"
  319. #undef rObject
  320. #undef rStdString
  321. #undef rStdStringCb
  322. #undef rChangeCb
  323. #define rChangeCb
  324. #include "zynaddsubfx/Params/SUBnoteParameters.cpp"
  325. #undef doPaste
  326. #undef doPPaste
  327. #undef rObject
  328. #undef rStdString
  329. #undef rStdStringCb
  330. #undef rChangeCb
  331. #define rChangeCb
  332. #include "zynaddsubfx/Synth/ADnote.cpp"
  333. #undef rObject
  334. #undef rStdString
  335. #undef rStdStringCb
  336. #undef rChangeCb
  337. #define rChangeCb
  338. #include "zynaddsubfx/Synth/Envelope.cpp"
  339. #undef rObject
  340. #undef rStdString
  341. #undef rStdStringCb
  342. #undef rChangeCb
  343. #define rChangeCb
  344. #include "zynaddsubfx/Synth/LFO.cpp"
  345. #undef rObject
  346. #undef rStdString
  347. #undef rStdStringCb
  348. #undef rChangeCb
  349. #define rChangeCb
  350. #include "zynaddsubfx/Synth/ModFilter.cpp"
  351. #undef rObject
  352. #undef rStdString
  353. #undef rStdStringCb
  354. #undef rChangeCb
  355. #define rChangeCb
  356. #include "zynaddsubfx/Synth/OscilGen.cpp"
  357. #undef PC
  358. #undef DIFF
  359. #undef PRESERVE
  360. #undef RESTORE
  361. #undef FUNC
  362. #undef FILTER
  363. #undef rObject
  364. #undef rStdString
  365. #undef rStdStringCb
  366. #undef rChangeCb
  367. #define rChangeCb
  368. #include "zynaddsubfx/Synth/PADnote.cpp"
  369. #undef rObject
  370. #undef rStdString
  371. #undef rStdStringCb
  372. #undef rChangeCb
  373. #define rChangeCb
  374. #include "zynaddsubfx/Synth/Resonance.cpp"
  375. #undef rObject
  376. #undef rStdString
  377. #undef rStdStringCb
  378. #undef rChangeCb
  379. #define rChangeCb
  380. #include "zynaddsubfx/Synth/SUBnote.cpp"
  381. #undef rObject
  382. #undef rStdString
  383. #undef rStdStringCb
  384. #undef rChangeCb
  385. #define rChangeCb
  386. #include "zynaddsubfx/Synth/SynthNote.cpp"
  387. #undef rObject
  388. #undef rStdString
  389. #undef rStdStringCb
  390. #undef rChangeCb
  391. #define rChangeCb
  392. #include "zynaddsubfx/UI/ConnectionDummy.cpp"
  393. #undef rObject
  394. #undef rStdString
  395. #undef rStdStringCb
  396. #undef rChangeCb
  397. #define rChangeCb
  398. #include "zynaddsubfx/globals.cpp"
  399. // Dummy variables and functions for linking purposes
  400. class WavFile;
  401. namespace Nio {
  402. void masterSwap(Master*){}
  403. bool setSource(std::string){return true;}
  404. bool setSink(std::string){return true;}
  405. std::set<std::string> getSources(void){return std::set<std::string>();}
  406. std::set<std::string> getSinks(void){return std::set<std::string>();}
  407. std::string getSource(void){return "";}
  408. std::string getSink(void){return "";}
  409. void waveNew(WavFile*){}
  410. void waveStart(){}
  411. void waveStop(){}
  412. }