aboutsummaryrefslogtreecommitdiff
path: root/Src/external_dependencies/openmpt-trunk/mptrack/OPLInstrDlg.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/external_dependencies/openmpt-trunk/mptrack/OPLInstrDlg.h')
-rw-r--r--Src/external_dependencies/openmpt-trunk/mptrack/OPLInstrDlg.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/Src/external_dependencies/openmpt-trunk/mptrack/OPLInstrDlg.h b/Src/external_dependencies/openmpt-trunk/mptrack/OPLInstrDlg.h
new file mode 100644
index 00000000..a784a7f2
--- /dev/null
+++ b/Src/external_dependencies/openmpt-trunk/mptrack/OPLInstrDlg.h
@@ -0,0 +1,49 @@
+/*
+ * 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