67 lines
1.8 KiB
C
67 lines
1.8 KiB
C
|
/*
|
||
|
* 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
|