From: <rel...@us...> - 2009-06-08 19:27:34
|
Revision: 264 http://modplug.svn.sourceforge.net/modplug/?rev=264&view=rev Author: relabsoluness Date: 2009-06-08 19:25:03 +0000 (Mon, 08 Jun 2009) Log Message: ----------- . Pattern tab: It's now possible to use the old note fade behaviour when playing notes in pattern tab(see setup->general). Modified Paths: -------------- trunk/OpenMPT/mptrack/MainFrm.cpp trunk/OpenMPT/mptrack/Mainfrm.h trunk/OpenMPT/mptrack/Moptions.cpp trunk/OpenMPT/mptrack/View_pat.cpp Modified: trunk/OpenMPT/mptrack/MainFrm.cpp =================================================================== --- trunk/OpenMPT/mptrack/MainFrm.cpp 2009-06-06 19:11:18 UTC (rev 263) +++ trunk/OpenMPT/mptrack/MainFrm.cpp 2009-06-08 19:25:03 UTC (rev 264) @@ -425,6 +425,9 @@ gnMidiPatternLen = GetPrivateProfileLong("MIDI Settings", "MidiImportPatLen", gnMidiPatternLen, iniFile); m_dwPatternSetup = GetPrivateProfileDWord("Pattern Editor", "PatternSetup", m_dwPatternSetup, iniFile); + if(gcsPreviousVersion != "" && MptVersion::ToNum(gcsPreviousVersion) < MAKE_VERSION_NUMERIC(1,17,02,50)) + m_dwPatternSetup |= PATTERN_NOTEFADE; + m_nRowSpacing = GetPrivateProfileDWord("Pattern Editor", "RowSpacing", 16, iniFile); m_nRowSpacing2 = GetPrivateProfileDWord("Pattern Editor", "RowSpacing2", 4, iniFile); gbLoopSong = GetPrivateProfileDWord("Pattern Editor", "LoopSong", true, iniFile); @@ -541,6 +544,7 @@ RegQueryValueEx(key, "MidiSetup", NULL, &dwREG_DWORD, (LPBYTE)&m_dwMidiSetup, &dwDWORDSize); RegQueryValueEx(key, "MidiDevice", NULL, &dwREG_DWORD, (LPBYTE)&m_nMidiDevice, &dwDWORDSize); RegQueryValueEx(key, "PatternSetup", NULL, &dwREG_DWORD, (LPBYTE)&m_dwPatternSetup, &dwDWORDSize); + m_dwPatternSetup |= PATTERN_NOTEFADE; // Set flag to maintain old behaviour(was changed in 1.17.02.50). RegQueryValueEx(key, "RowSpacing", NULL, &dwREG_DWORD, (LPBYTE)&m_nRowSpacing, &dwDWORDSize); RegQueryValueEx(key, "RowSpacing2", NULL, &dwREG_DWORD, (LPBYTE)&m_nRowSpacing2, &dwDWORDSize); RegQueryValueEx(key, "LoopSong", NULL, &dwREG_DWORD, (LPBYTE)&gbLoopSong, &dwDWORDSize); Modified: trunk/OpenMPT/mptrack/Mainfrm.h =================================================================== --- trunk/OpenMPT/mptrack/Mainfrm.h 2009-06-06 19:11:18 UTC (rev 263) +++ trunk/OpenMPT/mptrack/Mainfrm.h 2009-06-08 19:25:03 UTC (rev 264) @@ -206,6 +206,7 @@ #define PATTERN_OLDCTXMENUSTYLE 0x800000 #define PATTERN_SYNCMUTE 0x1000000 #define PATTERN_AUTODELAY 0x2000000 +#define PATTERN_NOTEFADE 0x4000000 // Keyboard Setup Modified: trunk/OpenMPT/mptrack/Moptions.cpp =================================================================== --- trunk/OpenMPT/mptrack/Moptions.cpp 2009-06-06 19:11:18 UTC (rev 263) +++ trunk/OpenMPT/mptrack/Moptions.cpp 2009-06-08 19:25:03 UTC (rev 264) @@ -601,6 +601,7 @@ OPTGEN_PATTERNCTXMENUSTYLE, OPTGEN_SYNCMUTE, OPTGEN_AUTODELAY, + OPTGEN_PATNOTEFADE, OPTGEN_MAXOPTIONS }; @@ -636,6 +637,7 @@ {"Old style pattern context menu", "Check this option to hide unavailable items in the pattern editor context menu. Uncheck to grey-out unavailable items instead."}, {"Maintain sample sync on mute", "Samples continue to be processed when channels are muted (like in IT2 and FT2)"}, {"Automatic delay commands", "Automatically insert appropriate note-delay commands when recording notes during live playback."}, + {"Note fade on key up", "Enable to fade/stop notes on key up in pattern tab." } }; @@ -697,6 +699,7 @@ case OPTGEN_SYNCMUTE: bCheck = (CMainFrame::m_dwPatternSetup & PATTERN_SYNCMUTE); break; case OPTGEN_AUTODELAY: bCheck = (CMainFrame::m_dwPatternSetup & PATTERN_AUTODELAY); break; + case OPTGEN_PATNOTEFADE: bCheck = (CMainFrame::m_dwPatternSetup & PATTERN_NOTEFADE); break; } m_CheckList.SetCheck(i, (bCheck) ? TRUE : FALSE); } @@ -754,6 +757,7 @@ case OPTGEN_PATTERNCTXMENUSTYLE: mask = PATTERN_OLDCTXMENUSTYLE; break; case OPTGEN_SYNCMUTE: mask = PATTERN_SYNCMUTE; break; case OPTGEN_AUTODELAY: mask = PATTERN_AUTODELAY; break; + case OPTGEN_PATNOTEFADE: mask = PATTERN_NOTEFADE; break; } if (bCheck) CMainFrame::m_dwPatternSetup |= mask; else CMainFrame::m_dwPatternSetup &= ~mask; Modified: trunk/OpenMPT/mptrack/View_pat.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_pat.cpp 2009-06-06 19:11:18 UTC (rev 263) +++ trunk/OpenMPT/mptrack/View_pat.cpp 2009-06-08 19:25:03 UTC (rev 264) @@ -3804,8 +3804,12 @@ pModDoc->NoteOff(0, TRUE, ins, m_dwCursor & 0xFFFF); } else - pModDoc->NoteOff(note, FALSE, ins, GetChanFromCursor(m_dwCursor)); - //pModDoc->NoteOff(note, TRUE, ins, (m_dwCursor & 0xFFFF) >> 3); + { + if(CMainFrame::m_dwPatternSetup & PATTERN_NOTEFADE) + pModDoc->NoteOff(note, TRUE, ins, GetChanFromCursor(m_dwCursor)); + else + pModDoc->NoteOff(note, FALSE, ins, GetChanFromCursor(m_dwCursor)); + } } //Enter note off in pattern? This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |