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/FilePropertyDlg.cpp | 148 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 148 insertions(+) create mode 100644 src/FilePropertyDlg.cpp (limited to 'src/FilePropertyDlg.cpp') diff --git a/src/FilePropertyDlg.cpp b/src/FilePropertyDlg.cpp new file mode 100644 index 0000000..47ef79e --- /dev/null +++ b/src/FilePropertyDlg.cpp @@ -0,0 +1,148 @@ +//****************************************************************************** +// MIDIシーケンサーソフト『世界樹』 +// ファイルプロパティダイアログクラス +// (C)2002-2010 おーぷん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 "resource.h" +#include "FilePropertyDlg.h" + +//------------------------------------------------------------------------------ +// 構築と破壊 +//------------------------------------------------------------------------------ + +// コンストラクタ +CFilePropertyDlg::CFilePropertyDlg () : CDialog (CFilePropertyDlg::IDD) { + m_strTitle = _T(""); + m_strSubTitle = _T(""); + m_strCopyright = _T(""); + m_strComment1 = _T(""); + m_strComment2 = _T(""); + m_strComment3 = _T(""); + m_nSMFFormat = -1; + m_nTimeMode = -1; + m_nResolution = 120; +} + +//------------------------------------------------------------------------------ +// オペレーション +//------------------------------------------------------------------------------ +void CFilePropertyDlg::FillResolutionComboAndStatic () { + CComboBox* pResolutionCombo = (CComboBox*)GetDlgItem (IDC_FILEPROPERTY_RESOLUTION); + CStatic* pResolutionStatic = (CStatic*)GetDlgItem (IDC_FILEPROPERTY_RESOLUTIONU); + CString strOldComboText; + pResolutionCombo->GetWindowText (strOldComboText); + pResolutionCombo->ResetContent (); + long i; + for (i = 0; i < 5; i++) { + CButton* pButton = (CButton*)GetDlgItem (IDC_FILEPROPERTY_TPQNBASE + i); + if (pButton->GetCheck () == TRUE) { + break; + } + } + + // TPQNベース + if (i == 0) { + CString strUnit; + VERIFY (strUnit.LoadString (IDS_TICKS_PER_QUARTER_NOTE)); + pResolutionCombo->AddString (_T("48")); + pResolutionCombo->AddString (_T("60")); + pResolutionCombo->AddString (_T("96")); + pResolutionCombo->AddString (_T("120")); + pResolutionCombo->AddString (_T("192")); + pResolutionCombo->AddString (_T("240")); + pResolutionCombo->AddString (_T("384")); + pResolutionCombo->AddString (_T("480")); + pResolutionCombo->AddString (_T("960")); + pResolutionCombo->SetWindowText (strOldComboText); + pResolutionStatic->SetWindowText (strUnit); + } + // SMPTEベース + else if (1 <= i && i <= 5) { + CString strUnit; + VERIFY (strUnit.LoadString (IDS_SUBFRAMES_PER_FRAME)); + pResolutionCombo->AddString (_T("10")); + pResolutionCombo->AddString (_T("20")); + pResolutionCombo->AddString (_T("30")); + pResolutionCombo->AddString (_T("40")); + pResolutionCombo->AddString (_T("50")); + pResolutionCombo->AddString (_T("60")); + pResolutionCombo->AddString (_T("70")); + pResolutionCombo->AddString (_T("80")); + pResolutionCombo->AddString (_T("90")); + pResolutionCombo->AddString (_T("100")); + pResolutionCombo->SetWindowText (strOldComboText); + pResolutionStatic->SetWindowText (strUnit); + } +} + + +//------------------------------------------------------------------------------ +// オーバーライド +//------------------------------------------------------------------------------ + +// データエクスチェンジ +void CFilePropertyDlg::DoDataExchange (CDataExchange* pDX) { + CDialog::DoDataExchange (pDX); + DDX_Text (pDX, IDC_FILEPROPERTY_TITLE, m_strTitle); + DDX_Text (pDX, IDC_FILEPROPERTY_SUBTITLE, m_strSubTitle); + DDX_Text (pDX, IDC_FILEPROPERTY_COPYRIGHT, m_strCopyright); + DDX_Text (pDX, IDC_FILEPROPERTY_COMMENT1, m_strComment1); + DDX_Text (pDX, IDC_FILEPROPERTY_COMMENT2, m_strComment2); + DDX_Text (pDX, IDC_FILEPROPERTY_COMMENT3, m_strComment3); + DDX_Text (pDX, IDC_FILEPROPERTY_NUMTRACK, m_strNumTrack); + DDX_Text (pDX, IDC_FILEPROPERTY_NUMEVENT, m_strNumEvent); + DDX_Text (pDX, IDC_FILEPROPERTY_ENDMILLISEC, m_strEndMillisec); + DDX_Text (pDX, IDC_FILEPROPERTY_ENDTIME, m_strEndTime); + + DDX_Radio (pDX, IDC_FILEPROPERTY_SMFFORMAT0, m_nSMFFormat); + DDX_Radio (pDX, IDC_FILEPROPERTY_TPQNBASE, m_nTimeMode); + DDX_Text (pDX, IDC_FILEPROPERTY_RESOLUTION, m_nResolution); + CButton* pTimeModeButton = (CButton*)GetDlgItem (IDC_FILEPROPERTY_TPQNBASE); + if (pTimeModeButton->GetCheck ()) { + DDV_MinMaxInt (pDX, m_nResolution, 1, 960); + } + else { + DDV_MinMaxInt (pDX, m_nResolution, 1, 255); + } +} + +// ダイアログ初期化 +BOOL CFilePropertyDlg::OnInitDialog () { + BOOL bRet = CDialog::OnInitDialog (); + GetDlgItem (IDC_FILEPROPERTY_COMMENT2)->EnableWindow (FALSE); + GetDlgItem (IDC_FILEPROPERTY_COMMENT3)->EnableWindow (FALSE); + FillResolutionComboAndStatic (); + return bRet; +} + + +//------------------------------------------------------------------------------ +// メッセージマップ +//------------------------------------------------------------------------------ +BEGIN_MESSAGE_MAP (CFilePropertyDlg, CDialog) + ON_CONTROL_RANGE (BN_CLICKED, IDC_FILEPROPERTY_TPQNBASE, IDC_FILEPROPERTY_SMPTE30BASE, OnChangeTimeMode) +END_MESSAGE_MAP () + +// タイムモードが変更された +void CFilePropertyDlg::OnChangeTimeMode (UINT nID) { + FillResolutionComboAndStatic (); +} + + -- cgit v1.2.3