From: <sag...@us...> - 2009-09-29 23:14:08
|
Revision: 383 http://modplug.svn.sourceforge.net/modplug/?rev=383&view=rev Author: saga-games Date: 2009-09-29 23:13:53 +0000 (Tue, 29 Sep 2009) Log Message: ----------- [Fix] Pattern Editor: Copying only the param column of PC notes overwrote the value column when pasting them [Mod] Pattern Editor: When interpolating PC notes, the plugin number and note type won't get overriden if the note type is already PC or PCs. I find this more logical. Modified Paths: -------------- trunk/OpenMPT/mptrack/Modedit.cpp trunk/OpenMPT/mptrack/View_pat.cpp Modified: trunk/OpenMPT/mptrack/Modedit.cpp =================================================================== --- trunk/OpenMPT/mptrack/Modedit.cpp 2009-09-29 22:30:10 UTC (rev 382) +++ trunk/OpenMPT/mptrack/Modedit.cpp 2009-09-29 23:13:53 UTC (rev 383) @@ -2349,7 +2349,7 @@ if(m[col].note == NOTE_PCS || m[col].note == NOTE_PC) { - if(s[8] != '.') + if(s[8] != '.' && s[8] > ' ') { char val[4]; memcpy(val, s+8, 3); Modified: trunk/OpenMPT/mptrack/View_pat.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_pat.cpp 2009-09-29 22:30:10 UTC (rev 382) +++ trunk/OpenMPT/mptrack/View_pat.cpp 2009-09-29 23:13:53 UTC (rev 383) @@ -2293,10 +2293,13 @@ case EFFECT_COLUMN: if(doPCinterpolation) { // With PC/PCs notes, copy PCs note and plug index to all rows where - // effect interpolation is done. + // effect interpolation is done, if no PC note is there. const uint16 val = static_cast<uint16>(vsrc + ((vdest - vsrc) * (int)i + verr) / distance); - pcmd->note = PCnote; - pcmd->instr = PCinst; + if(pcmd->note != NOTE_PC && pcmd->note != NOTE_PCS) + { + pcmd->note = PCnote; + pcmd->instr = PCinst; + } pcmd->SetValueVolCol(PCparam); pcmd->SetValueEffectCol(val); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |