From: <man...@us...> - 2013-05-21 20:08:28
|
Revision: 2162 http://sourceforge.net/p/modplug/code/2162 Author: manxorist Date: 2013-05-21 20:08:19 +0000 (Tue, 21 May 2013) Log Message: ----------- [Ref] Rename mpt::String to mpt::string. [Ref] Shrink mpt::string to the needed bare minimum (operator const char*()). Move Format function out of the class and make it return a std::string. [Ref] When not building MODPLUG_TRACKER, mpt::string can now be a simple typedef of std::string. [Ref] Move function in mptString.h into namespace mpt::String. [Ref] Reduce mpt::string usage all over the place down to just 2 usage sites. Those 2 would require adding a ton of .c_str() in mptrack/ to remove. Leave that for later. Modified Paths: -------------- trunk/OpenMPT/common/mptString.cpp trunk/OpenMPT/common/mptString.h trunk/OpenMPT/common/version.cpp trunk/OpenMPT/common/version.h trunk/OpenMPT/mptrack/Ctrl_pat.cpp trunk/OpenMPT/mptrack/Draw_pat.cpp trunk/OpenMPT/mptrack/MIDIMapping.cpp trunk/OpenMPT/mptrack/MIDIMappingDialog.cpp trunk/OpenMPT/mptrack/MPTHacks.cpp trunk/OpenMPT/mptrack/Moddoc.cpp trunk/OpenMPT/mptrack/Mptrack.cpp trunk/OpenMPT/mptrack/TrackerSettings.cpp trunk/OpenMPT/mptrack/TuningDialog.cpp trunk/OpenMPT/mptrack/Vstplug.cpp trunk/OpenMPT/mptrack/dlg_misc.cpp trunk/OpenMPT/mptrack/test/test.cpp trunk/OpenMPT/mptrack/view_com.cpp trunk/OpenMPT/soundlib/LOAD_DBM.CPP trunk/OpenMPT/soundlib/Load_ams.cpp trunk/OpenMPT/soundlib/Load_digi.cpp trunk/OpenMPT/soundlib/Load_gdm.cpp trunk/OpenMPT/soundlib/Load_it.cpp trunk/OpenMPT/soundlib/Load_itp.cpp trunk/OpenMPT/soundlib/Load_med.cpp trunk/OpenMPT/soundlib/Load_mt2.cpp trunk/OpenMPT/soundlib/Load_mtm.cpp trunk/OpenMPT/soundlib/Load_ptm.cpp trunk/OpenMPT/soundlib/Load_s3m.cpp trunk/OpenMPT/soundlib/Load_stm.cpp trunk/OpenMPT/soundlib/Load_xm.cpp trunk/OpenMPT/soundlib/ModSequence.cpp trunk/OpenMPT/soundlib/ModSequence.h trunk/OpenMPT/soundlib/Sndfile.cpp trunk/OpenMPT/soundlib/Sndfile.h trunk/OpenMPT/soundlib/pattern.cpp trunk/OpenMPT/soundlib/pattern.h trunk/OpenMPT/soundlib/plugins/PlugInterface.h trunk/OpenMPT/soundlib/tuningcollection.h Modified: trunk/OpenMPT/common/mptString.cpp =================================================================== --- trunk/OpenMPT/common/mptString.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/common/mptString.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -14,25 +14,22 @@ #include <cstdarg> -namespace mpt { +namespace mpt { namespace String { -// Formats this string, like CString::Format. -void String::Format(const CharT* pszFormat, ...) + +std::string Format(const char *format, ...) { #if MPT_COMPILER_MSVC va_list argList; - va_start( argList, pszFormat ); + va_start(argList, format); // Count the needed array size. - const size_t nCount = _vscprintf(pszFormat, argList); // null character not included. - resize(nCount + 1); // + 1 is for null terminator. + const size_t nCount = _vscprintf(format, argList); // null character not included. + std::vector<char> buf(nCount + 1); // + 1 is for null terminator. + vsprintf_s(&(buf[0]), buf.size(), format, argList); - // Hack: directly modify the std::string's string. - // In C++11 std::string is guaranteed to be contiguous. - const int nCount2 = vsprintf_s(&*begin(), size(), pszFormat, argList); - resize(nCount2); // Removes the null character that vsprintf_s adds. - - va_end( argList ); + va_end(argList); + return &(buf[0]); #else va_list argList; va_start(argList, pszFormat); @@ -42,34 +39,9 @@ va_start(argList, pszFormat); vsnprintf(&(temp[0]), size + 1, pszFormat, argList); va_end(argList); - assign(&(temp[0])); + return &(temp[0]); #endif } -// Remove whitespaces at start of string -void String::LTrim() -{ - size_type pos = find_first_not_of(" \n\r\t"); - if(pos != npos) - erase(begin(), begin() + pos); -} - - -// Remove whitespaces at end of string -void String::RTrim() -{ - size_type pos = find_last_not_of(" \n\r\t"); - if(pos != npos) - erase(begin() + pos + 1, end()); -} - - -// Remove whitespaces at start and end of string -void String::Trim() -{ - LTrim(); - RTrim(); -} - -} // namespace mpt +} } // namespace mpt::String Modified: trunk/OpenMPT/common/mptString.h =================================================================== --- trunk/OpenMPT/common/mptString.h 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/common/mptString.h 2013-05-21 20:08:19 UTC (rev 2162) @@ -23,71 +23,68 @@ #define MPT_PRINTF_FUNC(formatstringindex,varargsindex) #endif + namespace mpt { - // Quick and incomplete string class to be used as a replacement for - // CString and std::string in soundlib. - class String : public std::string + + +#ifdef MODPLUG_TRACKER + // std::string compatible class that is convertible to const char* (and thus CString). + // This eases interfacing CSoundFile from MFC code in some cases. + // The goal is to remove this sometime in the future. + class string : public std::string { public: - typedef std::string BaseClass; - typedef char CharT; + string() {} + string(const char *psz) : std::string(psz) {} + string(const std::string &other) : std::string(other) {} + string& operator=(const char *psz) { std::string::operator=(psz); return *this; } + operator const char *() const { return c_str(); } // To allow easy assignment to CString in GUI side. + }; +#else + typedef std::string string; +#endif - String() {} - String(const CharT* psz) : BaseClass(psz) {} - String(const std::string& other) : BaseClass(other) {} - // Move constructors and move assignments. - #if defined(MPT_COMPILER_HAS_RVALUE_REF) - String(BaseClass&& str) : BaseClass(std::move(str)) {} - String(String&& other) : BaseClass(std::move(static_cast<BaseClass&>(other))) {} - String& operator=(BaseClass&& str) {BaseClass::operator=(std::move(str)); return *this;} - String& operator=(String&& other) {BaseClass::operator=(std::move(static_cast<BaseClass&>(other))); return *this;} - #endif +namespace String +{ - String& operator=(const CharT* psz) {BaseClass::operator=(psz); return *this;} - #ifdef _MFC_VER - String(const CString& str) {(*this) = str.GetString();} - String& operator=(const CString& str) {return operator=(str.GetString());} - #endif // _MFC_VER +std::string MPT_PRINTF_FUNC(1,2) Format(const char * format, ...); - // To allow easy assignment to CString in GUI side. - operator const CharT*() const {return c_str();} - // Set the string to psz, copy at most nCount characters - void SetString(const CharT* psz, const size_t nCount) - { - clear(); - Append(psz, nCount); - } +// Remove whitespace at start of string +static inline std::string LTrim(std::string str, const std::string &whitespace = " \n\r\t") +{ + std::string::size_type pos = str.find_first_not_of(whitespace); + if(pos != std::string::npos) + { + str.erase(str.begin(), str.begin() + pos); + } + return str; +} - // Appends given string to this. Stops after 'nCount' chars if null terminator - // hasn't been encountered before that. - void Append(const CharT* psz, const size_t nCount) {append(psz, nCount);} - // Difference between Append and AppendChars is that latter can be used to add - // potentially non-null terminated char array. - template <size_t N> - void AppendChars(const CharT (&arr)[N]) - { - append(arr, arr + N); - } +// Remove whitespace at end of string +static inline std::string RTrim(std::string str, const std::string &whitespace = " \n\r\t") +{ + std::string::size_type pos = str.find_last_not_of(whitespace); + if(pos != std::string::npos) + { + str.erase(str.begin() + pos + 1, str.end()); + } + return str; +} - // Formats this string, like CString::Format. - void MPT_PRINTF_FUNC(2,3) Format(const CharT* pszFormat, ...); - // Remove whitespaces at start of string - void LTrim(); - // Remove whitespaces at end of string - void RTrim(); - // Remove whitespaces at start and end of string - void Trim(); - }; +// Remove whitespace at start and end of string +static inline std::string Trim(std::string str, const std::string &whitespace = " \n\r\t") +{ + return RTrim(LTrim(str, whitespace), whitespace); } -inline std::string string_replace(std::string str, const std::string &oldStr, const std::string &newStr) +static inline std::string Replace(std::string str, const std::string &oldStr, const std::string &newStr) { std::size_t pos = 0; while((pos = str.find(oldStr, pos)) != std::string::npos) @@ -99,6 +96,12 @@ } +} // namespace String + + +} // namespace mpt + + static inline int mpt_strnicmp(const char *a, const char *b, size_t count) { #if MPT_COMPILER_MSVC Modified: trunk/OpenMPT/common/version.cpp =================================================================== --- trunk/OpenMPT/common/version.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/common/version.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -87,30 +87,29 @@ return std::string("OpenMPT ") + std::string(MPT_VERSION_STR); } -VersionNum ToNum(const char *const s) +VersionNum ToNum(const std::string &s_) { + const char *s = s_.c_str(); int v1, v2, v3, v4; sscanf(s, "%x.%x.%x.%x", &v1, &v2, &v3, &v4); return ((v1 << 24) | (v2 << 16) | (v3 << 8) | v4); } -mpt::String ToStr(const VersionNum v) +std::string ToStr(const VersionNum v) { - mpt::String strVersion; if(v == 0) { // Unknown version - strVersion = "Unknown"; + return "Unknown"; } else if((v & 0xFFFF) == 0) { // Only parts of the version number are known (e.g. when reading the version from the IT or S3M file header) - strVersion.Format("%X.%02X", (v >> 24) & 0xFF, (v >> 16) & 0xFF); + return mpt::String::Format("%X.%02X", (v >> 24) & 0xFF, (v >> 16) & 0xFF); } else { // Full version info available - strVersion.Format("%X.%02X.%02X.%02X", (v >> 24) & 0xFF, (v >> 16) & 0xFF, (v >> 8) & 0xFF, (v) & 0xFF); + return mpt::String::Format("%X.%02X.%02X.%02X", (v >> 24) & 0xFF, (v >> 16) & 0xFF, (v >> 8) & 0xFF, (v) & 0xFF); } - return strVersion; } VersionNum RemoveBuildNumber(const VersionNum num) Modified: trunk/OpenMPT/common/version.h =================================================================== --- trunk/OpenMPT/common/version.h 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/common/version.h 2013-05-21 20:08:19 UTC (rev 2162) @@ -32,10 +32,10 @@ std::string GetOpenMPTVersionStr(); // e.g. "OpenMPT 1.17.02.08" // Returns numerical version value from given version string. - VersionNum ToNum(const char *const s); + VersionNum ToNum(const std::string &s); // Returns version string from given numerical version value. - mpt::String ToStr(const VersionNum v); + std::string ToStr(const VersionNum v); // Return a version without build number (the last number in the version). // The current versioning scheme uses this number only for test builds, and it should be 00 for official builds, Modified: trunk/OpenMPT/mptrack/Ctrl_pat.cpp =================================================================== --- trunk/OpenMPT/mptrack/Ctrl_pat.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/mptrack/Ctrl_pat.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -1097,7 +1097,7 @@ GetDlgItemText(IDC_EDIT_SEQUENCE_NAME, str); if (str != m_sndFile.Order.m_sName) { - m_sndFile.Order.m_sName = str; + m_sndFile.Order.m_sName = str.GetString(); m_modDoc.SetModified(); m_modDoc.UpdateAllViews(NULL, (m_sndFile.Order.GetCurrentSequenceIndex() << HINT_SHIFT_SEQUENCE) | HINT_SEQNAMES, this); } Modified: trunk/OpenMPT/mptrack/Draw_pat.cpp =================================================================== --- trunk/OpenMPT/mptrack/Draw_pat.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/mptrack/Draw_pat.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -1644,7 +1644,7 @@ if(m->instr > 0 && m->instr <= MAX_MIXPLUGINS) { CHAR sztmp[128] = ""; - StringFixer::CopyN(sztmp, pSndFile->m_MixPlugins[m->instr - 1].GetParamName(m->GetValueVolCol())); + StringFixer::CopyN(sztmp, pSndFile->m_MixPlugins[m->instr - 1].GetParamName(m->GetValueVolCol()).c_str()); if (sztmp[0]) wsprintf(s, "%d: %s", m->GetValueVolCol(), sztmp); } } else Modified: trunk/OpenMPT/mptrack/MIDIMapping.cpp =================================================================== --- trunk/OpenMPT/mptrack/MIDIMapping.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/mptrack/MIDIMapping.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -17,13 +17,11 @@ std::string CMIDIMappingDirective::ToString() const //------------------------------------------------- { - mpt::String str; char flags[4] = "000"; if(m_Active) flags[0] = '1'; if(m_CaptureMIDI) flags[1] = '1'; if(m_AllowPatternEdit) flags[2] = '1'; - str.Format("%s:%d:%x:%d:%d:%d", flags, (int)GetChannel(), (int)GetEvent(), (int)GetController(), (int)m_PluginIndex, m_Parameter); - return str; + return mpt::String::Format("%s:%d:%x:%d:%d:%d", flags, (int)GetChannel(), (int)GetEvent(), (int)GetController(), (int)m_PluginIndex, m_Parameter); } Modified: trunk/OpenMPT/mptrack/MIDIMappingDialog.cpp =================================================================== --- trunk/OpenMPT/mptrack/MIDIMappingDialog.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/mptrack/MIDIMappingDialog.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -349,7 +349,7 @@ str.AppendChar('.'); //Param name - str.Insert(80, m_rSndFile.m_MixPlugins[plugindex-1].GetParamName(s.GetParamIndex())); + str.Insert(80, m_rSndFile.m_MixPlugins[plugindex-1].GetParamName(s.GetParamIndex()).c_str()); } else str.Insert(55, "No plugin"); Modified: trunk/OpenMPT/mptrack/MPTHacks.cpp =================================================================== --- trunk/OpenMPT/mptrack/MPTHacks.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/mptrack/MPTHacks.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -124,7 +124,6 @@ } bool foundHacks = false, foundHere = false; - mpt::String message; ClearLog(); // Check for plugins @@ -183,8 +182,7 @@ // Pattern count if(m_SndFile.Patterns.GetNumPatterns() > originalSpecs->patternsMax) { - message.Format("Found too many patterns (%d allowed)", originalSpecs->patternsMax); - AddToLog(message); + AddToLog(mpt::String::Format("Found too many patterns (%d allowed)", originalSpecs->patternsMax)); foundHacks = true; // REQUIRES (INTELLIGENT) AUTOFIX } @@ -222,8 +220,7 @@ } if(foundHere) { - message.Format("Found incompatible pattern lengths (must be between %d and %d rows)", originalSpecs->patternRowsMin, originalSpecs->patternRowsMax); - AddToLog(message); + AddToLog(mpt::String::Format("Found incompatible pattern lengths (must be between %d and %d rows)", originalSpecs->patternRowsMin, originalSpecs->patternRowsMax)); } // Check for invalid pattern commands @@ -252,8 +249,7 @@ // Check for too many channels if(m_SndFile.GetNumChannels() > originalSpecs->channelsMax || m_SndFile.GetNumChannels() < originalSpecs->channelsMin) { - message.Format("Found incompatible channel count (must be between %d and %d channels)", originalSpecs->channelsMin, originalSpecs->channelsMax); - AddToLog(message); + AddToLog(mpt::String::Format("Found incompatible channel count (must be between %d and %d channels)", originalSpecs->channelsMin, originalSpecs->channelsMax)); foundHacks = true; if(autofix) { @@ -283,8 +279,7 @@ // Check for too many samples if(m_SndFile.GetNumSamples() > originalSpecs->samplesMax) { - message.Format("Found too many samples (%d allowed)", originalSpecs->samplesMax); - AddToLog(message); + AddToLog(mpt::String::Format("Found too many samples (%d allowed)", originalSpecs->samplesMax)); foundHacks = true; // REQUIRES (INTELLIGENT) AUTOFIX } @@ -312,8 +307,7 @@ // Check for too many instruments if(m_SndFile.GetNumInstruments() > originalSpecs->instrumentsMax) { - message.Format("Found too many instruments (%d allowed)", originalSpecs->instrumentsMax); - AddToLog(message); + AddToLog(mpt::String::Format("Found too many instruments (%d allowed)", originalSpecs->instrumentsMax)); foundHacks = true; // REQUIRES (INTELLIGENT) AUTOFIX } @@ -363,8 +357,7 @@ // Check for too many orders if(m_SndFile.Order.GetLengthTailTrimmed() > originalSpecs->ordersMax) { - message.Format("Found too many orders (%d allowed)", originalSpecs->ordersMax); - AddToLog(message); + AddToLog(mpt::String::Format("Found too many orders (%d allowed)", originalSpecs->ordersMax)); foundHacks = true; // REQUIRES (INTELLIGENT) AUTOFIX } @@ -372,8 +365,7 @@ // Check for invalid default tempo if(m_SndFile.m_nDefaultTempo > originalSpecs->tempoMax || m_SndFile.m_nDefaultTempo < originalSpecs->tempoMin) { - message.Format("Found incompatible default tempo (must be between %d and %d)", originalSpecs->tempoMin, originalSpecs->tempoMax); - AddToLog(message); + AddToLog(mpt::String::Format("Found incompatible default tempo (must be between %d and %d)", originalSpecs->tempoMin, originalSpecs->tempoMax)); foundHacks = true; if(autofix) m_SndFile.m_nDefaultTempo = CLAMP(m_SndFile.m_nDefaultTempo, originalSpecs->tempoMin, originalSpecs->tempoMax); @@ -382,8 +374,7 @@ // Check for invalid default speed if(m_SndFile.m_nDefaultSpeed > originalSpecs->speedMax || m_SndFile.m_nDefaultSpeed < originalSpecs->speedMin) { - message.Format("Found incompatible default speed (must be between %d and %d)", originalSpecs->speedMin, originalSpecs->speedMax); - AddToLog(message); + AddToLog(mpt::String::Format("Found incompatible default speed (must be between %d and %d)", originalSpecs->speedMin, originalSpecs->speedMax)); foundHacks = true; if(autofix) m_SndFile.m_nDefaultSpeed = CLAMP(m_SndFile.m_nDefaultSpeed, originalSpecs->speedMin, originalSpecs->speedMax); Modified: trunk/OpenMPT/mptrack/Moddoc.cpp =================================================================== --- trunk/OpenMPT/mptrack/Moddoc.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/mptrack/Moddoc.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -428,7 +428,7 @@ { char s[256]; wsprintf(s, "Warning: this song was last saved with a more recent version of OpenMPT.\r\nSong saved with: v%s. Current version: v%s.\r\n", - (LPCTSTR)MptVersion::ToStr(m_SndFile.m_dwLastSavedWithVersion), + MptVersion::ToStr(m_SndFile.m_dwLastSavedWithVersion).c_str(), MptVersion::str); Reporting::Notification(s); } @@ -543,9 +543,9 @@ const bool xi = !_stricmp(&m_SndFile.m_szInstrumentPath[instr][len - 2], "xi"); if(iti || (!xi && m_SndFile.GetType() & (MOD_TYPE_IT | MOD_TYPE_MPT))) - success = m_SndFile.SaveITIInstrument(instr + 1, m_SndFile.m_szInstrumentPath[instr], false); + success = m_SndFile.SaveITIInstrument(instr + 1, m_SndFile.m_szInstrumentPath[instr].c_str(), false); else - success = m_SndFile.SaveXIInstrument(instr + 1, m_SndFile.m_szInstrumentPath[instr]); + success = m_SndFile.SaveXIInstrument(instr + 1, m_SndFile.m_szInstrumentPath[instr].c_str()); if(success) m_bsInstrumentModified.reset(instr); Modified: trunk/OpenMPT/mptrack/Mptrack.cpp =================================================================== --- trunk/OpenMPT/mptrack/Mptrack.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/mptrack/Mptrack.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -1520,9 +1520,9 @@ m_bmp.LoadBitmap(MAKEINTRESOURCE(IDB_MPTRACK)); SetDlgItemText(IDC_EDIT2, CString("Build Date: ") + MptVersion::GetBuildDateString().c_str()); SetDlgItemText(IDC_EDIT3, CString("OpenMPT ") + MptVersion::GetVersionStringExtended().c_str()); - m_heContact.SetWindowText( string_replace(MptVersion::GetContactString(), "\n", "\r\n" ).c_str()); + m_heContact.SetWindowText(mpt::String::Replace(MptVersion::GetContactString(), "\n", "\r\n" ).c_str()); m_static.SubclassDlgItem(IDC_CREDITS,this); - m_static.SetCredits((string_replace(MptVersion::GetFullCreditsString(), "\n", "|") + "||||||").c_str()); + m_static.SetCredits((mpt::String::Replace(MptVersion::GetFullCreditsString(), "\n", "|") + "||||||").c_str()); m_static.SetSpeed(DISPLAY_SLOW); m_static.SetColor(BACKGROUND_COLOR, RGB(138, 165, 219)); // Background Colour m_static.SetTransparent(); // Set parts of bitmaps with RGB(192,192,192) transparent Modified: trunk/OpenMPT/mptrack/TrackerSettings.cpp =================================================================== --- trunk/OpenMPT/mptrack/TrackerSettings.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/mptrack/TrackerSettings.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -261,7 +261,7 @@ { MptVersion::VersionNum vIniVersion; - vIniVersion = gcsPreviousVersion = MptVersion::ToNum(CMainFrame::GetPrivateProfileCString("Version", "Version", "", iniFile)); + vIniVersion = gcsPreviousVersion = MptVersion::ToNum(CMainFrame::GetPrivateProfileCString("Version", "Version", "", iniFile).GetString()); if(vIniVersion == 0) vIniVersion = MptVersion::num; @@ -532,7 +532,7 @@ // Default mod type when using the "New" button const MODTYPE oldDefault = defaultModType; - defaultModType = CModSpecifications::ExtensionToType(mpt::String(CMainFrame::GetPrivateProfileCString("Misc", "DefaultModType", CSoundFile::GetModSpecifications(defaultModType).fileExtension, iniFile))); + defaultModType = CModSpecifications::ExtensionToType(CMainFrame::GetPrivateProfileCString("Misc", "DefaultModType", CSoundFile::GetModSpecifications(defaultModType).fileExtension, iniFile).GetString()); if(defaultModType == MOD_TYPE_NONE) { defaultModType = oldDefault; Modified: trunk/OpenMPT/mptrack/TuningDialog.cpp =================================================================== --- trunk/OpenMPT/mptrack/TuningDialog.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/mptrack/TuningDialog.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -769,7 +769,7 @@ // a separate collection - no possibility to // directly replace some collection. CTuningCollection* pNewTCol = new CTuningCollection; - pNewTCol->SetSavefilePath(files.filenames[counter].c_str()); + pNewTCol->SetSavefilePath(files.filenames[counter]); if (pNewTCol->Deserialize()) { delete pNewTCol; pNewTCol = 0; Modified: trunk/OpenMPT/mptrack/Vstplug.cpp =================================================================== --- trunk/OpenMPT/mptrack/Vstplug.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/mptrack/Vstplug.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -3477,15 +3477,15 @@ #endif // NO_VST -mpt::String SNDMIXPLUGIN::GetParamName(PlugParamIndex index) const +std::string SNDMIXPLUGIN::GetParamName(PlugParamIndex index) const //------------------------------------------------------------ { CVstPlugin *vstPlug = dynamic_cast<CVstPlugin *>(pMixPlugin); if(vstPlug != nullptr) { - return vstPlug->GetParamName(index); + return vstPlug->GetParamName(index).GetString(); } else { - return mpt::String(); + return std::string(); } } \ No newline at end of file Modified: trunk/OpenMPT/mptrack/dlg_misc.cpp =================================================================== --- trunk/OpenMPT/mptrack/dlg_misc.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/mptrack/dlg_misc.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -163,7 +163,7 @@ CString CModTypeDlg::FormatVersionNumber(DWORD version) //----------------------------------------------------- { - return CString(MptVersion::ToStr(version)) + (MptVersion::IsTestBuild(version) ? " (test build)" : ""); + return std::string(MptVersion::ToStr(version) + (MptVersion::IsTestBuild(version) ? " (test build)" : "")).c_str(); } Modified: trunk/OpenMPT/mptrack/test/test.cpp =================================================================== --- trunk/OpenMPT/mptrack/test/test.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/mptrack/test/test.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -166,11 +166,11 @@ throw std::runtime_error("VerQueryValue() returned false"); } - CString version = szVer; + std::string version = szVer; delete[] pVersionInfo; //version string should be like: 1,17,2,38 Change ',' to '.' to get format 1.17.2.38 - version.Replace(',', '.'); + version = mpt::String::Replace(version, ",", "."); VERIFY_EQUAL( version, MptVersion::str ); VERIFY_EQUAL( MptVersion::ToNum(version), MptVersion::num ); Modified: trunk/OpenMPT/mptrack/view_com.cpp =================================================================== --- trunk/OpenMPT/mptrack/view_com.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/mptrack/view_com.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -428,7 +428,7 @@ case INSLIST_PATH: if (pIns) { - strncpy(s, pSndFile->m_szInstrumentPath[iIns], _MAX_PATH); + strncpy(s, pSndFile->m_szInstrumentPath[iIns].c_str(), _MAX_PATH); s[_MAX_PATH] = 0; } break; Modified: trunk/OpenMPT/soundlib/LOAD_DBM.CPP =================================================================== --- trunk/OpenMPT/soundlib/LOAD_DBM.CPP 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/LOAD_DBM.CPP 2013-05-21 20:08:19 UTC (rev 2162) @@ -223,7 +223,7 @@ nPatterns = BigEndianW(pfh->patterns); m_nType = MOD_TYPE_DBM; m_nChannels = CLAMP(BigEndianW(pfh->channels), 1, MAX_BASECHANNELS); // note: MAX_BASECHANNELS is currently 127, but DBM supports up to 128 channels. - madeWithTracker.Format("Digi Booster %x.%x", pfh->trkVerHi, pfh->trkVerLo); + madeWithTracker = mpt::String::Format("Digi Booster %x.%x", pfh->trkVerHi, pfh->trkVerLo); if(pfh->songname[0]) { Modified: trunk/OpenMPT/soundlib/Load_ams.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_ams.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/Load_ams.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -403,7 +403,7 @@ m_nSamples = fileHeader.numSamps; SetModFlag(MSF_COMPATIBLE_PLAY, true); SetupMODPanning(true); - madeWithTracker.Format("Extreme's tracker %d.%d", fileHeader.versionHigh, fileHeader.versionLow); + madeWithTracker = mpt::String::Format("Extreme's tracker %d.%d", fileHeader.versionHigh, fileHeader.versionLow); vector<bool> packSample(fileHeader.numSamps); @@ -778,7 +778,7 @@ m_nChannels = 32; SetModFlag(MSF_COMPATIBLE_PLAY, true); SetupMODPanning(true); - madeWithTracker.Format("Velvet Studio %d.%d", fileHeader.format >> 4, fileHeader.format & 0x0F); + madeWithTracker = mpt::String::Format("Velvet Studio %d.%d", fileHeader.format >> 4, fileHeader.format & 0x0F); // Instruments vector<SAMPLEINDEX> firstSample; // First sample of instrument Modified: trunk/OpenMPT/soundlib/Load_digi.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_digi.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/Load_digi.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -116,7 +116,7 @@ m_nChannels = fileHeader.numChannels; m_nSamples = 31; m_nSamplePreAmp = 256 / m_nChannels; - madeWithTracker.Format("Digi Booster %d.%d", fileHeader.versionInt >> 4, fileHeader.versionInt & 0x0F); + madeWithTracker = mpt::String::Format("Digi Booster %d.%d", fileHeader.versionInt >> 4, fileHeader.versionInt & 0x0F); Order.ReadFromArray(fileHeader.orders, fileHeader.lastOrdIndex + 1); Modified: trunk/OpenMPT/soundlib/Load_gdm.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_gdm.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/Load_gdm.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -158,7 +158,7 @@ InitializeGlobals(); m_nType = gdmFormatOrigin[fileHeader.originalFormat]; - madeWithTracker.Format("BWSB 2GDM %d.%d (converted from %s)", fileHeader.trackerMajorVer, fileHeader.formatMinorVer, ModTypeToTracker(GetType()).c_str()); + madeWithTracker = mpt::String::Format("BWSB 2GDM %d.%d (converted from %s)", fileHeader.trackerMajorVer, fileHeader.formatMinorVer, ModTypeToTracker(GetType()).c_str()); // Song name StringFixer::ReadString<StringFixer::maybeNullTerminated>(m_szNames[0], fileHeader.songTitle); Modified: trunk/OpenMPT/soundlib/Load_it.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_it.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/Load_it.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -284,11 +284,11 @@ // Get version of Schism Tracker that was used to create an IT/S3M file. -mpt::String CSoundFile::GetSchismTrackerVersion(uint16 cwtv) +std::string CSoundFile::GetSchismTrackerVersion(uint16 cwtv) //---------------------------------------------------------- { cwtv &= 0xFFF; - mpt::String version; + std::string version; if(cwtv > 0x050) { tm epoch, *verTime; @@ -297,12 +297,12 @@ time_t versionSec = ((cwtv - 0x050) * 86400) + mktime(&epoch); if((verTime = localtime(&versionSec)) != nullptr) { - version.Format("Schism Tracker %04d-%02d-%02d", + version = mpt::String::Format("Schism Tracker %04d-%02d-%02d", verTime->tm_year + 1900, verTime->tm_mon + 1, verTime->tm_mday); } } else { - version.Format("Schism Tracker 0.%x", cwtv & 0xFF); + version = mpt::String::Format("Schism Tracker 0.%x", cwtv & 0xFF); } return version; } @@ -695,9 +695,7 @@ if(numPats != patPos.size()) { // Hack: Notify user here if file contains more patterns than what can be read. - mpt::String str; - str.Format(str_PatternSetTruncationNote, patPos.size(), numPats); - AddToLog(str); + AddToLog(mpt::String::Format(str_PatternSetTruncationNote, patPos.size(), numPats)); } // Checking for number of used channels, which is not explicitely specified in the file. @@ -770,9 +768,7 @@ // Empty 64-row pattern if(Patterns.Insert(pat, 64)) { - mpt::String s; - s.Format("Allocating patterns failed starting from pattern %u", pat); - AddToLog(s); + AddToLog(mpt::String::Format("Allocating patterns failed starting from pattern %u", pat)); break; } // Now (after the Insert() call), we can read the pattern name. @@ -973,10 +969,10 @@ // Patched update of IT 2.14 (0x0215 - 0x0217 == p1 - p3) // p4 (as found on modland) adds the ITVSOUND driver, but doesn't seem to change // anything as far as file saving is concerned. - madeWithTracker.Format("Impulse Tracker 2.14p%d", fileHeader.cwtv - 0x0214); + madeWithTracker = mpt::String::Format("Impulse Tracker 2.14p%d", fileHeader.cwtv - 0x0214); } else { - madeWithTracker.Format("Impulse Tracker %d.%02x", (fileHeader.cwtv & 0x0F00) >> 8, (fileHeader.cwtv & 0xFF)); + madeWithTracker = mpt::String::Format("Impulse Tracker %d.%02x", (fileHeader.cwtv & 0x0F00) >> 8, (fileHeader.cwtv & 0xFF)); } } break; @@ -984,10 +980,10 @@ madeWithTracker = GetSchismTrackerVersion(fileHeader.cwtv); break; case 6: - madeWithTracker.Format("BeRoTracker %x.%x"); + madeWithTracker = mpt::String::Format("BeRoTracker %x.%x"); break; case 7: - madeWithTracker.Format("ITMCK %d.%d.%d", (fileHeader.cwtv >> 8) & 0x0F, (fileHeader.cwtv >> 4) & 0x0F, fileHeader.cwtv & 0x0F); + madeWithTracker = mpt::String::Format("ITMCK %d.%d.%d", (fileHeader.cwtv >> 8) & 0x0F, (fileHeader.cwtv >> 4) & 0x0F, fileHeader.cwtv & 0x0F); break; } } @@ -1539,9 +1535,7 @@ buf[len++] = 0; if(patinfo[0] > uint16_max - len) { - mpt::String str; - str.Format("%s (%s %u)", str_tooMuchPatternData, str_pattern, pat); - AddToLog(str); + AddToLog(mpt::String::Format("%s (%s %u)", str_tooMuchPatternData, str_pattern, pat)); break; } else { Modified: trunk/OpenMPT/soundlib/Load_itp.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_itp.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/Load_itp.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -214,7 +214,7 @@ for(INSTRUMENTINDEX ins = 0; ins < GetNumInstruments(); ins++) { - if(m_szInstrumentPath[ins].empty() || !f.Open(m_szInstrumentPath[ins])) continue; + if(m_szInstrumentPath[ins].empty() || !f.Open(m_szInstrumentPath[ins].c_str())) continue; size = f.GetLength(); LPBYTE lpFile = f.Lock(size); @@ -388,7 +388,7 @@ { char path[_MAX_PATH]; MemsetZero(path); - strncpy(path, m_szInstrumentPath[i], _MAX_PATH); + strncpy(path, m_szInstrumentPath[i].c_str(), _MAX_PATH); fwrite(path, 1, _MAX_PATH, f); } Modified: trunk/OpenMPT/soundlib/Load_med.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_med.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/Load_med.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -547,7 +547,7 @@ InitializeChannels(); // Setup channel pan positions and volume SetupMODPanning(true); - madeWithTracker.Format("OctaMED (MMD%c)", version); + madeWithTracker = mpt::String::Format("OctaMED (MMD%c)", version); m_nType = MOD_TYPE_MED; m_nSamplePreAmp = 32; Modified: trunk/OpenMPT/soundlib/Load_mt2.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_mt2.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/Load_mt2.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -240,7 +240,7 @@ InitializeGlobals(); InitializeChannels(); - madeWithTracker.AppendChars(pfh->szTrackerName); + madeWithTracker.append(pfh->szTrackerName, CountOf(pfh->szTrackerName)); m_nType = MOD_TYPE_MT2; m_nChannels = pfh->wChannels; m_nRestartPos = pfh->wRestart; Modified: trunk/OpenMPT/soundlib/Load_mtm.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_mtm.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/Load_mtm.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -123,7 +123,7 @@ m_nType = MOD_TYPE_MTM; m_nSamples = fileHeader.numSamples; m_nChannels = fileHeader.numChannels; - madeWithTracker.Format("MultiTracker %d.%d", fileHeader.version >> 4, fileHeader.version & 0x0F); + madeWithTracker = mpt::String::Format("MultiTracker %d.%d", fileHeader.version >> 4, fileHeader.version & 0x0F); // Reading instruments for(SAMPLEINDEX smp = 1; smp <= GetNumSamples(); smp++) Modified: trunk/OpenMPT/soundlib/Load_ptm.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_ptm.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/Load_ptm.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -104,7 +104,7 @@ StringFixer::ReadString<StringFixer::maybeNullTerminated>(m_szNames[0], pfh.songname); InitializeGlobals(); - madeWithTracker.Format("PolyTracker %d.%d", pfh.version_hi, pfh.version_lo); + madeWithTracker = mpt::String::Format("PolyTracker %d.%d", pfh.version_hi, pfh.version_lo); m_nType = MOD_TYPE_PTM; m_nChannels = pfh.nchannels; m_nSamples = MIN(pfh.nsamples, MAX_SAMPLES - 1); Modified: trunk/OpenMPT/soundlib/Load_s3m.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_s3m.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/Load_s3m.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -450,7 +450,7 @@ // ST3 ignored Zxx commands, so if we find that a file was made with ST3, we should erase all MIDI macros. bool keepMidiMacros = false; - mpt::String trackerName; + const char *trackerFormatStr = nullptr; switch(fileHeader.cwtv & S3MFileHeader::trackerMask) { case S3MFileHeader::trkScreamTracker: @@ -458,43 +458,46 @@ { // MPT 1.16 and older versions of OpenMPT - Simply keep default (filter) MIDI macros m_dwLastSavedWithVersion = MAKE_VERSION_NUMERIC(1, 16, 00, 00); - trackerName = "ModPlug Tracker / OpenMPT"; + madeWithTracker = "ModPlug Tracker / OpenMPT"; keepMidiMacros = true; } else if(fileHeader.special == 0 && fileHeader.ultraClicks == 0 && fileHeader.flags == 0 && fileHeader.usePanningTable == 0) { - trackerName = "Velvet Studio"; + madeWithTracker = "Velvet Studio"; } else { - trackerName = "Scream Tracker %d.%02x"; + trackerFormatStr = "Scream Tracker %d.%02x"; } break; case S3MFileHeader::trkImagoOrpheus: - trackerName = "Imago Orpheus %d.%02x"; + trackerFormatStr = "Imago Orpheus %d.%02x"; break; case S3MFileHeader::trkImpulseTracker: if(fileHeader.cwtv <= S3MFileHeader::trkIT2_14) - trackerName = "Impulse Tracker %d.%02x"; + trackerFormatStr = "Impulse Tracker %d.%02x"; else - trackerName.Format("Impulse Tracker 2.14p%d", fileHeader.cwtv - S3MFileHeader::trkIT2_14); + madeWithTracker = mpt::String::Format("Impulse Tracker 2.14p%d", fileHeader.cwtv - S3MFileHeader::trkIT2_14); break; case S3MFileHeader::trkSchismTracker: if(fileHeader.cwtv == S3MFileHeader::trkBeRoTrackerOld) - trackerName = "BeRoTracker"; + madeWithTracker = "BeRoTracker"; else - trackerName = GetSchismTrackerVersion(fileHeader.cwtv); + madeWithTracker = GetSchismTrackerVersion(fileHeader.cwtv); break; case S3MFileHeader::trkOpenMPT: - trackerName = "OpenMPT %d.%02x"; + trackerFormatStr = "OpenMPT %d.%02x"; m_dwLastSavedWithVersion = (fileHeader.cwtv & S3MFileHeader::versionMask) << 16; break; case S3MFileHeader::trkBeRoTracker: - trackerName = "BeRoTracker"; + madeWithTracker = "BeRoTracker"; break; case S3MFileHeader::trkCreamTracker: - trackerName = "CreamTracker"; + madeWithTracker = "CreamTracker"; break; } - madeWithTracker.Format(trackerName, (fileHeader.cwtv & 0xF00) >> 8, (fileHeader.cwtv & 0xFF)); + if(trackerFormatStr) + { + madeWithTracker = mpt::String::Format(trackerFormatStr, (fileHeader.cwtv & 0xF00) >> 8, (fileHeader.cwtv & 0xFF)); + } if((fileHeader.cwtv & S3MFileHeader::trackerMask) > S3MFileHeader::trkScreamTracker) { Modified: trunk/OpenMPT/soundlib/Load_stm.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_stm.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/Load_stm.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -136,7 +136,7 @@ // Read STM header InitializeGlobals(); - madeWithTracker.Format("Scream Tracker %d.%02x", fileHeader.verMajor, fileHeader.verMinor); + madeWithTracker = mpt::String::Format("Scream Tracker %d.%02x", fileHeader.verMajor, fileHeader.verMinor); m_nType = MOD_TYPE_STM; m_nSamples = 31; m_nChannels = 4; Modified: trunk/OpenMPT/soundlib/Load_xm.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_xm.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/Load_xm.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -302,8 +302,9 @@ { // Something else! madeWith = verUnknown |verConfirmed; - madeWithTracker.AppendChars(fileHeader.trackerName); - madeWithTracker.RTrim(); + + madeWithTracker.append(fileHeader.trackerName, CountOf(fileHeader.trackerName)); + madeWithTracker = mpt::String::RTrim(madeWithTracker); } StringFixer::ReadString<StringFixer::spacePadded>(m_szNames[0], fileHeader.songName); @@ -846,8 +847,7 @@ // Reaching the limits of file format? if(len > uint16_max) { - mpt::String str; str.Format("%s (%s %u)", str_tooMuchPatternData, str_pattern, pat); - AddToLog(str); + AddToLog(mpt::String::Format("%s (%s %u)", str_tooMuchPatternData, str_pattern, pat)); len = uint16_max; } Modified: trunk/OpenMPT/soundlib/ModSequence.cpp =================================================================== --- trunk/OpenMPT/soundlib/ModSequence.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/ModSequence.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -767,8 +767,7 @@ srlztn::Binaryread<uint16>(iStrm, size); if(size > ModSpecs::mptm.ordersMax) { - mpt::String str; str.Format(str_SequenceTruncationNote, size, ModSpecs::mptm.ordersMax); - seq.m_sndFile.AddToLog(str); + seq.m_sndFile.AddToLog(mpt::String::Format(str_SequenceTruncationNote, size, ModSpecs::mptm.ordersMax)); size = ModSpecs::mptm.ordersMax; } seq.resize(MAX(size, MAX_ORDERS)); @@ -803,7 +802,7 @@ { srlztn::Ssb ssb(oStrm); ssb.BeginWrite(FileIdSequence, MptVersion::num); - ssb.WriteItem((const char*)seq.m_sName, "n"); + ssb.WriteItem(seq.m_sName.c_str(), "n"); const uint16 nLength = seq.GetLengthTailTrimmed(); ssb.WriteItem<uint16>(nLength, "l"); ssb.WriteItem(seq.m_pArray, "a", 1, srlztn::ArrayWriter<uint16>(nLength)); Modified: trunk/OpenMPT/soundlib/ModSequence.h =================================================================== --- trunk/OpenMPT/soundlib/ModSequence.h 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/ModSequence.h 2013-05-21 20:08:19 UTC (rev 2162) @@ -124,7 +124,7 @@ const_iterator end() const {return m_pArray + m_nSize;} public: - mpt::String m_sName; // Sequence name. + mpt::string m_sName; // Sequence name. protected: CSoundFile &m_sndFile; // Pointer to associated CSoundFile. Modified: trunk/OpenMPT/soundlib/Sndfile.cpp =================================================================== --- trunk/OpenMPT/soundlib/Sndfile.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/Sndfile.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -1569,9 +1569,7 @@ } // Load local tunings. - mpt::String sPath; - sPath.Format("%slocal_tunings%s", TrackerSettings::Instance().GetDefaultDirectory(DIR_TUNING), CTuningCollection::s_FileExtension); - s_pTuningsSharedLocal->SetSavefilePath(sPath); + s_pTuningsSharedLocal->SetSavefilePath(mpt::String::Format("%slocal_tunings%s", TrackerSettings::Instance().GetDefaultDirectory(DIR_TUNING), CTuningCollection::s_FileExtension)); s_pTuningsSharedLocal->Deserialize(); // Enabling adding/removing of tunings for standard collection Modified: trunk/OpenMPT/soundlib/Sndfile.h =================================================================== --- trunk/OpenMPT/soundlib/Sndfile.h 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/Sndfile.h 2013-05-21 20:08:19 UTC (rev 2162) @@ -389,11 +389,11 @@ public: // Song message SongMessage songMessage; - mpt::String madeWithTracker; + std::string madeWithTracker; // -> CODE#0023 // -> DESC="IT project files (.itp)" - mpt::String m_szInstrumentPath[MAX_INSTRUMENTS]; + std::string m_szInstrumentPath[MAX_INSTRUMENTS]; // -! NEW_FEATURE#0023 bool m_bIsRendering; @@ -556,7 +556,7 @@ void LoadExtendedSongProperties(const MODTYPE modtype, FileReader &file, bool* pInterpretMptMade = nullptr); static size_t LoadModularInstrumentData(FileReader &file, ModInstrument &ins); - mpt::String GetSchismTrackerVersion(uint16 cwtv); + std::string GetSchismTrackerVersion(uint16 cwtv); // Reads extended instrument properties(XM/IT/MPTM). // If no errors occur and song extension tag is found, returns pointer to the beginning Modified: trunk/OpenMPT/soundlib/pattern.cpp =================================================================== --- trunk/OpenMPT/soundlib/pattern.cpp 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/pattern.cpp 2013-05-21 20:08:19 UTC (rev 2162) @@ -217,7 +217,7 @@ { return false; } - m_PatternName.SetString(newName, strnlen(newName, maxChars)); + m_PatternName.assign(newName, strnlen(newName, maxChars)); return true; } @@ -229,7 +229,7 @@ { return false; } - strncpy(buffer, m_PatternName, maxChars - 1); + strncpy(buffer, m_PatternName.c_str(), maxChars - 1); buffer[maxChars - 1] = '\0'; return true; } Modified: trunk/OpenMPT/soundlib/pattern.h =================================================================== --- trunk/OpenMPT/soundlib/pattern.h 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/pattern.h 2013-05-21 20:08:19 UTC (rev 2162) @@ -102,7 +102,7 @@ return GetName(buffer, bufferSize); } bool GetName(char *buffer, size_t maxChars) const; - const mpt::String& GetName() const { return m_PatternName; }; + mpt::string GetName() const { return m_PatternName; }; // Double number of rows bool Expand(); @@ -146,7 +146,7 @@ ROWINDEX m_Rows; ROWINDEX m_RowsPerBeat; // patterns-specific time signature. if != 0, this is implicitely set. ROWINDEX m_RowsPerMeasure; // dito - mpt::String m_PatternName; + std::string m_PatternName; CPatternContainer& m_rPatternContainer; //END: DATA }; Modified: trunk/OpenMPT/soundlib/plugins/PlugInterface.h =================================================================== --- trunk/OpenMPT/soundlib/plugins/PlugInterface.h 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/plugins/PlugInterface.h 2013-05-21 20:08:19 UTC (rev 2162) @@ -160,7 +160,7 @@ { return Info.szName; } const char *GetLibraryName() const { return Info.szLibraryName; } - mpt::String GetParamName(PlugParamIndex index) const; + std::string GetParamName(PlugParamIndex index) const; // Check if a plugin is loaded into this slot (also returns true if the plugin in this slot has not been found) bool IsValidPlugin() const { return (Info.dwPluginId1 | Info.dwPluginId2) != 0; }; Modified: trunk/OpenMPT/soundlib/tuningcollection.h =================================================================== --- trunk/OpenMPT/soundlib/tuningcollection.h 2013-05-21 15:10:38 UTC (rev 2161) +++ trunk/OpenMPT/soundlib/tuningcollection.h 2013-05-21 20:08:19 UTC (rev 2162) @@ -94,7 +94,7 @@ const string& GetName() const {return m_Name;} - void SetSavefilePath(LPCTSTR psz) {m_SavefilePath = psz;} + void SetSavefilePath(const std::string &psz) {m_SavefilePath = psz;} const string& GetSaveFilePath() const {return m_SavefilePath;} string GetVersionString() const {return Stringify(static_cast<int>(s_SerializationVersion));} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |