From: <sag...@us...> - 2010-02-06 17:44:02
|
Revision: 484 http://modplug.svn.sourceforge.net/modplug/?rev=484&view=rev Author: saga-games Date: 2010-02-06 17:43:04 +0000 (Sat, 06 Feb 2010) Log Message: ----------- [Fix] Mod Saving: If a mod had loop points set, but loop disabled, they were still saved in the .MOD file, resulting in the loop being enabled automatically. [Fix] Pattern Editor: Instead of turning "Follow Song" off, the Find/Replace dialog toggled it. Modified Paths: -------------- trunk/OpenMPT/mptrack/Ctrl_pat.cpp trunk/OpenMPT/mptrack/Ctrl_seq.cpp trunk/OpenMPT/mptrack/View_pat.cpp trunk/OpenMPT/soundlib/Load_mod.cpp Modified: trunk/OpenMPT/mptrack/Ctrl_pat.cpp =================================================================== --- trunk/OpenMPT/mptrack/Ctrl_pat.cpp 2010-02-05 20:39:08 UTC (rev 483) +++ trunk/OpenMPT/mptrack/Ctrl_pat.cpp 2010-02-06 17:43:04 UTC (rev 484) @@ -451,8 +451,16 @@ //rewbs.customKeys case CTRLMSG_PAT_FOLLOWSONG: - CheckDlgButton(IDC_PATTERN_FOLLOWSONG, !IsDlgButtonChecked(IDC_PATTERN_FOLLOWSONG)); - OnFollowSong(); + // parameters: 0 = turn off, 1 = toggle + { + UINT state = FALSE; + if(lParam == 1) // toggle + { + state = !IsDlgButtonChecked(IDC_PATTERN_FOLLOWSONG); + } + CheckDlgButton(IDC_PATTERN_FOLLOWSONG, state); + OnFollowSong(); + } break; case CTRLMSG_PAT_LOOP: Modified: trunk/OpenMPT/mptrack/Ctrl_seq.cpp =================================================================== --- trunk/OpenMPT/mptrack/Ctrl_seq.cpp 2010-02-05 20:39:08 UTC (rev 483) +++ trunk/OpenMPT/mptrack/Ctrl_seq.cpp 2010-02-06 17:43:04 UTC (rev 484) @@ -446,7 +446,7 @@ case kcChangeLoopStatus: m_pParent->OnModCtrlMsg(CTRLMSG_PAT_LOOP, -1); return wParam; case kcToggleFollowSong: - m_pParent->OnModCtrlMsg(CTRLMSG_PAT_FOLLOWSONG, 0); return wParam; + m_pParent->OnModCtrlMsg(CTRLMSG_PAT_FOLLOWSONG, 1); return wParam; case kcChannelUnmuteAll: case kcUnmuteAllChnOnPatTransition: Modified: trunk/OpenMPT/mptrack/View_pat.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_pat.cpp 2010-02-05 20:39:08 UTC (rev 483) +++ trunk/OpenMPT/mptrack/View_pat.cpp 2010-02-06 17:43:04 UTC (rev 484) @@ -3614,7 +3614,7 @@ case kcEditPushForwardPaste: OnEditPushForwardPaste(); return wParam; case kcEditSelectAll: OnEditSelectAll(); return wParam; case kcTogglePluginEditor: TogglePluginEditor((m_dwCursor & 0xFFFF) >> 3); return wParam; - case kcToggleFollowSong: SendCtrlMessage(CTRLMSG_PAT_FOLLOWSONG); return wParam; + case kcToggleFollowSong: SendCtrlMessage(CTRLMSG_PAT_FOLLOWSONG, 1); return wParam; case kcChangeLoopStatus: SendCtrlMessage(CTRLMSG_PAT_LOOP, -1); return wParam; case kcNewPattern: SendCtrlMessage(CTRLMSG_PAT_NEWPATTERN); return wParam; case kcDuplicatePattern: SendCtrlMessage(CTRLMSG_PAT_DUPPATTERN); return wParam; @@ -4106,7 +4106,7 @@ void CViewPattern::TempEnterNote(int note, bool oldStyle, int vol) -//-------------------------------------------------------------------------------- +//---------------------------------------------------------------- { CMainFrame *pMainFrm = CMainFrame::GetMainFrame(); CModDoc *pModDoc = GetDocument(); Modified: trunk/OpenMPT/soundlib/Load_mod.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_mod.cpp 2010-02-05 20:39:08 UTC (rev 483) +++ trunk/OpenMPT/soundlib/Load_mod.cpp 2010-02-06 17:43:04 UTC (rev 484) @@ -494,9 +494,14 @@ if (pSmp->RelativeTone > 0) bTab[24] = 0x07; else bTab[24] = (BYTE)XM2MODFineTune(pSmp->nFineTune); bTab[25] = pSmp->nVolume >> 2; - bTab[26] = pSmp->nLoopStart >> 9; - bTab[27] = pSmp->nLoopStart >> 1; - UINT replen = pSmp->nLoopEnd - pSmp->nLoopStart; + UINT repstart = 0, replen = 2; + if(pSmp->uFlags & CHN_LOOP) + { + repstart = pSmp->nLoopStart; + replen = pSmp->nLoopEnd - pSmp->nLoopStart; + } + bTab[26] = repstart >> 9; + bTab[27] = repstart >> 1; if(replen < 2) // ensure PT will load it properly replen = 2; bTab[28] = replen >> 9; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |