00001 /* 00002 Free Download Manager Copyright (c) 2003-2007 FreeDownloadManager.ORG 00003 Open Download Manager Copyright (c) 2008-2010 OpenDownloadManager.ORG 00004 */ 00005 00006 #if !defined(AFX_VMSMEDIACONVERTMGR_H__E56F64FA_0DF5_42D7_AD8D_7A05F234E360__INCLUDED_) 00007 #define AFX_VMSMEDIACONVERTMGR_H__E56F64FA_0DF5_42D7_AD8D_7A05F234E360__INCLUDED_ 00008 00009 #if _MSC_VER > 1000 00010 #pragma once 00011 #endif 00012 00013 #include "fsDownload.h" 00014 00015 struct vmsMediaFileConvertSettings 00016 { 00017 fsString strFormat; 00018 fsString strExtension; 00019 fsString strAudioCodec, strVideoCodec; 00020 int nAudioBitrate, nVideoBitrate; 00021 CSize sizeVideo; 00022 }; 00023 00024 enum vmsMediaConvertMgr_OptionsSource 00025 { 00026 MCM_OS_SEARCH_IN_MGR, 00027 MCM_OS_USE_DEFAULTS, 00028 MCM_OS_SHOW_OPTIONS_UI, 00029 }; 00030 00031 class vmsMediaConvertMgr 00032 { 00033 public: 00034 00035 static BOOL ShowSettingsUI(vmsMediaFileConvertSettings &stgs); 00036 static void SaveSettingsAsDefault(const vmsMediaFileConvertSettings &stgs); 00037 static void GetDefaultSettings (vmsMediaFileConvertSettings& stgs); 00038 void ConvertMediaFile_SetupDefaultOptions(); 00039 void ConvertMediaFile (vmsDownloadSmartPtr dld, vmsMediaConvertMgr_OptionsSource enOs); 00040 BOOL LoadState(); 00041 BOOL SaveState(); 00042 00043 void AddTask (vmsDownloadSmartPtr dld, const vmsMediaFileConvertSettings &stgs); 00044 00045 vmsMediaConvertMgr(); 00046 virtual ~vmsMediaConvertMgr(); 00047 00048 protected: 00049 int FindDownload (vmsDownloadSmartPtr dld); 00050 static DWORD WINAPI _threadConvertMediaFile(LPVOID lp); 00051 00052 struct vmsConvertMediaFileContext 00053 { 00054 vmsDownloadSmartPtr dld; 00055 vmsMediaFileConvertSettings stgs; 00056 }; 00057 std::vector <vmsConvertMediaFileContext> m_vTasks; 00058 00059 00060 #define MCMGRFILE_CURRENT_VERSION (1) 00061 00062 #define MCMGRFILE_SIG "FDM Media Convert Tasks" 00063 00064 struct fsMcMgrFileHdr 00065 { 00066 char szSig [sizeof (MCMGRFILE_SIG) + 1]; 00067 WORD wVer; 00068 00069 fsMcMgrFileHdr () 00070 { 00071 strcpy (szSig, MCMGRFILE_SIG); 00072 wVer = MCMGRFILE_CURRENT_VERSION; 00073 } 00074 }; 00075 00076 }; 00077 00078 #endif
1.5.6