//==========================================================================;
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE.
//
// Copyright (c) 1992 - 1997 Microsoft Corporation. All Rights Reserved.
//
//--------------------------------------------------------------------------;
//
// synthprp.h
//
// CSynthProperties
class CSynthProperties : public CBasePropertyPage {
public:
CSynthProperties(LPUNKNOWN lpUnk, HRESULT *phr);
static CUnknown * WINAPI CreateInstance(LPUNKNOWN lpunk, HRESULT *phr);
HRESULT OnConnect(IUnknown *pUnknown);
HRESULT OnDisconnect();
HRESULT OnActivate();
HRESULT OnDeactivate();
HRESULT OnApplyChanges();
BOOL OnReceiveMessage(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
private:
static BOOL CALLBACK DialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
void InitPropertiesDialog(HWND hwndParent);
void OnFreqSliderNotification(WPARAM wParam, WORD wPosition);
void OnAmpSliderNotification(WPARAM wParam, WORD wPosition);
void RecalcFreqSlider(void );
void SetDirty(void );
HWND m_hwndFreqSlider; // handle of slider
HWND m_hwndFreqText; // Handle of frequency text window
HWND m_hwndAmplitudeSlider; // handle of slider
HWND m_hwndAmplitudeText; // Handle of amplitude text window
int m_iWaveformOriginal; // WAVE_SINE ...
int m_iFrequencyOriginal; // if not using sweep, this is the frequency
int m_iBitsPerSampleOriginal; // 8 or 16
int m_iChannelsOriginal; // 1 or 2
int m_iSamplesPerSecOriginal; // 8000, 11025, ...
int m_iAmplitudeOriginal; // 0 to 100
int m_iSweepStart; // Sweep range on freq slider
int m_iSweepEnd;
BOOLm_fWindowInActive;// TRUE ==> dialog is in the process of being destroyed
ISynth *m_pSynth; // Interface to the synthsizer
};