Initial community commit
This commit is contained in:
parent
537bcbc862
commit
fc06254474
16440 changed files with 4239995 additions and 2 deletions
81
Src/external_dependencies/openmpt-trunk/mptrack/mod2midi.h
Normal file
81
Src/external_dependencies/openmpt-trunk/mptrack/mod2midi.h
Normal file
|
@ -0,0 +1,81 @@
|
|||
/*
|
||||
* mod2midi.h
|
||||
* ----------
|
||||
* Purpose: Module to MIDI conversion (dialog + conversion code).
|
||||
* 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 "ProgressDialog.h"
|
||||
|
||||
OPENMPT_NAMESPACE_BEGIN
|
||||
|
||||
|
||||
namespace MidiExport
|
||||
{
|
||||
struct Mod2MidiInstr
|
||||
{
|
||||
uint8 channel = MidiMappedChannel; // See enum MidiChannel
|
||||
uint8 program = 0;
|
||||
};
|
||||
using InstrMap = std::vector<Mod2MidiInstr>;
|
||||
}
|
||||
|
||||
|
||||
class CModToMidi: public CDialog
|
||||
{
|
||||
protected:
|
||||
CComboBox m_CbnInstrument, m_CbnChannel, m_CbnProgram;
|
||||
CSpinButtonCtrl m_SpinInstrument;
|
||||
CSoundFile &m_sndFile;
|
||||
UINT m_currentInstr;
|
||||
bool m_percussion;
|
||||
public:
|
||||
MidiExport::InstrMap m_instrMap;
|
||||
static bool s_overlappingInstruments;
|
||||
|
||||
public:
|
||||
CModToMidi(CSoundFile &sndFile, CWnd *pWndParent = nullptr);
|
||||
|
||||
protected:
|
||||
void OnOK() override;
|
||||
BOOL OnInitDialog() override;
|
||||
void DoDataExchange(CDataExchange *pDX) override;
|
||||
void FillProgramBox(bool percussion);
|
||||
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
|
||||
afx_msg void UpdateDialog();
|
||||
afx_msg void OnChannelChanged();
|
||||
afx_msg void OnProgramChanged();
|
||||
afx_msg void OnOverlapChanged();
|
||||
DECLARE_MESSAGE_MAP();
|
||||
};
|
||||
|
||||
|
||||
class CDoMidiConvert: public CProgressDialog
|
||||
{
|
||||
public:
|
||||
CSoundFile &m_sndFile;
|
||||
mpt::ofstream &m_file;
|
||||
const MidiExport::InstrMap &m_instrMap;
|
||||
|
||||
public:
|
||||
CDoMidiConvert(CSoundFile &sndFile, mpt::ofstream &f, const MidiExport::InstrMap &instrMap, CWnd *parent = nullptr)
|
||||
: CProgressDialog(parent)
|
||||
, m_sndFile(sndFile)
|
||||
, m_file(f)
|
||||
, m_instrMap(instrMap)
|
||||
{ }
|
||||
void Run() override;
|
||||
};
|
||||
|
||||
|
||||
OPENMPT_NAMESPACE_END
|
||||
|
||||
#endif // NO_PLUGINS
|
Loading…
Add table
Add a link
Reference in a new issue