diff options
Diffstat (limited to 'Src/external_dependencies/openmpt-trunk/mptrack/MIDIMacroDialog.h')
-rw-r--r-- | Src/external_dependencies/openmpt-trunk/mptrack/MIDIMacroDialog.h | 66 |
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 |