PropPage.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. class CMpegAudEncPropertyPage : public CBasePropertyPage
  23. {
  24. public:
  25. static CUnknown *CreateInstance( LPUNKNOWN punk, HRESULT *phr );
  26. CMpegAudEncPropertyPage( LPUNKNOWN punk, HRESULT *phr );
  27. HRESULT OnConnect(IUnknown *pUnknown);
  28. HRESULT OnDisconnect();
  29. HRESULT OnActivate();
  30. HRESULT OnDeactivate();
  31. HRESULT OnApplyChanges();
  32. BOOL OnReceiveMessage(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
  33. private:
  34. void InitPropertiesDialog(HWND hwndParent);
  35. void EnableControls(HWND hwndParent, bool bEnable);
  36. void SetDirty(void);
  37. DWORD m_dwBitrate; //constant bit rate
  38. DWORD m_dwVariable; //flag - whether the variable bit rate set
  39. DWORD m_dwMin; //specify a minimum allowed bitrate
  40. DWORD m_dwMax; //specify a maximum allowed bitrate
  41. DWORD m_dwQuality; //encoding quality
  42. DWORD m_dwVBRq; //VBR quality setting (0=highest quality, 9=lowest)
  43. DWORD m_dwSampleRate;
  44. DWORD m_dwChannelMode;
  45. DWORD m_dwCRC;
  46. DWORD m_dwForceMono;
  47. DWORD m_dwCopyright;
  48. DWORD m_dwOriginal;
  49. HWND m_hwndQuality; //Slider window handle
  50. int m_srIdx;
  51. IAudioEncoderProperties *m_pAEProps;
  52. };