12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- /*
- * 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
|