Initial commit
This commit is contained in:
@@ -0,0 +1,136 @@
|
||||
#ifndef ProCommonH
|
||||
#define ProCommonH
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#include "commonstruct.h"
|
||||
|
||||
#pragma pack (2)
|
||||
|
||||
//Track引用信息
|
||||
typedef struct tagTrackRef{
|
||||
UINT idLoc; //位置id
|
||||
UINT idStyle; //风格ID
|
||||
char segNo; //原片段号
|
||||
char chan; //原通道号
|
||||
char prog; //乐器号
|
||||
char vol; //音量
|
||||
}TTRACKREF, *PTTRACKREF;
|
||||
|
||||
//原创风格信息
|
||||
typedef struct tagStyleOrigin{
|
||||
WORD cost; //使用消费
|
||||
WORD score; //评分 (score/100)10分制
|
||||
int paid; //支付次数
|
||||
int state; //状态
|
||||
|
||||
TSTYLEDETAIL detail;
|
||||
|
||||
tagStyleOrigin(){
|
||||
cost = 0;
|
||||
score = 0;
|
||||
paid = 0;
|
||||
state = 0;
|
||||
}
|
||||
}TSTYLEORIGIN, *PTSTYLEORIGIN;
|
||||
|
||||
//本地风格信息
|
||||
typedef struct tagStyleLocal{
|
||||
short iTempo; //原速
|
||||
short iTimesignature; //节拍 ( 0=4/4, 1=3/4, 2=2/4, 3=6/8 )
|
||||
|
||||
char strStyleName[40]; //风格名称 UTF8
|
||||
char nSegNum[4]; //伴奏/加花/前奏/尾奏个数
|
||||
char aIEBars[2][8]; //前/尾奏小节数 (0-3大调 4-7小调)
|
||||
char nSegVol[4][8]; //片段音量
|
||||
|
||||
TTRACKREF trkRef[4][8][16]; //轨道引用信息
|
||||
|
||||
tagStyleLocal(){
|
||||
memset( this, 0, sizeof(tagStyleLocal) );
|
||||
}
|
||||
}TSTYLELOCAL, *PTSTYLELOCAL;
|
||||
|
||||
//分享Track引用信息
|
||||
typedef struct tagShareTrackRef{
|
||||
UINT idStyle; //原创风格ID
|
||||
char segNo; //原片段号
|
||||
char chan; //原通道号
|
||||
char prog; //乐器号
|
||||
char vol; //音量
|
||||
}TSHARETRACKREF, *PTSHARETRACKREF;
|
||||
|
||||
//分享的重组风格信息
|
||||
typedef struct tagStyleShare{
|
||||
int idAuthor; //作者ID
|
||||
WORD score; //评分 (score/100)10分制
|
||||
|
||||
short iTempo; //原速
|
||||
short iTimesignature; //节拍 ( 0=4/4, 1=3/4, 2=2/4, 3=6/8 )
|
||||
char type[2]; //风格分类
|
||||
char nSegNum[4]; //伴奏/加花/前奏/尾奏个数
|
||||
char aIEBars[2][8]; //前/尾奏小节数 (0-3大调 4-7小调)
|
||||
char nSegVol[4][8]; //片段音量
|
||||
|
||||
//以下部分可变长度传输和存储
|
||||
char strAuthor[40]; //作者名称 UTF8
|
||||
char strStyleName[40]; //风格名称 UTF8
|
||||
char strDescription[120]; //风格描述 UTF8
|
||||
|
||||
TSHARETRACKREF trkRef[4][8][16]; //轨道引用信息
|
||||
|
||||
tagStyleShare(){
|
||||
memset( this, 0, sizeof(tagStyleShare) );
|
||||
}
|
||||
}TSTYLESHARE, *PTSTYLESHARE;
|
||||
|
||||
//专业版风格结构体
|
||||
typedef struct tagProStyle{
|
||||
UINT idLoc; //位置id
|
||||
UINT idStyle; //风格ID
|
||||
|
||||
union{
|
||||
PTSTYLEORIGIN pOrigin;
|
||||
PTSTYLELOCAL pLocal;
|
||||
PTSTYLESHARE pShare;
|
||||
};
|
||||
|
||||
tagProStyle(){
|
||||
memset( this, 0, sizeof(tagProStyle) );
|
||||
}
|
||||
|
||||
~tagProStyle(){
|
||||
if( idLoc==0 ){
|
||||
if( pOrigin )
|
||||
delete pOrigin;
|
||||
}
|
||||
else if( idLoc==1 ){
|
||||
if( pShare )
|
||||
delete pShare;
|
||||
}
|
||||
else{
|
||||
if( pLocal )
|
||||
delete pLocal;
|
||||
}
|
||||
}
|
||||
}TPROSTYLE, *PTPROSTYLE;
|
||||
|
||||
//分享风格更新结构体
|
||||
typedef struct tShareUpdate{
|
||||
UINT idStyle; //风格ID
|
||||
WORD score; //评分 (score/100)10分制
|
||||
WORD reserved; //保留,对齐字节
|
||||
} TSHAREUPDATE, *PTSHAREUPDATE;
|
||||
|
||||
//待审核风格更新结构体
|
||||
typedef struct tCheckUpdate{
|
||||
UINT idStyle; //风格ID
|
||||
short cost; //定价
|
||||
WORD reserved; //保留,对齐字节
|
||||
} TCHECKUPDATE, *PTCHECKUPDATE;
|
||||
|
||||
#pragma pack()
|
||||
|
||||
#endif //_COMMONSTRUCT_H_
|
||||
Reference in New Issue
Block a user