Support unrar64.dll
[xy_vsfilter.git] / src / apps / mplayerc / PPageAudioSwitcher.h
blob87f51adc85e9b06d3b014523131c0753799b33b2
1 /*
2 * Copyright (C) 2003-2006 Gabest
3 * http://www.gabest.org
5 * This Program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2, or (at your option)
8 * any later version.
9 *
10 * This Program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License
16 * along with GNU Make; see the file COPYING. If not, write to
17 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
18 * http://www.gnu.org/copyleft/gpl.html
22 #pragma once
24 #include "PPageBase.h"
25 #include "FloatEdit.h"
26 #include "..\..\filters\switcher\AudioSwitcher\AudioSwitcher.h"
28 // CPPageAudioSwitcher dialog
30 class CPPageAudioSwitcher : public CPPageBase
32 DECLARE_DYNAMIC(CPPageAudioSwitcher)
34 private:
35 CComQIPtr<IAudioSwitcherFilter> m_pASF;
36 DWORD m_pSpeakerToChannelMap[18][18];
37 DWORD m_dwChannelMask;
39 public:
40 CPPageAudioSwitcher(IFilterGraph* pFG);
41 virtual ~CPPageAudioSwitcher();
43 // Dialog Data
44 enum { IDD = IDD_PPAGEAUDIOSWITCHER };
46 BOOL m_fEnableAudioSwitcher;
47 BOOL m_fAudioNormalize;
48 BOOL m_fAudioNormalizeRecover;
49 int m_AudioBoost;
50 CSliderCtrl m_AudioBoostCtrl;
51 BOOL m_fDownSampleTo441;
52 CButton m_fDownSampleTo441Ctrl;
53 BOOL m_fCustomChannelMapping;
54 CButton m_fCustomChannelMappingCtrl;
55 CEdit m_nChannelsCtrl;
56 int m_nChannels;
57 CSpinButtonCtrl m_nChannelsSpinCtrl;
58 CListCtrl m_list;
59 int m_tAudioTimeShift;
60 CButton m_fAudioTimeShiftCtrl;
61 CIntEdit m_tAudioTimeShiftCtrl;
62 CSpinButtonCtrl m_tAudioTimeShiftSpin;
63 BOOL m_fAudioTimeShift;
65 protected:
66 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
67 virtual BOOL OnInitDialog();
68 virtual BOOL OnApply();
70 DECLARE_MESSAGE_MAP()
72 public:
73 afx_msg void OnNMClickList1(NMHDR* pNMHDR, LRESULT* pResult);
74 afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct);
75 afx_msg void OnEnChangeEdit1();
76 afx_msg void OnUpdateAudioSwitcher(CCmdUI* pCmdUI);
77 afx_msg void OnUpdateChannelMapping(CCmdUI* pCmdUI);
78 public:
79 afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);