From: <sag...@us...> - 2010-03-11 22:59:00
|
Revision: 524 http://modplug.svn.sourceforge.net/modplug/?rev=524&view=rev Author: saga-games Date: 2010-03-11 22:58:51 +0000 (Thu, 11 Mar 2010) Log Message: ----------- [Fix] Pattern Editor: When recording plug param changes to the pattern, the wrong pattern rows were invalidated because the pattern display did not move. [Imp] S3M Compatibility: At least process samples on muted channels so that sync can be maintained. Modified Paths: -------------- trunk/OpenMPT/mptrack/View_pat.cpp trunk/OpenMPT/soundlib/Snd_fx.cpp Modified: trunk/OpenMPT/mptrack/View_pat.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_pat.cpp 2010-03-09 22:16:06 UTC (rev 523) +++ trunk/OpenMPT/mptrack/View_pat.cpp 2010-03-11 22:58:51 UTC (rev 524) @@ -2999,7 +2999,7 @@ if(pRow->IsEmpty() || pRow->IsPcNote()) { pRow->Set(NOTE_PCS, plugSlot + 1, paramIndex, static_cast<uint16>(pPlug->GetParameter(paramIndex) * MODCOMMAND::maxColumnValue)); - InvalidateRow(); + InvalidateRow(nRow); } } else { @@ -3021,7 +3021,7 @@ if (pRow->command == 0 || pRow->command == CMD_SMOOTHMIDI || pRow->command == CMD_MIDI) { //we overwrite existing Zxx and \xx only. pRow->command = (pSndFile->m_nType & (MOD_TYPE_IT | MOD_TYPE_MPT))?CMD_S3MCMDEX:CMD_MODCMDEX;; pRow->param = 0xF0 + (foundMacro&0x0F); - InvalidateRow(); + InvalidateRow(nRow); } } @@ -3031,7 +3031,7 @@ if (pRow->command == CMD_NONE || pRow->command == CMD_SMOOTHMIDI || pRow->command == CMD_MIDI) { pRow->command = CMD_SMOOTHMIDI; pRow->param = pPlug->GetZxxParameter(paramIndex); - InvalidateRow(); + InvalidateRow(nRow); } } Modified: trunk/OpenMPT/soundlib/Snd_fx.cpp =================================================================== --- trunk/OpenMPT/soundlib/Snd_fx.cpp 2010-03-09 22:16:06 UTC (rev 523) +++ trunk/OpenMPT/soundlib/Snd_fx.cpp 2010-03-11 22:58:51 UTC (rev 524) @@ -1177,8 +1177,6 @@ // -! NEW_FEATURE#0010 for (CHANNELINDEX nChn = 0; nChn < m_nChannels; nChn++, pChn++) { - if((GetType() == MOD_TYPE_S3M) && (ChnSettings[nChn].dwFlags & CHN_MUTE) != 0) // not even effects are processed on muted S3M channels - continue; UINT instr = pChn->nRowInstr; UINT volcmd = pChn->nRowVolCmd; UINT vol = pChn->nRowVolume; @@ -1462,6 +1460,8 @@ #endif // MODPLUG_TRACKER } + if((GetType() == MOD_TYPE_S3M) && (ChnSettings[nChn].dwFlags & CHN_MUTE) != 0) // not even effects are processed on muted S3M channels + continue; // Volume Column Effect (except volume & panning) /* A few notes, paraphrased from ITTECH.TXT by Storlek (creator of schismtracker): This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |