// // SFPlayer.h // MIDI // // Created by Christopher Snowhill on 5/3/21. // Copyright © 2021-2022 Christopher Snowhill. All rights reserved. // #ifndef SFPlayer_h #define SFPlayer_h #include "MIDIPlayer.h" #include class SFPlayer : public MIDIPlayer { public: // zero variables SFPlayer(); // close, unload virtual ~SFPlayer(); // configuration void setSoundFont(const char* in); void setFileSoundFont(const char* in); void setInterpolationMethod(unsigned method); void setDynamicLoading(bool enabled); const char* GetLastError() const; private: virtual void send_event(uint32_t b); virtual void send_sysex(const uint8_t* data, size_t size, size_t port); virtual void render(float* out, unsigned long count); virtual void shutdown(); virtual bool startup(); std::string _last_error; fluid_settings_t* _settings[3]; fluid_synth_t* _synth[3]; std::string sSoundFontName; std::string sFileSoundFontName; unsigned uInterpolationMethod; bool bDynamicLoading; }; #endif /* SFPlayer_h */