cog/Plugins/MIDI/MIDI/BMPlayer.h

44 lines
891 B
C
Raw Normal View History

2013-10-15 14:49:53 +00:00
#ifndef __BMPlayer_h__
#define __BMPlayer_h__
#include "MIDIPlayer.h"
#include <bassmidi.h>
typedef struct sflist_presets sflist_presets;
2013-10-15 14:49:53 +00:00
class BMPlayer : public MIDIPlayer {
public:
2013-10-15 14:49:53 +00:00
// zero variables
BMPlayer();
// close, unload
virtual ~BMPlayer();
// configuration
void setSoundFont(const char* in);
void setFileSoundFont(const char* in);
2013-10-15 14:49:53 +00:00
void setSincInterpolation(bool enable = true);
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);
2013-10-15 14:49:53 +00:00
virtual void shutdown();
virtual bool startup();
void reset_parameters();
2013-10-15 14:49:53 +00:00
std::vector<HSOUNDFONT> _soundFonts;
sflist_presets* _presetList;
std::string sSoundFontName;
std::string sFileSoundFontName;
HSTREAM _stream;
2013-10-15 14:49:53 +00:00
bool bSincInterpolation;
2013-10-15 14:49:53 +00:00
};
#endif