86 lines
2.1 KiB
C++
86 lines
2.1 KiB
C++
/*
|
|
* MIDIMappingDialog.h
|
|
* -------------------
|
|
* Purpose: Implementation of OpenMPT's MIDI mapping dialog, for mapping incoming MIDI messages to plugin parameters.
|
|
* 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"
|
|
|
|
#ifndef NO_PLUGINS
|
|
|
|
#include "MIDIMapping.h"
|
|
#include "CListCtrl.h"
|
|
|
|
|
|
OPENMPT_NAMESPACE_BEGIN
|
|
|
|
class CSoundFile;
|
|
class CMIDIMapper;
|
|
|
|
class CMIDIMappingDialog : public CDialog
|
|
{
|
|
public:
|
|
CMIDIMappingDirective m_Setting;
|
|
|
|
protected:
|
|
CSoundFile &m_sndFile;
|
|
CMIDIMapper &m_rMIDIMapper;
|
|
HWND oldMIDIRecondWnd;
|
|
|
|
// Dialog Data
|
|
CComboBox m_ControllerCBox;
|
|
CComboBox m_PluginCBox;
|
|
CComboBox m_PlugParamCBox;
|
|
CComboBox m_ChannelCBox;
|
|
CComboBox m_EventCBox;
|
|
CListCtrlEx m_List;
|
|
CSpinButtonCtrl m_SpinMoveMapping;
|
|
|
|
uint8 m_lastCC = uint8_max;
|
|
|
|
public:
|
|
CMIDIMappingDialog(CWnd *pParent, CSoundFile &rSndfile);
|
|
~CMIDIMappingDialog();
|
|
|
|
protected:
|
|
void UpdateDialog(int selItem = -1);
|
|
void UpdateEvent();
|
|
void UpdateParameters();
|
|
int InsertItem(const CMIDIMappingDirective &m, int insertAt);
|
|
void SelectItem(int i);
|
|
|
|
void SetModified();
|
|
|
|
BOOL OnInitDialog() override;
|
|
void DoDataExchange(CDataExchange* pDX) override; // DDX/DDV support
|
|
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
afx_msg void OnSelectionChanged(NMHDR *pNMHDR = nullptr, LRESULT *pResult = nullptr);
|
|
afx_msg BOOL OnToolTipNotify(UINT id, NMHDR* pNMHDR, LRESULT* pResult);
|
|
|
|
afx_msg void OnBnClickedCheckactive();
|
|
afx_msg void OnBnClickedCheckCapture();
|
|
afx_msg void OnCbnSelchangeComboController();
|
|
afx_msg void OnCbnSelchangeComboChannel();
|
|
afx_msg void OnCbnSelchangeComboPlugin();
|
|
afx_msg void OnCbnSelchangeComboParam();
|
|
afx_msg void OnCbnSelchangeComboEvent();
|
|
afx_msg void OnBnClickedButtonAdd();
|
|
afx_msg void OnBnClickedButtonReplace();
|
|
afx_msg void OnBnClickedButtonRemove();
|
|
afx_msg LRESULT OnMidiMsg(WPARAM, LPARAM);
|
|
afx_msg void OnDeltaposSpinmovemapping(NMHDR *pNMHDR, LRESULT *pResult);
|
|
afx_msg void OnBnClickedCheckPatRecord();
|
|
};
|
|
|
|
OPENMPT_NAMESPACE_END
|
|
|
|
#endif // NO_PLUGINS
|