[svn] / branches / dev-api-4 / xvidcore / dshow / src / CAbout.cpp Repository:
ViewVC logotype

Diff of /branches/dev-api-4/xvidcore/dshow/src/CAbout.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1344, Fri Jan 30 18:53:50 2004 UTC revision 1345, Sat Jan 31 13:44:56 2004 UTC
# Line 1  Line 1 
1  /*****************************************************************************  /*****************************************************************************
2   *   *
3   *  XVID MPEG-4 VIDEO CODEC - DShow Front End   *  XVID MPEG-4 VIDEO CODEC - DShow Front End
4   *  - About Window -   *  - About Property Page -
5   *   *
6   *  Copyright(C) 2002-2003 Peter Ross <pross@xvid.org>   *  Copyright(C) 2002-2004 Peter Ross <pross@xvid.org>
7   *   *
8   *  This program is free software ; you can redistribute it and/or modify   *  This program is free software ; you can redistribute it and/or modify
9   *  it under the terms of the GNU General Public License as published by   *  it under the terms of the GNU General Public License as published by
# Line 19  Line 19 
19   *  along with this program ; if not, write to the Free Software   *  along with this program ; if not, write to the Free Software
20   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
21   *   *
22   * $Id: CAbout.cpp,v 1.1.2.7 2004-01-30 03:21:20 syskin Exp $   * $Id: CAbout.cpp,v 1.1.2.8 2004-01-31 13:44:33 suxen_drol Exp $
23   *   *
24   ****************************************************************************/   ****************************************************************************/
25    
26  /****************************************************************************  /****************************************************************************
27   *   *
28     * 2004/02/01 - Move configuration processing code into config.c
29   * 2003/12/11 - added some additional options, mainly to make the deblocking   * 2003/12/11 - added some additional options, mainly to make the deblocking
30   *              code from xvidcore available. Most of the new code is taken   *              code from xvidcore available. Most of the new code is taken
31   *              from Nic's dshow filter, (C) Nic, http://nic.dnsalias.com   *              from Nic's dshow filter, (C) Nic, http://nic.dnsalias.com
32   *   *
33   ****************************************************************************/   ****************************************************************************/
34    #include <windows.h>
 #include "CAbout.h"  
 #include "resource.h"  
 #include <commdlg.h>  
35  #include <commctrl.h>  #include <commctrl.h>
36    #include "CAbout.h"
37  #include "CXvidDecoder.h"  #include "CXvidDecoder.h"
38    #include "resource.h"
39    #include "config.h"
40    
 void SaveRegistryInfo()  
 {  
         HKEY hKey;  
         DWORD dispo;  
   
         if (RegCreateKeyEx(  
                         XVID_REG_KEY,  
                         XVID_REG_SUBKEY,  
                         0,  
                         XVID_REG_CLASS,  
                         REG_OPTION_NON_VOLATILE,  
                         KEY_WRITE,  
                         0,  
                         &hKey,  
                         &dispo) != ERROR_SUCCESS)  
         {  
                 OutputDebugString("Couldn't create XVID_REG_SUBKEY");  
                 return;  
         }  
   
         REG_SET_N("Brightness", PPSettings.nBrightness);  
         REG_SET_N("Deblock_Y",  PPSettings.nDeblock_Y);  
         REG_SET_N("Deblock_UV", PPSettings.nDeblock_UV);  
         REG_SET_N("Dering", PPSettings.nDering);  
         REG_SET_N("FilmEffect", PPSettings.nFilmEffect);  
         REG_SET_N("ForceColorspace", PPSettings.nForceColorspace);  
         REG_SET_N("FlipVideo", PPSettings.nFlipVideo);  
         REG_SET_N("Supported_4CC",  supported_4cc);  
41    
         RegCloseKey(hKey);  
 }  
42    
43  CUnknown * WINAPI CAbout::CreateInstance(LPUNKNOWN punk, HRESULT *phr)  CUnknown * WINAPI CAbout::CreateInstance(LPUNKNOWN punk, HRESULT *phr)
44  {  {
# Line 94  Line 65 
65    
66  BOOL CAbout::OnReceiveMessage(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)  BOOL CAbout::OnReceiveMessage(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
67  {  {
68          HWND hBrightness;          if (adv_proc(hwnd, uMsg, wParam, lParam) == FALSE) {
         switch ( uMsg )  
         {  
         case WM_DESTROY:  
                 int nForceColorspace;  
                 nForceColorspace = SendMessage(GetDlgItem(hwnd, IDC_COLORSPACE), CB_GETCURSEL, 0, 0);  
                 if ( PPSettings.nForceColorspace != nForceColorspace )  
                 {  
                         MessageBox(0, "You have changed the output colorspace.\r\nClose the movie and open it for the new colorspace to take effect.", "XviD DShow", 0);  
                 }  
                 PPSettings.nForceColorspace = nForceColorspace;  
                 SaveRegistryInfo();  
                 break;  
   
         case WM_INITDIALOG:  
   
                 // Load Force Colorspace Box  
                 SendMessage(GetDlgItem(hwnd, IDC_COLORSPACE), CB_ADDSTRING, 0, (LPARAM)"No Force");  
                 SendMessage(GetDlgItem(hwnd, IDC_COLORSPACE), CB_ADDSTRING, 0, (LPARAM)"YV12");  
                 SendMessage(GetDlgItem(hwnd, IDC_COLORSPACE), CB_ADDSTRING, 0, (LPARAM)"YUY2");  
                 SendMessage(GetDlgItem(hwnd, IDC_COLORSPACE), CB_ADDSTRING, 0, (LPARAM)"RGB24");  
                 SendMessage(GetDlgItem(hwnd, IDC_COLORSPACE), CB_ADDSTRING, 0, (LPARAM)"RGB32");  
   
                 // Select Colorspace  
                 SendMessage(GetDlgItem(hwnd, IDC_COLORSPACE), CB_SETCURSEL, PPSettings.nForceColorspace, 0);  
   
                 hBrightness = GetDlgItem(hwnd, IDC_BRIGHTNESS);  
                 SendMessage(hBrightness, TBM_SETRANGE, (WPARAM) (BOOL) TRUE, (LPARAM) MAKELONG(0, 50));  
                 SendMessage(hBrightness, TBM_SETPOS, (WPARAM) (BOOL) TRUE, (LPARAM) PPSettings.nBrightness);  
   
                 // Load Buttons  
                 SendMessage(GetDlgItem(hwnd, IDC_DEBLOCK_Y), BM_SETCHECK, PPSettings.nDeblock_Y, 0);  
                 SendMessage(GetDlgItem(hwnd, IDC_DEBLOCK_UV), BM_SETCHECK, PPSettings.nDeblock_UV, 0);  
                 SendMessage(GetDlgItem(hwnd, IDC_DERING), BM_SETCHECK, PPSettings.nDering, 0);  
                 SendMessage(GetDlgItem(hwnd, IDC_FILMEFFECT), BM_SETCHECK, PPSettings.nFilmEffect, 0);  
                 SendMessage(GetDlgItem(hwnd, IDC_FLIPVIDEO), BM_SETCHECK, PPSettings.nFlipVideo, 0);  
   
                 // 4CC checkbuttons  
                 SendMessage(GetDlgItem(hwnd, IDC_DIVX), BM_SETCHECK, supported_4cc & SUPPORT_DIVX, 0);  
                 SendMessage(GetDlgItem(hwnd, IDC_DX50), BM_SETCHECK, supported_4cc & SUPPORT_DX50, 0);  
                 SendMessage(GetDlgItem(hwnd, IDC_MP4V), BM_SETCHECK, supported_4cc & SUPPORT_MP4V, 0);  
   
                 // Set Date & Time of Compilation  
                 DPRINTF("(%s %s)", __DATE__, __TIME__);  
                 break;  
   
         case WM_COMMAND:  
                 switch ( wParam )  
                 {  
                 case IDC_RESET:  
                         ZeroMemory(&PPSettings, sizeof(PostProcessing_Settings));  
                         PPSettings.nBrightness = 25;  
                         hBrightness = GetDlgItem(hwnd, IDC_BRIGHTNESS);  
                         SendMessage(hBrightness, TBM_SETPOS, (WPARAM) (BOOL) TRUE, (LPARAM) PPSettings.nBrightness);  
                         // Load Buttons  
                         SendMessage(GetDlgItem(hwnd, IDC_DEBLOCK_Y), BM_SETCHECK, PPSettings.nDeblock_Y, 0);  
                         SendMessage(GetDlgItem(hwnd, IDC_DEBLOCK_UV), BM_SETCHECK, PPSettings.nDeblock_UV, 0);  
                         SendMessage(GetDlgItem(hwnd, IDC_DERING), BM_SETCHECK, PPSettings.nDering, 0);  
                         SendMessage(GetDlgItem(hwnd, IDC_FILMEFFECT), BM_SETCHECK, PPSettings.nFilmEffect, 0);  
                         SendMessage(GetDlgItem(hwnd, IDC_FLIPVIDEO), BM_SETCHECK, PPSettings.nFlipVideo, 0);  
                         PPSettings.nForceColorspace = 0;  
                         SendMessage(GetDlgItem(hwnd, IDC_COLORSPACE), CB_SETCURSEL, PPSettings.nForceColorspace, 0);  
                         SaveRegistryInfo();  
   
                         break;  
                 case IDC_DEBLOCK_Y:  
                         PPSettings.nDeblock_Y = !PPSettings.nDeblock_Y;  
                         SaveRegistryInfo();  
                         break;  
                 case IDC_DEBLOCK_UV:  
                         PPSettings.nDeblock_UV = !PPSettings.nDeblock_UV;  
                         SaveRegistryInfo();  
                         break;  
                 case IDC_DERING:  
                         PPSettings.nDering = !PPSettings.nDering;  
                         SaveRegistryInfo();  
                         break;  
                 case IDC_FILMEFFECT:  
                         PPSettings.nFilmEffect = !PPSettings.nFilmEffect;  
                         SaveRegistryInfo();  
                         break;  
                 case IDC_FLIPVIDEO:  
                         PPSettings.nFlipVideo = !PPSettings.nFlipVideo;  
                         SaveRegistryInfo();  
                         break;  
                 case IDC_DIVX:  
                         supported_4cc ^= SUPPORT_DIVX;  
                         SaveRegistryInfo();  
                         break;  
                 case IDC_DX50:  
                         supported_4cc ^= SUPPORT_DX50;  
                         SaveRegistryInfo();  
                         break;  
                 case IDC_MP4V:  
                         supported_4cc ^= SUPPORT_MP4V;  
                         SaveRegistryInfo();  
                         break;  
                 }  
                 break;  
         case WM_NOTIFY:  
                 hBrightness = GetDlgItem(hwnd, IDC_BRIGHTNESS);  
                 PPSettings.nBrightness = SendMessage(hBrightness, TBM_GETPOS, NULL, NULL);  
                 SaveRegistryInfo();  
                 break;  
         }  
69          return CBasePropertyPage::OnReceiveMessage(hwnd, uMsg, wParam, lParam);          return CBasePropertyPage::OnReceiveMessage(hwnd, uMsg, wParam, lParam);
70  }  }
71            return TRUE;
72    }
73    

Legend:
Removed from v.1344  
changed lines
  Added in v.1345

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4