aboutsummaryrefslogtreecommitdiff
path: root/Src/external_dependencies/openmpt-trunk/mptrack/MIDIMacroDialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/external_dependencies/openmpt-trunk/mptrack/MIDIMacroDialog.h')
-rw-r--r--Src/external_dependencies/openmpt-trunk/mptrack/MIDIMacroDialog.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/Src/external_dependencies/openmpt-trunk/mptrack/MIDIMacroDialog.h b/Src/external_dependencies/openmpt-trunk/mptrack/MIDIMacroDialog.h
new file mode 100644
index 00000000..cb842dc5
--- /dev/null
+++ b/Src/external_dependencies/openmpt-trunk/mptrack/MIDIMacroDialog.h
@@ -0,0 +1,66 @@
+/*
+ * MIDIMacroDialog.h
+ * -----------------
+ * Purpose: MIDI Macro Configuration Dialog
+ * 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 "ColourEdit.h"
+#include "../common/misc_util.h"
+#include "../soundlib/MIDIMacros.h"
+#include "mpt/base/alloc.hpp"
+
+OPENMPT_NAMESPACE_BEGIN
+
+class CMidiMacroSetup: public CDialog
+{
+protected:
+ CComboBox m_CbnSFx, m_CbnSFxPreset, m_CbnZxx, m_CbnZxxPreset, m_CbnMacroPlug, m_CbnMacroParam, m_CbnMacroCC;
+ CEdit m_EditSFx, m_EditZxx;
+ CColourEdit m_EditMacroValue[kSFxMacros], m_EditMacroType[kSFxMacros];
+ CButton m_EditMacro[kSFxMacros], m_BtnMacroShowAll[kSFxMacros];
+
+ CSoundFile &m_SndFile;
+
+public:
+ CMidiMacroSetup(CSoundFile &sndFile, CWnd *parent = nullptr) : CDialog(IDD_MIDIMACRO, parent), m_SndFile(sndFile), m_vMidiCfg(sndFile.m_MidiCfg), m_MidiCfg(*m_vMidiCfg) { }
+private:
+ mpt::heap_value<MIDIMacroConfig> m_vMidiCfg;
+public:
+ MIDIMacroConfig & m_MidiCfg;
+
+protected:
+ BOOL OnInitDialog() override;
+ void DoDataExchange(CDataExchange* pDX) override;
+
+ bool ValidateMacroString(CEdit &wnd, const MIDIMacroConfig::Macro &prevMacro, bool isParametric);
+
+ void UpdateMacroList(int macro=-1);
+ void ToggleBoxes(UINT preset, UINT sfx);
+ afx_msg void UpdateDialog();
+ afx_msg void OnSetAsDefault();
+ afx_msg void OnResetCfg();
+ afx_msg void OnMacroHelp();
+ afx_msg void OnSFxChanged();
+ afx_msg void OnSFxPresetChanged();
+ afx_msg void OnZxxPresetChanged();
+ afx_msg void OnSFxEditChanged();
+ afx_msg void OnZxxEditChanged();
+ afx_msg void UpdateZxxSelection();
+ afx_msg void OnPlugChanged();
+ afx_msg void OnPlugParamChanged();
+ afx_msg void OnCCChanged();
+
+ afx_msg void OnViewAllParams(UINT id);
+ afx_msg void OnSetSFx(UINT id);
+ DECLARE_MESSAGE_MAP()
+};
+
+OPENMPT_NAMESPACE_END