Cog/Plugins/MIDI/MIDI/BMPlayer.h

49 lines
1.1 KiB
C
Raw Normal View History

2013-10-15 11:49:53 -03:00
#ifndef __BMPlayer_h__
#define __BMPlayer_h__
#include "MIDIPlayer.h"
#include <bassmidi.h>
typedef struct sflist_presets sflist_presets;
2013-10-15 11:49:53 -03:00
class BMPlayer : public MIDIPlayer
{
public:
// zero variables
BMPlayer();
// close, unload
virtual ~BMPlayer();
// configuration
void setSoundFont( const char * in );
void setFileSoundFont( const char * in );
void setSincInterpolation(bool enable = true);
private:
virtual void send_event(uint32_t b);
virtual void render(float * out, unsigned long count);
2013-10-15 11:49:53 -03:00
virtual void shutdown();
virtual bool startup();
void compound_presets( std::vector<BASS_MIDI_FONTEX> & out, std::vector<BASS_MIDI_FONTEX> & in, std::vector<long> & channels );
2013-10-15 11:49:53 -03:00
void reset_parameters();
2013-10-15 11:49:53 -03:00
std::vector<HSOUNDFONT> _soundFonts;
sflist_presets * _presetList;
2013-10-15 11:49:53 -03:00
std::string sSoundFontName;
std::string sFileSoundFontName;
2015-02-22 17:15:07 -03:00
HSTREAM _stream[3];
2013-10-15 11:49:53 -03:00
bool bSincInterpolation;
2015-02-21 23:09:33 -03:00
bool bank_lsb_overridden;
uint8_t bank_lsb_override[48];
2013-10-15 11:49:53 -03:00
};
#endif