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.

VexWaveRenderer.cpp 3.7KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. /*
  2. ==============================================================================
  3. This file is part of the JUCETICE project - Copyright 2008 by Lucio Asnaghi.
  4. JUCETICE is based around the JUCE library - "Jules' Utility Class Extensions"
  5. Copyright 2008 by Julian Storer.
  6. ------------------------------------------------------------------------------
  7. JUCE and JUCETICE can be redistributed and/or modified under the terms of
  8. the GNU Lesser General Public License, as published by the Free Software
  9. Foundation; either version 2 of the License, or (at your option) any later
  10. version.
  11. JUCE and JUCETICE are distributed in the hope that they will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. GNU General Public License for more details.
  15. You should have received a copy of the GNU Lesser General Public License
  16. along with JUCE and JUCETICE; if not, visit www.gnu.org/licenses or write to
  17. Free Software Foundation, Inc., 59 Temple Place, Suite 330,
  18. Boston, MA 02111-1307 USA
  19. ==============================================================================
  20. @author rockhardbuns
  21. @tweaker Lucio Asnaghi
  22. @tweaker falkTX
  23. ==============================================================================
  24. */
  25. #include "VexWaveRenderer.h"
  26. WaveTableNames WaveRenderer::waveTableNames[kWaveTableSize] = {
  27. { "asym_saw", Wavetables::asym_saw },
  28. { "bass_tone", Wavetables::bass_tone },
  29. { "buzz_1", Wavetables::buzz_1 },
  30. { "buzz_2", Wavetables::buzz_2 },
  31. { "dark_strings", Wavetables::dark_strings },
  32. { "deep_ring_1", Wavetables::deep_ring_1 },
  33. { "deep_ring_2", Wavetables::deep_ring_2 },
  34. { "epiano_tone", Wavetables::epiano_tone },
  35. { "ghost_1", Wavetables::ghost_1 },
  36. { "ghost_2", Wavetables::ghost_2 },
  37. { "ghost_3", Wavetables::ghost_3 },
  38. { "ghost_4", Wavetables::ghost_4 },
  39. { "grind_1", Wavetables::grind_1 },
  40. { "grind_2", Wavetables::grind_2 },
  41. { "more_strings", Wavetables::more_strings },
  42. { "multi_pulse", Wavetables::multi_pulse },
  43. { "organ_1", Wavetables::organ_1 },
  44. { "organ_2", Wavetables::organ_2 },
  45. { "one_string", Wavetables::one_string },
  46. { "phasing_sqr", Wavetables::phasing_sqr },
  47. { "pulse", Wavetables::pulse },
  48. { "saw", Wavetables::saw },
  49. { "sharp_1", Wavetables::sharp_1 },
  50. { "sharp_2", Wavetables::sharp_2 },
  51. { "sine", Wavetables::sine },
  52. { "soft_1", Wavetables::soft_1 },
  53. { "soft_2", Wavetables::soft_2 },
  54. { "soft_3", Wavetables::soft_3 },
  55. { "soft_4", Wavetables::soft_4 },
  56. { "square", Wavetables::square },
  57. { "string_fuzz", Wavetables::string_fuzz },
  58. { "strings_1", Wavetables::strings_1 },
  59. { "strings_2", Wavetables::strings_2 },
  60. { "syn_choir_1", Wavetables::syn_choir_1 },
  61. { "syn_choir_2", Wavetables::syn_choir_2 },
  62. { "syn_choir_3", Wavetables::syn_choir_3 },
  63. { "thin_1", Wavetables::thin_1 },
  64. { "thin_2", Wavetables::thin_2 },
  65. { "two_strings", Wavetables::two_strings },
  66. { "voice_1", Wavetables::voice_1 },
  67. { "voice_2", Wavetables::voice_2 }
  68. };
  69. int WaveRenderer::getWaveTableSize()
  70. {
  71. return kWaveTableSize;
  72. }
  73. String WaveRenderer::getWaveTableName(const int index)
  74. {
  75. jassert (index >= 0)
  76. jassert (index < kWaveTableSize)
  77. return String(WaveRenderer::waveTableNames[index].name);
  78. }