-
Notifications
You must be signed in to change notification settings - Fork 0
/
VolumeControlDlg.h
106 lines (80 loc) · 2.65 KB
/
VolumeControlDlg.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
// VolumeControlDlg.h : header file
//
#if !defined(AFX_VOLUMECONTROLDLG_H__61F9B1DD_2170_4152_9C04_2A5992F8E6E4__INCLUDED_)
#define AFX_VOLUMECONTROLDLG_H__61F9B1DD_2170_4152_9C04_2A5992F8E6E4__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
// CVolumeControlDlg dialog
class SystrayIcon;
class MouseHook;
class CVolumeControlDlg : public CDialog
{
// Construction
public:
CVolumeControlDlg(CWnd* pParent = NULL); // standard constructor
~CVolumeControlDlg();
// Dialog Data
//{{AFX_DATA(CVolumeControlDlg)
enum { IDD = IDD_VOLUMECONTROL_DIALOG };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CVolumeControlDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CVolumeControlDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
afx_msg void OnMenuExit();
virtual void OnCancel();
afx_msg LONG OnTrayNotify( WPARAM wParam, LPARAM lParam );
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
void OnMixerControlChange( WPARAM wPrm, LPARAM lPrm );
void OnMButtonUp( WPARAM wPrm, LPARAM lPrm );
private:
void InvalidateIcon();
SystrayIcon* m_pTrayIcon;
MouseHook* m_pMouseHook;
bool m_bIsMute;
//FOR VOLUME CONTROL
DWORD m_dwVolumeValue;
DWORD m_dwPrevVolumeValue;
UINT m_nNumMixers;
HMIXER m_hMixer;
MIXERCAPS m_mxcaps;
CString m_strDstLineName, m_strVolumeControlName;
DWORD m_dwMinimum, m_dwMaximum;
DWORD m_dwVolumeControlID;
bool m_bWasJetAudioMutedByUs;
bool m_bWasWmpMutedByUs;
bool m_bWasWinampMutedByUs;
bool m_bWasiTunesMutedByUs;
private:
BOOL UninitializeMixer();
BOOL InitializeMixer();
BOOL GetMasterVolumeControl();
BOOL GetMasterVolumeValue( DWORD &dwVal ) const;
BOOL SetMasterVolumeValue( DWORD dwVal ) const;
void RedrawIcon( bool bMute = false );
void OnSessionChange( WPARAM wPrm, LPARAM lPrm );
void MuteVolume( bool bMute = true );
void PauseJetAudio( bool bMute = true );
void PauseWinamp( bool bMute = true );
void PauseiTunes( bool bMute = true );
void PauseWMP( bool bMute = true );
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_VOLUMECONTROLDLG_H__61F9B1DD_2170_4152_9C04_2A5992F8E6E4__INCLUDED_)