//--------------------------------------------------------------------------- #ifndef ProjectH #define ProjectH //--------------------------------------------------------------------------- #define E_ERROR_BASE 0x80000000 #define E_PROJ_NOERROR 0x00 #define E_PROJ_INVALIDFONT 0x01 #define E_PROJ_INVALSTAGESTYLE 0x02 #define E_PROJ_INVALIDFX 0x04 #define E_PROJ_FATALERROR 0x100 #define E_PROJ_FILENOTEXIST 0x103 //文件不存在 #define E_PROJ_EARLERVERSION 0x104 //早期版本号 #define E_PROJ_LATERVERSION 0x105 //后期版本号 #define E_PROJ_INVALIDVERSION 0x106 //无法识别的版本号 #define E_PROJ_FILECRUPT 0x107 //文件已损坏 #define E_PROJ_CANTLOADAUDIO 0x108 //音频加载失败 #define E_PROJ_INVALIDSTYLE 0x109 //无效的风格 #define E_PROJ_NOAUTHURITY 0x110 //未登录使用本地风格 #define E_PROJ_UNSAVEDTEMPSTYLE 0x200 //未保存的临时风格 #define PROJ_MODE_AUTO 0 #define PROJ_MODE_NORMAL 1 #define PROJ_MODE_UPLOAD 2 extern const DWORD g_dwProjectVersion; BOOL SaveProject( LPCSTR strProjectName, int iSaveMode=0, HWND hNotifyWnd=NULL ); BOOL LoadProject( LPCSTR strProjectName, HWND hNotifyWnd ); int LoadVersion2( FILE *pFile, DWORD dwVersion, HWND hNotifyWnd, int iLoadMode ); int LoadVersion3( FILE *pFile, DWORD dwVersion, HWND hNotifyWnd ); int LoadVersion4( FILE *pFile, DWORD dwVersion, HWND hNotifyWnd ); int LoadVersion5( FILE *pFile, DWORD dwVersion, HWND hNotifyWnd, int* iContentView ); void ClearSVDVars(); void UpdateSVDVars(); void UpdateRecentProject(wstring wstrProj);//更新最近工程列表 BOOL HasProjectModified( bool bAuto=false ); void ClearAutoProj(); void SaveAutoProj(); int CanSaveProj(); void ClearProjStyleMap(); TPROSTYLE* CheckStyle( int idLoc, int idStyle ); void SaveOpusStages( TOpusStageList& lstStages, LOCSEGLIST& lstLocSeg, FILE* pFile ); int LoadOpusStages( TOpusStageList& lstStages, STYLELIST& aUnsolvedStyles, FILE* pFile, DWORD dwVersion ); extern const char *g_strProjError[11]; extern vector g_lstRecentProject; //最近的工程文件 extern HANDLE g_hProjectEvent; //工程文件读写互斥变量 extern wstring g_strLastProjSavePath, // 上次保存工程路径 g_strProjectName, // 工程文件名 g_strAutoProjName; // 自动保存文件名 //g_strFontFile_SVD; // 音色库文件名(已保存) extern char g_strSoundFont_SVD[]; //全局音色库名(已保存) extern int g_iMelodyKey_SVD, // 主旋律调号(已保存) g_nMelodyTempo_SVD; // 主旋律速度(已保存) extern float g_fRecordVolume_SVD, //录音音量(已保存) g_fSpeakerVolume_SVD; //播放音量(已保存) #endif