diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2013-09-15 21:59:21 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2013-09-15 21:59:21 -0700 |
commit | 8a48c977c70db77919a6626aee28a3bf447a215d (patch) | |
tree | 817ad749b2196231918890f52eddd3075e1b1094 | |
parent | 672e606b6d857e370ac75c076a1b2982e5bccd67 (diff) | |
download | sekaiju-8a48c977c70db77919a6626aee28a3bf447a215d.tar.gz sekaiju-8a48c977c70db77919a6626aee28a3bf447a215d.tar.bz2 sekaiju-8a48c977c70db77919a6626aee28a3bf447a215d.zip |
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.
-rw-r--r-- | src/SekaijuApp.cpp | 10 |
1 files 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);
|