From 672e606b6d857e370ac75c076a1b2982e5bccd67 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 15 Sep 2013 21:57:55 -0700 Subject: Converted Sekaiju 3.6 to Visual Studio 2008. --- src/MIDIDeviceSheet.cpp | 93 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 src/MIDIDeviceSheet.cpp (limited to 'src/MIDIDeviceSheet.cpp') diff --git a/src/MIDIDeviceSheet.cpp b/src/MIDIDeviceSheet.cpp new file mode 100644 index 0000000..f8ee5bb --- /dev/null +++ b/src/MIDIDeviceSheet.cpp @@ -0,0 +1,93 @@ +//****************************************************************************** +// MIDIシーケンサーソフト『世界樹』 +// MIDIデバイスプロパティシートクラス +// (C)2002-2013 おーぷんMIDIぷろじぇくと/くず +//****************************************************************************** + +/* This library is free software; you can redistribute it and/or */ +/* modify it under the terms of the GNU Lesser General Public */ +/* License as published by the Free Software Foundation; either */ +/* version 2.1 of the License, or (at your option) any later version. */ + +/* This library is distributed in the hope that it will be useful, */ +/* but WITHOUT ANY WARRANTY; without even the implied warranty of */ +/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */ +/* Lesser General Public License for more details. */ + +/* You should have received a copy of the GNU Lesser General Public */ +/* License along with this library; if not, write to the Free Software */ +/* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + +#include "winver.h" +#include +#include +#include "../../MIDIIO/MIDIIO.h" +#include "../../MIDIData/MIDIData.h" +#include "../../MIDIClock/MIDIClock.h" +#include "../../MIDIStatus/MIDIStatus.h" +#include "../../MIDIInstrument/MIDIInstrument.h" +#include "SekaijuApp.h" +#include "MIDIInDevicePage.h" +#include "MIDIOutDevicePage.h" +#include "MIDIInstDefNormPage.h" +#include "MIDIInstDefDrumPage.h" +#include "MIDIDeviceSheet.h" + +//------------------------------------------------------------------------------ +// 構築と破壊 +//------------------------------------------------------------------------------ + +// コンストラクタ +CMIDIDeviceSheet::CMIDIDeviceSheet (CWnd* pParentWnd) + :CPropertySheet (IDS_MIDIDEVICE_AND_INSTRUMENT, pParentWnd) { + AddPage (&m_theMIDIInDevicePage); + AddPage (&m_theMIDIOutDevicePage); + AddPage (&m_theMIDIInstDefNormPage); + AddPage (&m_theMIDIInstDefDrumPage); +} + +// デストラクタ +CMIDIDeviceSheet::~CMIDIDeviceSheet () { +} + +//------------------------------------------------------------------------------ +// オーバーライド +//------------------------------------------------------------------------------ + +// 初期化時 +BOOL CMIDIDeviceSheet::OnInitDialog() { + BOOL bResult = CPropertySheet::OnInitDialog(); + CSekaijuApp* pSekaijuApp = (CSekaijuApp*)AfxGetApp (); + SetActivePage (pSekaijuApp->m_theCurrentPage.m_lMIDIDevice); + return bResult; +} + +// コマンド時 +BOOL CMIDIDeviceSheet::OnCommand (WPARAM wParam, LPARAM lParam) { + // 『OK』又は『キャンセル』ボタンが押された + if (LOWORD (wParam) == IDOK || LOWORD (wParam) == IDCANCEL) { + CSekaijuApp* pSekaijuApp = (CSekaijuApp*)AfxGetApp (); + pSekaijuApp->m_theCurrentPage.m_lMIDIDevice = GetActiveIndex (); + } + return CPropertySheet::OnCommand(wParam, lParam); +} + +//------------------------------------------------------------------------------ +// メッセージマップ +//------------------------------------------------------------------------------ + +BEGIN_MESSAGE_MAP (CMIDIDeviceSheet, CPropertySheet) + ON_BN_CLICKED (ID_APPLY_NOW, OnApplyNow) +END_MESSAGE_MAP () + +// 『適用』ボタンが押された +void CMIDIDeviceSheet::OnApplyNow () { + CSekaijuApp* pSekaijuApp = (CSekaijuApp*)AfxGetApp (); + GetActivePage ()->UpdateData (TRUE); + pSekaijuApp->ApplyMIDIDeviceSheet (this); + m_theMIDIInDevicePage.SetModified (FALSE); + m_theMIDIOutDevicePage.SetModified (FALSE); + m_theMIDIInstDefNormPage.SetModified (FALSE); + m_theMIDIInstDefDrumPage.SetModified (FALSE); +} + -- cgit v1.2.3