From 8a48c977c70db77919a6626aee28a3bf447a215d Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 15 Sep 2013 21:59:21 -0700 Subject: Fix bug: some MIDI devices have spaces at the end of the name, which must be preserved when we store such names in the .ini file. The .ini API will strip whitespace; but we can add quotes around a value to preserve it. --- src/SekaijuApp.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/SekaijuApp.cpp b/src/SekaijuApp.cpp index af4a785..8fe4eb9 100644 --- a/src/SekaijuApp.cpp +++ b/src/SekaijuApp.cpp @@ -971,13 +971,15 @@ BOOL CSekaijuApp::SaveIniFile () { for (i = 0; i < MAXMIDIINDEVICENUM; i++) { memset (szTemp, 0, sizeof (szTemp)); _sntprintf (szTemp, 255, _T("%03d"), i); - WriteProfileString (_T("MIDIInDevice"), szTemp, m_strMIDIInName[i]); + CString quotedVal = CString(_T("\"")) + m_strMIDIInName[i] + _T("\""); + WriteProfileString (_T("MIDIInDevice"), szTemp, quotedVal); } // [MIDIOutDevice] for (i = 0; i < MAXMIDIOUTDEVICENUM; i++) { memset (szTemp, 0, sizeof (szTemp)); _sntprintf (szTemp, 255, _T("%03d"), i); - WriteProfileString (_T("MIDIOutDevice"), szTemp, m_strMIDIOutName[i]); + CString quotedVal = CString(_T("\"")) + m_strMIDIOutName[i] + _T("\""); + WriteProfileString (_T("MIDIOutDevice"), szTemp, quotedVal); } // [MIDIInstDefNorm] for (i = 0; i < MAXMIDIOUTDEVICENUM; i++) { @@ -1424,7 +1426,7 @@ void CSekaijuApp::UpdateCurWndAndDocPtr () { ResetTempMIDIStatusArray (); pCurSekaijuDoc->TimeMIDIStatus (pCurSekaijuDoc->m_lOldTime, m_pTempMIDIStatus); - long lFlags = m_bPlaying ? SDS_ALL : SDS_ALL & ‾SDS_NOTE; + long lFlags = m_bPlaying ? SDS_ALL : SDS_ALL & ~SDS_NOTE; m_bIgnoreNoteEvent = TRUE; // 20090625追加 SendDifferentStatus (lFlags); } @@ -2598,7 +2600,7 @@ long CSekaijuApp::SetPlayPosition (CDocument* pDocument, long lTargetTime) { } /* 停止中ならば(a)ノートを除くすべてを復元するか(b)何も復元しない */ else { - lFlags = m_theGeneralOption.m_bSearchUpdate ? (SDS_ALL & ‾SDS_NOTE) : 0; + lFlags = m_theGeneralOption.m_bSearchUpdate ? (SDS_ALL & ~SDS_NOTE) : 0; m_bIgnoreNoteEvent = 0; } SendDifferentStatus (lFlags); -- cgit v1.2.3