#if !defined(_TSTYLEMSG__) #define _TSTYLEMSG__ #define NAME_LENGTH 100 #define MAX_LEN 256 #define NUM_TYPES 100 typedef struct { int ID; /*风格ID*/ char chDescription[80]; /*描述信息*/ char chName[20]; /*风格名*/ BYTE byBeat; /*节拍*/ char chType[20]; /*风格类型*/ int nSpeed; /*速度*/ char chAuthor[20]; /*作者*/ char chLabel[80]; /*标签*/ BYTE byFilNo; /*加花个数*/ BYTE byPreNo; /*前间奏个数*/ BYTE byEndNo; /*尾奏个数*/ double dPrice; /*价格*/ BYTE byBaseNo; /*基本类型个数*/ char chIntList[40]; /*乐器列表*/ char chIntSolo[20]; /*solo乐器*/ BYTE byCollectFlag; /*收藏*/ char chImptnInt[20]; /*重要乐器列表*/ char chOtherMsg[80]; /*其他信息*/ }TSTYLEMSG,*pTSTYLEMSG; typedef struct { int nTracks; //轨道数(除去头尾各1个) int iBeat; //节拍(2,3,4,6) int iSpeed; //速度 int nTypes; //片段数 int iBeatTicks; //每小节tick int aTypeSections[NUM_TYPES][2];//片段对应的小节数 int aIndexPos[NUM_TYPES][2]; //每个轨道的索引跟个数 BYTE abyHeadFlag[4]; }TSTYLE_HEAD_PRAME; typedef struct LL { char name[NAME_LENGTH]; struct LL *next; }TNAMELIST; typedef struct SS { int ID; int index; int num; int atfile; int msgNum; struct SS *next; }TADDRESS; typedef struct DD { int id; int flag; }TIDFLAG; typedef struct NLIST { char chName[MAX_LEN]; struct NLIST *next; }TNAMELIST_B; #endif