advancedlg.cpp
来自「Visual C++编写的虚拟环绕声系统」· C++ 代码 · 共 2,022 行 · 第 1/5 页
CPP
2,022 行
// advanceDlg.cpp : implementation file
//
#include "stdafx.h"
#include "advance.h"
#include "advanceDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////
// MY CODE STARTS HERE
/////////////////
// 生成一个全局变量用于把 CAdvance 类中的 m_ModeState
// 传递给 CControlDlg 类中的 m_ModeState
int ModeState;
/////////////////
// MY CODE ENDS HERE
/////////////////
/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// Dialog Data
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hAboutIcon;
//{{AFX_MSG(CAboutDlg)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hAboutIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
BOOL CAboutDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
SetIcon(m_hAboutIcon, TRUE); // Set big icon
SetIcon(m_hAboutIcon, FALSE); // Set small icon
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAdvanceDlg dialog
CAdvanceDlg::CAdvanceDlg(CWnd* pParent /*=NULL*/)
: CDialog(CAdvanceDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CAdvanceDlg)
m_ModeState = -1;
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CAdvanceDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAdvanceDlg)
DDX_Radio(pDX, IDC_SRS_RADIO, m_ModeState);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CAdvanceDlg, CDialog)
//{{AFX_MSG_MAP(CAdvanceDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_WAV_RADIO, OnWavRadio)
ON_BN_CLICKED(ID_CDPLAY_BUTTON,OnCdplayButton)
ON_BN_CLICKED(ID_CDSTOP_BUTTON,OnCdstopButton)
ON_BN_CLICKED(ID_CDPAUSE_BUTTON,OnCdpauseButton)
ON_BN_CLICKED(ID_CDPRIE_BUTTON,OnCdprieButton)
ON_BN_CLICKED(ID_CDNEXT_BUTTON,OnCdnextButton)
ON_BN_CLICKED(ID_CDTRACK1_BUTTON,OnCdtrack1Button)
ON_BN_CLICKED(ID_CDTRACK2_BUTTON,OnCdtrack2Button)
ON_BN_CLICKED(ID_CDTRACK3_BUTTON,OnCdtrack3Button)
ON_BN_CLICKED(ID_CDTRACK4_BUTTON,OnCdtrack4Button)
ON_BN_CLICKED(ID_CDTRACK5_BUTTON,OnCdtrack5Button)
ON_BN_CLICKED(ID_CDTRACK6_BUTTON,OnCdtrack6Button)
ON_BN_CLICKED(ID_CDTRACK7_BUTTON,OnCdtrack7Button)
ON_BN_CLICKED(ID_CDTRACK8_BUTTON,OnCdtrack8Button)
ON_BN_CLICKED(ID_CDTRACK9_BUTTON,OnCdtrack9Button)
ON_BN_CLICKED(ID_CDTRACK10_BUTTON,OnCdtrack10Button)
ON_BN_CLICKED(ID_CDTRACK11_BUTTON,OnCdtrack11Button)
ON_BN_CLICKED(ID_CDTRACK12_BUTTON,OnCdtrack12Button)
ON_BN_CLICKED(ID_CDTRACK13_BUTTON,OnCdtrack13Button)
ON_BN_CLICKED(ID_CDTRACK14_BUTTON,OnCdtrack14Button)
ON_BN_CLICKED(ID_CDTRACK15_BUTTON,OnCdtrack15Button)
ON_BN_CLICKED(ID_WAVPLAY_BUTTON,OnWavplayButton)
ON_BN_CLICKED(ID_WAVSTOP_BUTTON,OnWavstopButton)
ON_BN_CLICKED(ID_WAVPAUSE_BUTTON,OnWavpauseButton)
ON_BN_CLICKED(ID_WAVLIST_BUTTON,OnWavlistButton)
ON_BN_CLICKED(IDC_CONTROL_BUTTON, OnControlButton)
ON_BN_CLICKED(IDC_SRS_RADIO, OnSrsRadio)
ON_BN_CLICKED(IDC_3D_RADIO, On3dRadio)
ON_BN_CLICKED(IDC_NORMAL_RADIO, OnNormalRadio)
ON_WM_CTLCOLOR()
ON_WM_TIMER()
ON_WM_HSCROLL()
ON_BN_CLICKED(IDC_MIC_RADIO, OnMicRadio)
ON_BN_CLICKED(ID_MICPLAY_BUTTON,OnMicplayButton)
ON_BN_CLICKED(ID_MICSTOP_BUTTON,OnMicstopButton)
ON_BN_CLICKED(IDC_LINE_RADIO, OnLineRadio)
ON_BN_CLICKED(ID_LINEPLAY_BUTTON,OnLineplayButton)
ON_BN_CLICKED(ID_LINESTOP_BUTTON,OnLinestopButton)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAdvanceDlg message handlers
BOOL CAdvanceDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
pSysMenu->DeleteMenu(0,MF_BYPOSITION);
pSysMenu->DeleteMenu(1,MF_BYPOSITION);
pSysMenu->DeleteMenu(2,MF_BYPOSITION);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
///////////////
// MY CODE STARTS HERE
///////////////
BlasterTest();
// 初始化 WorkState 为 介绍状态 WORKSTATE_INTRODUCE
WorkState=WORKSTATE_INTRODUCE;
// 初始化 ModeState 为 SRS状态 MODESTATE_SRS
// 即使声效为 SRS 状态,并生成 SRS 数据
m_ModeState=MODESTATE_SRS;
UpdateData(FALSE);
// 给控件按钮 Control 和 Help 装载图标
((CButton*)GetDlgItem(IDC_CONTROL_BUTTON))->SetIcon(AfxGetApp()->LoadIcon(IDI_CONTROL_ICON));
// ((CButton*)GetDlgItem(ID_HELP))->SetIcon(AfxGetApp()->LoadIcon(IDI_HELP_ICON));
/////////////// 以下为AdvanceDlg 的各个参数
VolumeSlider=(CSliderCtrl*)GetDlgItem(IDC_VOLUME_SLIDER);
VolumeSlider->SetRange(0,100);
VolumeSlider->SetPageSize(5);
VolumeSlider->SetLineSize(1);
VolumeSlider->SetPos(50);
SetDlgItemText(IDC_VOLUMECOUNTER_STATIC, "50");
BalanceSlider=(CSliderCtrl*)GetDlgItem(IDC_BALANCE_SLIDER);
BalanceSlider->SetRange(0,180);
BalanceSlider->SetPageSize(5);
BalanceSlider->SetLineSize(1);
BalanceSlider->SetPos(90);
SetDlgItemText(IDC_BALANCECOUNTER_STATIC, "0");
DataBufferNumber=40;
SamplesPerFrame=897;
DataBufferSize=SamplesPerFrame*4;
DataReadBlockSize=DataBufferSize;
CDBufferIndex=0;
OldHorizontalCounter=-10;
OldVerticalCounter=-10;
RedrawMyself=FALSE;
for (int i=0;i<127;i++)
{
hTemp[i].real=0;
hTemp[i].imag=0;
}
WAVFileName=" Welcome To Use WAV Player";
/////////////// 以下为ControlDlg 的各个参数
m_ControlDlg.SURCounter=0;
m_ControlDlg.MIDCounter=0;
m_ControlDlg.DelayCounter=0;
m_ControlDlg.HorizontalCounter=0;
m_ControlDlg.VerticalCounter=0;
m_ControlDlg.F600HZCounter=0;
m_ControlDlg.F1KHZCounter =0;
m_ControlDlg.F3KHZCounter =0;
m_ControlDlg.F6KHZCounter =0;
m_ControlDlg.F12KHZCounter=0;
m_ControlDlg.F18KHZCounter=0;
m_ControlDlg.DefaultFilterTimeData[ 0]=(float) -0.00057700340403;
m_ControlDlg.DefaultFilterTimeData[ 1]=(float) 0.00033974865801;
m_ControlDlg.DefaultFilterTimeData[ 2]=(float) -0.00047229049960;
m_ControlDlg.DefaultFilterTimeData[ 3]=(float) 0.00052563892677;
m_ControlDlg.DefaultFilterTimeData[ 4]=(float) -0.00033532278030;
m_ControlDlg.DefaultFilterTimeData[ 5]=(float) 0.00084192422219;
m_ControlDlg.DefaultFilterTimeData[ 6]=(float) -0.00011385353719;
m_ControlDlg.DefaultFilterTimeData[ 7]=(float) 0.00128616963048;
m_ControlDlg.DefaultFilterTimeData[ 8]=(float) 0.00015042403538;
m_ControlDlg.DefaultFilterTimeData[ 9]=(float) 0.00183320185170;
m_ControlDlg.DefaultFilterTimeData[ 10]=(float) 0.00045854903874;
m_ControlDlg.DefaultFilterTimeData[ 11]=(float) 0.00248238258064;
m_ControlDlg.DefaultFilterTimeData[ 12]=(float) 0.00071752892109;
m_ControlDlg.DefaultFilterTimeData[ 13]=(float) 0.00301084248349;
m_ControlDlg.DefaultFilterTimeData[ 14]=(float) 0.00061684154207;
m_ControlDlg.DefaultFilterTimeData[ 15]=(float) 0.00318848830648;
m_ControlDlg.DefaultFilterTimeData[ 16]=(float) 0.00015455686662;
m_ControlDlg.DefaultFilterTimeData[ 17]=(float) 0.00329158967361;
m_ControlDlg.DefaultFilterTimeData[ 18]=(float) -0.00025781959994;
m_ControlDlg.DefaultFilterTimeData[ 19]=(float) 0.00368547043763;
m_ControlDlg.DefaultFilterTimeData[ 20]=(float) -0.00041240669088;
m_ControlDlg.DefaultFilterTimeData[ 21]=(float) 0.00450907787308;
m_ControlDlg.DefaultFilterTimeData[ 22]=(float) -0.00014302792260;
m_ControlDlg.DefaultFilterTimeData[ 23]=(float) 0.00589562719688;
m_ControlDlg.DefaultFilterTimeData[ 24]=(float) 0.00026602693833;
m_ControlDlg.DefaultFilterTimeData[ 25]=(float) 0.00673085451126;
m_ControlDlg.DefaultFilterTimeData[ 26]=(float) -0.00122312561143;
m_ControlDlg.DefaultFilterTimeData[ 27]=(float) 0.00465293647721;
m_ControlDlg.DefaultFilterTimeData[ 28]=(float) -0.00629958789796;
m_ControlDlg.DefaultFilterTimeData[ 29]=(float) -0.00049425527686;
m_ControlDlg.DefaultFilterTimeData[ 30]=(float) -0.01360241044313;
m_ControlDlg.DefaultFilterTimeData[ 31]=(float) -0.00664068944752;
m_ControlDlg.DefaultFilterTimeData[ 32]=(float) -0.02143830992281;
m_ControlDlg.DefaultFilterTimeData[ 33]=(float) -0.01279891747981;
m_ControlDlg.DefaultFilterTimeData[ 34]=(float) -0.02896481007338;
m_ControlDlg.DefaultFilterTimeData[ 35]=(float) -0.01723092049360;
m_ControlDlg.DefaultFilterTimeData[ 36]=(float) -0.03335075080395;
m_ControlDlg.DefaultFilterTimeData[ 37]=(float) -0.01699684374034;
m_ControlDlg.DefaultFilterTimeData[ 38]=(float) -0.03346189111471;
m_ControlDlg.DefaultFilterTimeData[ 39]=(float) -0.01391108147800;
m_ControlDlg.DefaultFilterTimeData[ 40]=(float) -0.03380249440670;
m_ControlDlg.DefaultFilterTimeData[ 41]=(float) -0.01334901433438;
m_ControlDlg.DefaultFilterTimeData[ 42]=(float) -0.03920652344823;
m_ControlDlg.DefaultFilterTimeData[ 43]=(float) -0.01923610456288;
m_ControlDlg.DefaultFilterTimeData[ 44]=(float) -0.05384327098727;
m_ControlDlg.DefaultFilterTimeData[ 45]=(float) -0.03604866564274;
m_ControlDlg.DefaultFilterTimeData[ 46]=(float) -0.08091776072979;
m_ControlDlg.DefaultFilterTimeData[ 47]=(float) -0.06173205375671;
m_ControlDlg.DefaultFilterTimeData[ 48]=(float) -0.11103960871696;
m_ControlDlg.DefaultFilterTimeData[ 49]=(float) -0.08046703040600;
m_ControlDlg.DefaultFilterTimeData[ 50]=(float) -0.12819921970367;
m_ControlDlg.DefaultFilterTimeData[ 51]=(float) -0.08065004646778;
m_ControlDlg.DefaultFilterTimeData[ 52]=(float) -0.12642516195774;
m_ControlDlg.DefaultFilterTimeData[ 53]=(float) -0.05297194048762;
m_ControlDlg.DefaultFilterTimeData[ 54]=(float) -0.08534336090088;
m_ControlDlg.DefaultFilterTimeData[ 55]=(float) 0.03930599614978;
m_ControlDlg.DefaultFilterTimeData[ 56]=(float) 0.03116023913026;
m_ControlDlg.DefaultFilterTimeData[ 57]=(float) 0.21213382482529;
m_ControlDlg.DefaultFilterTimeData[ 58]=(float) 0.18476916849613;
m_ControlDlg.DefaultFilterTimeData[ 59]=(float) 0.38369241356850;
m_ControlDlg.DefaultFilterTimeData[ 60]=(float) 0.24731761217117;
m_ControlDlg.DefaultFilterTimeData[ 61]=(float) 0.48269164562225;
m_ControlDlg.DefaultFilterTimeData[ 62]=(float) 0.11063694208860;
m_ControlDlg.DefaultFilterTimeData[ 63]=(float) 1.00000000000000;
m_ControlDlg.DefaultFilterTimeData[ 64]=(float) 1.00000000000000;
m_ControlDlg.DefaultFilterTimeData[ 65]=(float) 0.11063694208860;
m_ControlDlg.DefaultFilterTimeData[ 66]=(float) 0.48269164562225;
m_ControlDlg.DefaultFilterTimeData[ 67]=(float) 0.24731761217117;
m_ControlDlg.DefaultFilterTimeData[ 68]=(float) 0.38369241356850;
m_ControlDlg.DefaultFilterTimeData[ 69]=(float) 0.18476916849613;
m_ControlDlg.DefaultFilterTimeData[ 70]=(float) 0.21213382482529;
m_ControlDlg.DefaultFilterTimeData[ 71]=(float) 0.03116023913026;
m_ControlDlg.DefaultFilterTimeData[ 72]=(float) 0.03930599614978;
m_ControlDlg.DefaultFilterTimeData[ 73]=(float) -0.08534336090088;
m_ControlDlg.DefaultFilterTimeData[ 74]=(float) -0.05297194048762;
m_ControlDlg.DefaultFilterTimeData[ 75]=(float) -0.12642516195774;
m_ControlDlg.DefaultFilterTimeData[ 76]=(float) -0.08065004646778;
m_ControlDlg.DefaultFilterTimeData[ 77]=(float) -0.12819921970367;
m_ControlDlg.DefaultFilterTimeData[ 78]=(float) -0.08046703040600;
m_ControlDlg.DefaultFilterTimeData[ 79]=(float) -0.11103960871696;
m_ControlDlg.DefaultFilterTimeData[ 80]=(float) -0.06173205375671;
m_ControlDlg.DefaultFilterTimeData[ 81]=(float) -0.08091776072979;
m_ControlDlg.DefaultFilterTimeData[ 82]=(float) -0.03604866564274;
m_ControlDlg.DefaultFilterTimeData[ 83]=(float) -0.05384327098727;
m_ControlDlg.DefaultFilterTimeData[ 84]=(float) -0.01923610456288;
m_ControlDlg.DefaultFilterTimeData[ 85]=(float) -0.03920652344823;
m_ControlDlg.DefaultFilterTimeData[ 86]=(float) -0.01334901433438;
m_ControlDlg.DefaultFilterTimeData[ 87]=(float) -0.03380249440670;
m_ControlDlg.DefaultFilterTimeData[ 88]=(float) -0.01391108147800;
m_ControlDlg.DefaultFilterTimeData[ 89]=(float) -0.03346189111471;
m_ControlDlg.DefaultFilterTimeData[ 90]=(float) -0.01699684374034;
m_ControlDlg.DefaultFilterTimeData[ 91]=(float) -0.03335075080395;
m_ControlDlg.DefaultFilterTimeData[ 92]=(float) -0.01723092049360;
m_ControlDlg.DefaultFilterTimeData[ 93]=(float) -0.02896481007338;
m_ControlDlg.DefaultFilterTimeData[ 94]=(float) -0.01279891747981;
m_ControlDlg.DefaultFilterTimeData[ 95]=(float) -0.02143830992281;
m_ControlDlg.DefaultFilterTimeData[ 96]=(float) -0.00664068944752;
m_ControlDlg.DefaultFilterTimeData[ 97]=(float) -0.01360241044313;
m_ControlDlg.DefaultFilterTimeData[ 98]=(float) -0.00049425527686;
m_ControlDlg.DefaultFilterTimeData[ 99]=(float) -0.00629958789796;
m_ControlDlg.DefaultFilterTimeData[100]=(float) 0.00465293647721;
m_ControlDlg.DefaultFilterTimeData[101]=(float) -0.00122312561143;
m_ControlDlg.DefaultFilterTimeData[102]=(float) 0.00673085451126;
m_ControlDlg.DefaultFilterTimeData[103]=(float) 0.00026602693833;
m_ControlDlg.DefaultFilterTimeData[104]=(float) 0.00589562719688;
m_ControlDlg.DefaultFilterTimeData[105]=(float) -0.00014302792260;
m_ControlDlg.DefaultFilterTimeData[106]=(float) 0.00450907787308;
m_ControlDlg.DefaultFilterTimeData[107]=(float) -0.00041240669088;
m_ControlDlg.DefaultFilterTimeData[108]=(float) 0.00368547043763;
m_ControlDlg.DefaultFilterTimeData[109]=(float) -0.00025781959994;
m_ControlDlg.DefaultFilterTimeData[110]=(float) 0.00329158967361;
m_ControlDlg.DefaultFilterTimeData[111]=(float) 0.00015455686662;
m_ControlDlg.DefaultFilterTimeData[112]=(float) 0.00318848830648;
m_ControlDlg.DefaultFilterTimeData[113]=(float) 0.00061684154207;
m_ControlDlg.DefaultFilterTimeData[114]=(float) 0.00301084248349;
m_ControlDlg.DefaultFilterTimeData[115]=(float) 0.00071752892109;
m_ControlDlg.DefaultFilterTimeData[116]=(float) 0.00248238258064;
m_ControlDlg.DefaultFilterTimeData[117]=(float) 0.00045854903874;
m_ControlDlg.DefaultFilterTimeData[118]=(float) 0.00183320185170;
m_ControlDlg.DefaultFilterTimeData[119]=(float) 0.00015042403538;
m_ControlDlg.DefaultFilterTimeData[120]=(float) 0.00128616963048;
m_ControlDlg.DefaultFilterTimeData[121]=(float) -0.00011385353719;
m_ControlDlg.DefaultFilterTimeData[122]=(float) 0.00084192422219;
m_ControlDlg.DefaultFilterTimeData[123]=(float) -0.00033532278030;
m_ControlDlg.DefaultFilterTimeData[124]=(float) 0.00052563892677;
m_ControlDlg.DefaultFilterTimeData[125]=(float) -0.00047229049960;
m_ControlDlg.DefaultFilterTimeData[126]=(float) 0.00033974865801;
m_ControlDlg.DefaultFilterTimeData[127]=(float) -0.00057700340403;
for (i=0;i<128;i++)
m_ControlDlg.FilterTimeData[i]=m_ControlDlg.DefaultFilterTimeData[i];
m_ControlDlg.ProduceFilterFreData();
if (!(HrirFileTest()))
{
// 使 3D 按钮失效
((CButton*)GetDlgItem(IDC_3D_RADIO))->EnableWindow(FALSE);
}
//////////////////////////////////////
///////////////
// MY CODE ENDS HERE
///////////////
return TRUE; // return TRUE unless you set the focus to a control
}
void CAdvanceDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?