50 lines
1.3 KiB
C
50 lines
1.3 KiB
C
|
/*
|
||
|
* OPLInstrDlg.h
|
||
|
* -------------
|
||
|
* Purpose: Editor for OPL-based synth instruments
|
||
|
* Notes : (currently none)
|
||
|
* Authors: OpenMPT Devs
|
||
|
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
||
|
*/
|
||
|
|
||
|
#pragma once
|
||
|
|
||
|
#include "openmpt/all/BuildSettings.hpp"
|
||
|
#include "../soundlib/Snd_defs.h"
|
||
|
|
||
|
OPENMPT_NAMESPACE_BEGIN
|
||
|
|
||
|
class CSoundFile;
|
||
|
|
||
|
class OPLInstrDlg : public CDialog
|
||
|
{
|
||
|
CButton m_additive, m_sustain[2], m_scaleEnv[2], m_vibrato[2], m_tremolo[2];
|
||
|
CSliderCtrl m_feedback, m_attackRate[2], m_decayRate[2], m_sustainLevel[2], m_releaseRate[2], m_volume[2], m_levelScaling[2], m_freqMultiplier[2];
|
||
|
CComboBox m_waveform[2];
|
||
|
CSize m_windowSize;
|
||
|
CWnd &m_parent;
|
||
|
const CSoundFile &m_sndFile;
|
||
|
OPLPatch *m_patch;
|
||
|
|
||
|
public:
|
||
|
OPLInstrDlg(CWnd &parent, const CSoundFile &sndFile);
|
||
|
~OPLInstrDlg();
|
||
|
void SetPatch(OPLPatch &patch);
|
||
|
CSize GetMinimumSize() const { return m_windowSize; }
|
||
|
|
||
|
protected:
|
||
|
void ParamsChanged();
|
||
|
|
||
|
void DoDataExchange(CDataExchange *pDX) override;
|
||
|
BOOL OnInitDialog() override;
|
||
|
BOOL PreTranslateMessage(MSG *pMsg) override;
|
||
|
void OnOK() override { }
|
||
|
void OnCancel() override { }
|
||
|
void OnHScroll(UINT, UINT, CScrollBar *) { ParamsChanged(); }
|
||
|
LRESULT OnDragonDropping(WPARAM wParam, LPARAM lParam);
|
||
|
BOOL OnToolTip(UINT id, NMHDR *pNMHDR, LRESULT *pResult);
|
||
|
DECLARE_MESSAGE_MAP()
|
||
|
};
|
||
|
|
||
|
OPENMPT_NAMESPACE_END
|