From: <sag...@us...> - 2012-09-29 19:59:01
|
Revision: 1368 http://modplug.svn.sourceforge.net/modplug/?rev=1368&view=rev Author: saga-games Date: 2012-09-29 19:58:54 +0000 (Sat, 29 Sep 2012) Log Message: ----------- [Fix] WAV Export file name was faulty when not exporting in instrument/channel mode [Fix] Input boxes in general tab didn't allow for vertical scrolling (broke some of them due to the recent font change) [Fix] Compatibility-exported XM files are now loaded with the correct compatible settings again. Modified Paths: -------------- trunk/OpenMPT/mptrack/Moddoc.cpp trunk/OpenMPT/mptrack/mptrack.rc trunk/OpenMPT/soundlib/Load_xm.cpp Modified: trunk/OpenMPT/mptrack/Moddoc.cpp =================================================================== --- trunk/OpenMPT/mptrack/Moddoc.cpp 2012-09-28 19:54:06 UTC (rev 1367) +++ trunk/OpenMPT/mptrack/Moddoc.cpp 2012-09-29 19:58:54 UTC (rev 1368) @@ -1543,13 +1543,10 @@ // will set default dir here because there's no setup option for export dir yet (feel free to add one...) CMainFrame::GetSettings().SetDefaultDirectory(files.workingDirectory.c_str(), DIR_EXPORT, true); - CString fileName, fileExt; - { - char drive[_MAX_DRIVE], dir[_MAX_DIR], name[_MAX_FNAME], ext[_MAX_EXT]; - _splitpath(files.first_file.c_str(), drive, dir, name, ext); - fileName = CString(drive) + CString(dir) + CString(name); - fileExt = CString(ext); - } + char drive[_MAX_DRIVE], dir[_MAX_DIR], name[_MAX_FNAME], ext[_MAX_EXT]; + _splitpath(files.first_file.c_str(), drive, dir, name, ext); + const CString fileName = CString(drive) + CString(dir) + CString(name); + const CString fileExt = CString(ext); // Saving as wave file @@ -1609,7 +1606,7 @@ for(int i = 0 ; i < nRenderPasses ; i++) { CString thisName = fileName; - char fileNameAdd[_MAX_FNAME]; + char fileNameAdd[_MAX_FNAME] = ""; // Channel mode if(wsdlg.m_bChannelMode) Modified: trunk/OpenMPT/mptrack/mptrack.rc =================================================================== --- trunk/OpenMPT/mptrack/mptrack.rc 2012-09-28 19:54:06 UTC (rev 1367) +++ trunk/OpenMPT/mptrack/mptrack.rc 2012-09-29 19:58:54 UTC (rev 1368) @@ -635,26 +635,26 @@ GROUPBOX "",IDC_STATIC,1,14,83,82 LTEXT "Initial tempo:",IDC_STATIC,5,20,44,8 CONTROL "",IDC_SLIDER_SONGTEMPO,"msctls_trackbar32",TBS_VERT | TBS_BOTH | TBS_NOTICKS,11,28,15,50 - EDITTEXT IDC_EDIT_TEMPO,5,78,29,12,ES_NUMBER + EDITTEXT IDC_EDIT_TEMPO,5,78,29,12,ES_AUTOHSCROLL | ES_NUMBER CONTROL "",IDC_SPIN_TEMPO,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,27,76,11,14 LTEXT "Ticks/row:",IDC_STATIC,44,40,35,8 - EDITTEXT IDC_EDIT_SPEED,44,51,30,12,ES_NUMBER + EDITTEXT IDC_EDIT_SPEED,44,51,30,12,ES_AUTOHSCROLL | ES_NUMBER CONTROL "Spin1",IDC_SPIN_SPEED,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,67,50,11,14 LTEXT "Restart:",IDC_STATIC,44,68,26,8 - EDITTEXT IDC_EDIT_RESTARTPOS,44,78,30,12,ES_NUMBER + EDITTEXT IDC_EDIT_RESTARTPOS,44,78,30,12,ES_AUTOHSCROLL | ES_NUMBER CONTROL "Spin1",IDC_SPIN_RESTARTPOS,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,65,77,11,14 GROUPBOX "",IDC_STATIC,83,14,175,82 LTEXT "Initial global vol:",IDC_STATIC,90,20,52,8 CONTROL "",IDC_SLIDER_GLOBALVOL,"msctls_trackbar32",TBS_VERT | TBS_BOTH | TBS_NOTICKS | TBS_TOOLTIPS,105,28,15,50 - EDITTEXT IDC_EDIT_GLOBALVOL,95,78,36,12,ES_NUMBER + EDITTEXT IDC_EDIT_GLOBALVOL,95,78,36,12,ES_AUTOHSCROLL | ES_NUMBER CONTROL "",IDC_SPIN_GLOBALVOL,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,124,76,11,14 LTEXT "VSTi vol:",IDC_STATIC,159,20,33,8 CONTROL "",IDC_SLIDER_VSTIVOL,"msctls_trackbar32",TBS_VERT | TBS_BOTH | TBS_NOTICKS | TBS_TOOLTIPS,164,28,15,50 - EDITTEXT IDC_EDIT_VSTIVOL,156,78,36,12,ES_NUMBER + EDITTEXT IDC_EDIT_VSTIVOL,156,78,36,12,ES_AUTOHSCROLL | ES_NUMBER CONTROL "",IDC_SPIN_VSTIVOL,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,184,76,11,14 LTEXT "Sample vol:",IDC_STATIC,212,20,38,8 CONTROL "Slider1",IDC_SLIDER_SAMPLEPREAMP,"msctls_trackbar32",TBS_VERT | TBS_BOTH | TBS_NOTICKS | TBS_TOOLTIPS,221,28,15,50 - EDITTEXT IDC_EDIT_SAMPLEPA,212,78,36,12,ES_NUMBER + EDITTEXT IDC_EDIT_SAMPLEPA,212,78,36,12,ES_AUTOHSCROLL | ES_NUMBER CONTROL "",IDC_SPIN_SAMPLEPA,"msctls_updown32",UDS_SETBUDDYINT | UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS | UDS_NOTHOUSANDS,238,75,11,14 PUSHBUTTON "Song Properties...",IDC_BUTTON_MODTYPE,264,18,66,12,NOT WS_TABSTOP CONTROL "Loop Song",IDC_CHECK_LOOPSONG,"Button",BS_AUTOCHECKBOX | BS_FLAT | WS_TABSTOP,263,48,67,10 Modified: trunk/OpenMPT/soundlib/Load_xm.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_xm.cpp 2012-09-28 19:54:06 UTC (rev 1367) +++ trunk/OpenMPT/soundlib/Load_xm.cpp 2012-09-29 19:58:54 UTC (rev 1368) @@ -244,7 +244,8 @@ verOldModPlug = 0x01, // Made with MPT Alpha / Beta verNewModPlug = 0x02, // Made with MPT (not Alpha / Beta) verModPlug1_09 = 0x04, // Made with MPT 1.09 or possibly other version - verConfirmed = 0x08, // We are very sure that we found the correct tracker version. + verOpenMPT = 0x08, // Made with OpenMPT + verConfirmed = 0x10, // We are very sure that we found the correct tracker version. }; @@ -328,7 +329,7 @@ m_dwLastSavedWithVersion = MAKE_VERSION_NUMERIC(1, 00, 00, A5); } else if(instrHeader.size == 263) { - // ModPlug Tracker Beta + // ModPlug Tracker Beta (Beta 1 still behaves like Alpha, but Beta 3.3 does it this way) m_dwLastSavedWithVersion = MAKE_VERSION_NUMERIC(1, 00, 00, B3); } else { @@ -511,6 +512,7 @@ m_dwLastSavedWithVersion = MAKE_VERSION_NUMERIC(1, 16, 00, 00); } } + if(!memcmp(fileHeader.trackerName, "OpenMPT ", 8)) { // Hey, I know this tracker! @@ -518,22 +520,20 @@ memcpy(mptVersion, fileHeader.trackerName + 8, 12); StringFixer::SetNullTerminator(mptVersion); m_dwLastSavedWithVersion = MptVersion::ToNum(mptVersion); + madeWith = verOpenMPT | verConfirmed; } - if(m_dwLastSavedWithVersion != 0) + if(m_dwLastSavedWithVersion != 0 && !madeWith[verOpenMPT]) { m_nMixLevels = mixLevels_original; SetModFlag(MSF_COMPATIBLE_PLAY, false); } -// -> CODE#0027 -// -> DESC="per-instrument volume ramping setup (refered as attack)" - // Leave if no extra instrument settings are available (end of file reached) if(!file.BytesLeft()) return true; bool interpretOpenMPTMade = false; // specific for OpenMPT 1.17+ (bMadeWithModPlug is also for MPT 1.16) - if(m_nInstruments) + if(GetNumInstruments()) { file.Skip(reinterpret_cast<const char *>(LoadExtendedInstrumentProperties(reinterpret_cast<LPCBYTE>(file.GetRawData()), reinterpret_cast<LPCBYTE>(file.GetRawData()) + file.BytesLeft(), &interpretOpenMPTMade)) - file.GetRawData()); } @@ -543,11 +543,13 @@ if(interpretOpenMPTMade) { UpgradeModFlags(); + + if(m_dwLastSavedWithVersion == 0) + { + m_dwLastSavedWithVersion = MAKE_VERSION_NUMERIC(1, 17, 00, 00); // early versions of OpenMPT had no version indication. + } } - if(interpretOpenMPTMade && m_dwLastSavedWithVersion == 0) - m_dwLastSavedWithVersion = MAKE_VERSION_NUMERIC(1, 17, 01, 00); // early versions of OpenMPT had no version indication. - return true; } @@ -594,7 +596,7 @@ // Writing song header xmheader.version = 0x0104; // XM Format v1.04 - xmheader.size = sizeof(XMFileHeader) - 60; // minus everything before this field + xmheader.size = sizeof(XMFileHeader) - 60; // minus everything before this field xmheader.restartPos = m_nRestartPos; xmheader.channels = (m_nChannels + 1) & 0xFFFE; // avoid odd channel count for FT2 compatibility This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |