//---------------------------------------------------------------------------

#ifndef InstrumentsH
#define InstrumentsH
//---------------------------------------------------------------------------

struct FONTPRESET{
	char text[40];
	int id;
};

class FONTINFO
{
public:
	char strFileName[256];
	char strFontName[80];
	FONTPRESET* aInsts;
	int nInstCount;
	FONTPRESET* aDrums;
	int nDrumCount;

	FONTINFO();
	FONTINFO( char* strFile, char* strFont, int nInst, FONTPRESET* setInst,
											int nDrum, FONTPRESET* setDrum );
};
#include <vector>
using namespace std;

#define				VSTeffect		1
#define				VSTinstrument	2
#define				VSTshell		4

struct VSTPLUGIN{
	char name[64];
	unsigned int id;
};

class VSTINFO
{
public:
	char strFileName[256];
	char strVSTName[80];
	unsigned int uniqueID;
	vector<VSTPLUGIN*> aPlugins;

	VSTINFO();
	VSTINFO( char* strFile, char* strEff, unsigned int id );
	~VSTINFO();
};

typedef vector<FONTINFO*> FONTINFOLIST;
typedef vector<VSTINFO*> VSTINFOLIST;

extern char * GM_GROUP[];
extern char * GM_INSTRUMENT[];
extern char * LSZ_STYLTYPES[];
extern char * CNS_INSTRUMENT[];

char AutoTransCNS( char prog );

#endif
