/*
* LAME MP3 encoder for DirectShow
* About property page
*
* Copyright (c) 2000-2005 Marie Orlova, Peter Gubanov, Vitaly Ivanov, Elecard Ltd.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include <windows.h>
#include <streams.h>
#include <olectl.h>
#include <commctrl.h>
#include "iaudioprops.h"
#include "aboutprp.h"
#include "mpegac.h"
#include "resource.h"
#include "Reg.h"
// -------------------------------------------------------------------------
// CMAEAbout
// -------------------------------------------------------------------------
CHAR lpszText[] = "This library is free software; you can redistribute it \r\n"
"and/or modify it under the terms of the GNU \r\n"
"Library General Public License\r\n"
"as published by the Free Software Foundation;\r\n"
"either version 2 of the License,\r\n"
"or (at your option) any later version.\r\n"
"\r\n"
"This library is distributed in the hope that it will be useful,\r\n"
"but WITHOUT ANY WARRANTY;\r\n"
"without even the implied warranty of MERCHANTABILITY or \r\n"
"FITNESS FOR A PARTICULAR PURPOSE. See the GNU \r\n"
"Library General Public License for more details.\r\n"
"\r\n"
"You should have received a copy of the GNU\r\n"
"Library General Public License\r\n"
"along with this library; if not, write to the\r\n"
"Free Software Foundation,\r\n"
"Inc., 59 Temple Place - Suite 330,\r\n"
"Boston, MA 02111-1307, USA.\r\n";
//
// CreateInstance
//
CUnknown * WINAPI CMAEAbout::CreateInstance(LPUNKNOWN lpunk, HRESULT *phr)
{
CUnknown *punk = new CMAEAbout(lpunk, phr);
if (punk == NULL) {
*phr = E_OUTOFMEMORY;
}
return punk;
}
//
// Constructor
//
// Creaete a Property page object for the MPEG options
CMAEAbout::CMAEAbout(LPUNKNOWN lpunk, HRESULT *phr)
: CBasePropertyPage(NAME("About LAME Ain't MP3 Encoder"), lpunk,
IDD_ABOUT,IDS_ABOUT)
, m_fWindowInactive(TRUE)
{
ASSERT(phr);
// InitCommonControls();
}
//
// OnConnect
//
// Give us the filter to communicate with
HRESULT CMAEAbout::OnConnect(IUnknown *pUnknown)
{
return NOERROR;
}
//
// OnDisconnect
//
// Release the interface
HRESULT CMAEAbout::OnDisconnect()
{
// Release the interface
return NOERROR;
}
//
// OnActivate
//
// Called on dialog creation
HRESULT CMAEAbout::OnActivate(void)
{
// Add text to the window.
m_fWindowInactive = FALSE;
SendDlgItemMessage(m_hwnd, IDC_LAME_LA, WM_SETTEXT, 0, (LPARAM)lpszText);
CHAR strbuf[250];
sprintf(strbuf, "LAME Ain't MP3 Encoder (%s)", get_lame_version());
SendDlgItemMessage(m_hwnd, IDC_LAME_VER, WM_SETTEXT, 0, (LPARAM)strbuf);
sprintf(strbuf, "LAME Project Homepage: %s", get_lame_url());
SendDlgItemMessage(m_hwnd, IDC_LAME_URL, WM_SETTEXT, 0, (LPARAM)strbuf);
return NOERROR;
}
//
// OnDeactivate
//
// Called on dialog destruction
HRESULT CMAEAbout::OnDeactivate(void)
{
m_fWindowInactive = TRUE;
return NOERROR;
}
//
// OnApplyChanges
//
// User pressed the Apply button, remember the current settings
HRESULT CMAEAbout::OnApplyChanges(void)
{
return NOERROR;
}
//
// OnReceiveMessages
//
// Handles the messages for our property window
BOOL CMAEAbout::OnReceiveMessage( HWND hwnd
, UINT uMsg
, WPARAM wParam
, LPARAM lParam)
{
if (m_fWindowInactive)
return FALSE;
switch (uMsg)
{
case WM_DESTROY:
return TRUE;
default:
return FALSE;
}
return TRUE;
}
//
// SetDirty
//
// notifies the property page site of changes
void CMAEAbout::SetDirty()
{
m_bDirty = TRUE;
if (m_pPageSite)
m_pPageSite->OnStatusChange(PROPPAGESTATUS_DIRTY);
}