From: <sag...@us...> - 2013-03-09 21:24:44
|
Revision: 1552 http://sourceforge.net/p/modplug/code/1552 Author: saga-games Date: 2013-03-09 21:24:30 +0000 (Sat, 09 Mar 2013) Log Message: ----------- [Ref] Small changes here and there (including a VS2008 compile fix) Modified Paths: -------------- trunk/OpenMPT/mptrack/CleanupSong.cpp trunk/OpenMPT/mptrack/InputHandler.cpp trunk/OpenMPT/mptrack/ModConvert.cpp trunk/OpenMPT/mptrack/Moddoc.cpp trunk/OpenMPT/mptrack/VstPresets.h trunk/OpenMPT/mptrack/Vstplug.cpp trunk/OpenMPT/soundlib/ITCompression.cpp trunk/OpenMPT/soundlib/LOAD_DMF.CPP trunk/OpenMPT/soundlib/Load_ams.cpp trunk/OpenMPT/soundlib/Load_gdm.cpp trunk/OpenMPT/soundlib/Load_imf.cpp Modified: trunk/OpenMPT/mptrack/CleanupSong.cpp =================================================================== --- trunk/OpenMPT/mptrack/CleanupSong.cpp 2013-03-09 14:21:31 UTC (rev 1551) +++ trunk/OpenMPT/mptrack/CleanupSong.cpp 2013-03-09 21:24:30 UTC (rev 1552) @@ -530,12 +530,12 @@ // Check if any samples are not referenced in the patterns (sample mode) or by an instrument (instrument mode). // This doesn't check yet if a sample is referenced by an instrument, but actually unused in the patterns. - for(SAMPLEINDEX nSmp = pSndFile->GetNumSamples(); nSmp >= 1; nSmp--) if (pSndFile->GetSample(nSmp).pSample) + for(SAMPLEINDEX smp = 1; smp <= pSndFile->GetNumSamples(); smp--) if (pSndFile->GetSample(smp).pSample) { - if(!pSndFile->IsSampleUsed(nSmp)) + if(!pSndFile->IsSampleUsed(smp)) { - samplesUsed[nSmp] = false; - m_pModDoc->GetSampleUndo().PrepareUndo(nSmp, sundo_delete); + samplesUsed[smp] = false; + m_pModDoc->GetSampleUndo().PrepareUndo(smp, sundo_delete); } } Modified: trunk/OpenMPT/mptrack/InputHandler.cpp =================================================================== --- trunk/OpenMPT/mptrack/InputHandler.cpp 2013-03-09 14:21:31 UTC (rev 1551) +++ trunk/OpenMPT/mptrack/InputHandler.cpp 2013-03-09 21:24:30 UTC (rev 1552) @@ -146,10 +146,10 @@ /* if (keyEventType == kKeyEventUp) keyEventType=kKeyEventUp; */ - if (pSourceWnd == NULL) { + if(pSourceWnd == nullptr) pSourceWnd = m_pMainFrm; //by default, send command message to main frame. - } - if (pSourceWnd && (executeCommand != kcNull)) + + if(pSourceWnd && (executeCommand != kcNull)) { pSourceWnd->PostMessage(WM_MOD_KEYCOMMAND, executeCommand, nChar); } Modified: trunk/OpenMPT/mptrack/ModConvert.cpp =================================================================== --- trunk/OpenMPT/mptrack/ModConvert.cpp 2013-03-09 14:21:31 UTC (rev 1551) +++ trunk/OpenMPT/mptrack/ModConvert.cpp 2013-03-09 21:24:30 UTC (rev 1552) @@ -47,27 +47,27 @@ // Trim envelopes and remove release nodes. -void UpdateEnvelopes(InstrumentEnvelope *mptEnv, CSoundFile *pSndFile, std::bitset<wNumWarnings> &warnings) -//--------------------------------------------------------------------------------------------------------- +void UpdateEnvelopes(InstrumentEnvelope &mptEnv, CSoundFile &sndFile, std::bitset<wNumWarnings> &warnings) +//-------------------------------------------------------------------------------------------------------- { // shorten instrument envelope if necessary (for mod conversion) - const uint8 envMax = pSndFile->GetModSpecifications().envelopePointsMax; + const uint8 envMax = sndFile.GetModSpecifications().envelopePointsMax; - #define TRIMENV(envLen) if(envLen > envMax) { envLen = envMax; CHANGEMODTYPE_WARNING(wTrimmedEnvelopes); } +#define TRIMENV(envLen) if(envLen > envMax) { envLen = envMax; CHANGEMODTYPE_WARNING(wTrimmedEnvelopes); } - TRIMENV(mptEnv->nNodes); - TRIMENV(mptEnv->nLoopStart); - TRIMENV(mptEnv->nLoopEnd); - TRIMENV(mptEnv->nSustainStart); - TRIMENV(mptEnv->nSustainEnd); - if(mptEnv->nReleaseNode != ENV_RELEASE_NODE_UNSET) + TRIMENV(mptEnv.nNodes); + TRIMENV(mptEnv.nLoopStart); + TRIMENV(mptEnv.nLoopEnd); + TRIMENV(mptEnv.nSustainStart); + TRIMENV(mptEnv.nSustainEnd); + if(mptEnv.nReleaseNode != ENV_RELEASE_NODE_UNSET) { - if(pSndFile->GetModSpecifications().hasReleaseNode) + if(sndFile.GetModSpecifications().hasReleaseNode) { - TRIMENV(mptEnv->nReleaseNode); + TRIMENV(mptEnv.nReleaseNode); } else { - mptEnv->nReleaseNode = ENV_RELEASE_NODE_UNSET; + mptEnv.nReleaseNode = ENV_RELEASE_NODE_UNSET; CHANGEMODTYPE_WARNING(wReleaseNode); } } @@ -516,9 +516,9 @@ for(INSTRUMENTINDEX i = 1; i <= m_SndFile.GetNumInstruments(); i++) if(m_SndFile.Instruments[i] != nullptr) { - UpdateEnvelopes(&(m_SndFile.Instruments[i]->VolEnv), &m_SndFile, warnings); - UpdateEnvelopes(&(m_SndFile.Instruments[i]->PanEnv), &m_SndFile, warnings); - UpdateEnvelopes(&(m_SndFile.Instruments[i]->PitchEnv), &m_SndFile, warnings); + UpdateEnvelopes(m_SndFile.Instruments[i]->VolEnv, m_SndFile, warnings); + UpdateEnvelopes(m_SndFile.Instruments[i]->PanEnv, m_SndFile, warnings); + UpdateEnvelopes(m_SndFile.Instruments[i]->PitchEnv, m_SndFile, warnings); } // XM requires instruments, so we create them right away. Modified: trunk/OpenMPT/mptrack/Moddoc.cpp =================================================================== --- trunk/OpenMPT/mptrack/Moddoc.cpp 2013-03-09 14:21:31 UTC (rev 1551) +++ trunk/OpenMPT/mptrack/Moddoc.cpp 2013-03-09 21:24:30 UTC (rev 1552) @@ -2202,9 +2202,8 @@ HWND followSonghWnd; PATTERNVIEWSTATE *patternViewState; CChildFrame *pChildFrm = (CChildFrame *) GetChildFrame(); - CSoundFile *pSndFile = GetSoundFile(); - if (strcmp("CViewPattern", pChildFrm->GetCurrentViewClassName()) == 0) // dirty HACK + if(strcmp("CViewPattern", pChildFrm->GetCurrentViewClassName()) == 0) // dirty HACK { followSonghWnd = pChildFrm->GetHwndView(); PATTERNVIEWSTATE patternViewState; @@ -2213,9 +2212,9 @@ pat = patternViewState.nPattern; row = patternViewState.cursor.GetRow(); ord = patternViewState.nOrder; - } - else //patern editor object does not exist (i.e. is not active) - use saved state. + } else { + //patern editor object does not exist (i.e. is not active) - use saved state. followSonghWnd = NULL; patternViewState = pChildFrm->GetPatternViewState(); @@ -2223,26 +2222,25 @@ row = patternViewState->cursor.GetRow(); ord = patternViewState->nOrder; } - //rewbs.fix3185: if position is invalid, go to start of song. - if (ord >= m_SndFile.Order.size()) + + if(ord >= m_SndFile.Order.size()) { ord = 0; - pat = pSndFile->Order[ord]; + pat = m_SndFile.Order[ord]; } - if (pat >= m_SndFile.Patterns.Size()) + if(pat >= m_SndFile.Patterns.Size()) { pat=0; } - if (row >= pSndFile->Patterns[pat].GetNumRows()) + if(row >= m_SndFile.Patterns[pat].GetNumRows()) { row=0; } - //end rewbs.fix3185 //ensure order correlates with pattern. - if (pSndFile->Order[ord] != pat) + if(m_SndFile.Order[ord] != pat) { - ORDERINDEX tentativeOrder = pSndFile->Order.FindOrder(pat); + ORDERINDEX tentativeOrder = m_SndFile.Order.FindOrder(pat); if (tentativeOrder != ORDERINDEX_INVALID) //ensure a valid order exists. { ord = tentativeOrder; @@ -2273,8 +2271,6 @@ pChildFrm->SendViewMessage(VIEWMSG_PATTERNLOOP, loop ? 1 : 0); } - CSoundFile *pSndFile = GetSoundFile(); - ROWINDEX nRow; PATTERNINDEX nPat; ORDERINDEX nOrd; @@ -2289,28 +2285,28 @@ // Cut instruments/samples for(CHANNELINDEX i = 0; i < MAX_CHANNELS; i++) { - pSndFile->Chn[i].nPatternLoopCount = 0; - pSndFile->Chn[i].nPatternLoop = 0; - pSndFile->Chn[i].nFadeOutVol = 0; - pSndFile->Chn[i].dwFlags.set(CHN_NOTEFADE | CHN_KEYOFF); + m_SndFile.Chn[i].nPatternLoopCount = 0; + m_SndFile.Chn[i].nPatternLoop = 0; + m_SndFile.Chn[i].nFadeOutVol = 0; + m_SndFile.Chn[i].dwFlags.set(CHN_NOTEFADE | CHN_KEYOFF); } - if ((nOrd < m_SndFile.Order.size()) && (pSndFile->Order[nOrd] == nPat)) pSndFile->m_nCurrentOrder = pSndFile->m_nNextOrder = nOrd; - pSndFile->m_SongFlags.reset(SONG_PAUSED | SONG_STEP); + if ((nOrd < m_SndFile.Order.size()) && (m_SndFile.Order[nOrd] == nPat)) m_SndFile.m_nCurrentOrder = m_SndFile.m_nNextOrder = nOrd; + m_SndFile.m_SongFlags.reset(SONG_PAUSED | SONG_STEP); if(loop) - pSndFile->LoopPattern(nPat); + m_SndFile.LoopPattern(nPat); else - pSndFile->LoopPattern(PATTERNINDEX_INVALID); - pSndFile->m_nNextRow = 0; + m_SndFile.LoopPattern(PATTERNINDEX_INVALID); + m_SndFile.m_nNextRow = 0; // set playback timer in the status bar (and update channel status) SetElapsedTime(nOrd, 0); if(pModPlaying == this) { - pSndFile->StopAllVsti(); + m_SndFile.StopAllVsti(); } else { - pSndFile->ResumePlugins(); + m_SndFile.ResumePlugins(); } cs.Leave(); @@ -2337,8 +2333,6 @@ pChildFrm->SendViewMessage(VIEWMSG_PATTERNLOOP, 1); } - CSoundFile *pSndFile = GetSoundFile(); - ROWINDEX nRow; PATTERNINDEX nPat; ORDERINDEX nOrd; @@ -2351,24 +2345,24 @@ CriticalSection cs; // Cut instruments/samples - for(CHANNELINDEX i = pSndFile->GetNumChannels(); i < MAX_CHANNELS; i++) + for(CHANNELINDEX i = m_SndFile.GetNumChannels(); i < MAX_CHANNELS; i++) { - pSndFile->Chn[i].dwFlags.set(CHN_NOTEFADE | CHN_KEYOFF); + m_SndFile.Chn[i].dwFlags.set(CHN_NOTEFADE | CHN_KEYOFF); } - if ((nOrd < m_SndFile.Order.size()) && (pSndFile->Order[nOrd] == nPat)) pSndFile->m_nCurrentOrder = pSndFile->m_nNextOrder = nOrd; - pSndFile->m_SongFlags.reset(SONG_PAUSED | SONG_STEP); - pSndFile->LoopPattern(nPat); - pSndFile->m_nNextRow = nRow; + if ((nOrd < m_SndFile.Order.size()) && (m_SndFile.Order[nOrd] == nPat)) m_SndFile.m_nCurrentOrder = m_SndFile.m_nNextOrder = nOrd; + m_SndFile.m_SongFlags.reset(SONG_PAUSED | SONG_STEP); + m_SndFile.LoopPattern(nPat); + m_SndFile.m_nNextRow = nRow; // set playback timer in the status bar (and update channel status) SetElapsedTime(nOrd, nRow); if(pModPlaying == this) { - pSndFile->StopAllVsti(); + m_SndFile.StopAllVsti(); } else { - pSndFile->ResumePlugins(); + m_SndFile.ResumePlugins(); } cs.Leave(); @@ -2396,8 +2390,6 @@ pChildFrm->SendViewMessage(VIEWMSG_PATTERNLOOP, 0); } - CSoundFile *pSndFile = GetSoundFile(); - ROWINDEX nRow; PATTERNINDEX nPat; ORDERINDEX nOrd; @@ -2409,27 +2401,27 @@ CriticalSection cs; // Cut instruments/samples - for(CHANNELINDEX i = pSndFile->GetNumChannels(); i < MAX_CHANNELS; i++) + for(CHANNELINDEX i = m_SndFile.GetNumChannels(); i < MAX_CHANNELS; i++) { - pSndFile->Chn[i].dwFlags.set(CHN_NOTEFADE | CHN_KEYOFF); + m_SndFile.Chn[i].dwFlags.set(CHN_NOTEFADE | CHN_KEYOFF); } - pSndFile->m_SongFlags.reset(SONG_PAUSED | SONG_STEP); - pSndFile->SetCurrentOrder(nOrd); - if (pSndFile->Order[nOrd] == nPat) - pSndFile->DontLoopPattern(nPat, nRow); + m_SndFile.m_SongFlags.reset(SONG_PAUSED | SONG_STEP); + m_SndFile.SetCurrentOrder(nOrd); + if (m_SndFile.Order[nOrd] == nPat) + m_SndFile.DontLoopPattern(nPat, nRow); else - pSndFile->LoopPattern(nPat); - pSndFile->m_nNextRow = nRow; + m_SndFile.LoopPattern(nPat); + m_SndFile.m_nNextRow = nRow; // set playback timer in the status bar (and update channel status) SetElapsedTime(nOrd, nRow); if(pModPlaying == this) { - pSndFile->StopAllVsti(); + m_SndFile.StopAllVsti(); } else { - pSndFile->ResumePlugins(); + m_SndFile.ResumePlugins(); } cs.Leave(); @@ -2614,9 +2606,9 @@ //if macro already exists for this param, alert user and return for (int checkMacro = 0; checkMacro < NUM_MACROS; checkMacro++) { - int macroType = GetSoundFile()->m_MidiCfg.GetParameteredMacroType(checkMacro); + int macroType = m_SndFile.m_MidiCfg.GetParameteredMacroType(checkMacro); - if (macroType == sfx_plug && GetSoundFile()->m_MidiCfg.MacroToPlugParam(checkMacro) == paramToUse) + if (macroType == sfx_plug && m_SndFile.m_MidiCfg.MacroToPlugParam(checkMacro) == paramToUse) { CString message; message.Format("Parameter %02d can already be controlled with macro %X.", paramToUse, checkMacro); @@ -2626,9 +2618,9 @@ } //set new macro - if (paramToUse < 384) + if(paramToUse < 384) { - GetSoundFile()->m_MidiCfg.CreateParameteredMacro(macroToSet, sfx_plug, paramToUse); + m_SndFile.m_MidiCfg.CreateParameteredMacro(macroToSet, sfx_plug, paramToUse); } else { CString message; Modified: trunk/OpenMPT/mptrack/VstPresets.h =================================================================== --- trunk/OpenMPT/mptrack/VstPresets.h 2013-03-09 14:21:31 UTC (rev 1551) +++ trunk/OpenMPT/mptrack/VstPresets.h 2013-03-09 21:24:30 UTC (rev 1552) @@ -44,6 +44,6 @@ #else static ErrorCode LoadFile(FileReader &, CVstPlugin &) { return invalidFile; } static bool SaveFile(std::ostream &, CVstPlugin &, bool) { return false; } - static const char *GetErrorMessage(ErrorCode) { return nullptr; } + static const char *GetErrorMessage(ErrorCode) { return "OpenMPT has been built without VST support"; } #endif // NO_VST }; Modified: trunk/OpenMPT/mptrack/Vstplug.cpp =================================================================== --- trunk/OpenMPT/mptrack/Vstplug.cpp 2013-03-09 14:21:31 UTC (rev 1551) +++ trunk/OpenMPT/mptrack/Vstplug.cpp 2013-03-09 21:24:30 UTC (rev 1552) @@ -1682,7 +1682,7 @@ bool bank = !_strnicmp(files.first_file.substr(files.first_file.length() - 3).c_str(), "fxb", 3); std::fstream f; - f.open(files.first_file, std::ios::out | std::ios::trunc | std::ios::binary); + f.open(files.first_file.c_str(), std::ios::out | std::ios::trunc | std::ios::binary); if(f.good() && VSTPresets::SaveFile(f, *this, bank)) { return true; Modified: trunk/OpenMPT/soundlib/ITCompression.cpp =================================================================== --- trunk/OpenMPT/soundlib/ITCompression.cpp 2013-03-09 14:21:31 UTC (rev 1551) +++ trunk/OpenMPT/soundlib/ITCompression.cpp 2013-03-09 21:24:30 UTC (rev 1552) @@ -195,7 +195,7 @@ CopySample<int8>(sampleData, data, offset, baseLength, mptSample.GetNumChannels()); } - FileReader data(&packedData[0], packedLength + 2); + FileReader data(&packedData[0], packedLength); ModSample sample = mptSample; sample.uFlags.reset(CHN_STEREO); sample.pSample = newSampleData; Modified: trunk/OpenMPT/soundlib/LOAD_DMF.CPP =================================================================== --- trunk/OpenMPT/soundlib/LOAD_DMF.CPP 2013-03-09 14:21:31 UTC (rev 1551) +++ trunk/OpenMPT/soundlib/LOAD_DMF.CPP 2013-03-09 21:24:30 UTC (rev 1552) @@ -1069,7 +1069,7 @@ } m_nType = MOD_TYPE_DMF; - m_SongFlags = SONG_LINEARSLIDES | SONG_ITCOMPATGXX; // this will be converted to IT format by MPT. SONG_ITOLDEFFECTS is not set because of tremor. + m_SongFlags = SONG_LINEARSLIDES | SONG_ITCOMPATGXX; // this will be converted to IT format by MPT. SONG_ITOLDEFFECTS is not set because of tremor and vibrato. SetModFlag(MSF_COMPATIBLE_PLAY, true); m_nDefaultSpeed = 6; m_nDefaultTempo = 120; Modified: trunk/OpenMPT/soundlib/Load_ams.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_ams.cpp 2013-03-09 14:21:31 UTC (rev 1551) +++ trunk/OpenMPT/soundlib/Load_ams.cpp 2013-03-09 21:24:30 UTC (rev 1552) @@ -531,11 +531,8 @@ file.Read(*this); // Read envelope points - struct - { - uint8 data[64][3]; - } env; - file.ReadStructPartial(env, numPoints * 3); + uint8 data[64][3]; + file.ReadStructPartial(data, numPoints * 3); if(numPoints <= 1) { @@ -543,8 +540,8 @@ return; } - STATIC_ASSERT(MAX_ENVPOINTS >= CountOf(env.data)); - mptEnv.nNodes = Util::Min(numPoints, uint8(CountOf(env.data))); + STATIC_ASSERT(MAX_ENVPOINTS >= CountOf(data)); + mptEnv.nNodes = Util::Min(numPoints, uint8(CountOf(data))); mptEnv.nLoopStart = loopStart; mptEnv.nLoopEnd = loopEnd; mptEnv.nSustainStart = mptEnv.nSustainEnd = sustainPoint; @@ -553,9 +550,9 @@ { if(i != 0) { - mptEnv.Ticks[i] = mptEnv.Ticks[i - 1] + static_cast<uint16>(Util::Max(1, env.data[i][0] | ((env.data[i][1] & 0x01) << 8))); + mptEnv.Ticks[i] = mptEnv.Ticks[i - 1] + static_cast<uint16>(Util::Max(1, data[i][0] | ((data[i][1] & 0x01) << 8))); } - mptEnv.Values[i] = env.data[i][2]; + mptEnv.Values[i] = data[i][2]; } } }; Modified: trunk/OpenMPT/soundlib/Load_gdm.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_gdm.cpp 2013-03-09 14:21:31 UTC (rev 1551) +++ trunk/OpenMPT/soundlib/Load_gdm.cpp 2013-03-09 21:24:30 UTC (rev 1552) @@ -441,7 +441,6 @@ switch(m.param & 0x0F) { case 0x0: // Surround Off - m.command = CMD_S3MCMDEX; m.param = 0x90; break; case 0x1: // Surround On Modified: trunk/OpenMPT/soundlib/Load_imf.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_imf.cpp 2013-03-09 14:21:31 UTC (rev 1551) +++ trunk/OpenMPT/soundlib/Load_imf.cpp 2013-03-09 21:24:30 UTC (rev 1552) @@ -30,7 +30,7 @@ { enum SongFlags { - lineSlides = 0x01, + linearSlides = 0x01, }; char title[32]; // Songname (ASCIIZ-String, max. 31 chars) @@ -46,6 +46,7 @@ uint8 unused2[8]; char im10[4]; // 'IM10' IMFChannel channels[32]; // Channel settings + uint8 orderlist[256]; // Order list (0xFF = +++; blank out anything beyond ordnum) // Convert all multi-byte numeric values to current platform's endianness or vice versa. @@ -436,7 +437,7 @@ // Song Name StringFixer::ReadString<StringFixer::nullTerminated>(m_szNames[0], fileHeader.title); - m_SongFlags = (fileHeader.flags & IMFFileHeader::lineSlides) ? SONG_LINEARSLIDES : SongFlags(0); + m_SongFlags = (fileHeader.flags & IMFFileHeader::linearSlides) ? SONG_LINEARSLIDES : SongFlags(0); m_nDefaultSpeed = fileHeader.tempo; m_nDefaultTempo = fileHeader.bpm; m_nDefaultGlobalVolume = Clamp(fileHeader.master, uint8(0), uint8(64)) * 4; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |