1 /*
2  *  LAME MP3 encoder for DirectShow
3  *  Basic property page
4  *
5  *  Copyright (c) 2000-2005 Marie Orlova, Peter Gubanov, Vitaly Ivanov, Elecard Ltd.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Library General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Library General Public License for more details.
16  *
17  * You should have received a copy of the GNU Library General Public
18  * License along with this library; if not, write to the
19  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */
22 
23 class CMpegAudEncPropertyPage : public CBasePropertyPage
24 {
25 
26 public:
27     static CUnknown *CreateInstance( LPUNKNOWN punk, HRESULT *phr );
28     CMpegAudEncPropertyPage( LPUNKNOWN punk, HRESULT *phr );
29 
30     HRESULT OnConnect(IUnknown *pUnknown);
31     HRESULT OnDisconnect();
32     HRESULT OnActivate();
33     HRESULT OnDeactivate();
34     HRESULT OnApplyChanges();
35     BOOL OnReceiveMessage(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
36 
37 private:
38     void    InitPropertiesDialog(HWND hwndParent);
39     void    EnableControls(HWND hwndParent, bool bEnable);
40     void    SetDirty(void);
41 
42     DWORD   m_dwBitrate;                //constant bit rate
43     DWORD   m_dwVariable;               //flag - whether the variable bit rate set
44     DWORD   m_dwMin;                    //specify a minimum allowed bitrate
45     DWORD   m_dwMax;                    //specify a maximum allowed bitrate
46     DWORD   m_dwQuality;                //encoding quality
47     DWORD   m_dwVBRq;                   //VBR quality setting (0=highest quality, 9=lowest)
48     DWORD   m_dwSampleRate;
49     DWORD   m_dwChannelMode;
50     DWORD   m_dwCRC;
51     DWORD   m_dwForceMono;
52     DWORD   m_dwCopyright;
53     DWORD   m_dwOriginal;
54 
55     HWND    m_hwndQuality;               //Slider window handle
56 
57     int     m_srIdx;
58 
59     IAudioEncoderProperties *m_pAEProps;
60 };
61