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.

37 lines
999B

  1. /*************************************************************************************
  2. * Original code copyright (C) 2012 Steve Folta
  3. * Converted to Juce module (C) 2016 Leo Olivers
  4. * Forked from https://github.com/stevefolta/SFZero
  5. * For license info please see the LICENSE file distributed with this source code
  6. *************************************************************************************/
  7. #ifndef SFZSYNTH_H_INCLUDED
  8. #define SFZSYNTH_H_INCLUDED
  9. #include "SFZCommon.h"
  10. #include "water/synthesisers/Synthesiser.h"
  11. namespace sfzero
  12. {
  13. class Synth : public water::Synthesiser
  14. {
  15. public:
  16. Synth();
  17. virtual ~Synth() {}
  18. void noteOn(int midiChannel, int midiNoteNumber, float velocity) override;
  19. void noteOff(int midiChannel, int midiNoteNumber, float velocity, bool allowTailOff) override;
  20. int numVoicesUsed();
  21. water::String voiceInfoString();
  22. private:
  23. int noteVelocities_[128];
  24. CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(Synth)
  25. };
  26. }
  27. #endif // SFZSYNTH_H_INCLUDED