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.

566 lines
11KB

  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. #define PLUGINVERSION
  19. #define SOURCE_DIR "/usr/share/zynaddsubfx/examples"
  20. #undef override
  21. // ignore some compiler warnings
  22. #if defined(__clang__)
  23. # pragma clang diagnostic push
  24. # pragma clang diagnostic ignored "-Winconsistent-missing-override"
  25. # pragma clang diagnostic ignored "-Wunused-private-field"
  26. #elif defined(__GNUC__) && (__GNUC__ >= 6)
  27. # pragma GCC diagnostic push
  28. # pragma GCC diagnostic ignored "-Wshift-negative-value"
  29. # pragma GCC diagnostic ignored "-Wmisleading-indentation"
  30. #endif
  31. // base c-style headers
  32. #include "zynaddsubfx/tlsf/tlsf.h"
  33. #include "zynaddsubfx/rtosc/rtosc.h"
  34. // C-code includes
  35. extern "C" {
  36. #include "zynaddsubfx/tlsf/tlsf.c"
  37. #undef TLSF_64BIT
  38. #undef tlsf_decl
  39. #undef tlsf_fls_sizet
  40. #undef tlsf_cast
  41. #undef tlsf_min
  42. #undef tlsf_max
  43. #undef tlsf_assert
  44. #undef _tlsf_glue2
  45. #undef _tlsf_glue
  46. #undef tlsf_static_assert
  47. #undef tlsf_insist
  48. #include "zynaddsubfx/rtosc/dispatch.c"
  49. #include "zynaddsubfx/rtosc/rtosc.c"
  50. }
  51. // rtosc includes
  52. #include "zynaddsubfx/rtosc/cpp/automations.cpp"
  53. #include "zynaddsubfx/rtosc/cpp/midimapper.cpp"
  54. #include "zynaddsubfx/rtosc/cpp/miditable.cpp"
  55. #undef RTOSC_INVALID_MIDI
  56. #undef MAX_UNHANDLED_PATH
  57. #include "zynaddsubfx/rtosc/cpp/ports.cpp"
  58. #undef __builtin_expect
  59. #include "zynaddsubfx/rtosc/cpp/subtree-serialize.cpp"
  60. #include "zynaddsubfx/rtosc/cpp/thread-link.cpp"
  61. #undef off_t
  62. #include "zynaddsubfx/rtosc/cpp/undo-history.cpp"
  63. // zynaddsubfx includes
  64. #include "zynaddsubfx/version.cpp"
  65. #include "zynaddsubfx/Containers/MultiPseudoStack.cpp"
  66. #undef rBegin
  67. #undef rObject
  68. #undef rStdString
  69. #undef rStdStringCb
  70. #undef rChangeCb
  71. #define rChangeCb
  72. #include "zynaddsubfx/Containers/NotePool.cpp"
  73. #undef rBegin
  74. #undef rObject
  75. #undef rStdString
  76. #undef rStdStringCb
  77. #undef rChangeCb
  78. #define rChangeCb
  79. #include "zynaddsubfx/Containers/ScratchString.cpp"
  80. #undef rBegin
  81. #undef rObject
  82. #undef rStdString
  83. #undef rStdStringCb
  84. #undef rChangeCb
  85. #define rChangeCb
  86. #include "zynaddsubfx/DSP/AnalogFilter.cpp"
  87. #undef rBegin
  88. #undef rObject
  89. #undef rStdString
  90. #undef rStdStringCb
  91. #undef rChangeCb
  92. #define rChangeCb
  93. #include "zynaddsubfx/DSP/FFTwrapper.cpp"
  94. #undef rBegin
  95. #undef rObject
  96. #undef rStdString
  97. #undef rStdStringCb
  98. #undef rChangeCb
  99. #define rChangeCb
  100. #include "zynaddsubfx/DSP/Filter.cpp"
  101. #undef rBegin
  102. #undef rObject
  103. #undef rStdString
  104. #undef rStdStringCb
  105. #undef rChangeCb
  106. #define rChangeCb
  107. #include "zynaddsubfx/DSP/FormantFilter.cpp"
  108. #undef rBegin
  109. #undef rObject
  110. #undef rStdString
  111. #undef rStdStringCb
  112. #undef rChangeCb
  113. #define rChangeCb
  114. #include "zynaddsubfx/DSP/SVFilter.cpp"
  115. #undef rBegin
  116. #undef rObject
  117. #undef rStdString
  118. #undef rStdStringCb
  119. #undef rChangeCb
  120. #define rChangeCb
  121. #include "zynaddsubfx/DSP/Unison.cpp"
  122. #undef rBegin
  123. #undef rObject
  124. #undef rStdString
  125. #undef rStdStringCb
  126. #undef rChangeCb
  127. #define rChangeCb
  128. #include "zynaddsubfx/Effects/Alienwah.cpp"
  129. #undef rBegin
  130. #undef rObject
  131. #undef rStdString
  132. #undef rStdStringCb
  133. #undef rChangeCb
  134. #define rChangeCb
  135. #include "zynaddsubfx/Effects/Chorus.cpp"
  136. #undef rBegin
  137. #undef rObject
  138. #undef rStdString
  139. #undef rStdStringCb
  140. #undef rChangeCb
  141. #define rChangeCb
  142. #include "zynaddsubfx/Effects/Distorsion.cpp"
  143. #undef rBegin
  144. #undef rObject
  145. #undef rStdString
  146. #undef rStdStringCb
  147. #undef rChangeCb
  148. #define rChangeCb
  149. #include "zynaddsubfx/Effects/DynamicFilter.cpp"
  150. #undef rBegin
  151. #undef rObject
  152. #undef rStdString
  153. #undef rStdStringCb
  154. #undef rChangeCb
  155. #define rChangeCb
  156. #include "zynaddsubfx/Effects/Echo.cpp"
  157. #undef MAX_DELAY
  158. #undef rBegin
  159. #undef rObject
  160. #undef rStdString
  161. #undef rStdStringCb
  162. #undef rChangeCb
  163. #define rChangeCb
  164. #include "zynaddsubfx/Effects/Effect.cpp"
  165. #undef rBegin
  166. #undef rObject
  167. #undef rStdString
  168. #undef rStdStringCb
  169. #undef rChangeCb
  170. #define rChangeCb
  171. #include "zynaddsubfx/Effects/EffectLFO.cpp"
  172. #undef rBegin
  173. #undef rObject
  174. #undef rStdString
  175. #undef rStdStringCb
  176. #undef rChangeCb
  177. #define rChangeCb
  178. #include "zynaddsubfx/Effects/EffectMgr.cpp"
  179. #undef rBegin
  180. #undef rObject
  181. #undef rStdString
  182. #undef rStdStringCb
  183. #undef rChangeCb
  184. #define rChangeCb
  185. #include "zynaddsubfx/Effects/EQ.cpp"
  186. #undef rBegin
  187. #undef rObject
  188. #undef rStdString
  189. #undef rStdStringCb
  190. #undef rChangeCb
  191. #define rChangeCb
  192. #include "zynaddsubfx/Effects/Phaser.cpp"
  193. #undef PHASER_LFO_SHAPE
  194. #undef ONE_
  195. #undef ZERO_
  196. #undef rBegin
  197. #undef rObject
  198. #undef rStdString
  199. #undef rStdStringCb
  200. #undef rChangeCb
  201. #define rChangeCb
  202. #include "zynaddsubfx/Effects/Reverb.cpp"
  203. #undef rBegin
  204. #undef rObject
  205. #undef rStdString
  206. #undef rStdStringCb
  207. #undef rChangeCb
  208. #define rChangeCb
  209. #include "zynaddsubfx/Misc/Allocator.cpp"
  210. #undef rBegin
  211. #undef rObject
  212. #undef rStdString
  213. #undef rStdStringCb
  214. #undef rChangeCb
  215. #define rChangeCb
  216. #include "zynaddsubfx/Misc/Bank.cpp"
  217. #undef INSTRUMENT_EXTENSION
  218. #undef FORCE_BANK_DIR_FILE
  219. #undef rBegin
  220. #undef rObject
  221. #undef rStdString
  222. #undef rStdStringCb
  223. #undef rChangeCb
  224. #define rChangeCb
  225. #define INSTRUMENT_EXTENSION INSTRUMENT_EXTENSION_DB
  226. #include "zynaddsubfx/Misc/BankDb.cpp"
  227. #undef INSTRUMENT_EXTENSION
  228. #undef rBegin
  229. #undef rObject
  230. #undef rStdString
  231. #undef rStdStringCb
  232. #undef rChangeCb
  233. #define rChangeCb
  234. #include "zynaddsubfx/Misc/CallbackRepeater.cpp"
  235. #undef rBegin
  236. #undef rObject
  237. #undef rStdString
  238. #undef rStdStringCb
  239. #undef rChangeCb
  240. #define rChangeCb
  241. #include "zynaddsubfx/Misc/Config.cpp"
  242. #undef rBegin
  243. #undef rObject
  244. #undef rStdString
  245. #undef rStdStringCb
  246. #undef rChangeCb
  247. #define rChangeCb
  248. #include "zynaddsubfx/Misc/Master.cpp"
  249. #undef rObject
  250. #undef rStdString
  251. #undef rStdStringCb
  252. #undef rChangeCb
  253. #define rChangeCb
  254. #include "zynaddsubfx/Misc/Microtonal.cpp"
  255. #undef MAX_LINE_SIZE
  256. #undef rBegin
  257. #undef rObject
  258. #undef rStdString
  259. #undef rStdStringCb
  260. #undef rChangeCb
  261. #define rChangeCb
  262. #include "zynaddsubfx/Misc/MiddleWare.cpp"
  263. #undef rBegin
  264. #undef rObject
  265. #undef rStdString
  266. #undef rStdStringCb
  267. #undef rChangeCb
  268. #define rChangeCb
  269. #include "zynaddsubfx/Misc/Part.cpp"
  270. #undef CLONE
  271. #undef rBegin
  272. #undef rObject
  273. #undef rStdString
  274. #undef rStdStringCb
  275. #undef rChangeCb
  276. #define rChangeCb
  277. #include "zynaddsubfx/Misc/PresetExtractor.cpp"
  278. #undef rBegin
  279. #undef rObject
  280. #undef rStdString
  281. #undef rStdStringCb
  282. #undef rChangeCb
  283. #define rChangeCb
  284. #include "zynaddsubfx/Misc/Recorder.cpp"
  285. #undef rBegin
  286. #undef rObject
  287. #undef rStdString
  288. #undef rStdStringCb
  289. #undef rChangeCb
  290. #define rChangeCb
  291. #include "zynaddsubfx/Misc/Util.cpp"
  292. #undef rBegin
  293. #undef rObject
  294. #undef rStdString
  295. #undef rStdStringCb
  296. #undef rChangeCb
  297. #define rChangeCb
  298. #include "zynaddsubfx/Misc/WavFile.cpp"
  299. #undef rBegin
  300. #undef rObject
  301. #undef rStdString
  302. #undef rStdStringCb
  303. #undef rChangeCb
  304. #define rChangeCb
  305. #include "zynaddsubfx/Misc/WaveShapeSmps.cpp"
  306. #undef rBegin
  307. #undef rObject
  308. #undef rStdString
  309. #undef rStdStringCb
  310. #undef rChangeCb
  311. #define rChangeCb
  312. #include "zynaddsubfx/Misc/XMLwrapper.cpp"
  313. #undef rBegin
  314. #undef rObject
  315. #undef rStdString
  316. #undef rStdStringCb
  317. #undef rChangeCb
  318. #define rChangeCb
  319. #include "zynaddsubfx/Params/ADnoteParameters.cpp"
  320. #undef EXPAND
  321. #undef rBegin
  322. #undef rObject
  323. #undef rStdString
  324. #undef rStdStringCb
  325. #undef rChangeCb
  326. #define rChangeCb
  327. #include "zynaddsubfx/Params/Controller.cpp"
  328. #undef rBegin
  329. #undef rObject
  330. #undef rStdString
  331. #undef rStdStringCb
  332. #undef rChangeCb
  333. #define rChangeCb
  334. #include "zynaddsubfx/Params/EnvelopeParams.cpp"
  335. #undef rBegin
  336. #undef rObject
  337. #undef rStdString
  338. #undef rStdStringCb
  339. #undef rChangeCb
  340. #define rChangeCb
  341. #include "zynaddsubfx/Params/FilterParams.cpp"
  342. #undef rBegin
  343. #undef rObject
  344. #undef rStdString
  345. #undef rStdStringCb
  346. #undef rChangeCb
  347. #define rChangeCb
  348. #include "zynaddsubfx/Params/LFOParams.cpp"
  349. #undef rBegin
  350. #undef rObject
  351. #undef rStdString
  352. #undef rStdStringCb
  353. #undef rChangeCb
  354. #define rChangeCb
  355. #include "zynaddsubfx/Params/PADnoteParameters.cpp"
  356. #undef PC
  357. #undef P_C
  358. #undef rBegin
  359. #undef rObject
  360. #undef rStdString
  361. #undef rStdStringCb
  362. #undef rChangeCb
  363. #define rChangeCb
  364. #include "zynaddsubfx/Params/Presets.cpp"
  365. #undef rBegin
  366. #undef rObject
  367. #undef rStdString
  368. #undef rStdStringCb
  369. #undef rChangeCb
  370. #define rChangeCb
  371. #include "zynaddsubfx/Params/PresetsArray.cpp"
  372. #undef rBegin
  373. #undef rObject
  374. #undef rStdString
  375. #undef rStdStringCb
  376. #undef rChangeCb
  377. #define rChangeCb
  378. #include "zynaddsubfx/Params/PresetsStore.cpp"
  379. #undef rBegin
  380. #undef rObject
  381. #undef rStdString
  382. #undef rStdStringCb
  383. #undef rChangeCb
  384. #define rChangeCb
  385. #include "zynaddsubfx/Params/SUBnoteParameters.cpp"
  386. #undef doPaste
  387. #undef doPPaste
  388. #undef rBegin
  389. #undef rObject
  390. #undef rStdString
  391. #undef rStdStringCb
  392. #undef rChangeCb
  393. #define rChangeCb
  394. #include "zynaddsubfx/Synth/ADnote.cpp"
  395. #undef rBegin
  396. #undef rObject
  397. #undef rStdString
  398. #undef rStdStringCb
  399. #undef rChangeCb
  400. #define rChangeCb
  401. #include "zynaddsubfx/Synth/Envelope.cpp"
  402. #undef rBegin
  403. #undef rObject
  404. #undef rStdString
  405. #undef rStdStringCb
  406. #undef rChangeCb
  407. #define rChangeCb
  408. #include "zynaddsubfx/Synth/LFO.cpp"
  409. #undef rBegin
  410. #undef rObject
  411. #undef rStdString
  412. #undef rStdStringCb
  413. #undef rChangeCb
  414. #define rChangeCb
  415. #include "zynaddsubfx/Synth/ModFilter.cpp"
  416. #undef rBegin
  417. #undef rObject
  418. #undef rStdString
  419. #undef rStdStringCb
  420. #undef rChangeCb
  421. #define rChangeCb
  422. #include "zynaddsubfx/Synth/OscilGen.cpp"
  423. #undef PC
  424. #undef DIFF
  425. #undef PRESERVE
  426. #undef RESTORE
  427. #undef FUNC
  428. #undef FILTER
  429. #undef rBegin
  430. #undef rObject
  431. #undef rStdString
  432. #undef rStdStringCb
  433. #undef rChangeCb
  434. #define rChangeCb
  435. #include "zynaddsubfx/Synth/PADnote.cpp"
  436. #undef rBegin
  437. #undef rObject
  438. #undef rStdString
  439. #undef rStdStringCb
  440. #undef rChangeCb
  441. #define rChangeCb
  442. #include "zynaddsubfx/Synth/Resonance.cpp"
  443. #undef rBegin
  444. #undef rObject
  445. #undef rStdString
  446. #undef rStdStringCb
  447. #undef rChangeCb
  448. #define rChangeCb
  449. #include "zynaddsubfx/Synth/SUBnote.cpp"
  450. #undef rBegin
  451. #undef rObject
  452. #undef rStdString
  453. #undef rStdStringCb
  454. #undef rChangeCb
  455. #define rChangeCb
  456. #include "zynaddsubfx/Synth/SynthNote.cpp"
  457. #undef rBegin
  458. #undef rObject
  459. #undef rStdString
  460. #undef rStdStringCb
  461. #undef rChangeCb
  462. #define rChangeCb
  463. #include "zynaddsubfx/Synth/WatchPoint.cpp"
  464. #undef rBegin
  465. #undef rObject
  466. #undef rStdString
  467. #undef rStdStringCb
  468. #undef rChangeCb
  469. #define rChangeCb
  470. #include "zynaddsubfx/UI/ConnectionDummy.cpp"
  471. #undef rBegin
  472. #undef rObject
  473. #undef rStdString
  474. #undef rStdStringCb
  475. #undef rChangeCb
  476. #define rChangeCb
  477. #include "zynaddsubfx/globals.cpp"
  478. #if defined(__clang__)
  479. # pragma clang diagnostic pop
  480. #elif defined(__GNUC__) && (__GNUC__ >= 6)
  481. # pragma GCC diagnostic pop
  482. #endif
  483. // Dummy variables and functions for linking purposes
  484. namespace zyncarla {
  485. class WavFile;
  486. namespace Nio {
  487. void masterSwap(Master*){}
  488. bool setSource(std::string){return true;}
  489. bool setSink(std::string){return true;}
  490. std::set<std::string> getSources(void){return std::set<std::string>();}
  491. std::set<std::string> getSinks(void){return std::set<std::string>();}
  492. std::string getSource(void){return "";}
  493. std::string getSink(void){return "";}
  494. void waveNew(WavFile*){}
  495. void waveStart(){}
  496. void waveStop(){}
  497. }
  498. }