From: <sag...@us...> - 2012-07-20 18:34:08
|
Revision: 1332 http://modplug.svn.sourceforge.net/modplug/?rev=1332&view=rev Author: saga-games Date: 2012-07-20 18:33:59 +0000 (Fri, 20 Jul 2012) Log Message: ----------- [New] Playback can now be locked to an order range. Order range can be specified by right-clicking a selection in the order list or by using shortcuts. All keymaps have been updated to contain such shortcuts. [Imp] Added keyboard shortcut for quick channel settings. [Imp] Keyboard settings dialog: Searching for shortcuts does now also work with MIDI CCs. Modified Paths: -------------- trunk/OpenMPT/mptrack/CommandSet.cpp trunk/OpenMPT/mptrack/CommandSet.h trunk/OpenMPT/mptrack/Ctrl_pat.h trunk/OpenMPT/mptrack/Ctrl_seq.cpp trunk/OpenMPT/mptrack/KeyConfigDlg.cpp trunk/OpenMPT/mptrack/res/defaultKeybindings.mkb trunk/OpenMPT/mptrack/resource.h trunk/OpenMPT/mptrack/version.h trunk/OpenMPT/packageTemplate/extraKeymaps/DE_jojo.mkb trunk/OpenMPT/packageTemplate/extraKeymaps/FI_FT2Style_cce.mkb trunk/OpenMPT/packageTemplate/extraKeymaps/FR_FT2Style_(goor00).mkb trunk/OpenMPT/packageTemplate/extraKeymaps/FR_mpt_(legovitch).mkb trunk/OpenMPT/packageTemplate/extraKeymaps/FR_mpt_classic_(vanisherIII).mkb trunk/OpenMPT/packageTemplate/extraKeymaps/NO_mpt_classic_(rakib).mkb trunk/OpenMPT/packageTemplate/extraKeymaps/SE_laptop_(ganja).mkb trunk/OpenMPT/packageTemplate/extraKeymaps/UK_mpt_it2_hybrid_(rewbs).mkb trunk/OpenMPT/packageTemplate/extraKeymaps/US_it2_(lpchip).mkb trunk/OpenMPT/packageTemplate/extraKeymaps/US_mpt_classic_(nobuyuki).mkb trunk/OpenMPT/packageTemplate/extraKeymaps/US_mpt_classic_(snu).mkb trunk/OpenMPT/packageTemplate/extraKeymaps/US_mptit_(coda).mkb trunk/OpenMPT/packageTemplate/extraKeymaps/dvorak_(snu).mkb trunk/OpenMPT/packageTemplate/extraKeymaps/es-LA_it-mpt_jmkz.mkb trunk/OpenMPT/packageTemplate/extraKeymaps/es-LA_mpt_jmkz.mkb trunk/OpenMPT/soundlib/Sndfile.cpp trunk/OpenMPT/soundlib/Sndfile.h trunk/OpenMPT/soundlib/Sndmix.cpp Modified: trunk/OpenMPT/mptrack/CommandSet.cpp =================================================================== --- trunk/OpenMPT/mptrack/CommandSet.cpp 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/mptrack/CommandSet.cpp 2012-07-20 18:33:59 UTC (rev 1332) @@ -523,7 +523,7 @@ //rewbs.graph DefineKeyCommand(kcViewGraph, 1769, _T("View Graph"), kcHidden, kcNoDummy); // while there's no graph yet, let's just disable it for now //end rewbs.graph - DefineKeyCommand(kcToggleChanMuteOnPatTransition, 1770, _T("(Un)mute chan on pat transition")); + DefineKeyCommand(kcToggleChanMuteOnPatTransition, 1770, _T("(Un)mute channel on pattern transition")); DefineKeyCommand(kcChannelUnmuteAll, 1771, _T("Unmute all channels")); DefineKeyCommand(kcShowPatternProperties, 1772, _T("Show Pattern Properties")); DefineKeyCommand(kcShowMacroConfig, 1773, _T("Show MIDI Macro Configuration")); @@ -600,7 +600,7 @@ DefineKeyCommand(kcInsNoteMapTransposeOctUp, 1845, _T("Transpose +12 (Note Map)")); DefineKeyCommand(kcInsNoteMapCopyCurrentNote, 1846, _T("Map all notes to selected note")); DefineKeyCommand(kcInsNoteMapCopyCurrentSample, 1847, _T("Map all notes to selected sample")); - DefineKeyCommand(kcInsNoteMapReset, 1848, _T("Reset Note nMapping")); + DefineKeyCommand(kcInsNoteMapReset, 1848, _T("Reset Note Mapping")); DefineKeyCommand(kcInsNoteMapEditSample, 1849, _T("Edit Current Sample")); DefineKeyCommand(kcInsNoteMapEditSampleMap, 1850, _T("Edit Sample Map")); DefineKeyCommand(kcInstrumentCtrlDuplicate, 1851, _T("Duplicate Instrument")); @@ -627,6 +627,9 @@ DefineKeyCommand(kcSetOctaveStop7, 1872, _T(""), kcHidden); DefineKeyCommand(kcSetOctaveStop8, 1873, _T(""), kcHidden); DefineKeyCommand(kcSetOctaveStop9, 1874, _T(""), kcHidden); + DefineKeyCommand(kcOrderlistLockPlayback, 1875, _T("Lock Playback to Selection")); + DefineKeyCommand(kcOrderlistUnlockPlayback, 1876, _T("Unlock Playback")); + DefineKeyCommand(kcChannelSettings, 1877, _T("Quick Channel Settings")); // Add new key commands here. #ifdef _DEBUG Modified: trunk/OpenMPT/mptrack/CommandSet.h =================================================================== --- trunk/OpenMPT/mptrack/CommandSet.h 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/mptrack/CommandSet.h 2012-07-20 18:33:59 UTC (rev 1332) @@ -251,13 +251,16 @@ kcTimeAtRow, kcEndPatternEditMisc=kcTimeAtRow, - kcChannelMute, + kcStartChannelKeys, + kcChannelMute = kcStartChannelKeys, kcChannelSolo, kcChannelUnmuteAll, kcToggleChanMuteOnPatTransition, kcUnmuteAllChnOnPatTransition, kcSoloChnOnPatTransition, kcChannelReset, + kcChannelSettings, + kcEndChannelKeys = kcChannelSettings, kcCopyAndLoseSelection, kcTransposeUp, kcTransposeDown, @@ -1071,7 +1074,12 @@ kcOrderlistPatIgnore, kcOrderlistPatInvalid, kcEndOrderlistNum=kcOrderlistPatInvalid, - kcEndOrderlistCommands=kcEndOrderlistNum, + // Playback lock + kcStartOrderlistLock, + kcOrderlistLockPlayback = kcStartOrderlistLock, + kcOrderlistUnlockPlayback, + kcEndOrderlistLock = kcOrderlistUnlockPlayback, + kcEndOrderlistCommands=kcEndOrderlistLock, kcNumCommands, }; Modified: trunk/OpenMPT/mptrack/Ctrl_pat.h =================================================================== --- trunk/OpenMPT/mptrack/Ctrl_pat.h 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/mptrack/Ctrl_pat.h 2012-07-20 18:33:59 UTC (rev 1332) @@ -151,6 +151,8 @@ afx_msg LRESULT OnHelpHitTest(WPARAM, LPARAM lParam); afx_msg void OnSelectSequence(UINT nid); afx_msg LRESULT OnCustomKeyMsg(WPARAM, LPARAM); + afx_msg void OnLockPlayback(); + afx_msg void OnUnlockPlayback(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; Modified: trunk/OpenMPT/mptrack/Ctrl_seq.cpp =================================================================== --- trunk/OpenMPT/mptrack/Ctrl_seq.cpp 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/mptrack/Ctrl_seq.cpp 2012-07-20 18:33:59 UTC (rev 1332) @@ -72,6 +72,8 @@ ON_COMMAND(ID_ORDERLIST_COPY, OnDuplicatePattern) ON_COMMAND(ID_PATTERNCOPY, OnPatternCopy) ON_COMMAND(ID_PATTERNPASTE, OnPatternPaste) + ON_COMMAND(ID_ORDERLIST_LOCKPLAYBACK, OnLockPlayback) + ON_COMMAND(ID_ORDERLIST_UNLOCKPLAYBACK, OnUnlockPlayback) ON_COMMAND_RANGE(ID_SEQUENCE_ITEM, ID_SEQUENCE_ITEM + MAX_SEQUENCES + 2, OnSelectSequence) ON_MESSAGE(WM_MOD_DRAGONDROPPING, OnDragonDropping) ON_MESSAGE(WM_HELPHITTEST, OnHelpHitTest) @@ -282,6 +284,7 @@ const BYTE nShownLength = GetLength(); InvalidateSelection(); *nOrder = sel; + if (!m_bScrolling) { const BYTE nMargins = GetMargins(GetMarginsMax(nShownLength)); @@ -322,7 +325,9 @@ pMainFrm->ResetNotificationBuffer(); //rewbs.toCheck pSndFile->m_nNextRow = 0; - } else if (m_pParent->GetFollowSong()) + // Users wants to go somewhere else, so let him do that. + OnUnlockPlayback(); + } else if(m_pParent->GetFollowSong()) { CriticalSection cs; @@ -336,6 +341,9 @@ pSndFile->m_SongFlags.set(pausedFlags); if (bIsPlaying) pMainFrm->ResetNotificationBuffer(); + + // Users wants to go somewhere else, so let him do that. + OnUnlockPlayback(); } m_pParent->SetCurrentPattern(n); } @@ -475,6 +483,11 @@ case kcUnmuteAllChnOnPatTransition: ::PostMessage(m_pParent->GetViewWnd(), WM_MOD_KEYCOMMAND, wParam, 0); return wParam; + case kcOrderlistLockPlayback: + OnLockPlayback(); return wParam; + case kcOrderlistUnlockPlayback: + OnUnlockPlayback(); return wParam; + case kcDuplicatePattern: OnDuplicatePattern(); return wParam; case kcNewPattern: @@ -882,7 +895,7 @@ if(IsCtrlKeyPressed()) { - // queue pattern + // Queue pattern QueuePattern(pt); } else { @@ -1048,9 +1061,9 @@ CSoundFile *pSndFile = m_pModDoc->GetSoundFile(); - bool bMultiSelection = (m_nScrollPos2nd != ORDERINDEX_INVALID); + bool multiSelection = (m_nScrollPos2nd != ORDERINDEX_INVALID); - if(!bMultiSelection) SetCurSel(GetOrderFromPoint(rect, pt)); + if(!multiSelection) SetCurSel(GetOrderFromPoint(rect, pt)); SetFocus(); HMENU hMenu = ::CreatePopupMenu(); if(!hMenu) return; @@ -1069,7 +1082,7 @@ CInputHandler* ih = (CMainFrame::GetMainFrame())->GetInputHandler(); - if(bMultiSelection) + if(multiSelection) { // several patterns are selected. AppendMenu(hMenu, MF_STRING, ID_ORDERLIST_INSERT, "&Insert Patterns\t" + ih->GetKeyTextFromCommand(kcOrderlistEditInsert)); @@ -1121,14 +1134,18 @@ } if (pSndFile->Order.GetNumSequences() < MAX_SEQUENCES) { - AppendMenu(menuSequence, MF_STRING, ID_SEQUENCE_ITEM + MAX_SEQUENCES, TEXT("Duplicate current sequence")); - AppendMenu(menuSequence, MF_STRING, ID_SEQUENCE_ITEM + MAX_SEQUENCES + 1, TEXT("Create empty sequence")); + AppendMenu(menuSequence, MF_STRING, ID_SEQUENCE_ITEM + MAX_SEQUENCES, TEXT("&Duplicate current sequence")); + AppendMenu(menuSequence, MF_STRING, ID_SEQUENCE_ITEM + MAX_SEQUENCES + 1, TEXT("&Create empty sequence")); } if (pSndFile->Order.GetNumSequences() > 1) - AppendMenu(menuSequence, MF_STRING, ID_SEQUENCE_ITEM + MAX_SEQUENCES + 2, TEXT("Delete current sequence")); + AppendMenu(menuSequence, MF_STRING, ID_SEQUENCE_ITEM + MAX_SEQUENCES + 2, TEXT("D&elete current sequence")); } } AppendMenu(hMenu, MF_SEPARATOR, NULL, ""); + AppendMenu(hMenu, ((selection.nOrdLo == pSndFile->m_lockOrderStart && selection.nOrdHi == pSndFile->m_lockOrderEnd) ? (MF_STRING | MF_CHECKED) : MF_STRING), ID_ORDERLIST_LOCKPLAYBACK, "&Lock Playback to Selection\t" + ih->GetKeyTextFromCommand(kcOrderlistLockPlayback)); + AppendMenu(hMenu, (pSndFile->m_lockOrderStart == ORDERINDEX_INVALID ? (MF_STRING | MF_GRAYED) : MF_STRING), ID_ORDERLIST_UNLOCKPLAYBACK, "&Unlock Playback\t" + ih->GetKeyTextFromCommand(kcOrderlistUnlockPlayback)); + + AppendMenu(hMenu, MF_SEPARATOR, NULL, ""); AppendMenu(hMenu, MF_STRING | greyed, ID_ORDERLIST_RENDER, "Render to &Wave"); ClientToScreen(&pt); @@ -1478,6 +1495,8 @@ m_pParent->SetCurrentPattern(rSf.Order[m_nScrollPos]); UpdateScrollInfo(); + // This won't make sense anymore in the new sequence. + OnUnlockPlayback(); cs.Leave(); @@ -1516,8 +1535,36 @@ pSndFile->m_nSeqOverride = 0; } else { + // Users wants to go somewhere else, so let him do that. + OnUnlockPlayback(); + pSndFile->m_nSeqOverride = nOrder + 1; } InvalidateRect(NULL, FALSE); } } + + +void COrderList::OnLockPlayback() +//------------------------------- +{ + CSoundFile *pSndFile = m_pModDoc->GetSoundFile(); + + ORD_SELECTION selection = GetCurSel(false); + if(selection.nOrdLo == pSndFile->m_lockOrderStart && selection.nOrdHi == pSndFile->m_lockOrderEnd) + { + OnUnlockPlayback(); + } else + { + pSndFile->m_lockOrderStart = selection.nOrdLo; + pSndFile->m_lockOrderEnd = selection.nOrdHi; + } +} + + +void COrderList::OnUnlockPlayback() +//---------------------------------- +{ + CSoundFile *pSndFile = m_pModDoc->GetSoundFile(); + pSndFile->m_lockOrderStart = pSndFile->m_lockOrderEnd = ORDERINDEX_INVALID; +} \ No newline at end of file Modified: trunk/OpenMPT/mptrack/KeyConfigDlg.cpp =================================================================== --- trunk/OpenMPT/mptrack/KeyConfigDlg.cpp 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/mptrack/KeyConfigDlg.cpp 2012-07-20 18:33:59 UTC (rev 1332) @@ -59,6 +59,7 @@ void CCustEdit::SetKey(UINT inMod, UINT inCode) +//--------------------------------------------- { mod = inMod; code = inCode; @@ -68,13 +69,20 @@ void CCustEdit::OnSetFocus(CWnd* pOldWnd) +//--------------------------------------- { CEdit::OnSetFocus(pOldWnd); - //lock the input handler + // Lock the input handler CMainFrame::GetInputHandler()->Bypass(true); + // Accept MIDI input + CMainFrame::GetMainFrame()->SetMidiRecordWnd(m_hWnd); + isFocussed = true; } + + void CCustEdit::OnKillFocus(CWnd* pNewWnd) +//---------------------------------------- { CEdit::OnKillFocus(pNewWnd); //unlock the input handler @@ -155,8 +163,6 @@ m_bChoiceModified = false; m_sFullPathName = CMainFrame::GetSettings().m_szKbdFile; - CMainFrame::GetMainFrame()->SetMidiRecordWnd(m_eCustHotKey.m_hWnd); - plocalCmdSet = new CCommandSet(); plocalCmdSet->Copy(CMainFrame::GetInputHandler()->activeCommandSet); @@ -231,6 +237,7 @@ newCat.commands.Add(c); newCat.separators.Add(kcEndOrderlistNavigation); //-------------------------------------- newCat.separators.Add(kcEndOrderlistEdit); //-------------------------------------- + newCat.separators.Add(kcEndOrderlistNum); //-------------------------------------- commandCategories.Add(newCat); } @@ -257,9 +264,9 @@ for(int c = kcClearRow; c <= kcInsertAllRows; c++) newCat.commands.Add(c); newCat.separators.Add(kcInsertAllRows); //-------------------------------------- - for(int c = kcChannelMute; c <= kcChannelReset; c++) + for(int c = kcStartChannelKeys; c <= kcEndChannelKeys; c++) newCat.commands.Add(c); - newCat.separators.Add(kcChannelReset); //-------------------------------------- + newCat.separators.Add(kcEndChannelKeys); //-------------------------------------- for(int c = kcTransposeUp; c <= kcTransposeOctDown; c++) newCat.commands.Add(c); newCat.separators.Add(kcTransposeOctDown); //-------------------------------------- Modified: trunk/OpenMPT/mptrack/res/defaultKeybindings.mkb =================================================================== --- trunk/OpenMPT/mptrack/res/defaultKeybindings.mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/mptrack/res/defaultKeybindings.mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -382,3 +382,5 @@ 19:1818:0:189:5 //Decrease pattern index: - (KeyDown|KeyHold) 19:1853:0:83:1 //Separator (+++) Index: S (KeyDown) 19:1854:0:32:1 //Stop (---) Index: SPACE (KeyDown) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/mptrack/resource.h =================================================================== --- trunk/OpenMPT/mptrack/resource.h 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/mptrack/resource.h 2012-07-20 18:33:59 UTC (rev 1332) @@ -1203,6 +1203,8 @@ #define ID_HELP_SHOWSETTINGSFOLDER 44600 #define ID_FILE_CLOSEALL 44601 #define ID_HELPSHOW 44602 +#define ID_ORDERLIST_LOCKPLAYBACK 44603 +#define ID_ORDERLIST_UNLOCKPLAYBACK 44604 // Next default values for new objects // @@ -1210,7 +1212,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 535 -#define _APS_NEXT_COMMAND_VALUE 44603 +#define _APS_NEXT_COMMAND_VALUE 44605 #define _APS_NEXT_CONTROL_VALUE 2439 #define _APS_NEXT_SYMED_VALUE 901 #endif Modified: trunk/OpenMPT/mptrack/version.h =================================================================== --- trunk/OpenMPT/mptrack/version.h 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/mptrack/version.h 2012-07-20 18:33:59 UTC (rev 1332) @@ -19,7 +19,7 @@ #define VER_MAJORMAJOR 1 #define VER_MAJOR 20 #define VER_MINOR 02 -#define VER_MINORMINOR 02 +#define VER_MINORMINOR 03 //Creates version number from version parts that appears in version string. //For example MAKE_VERSION_NUMERIC(1,17,02,28) gives version number of Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/DE_jojo.mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/DE_jojo.mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/DE_jojo.mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -338,7 +338,7 @@ 17:1849:2:69:1 //Edit Current Sample: Ctrl+E (KeyDown) 17:1846:3:77:1 //Map all notes to selected note: Shift+Ctrl+M (KeyDown) 17:1847:2:77:1 //Map all notes to selected sample: Ctrl+M (KeyDown) -17:1848:2:82:1 //Reset Note nMapping: Ctrl+R (KeyDown) +17:1848:2:82:1 //Reset Note Mapping: Ctrl+R (KeyDown) 17:1843:2:81:1 //Transpose +1 (Note Map): Ctrl+Q (KeyDown) 17:1842:2:65:1 //Transpose -1 (Note Map): Ctrl+A (KeyDown) 17:1845:3:81:1 //Transpose +12 (Note Map): Shift+Ctrl+Q (KeyDown) @@ -383,3 +383,5 @@ 19:1818:0:189:5 //Decrease pattern index: - (KeyDown|KeyHold) 19:1853:0:73:1 //Separator (+++) Index: I (KeyDown) 19:1854:0:32:1 //Stop (---) Index: LEER (KeyDown) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/FI_FT2Style_cce.mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/FI_FT2Style_cce.mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/FI_FT2Style_cce.mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -328,3 +328,5 @@ 19:1817:0:187:5 //Increase pattern index : + (KeyDown|KeyHold) 19:1818:0:109:1 //Decrease pattern index: NUM MIINUS (KeyDown) 19:1818:0:189:1 //Decrease pattern index: - (KeyDown) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/FR_FT2Style_(goor00).mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/FR_FT2Style_(goor00).mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/FR_FT2Style_(goor00).mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -322,3 +322,5 @@ 19:1817:0:187:5 //Increase pattern index : + (KeyDown|KeyHold) 19:1818:0:109:1 //Decrease pattern index: NUM SUB (KeyDown) 19:1818:0:189:1 //Decrease pattern index: - (KeyDown) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/FR_mpt_(legovitch).mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/FR_mpt_(legovitch).mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/FR_mpt_(legovitch).mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -364,3 +364,5 @@ 19:1817:0:187:5 //Increase pattern index : = (KeyDown|KeyHold) 19:1818:0:40:5 //Decrease pattern index: BAS (KeyDown|KeyHold) 19:1818:0:189:5 //Decrease pattern index: (KeyDown|KeyHold) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/FR_mpt_classic_(vanisherIII).mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/FR_mpt_classic_(vanisherIII).mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/FR_mpt_classic_(vanisherIII).mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -308,3 +308,5 @@ 19:1817:0:187:5 //Increase pattern index : + (KeyDown|KeyHold) 19:1818:0:109:1 //Decrease pattern index: NUM SUB (KeyDown) 19:1818:0:189:1 //Decrease pattern index: - (KeyDown) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/NO_mpt_classic_(rakib).mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/NO_mpt_classic_(rakib).mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/NO_mpt_classic_(rakib).mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -352,3 +352,5 @@ 19:1817:0:187:5 //Increase pattern index : + (KeyDown|KeyHold) 19:1818:0:109:5 //Decrease pattern index: NUM MINUS (KeyDown|KeyHold) 19:1818:0:189:5 //Decrease pattern index: - (KeyDown|KeyHold) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/SE_laptop_(ganja).mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/SE_laptop_(ganja).mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/SE_laptop_(ganja).mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -232,3 +232,5 @@ 19:1817:0:187:5 //Increase pattern index : + (KeyDown|KeyHold) 19:1818:0:109:1 //Decrease pattern index: NUM SUB (KeyDown) 19:1818:0:189:1 //Decrease pattern index: - (KeyDown) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/UK_mpt_it2_hybrid_(rewbs).mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/UK_mpt_it2_hybrid_(rewbs).mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/UK_mpt_it2_hybrid_(rewbs).mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -329,3 +329,5 @@ 19:1817:0:187:5 //Increase pattern index : = (KeyDown|KeyHold) 19:1818:0:109:1 //Decrease pattern index: NUM SUB (KeyDown) 19:1818:0:189:1 //Decrease pattern index: - (KeyDown) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/US_it2_(lpchip).mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/US_it2_(lpchip).mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/US_it2_(lpchip).mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -300,3 +300,5 @@ 19:1817:0:187:5 //Increase pattern index : + (KeyDown|KeyHold) 19:1818:0:109:1 //Decrease pattern index: NUM SUB (KeyDown) 19:1818:0:189:1 //Decrease pattern index: - (KeyDown) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/US_mpt_classic_(nobuyuki).mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/US_mpt_classic_(nobuyuki).mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/US_mpt_classic_(nobuyuki).mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -313,3 +313,5 @@ 19:1817:0:187:5 //Increase pattern index : = (KeyDown|KeyHold) 19:1818:0:109:5 //Decrease pattern index: Num - (KeyDown|KeyHold) 19:1818:0:189:5 //Decrease pattern index: - (KeyDown|KeyHold) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/US_mpt_classic_(snu).mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/US_mpt_classic_(snu).mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/US_mpt_classic_(snu).mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -367,3 +367,5 @@ 19:1817:0:187:5 //Increase pattern index : = (KeyDown|KeyHold) 19:1818:0:109:5 //Decrease pattern index: NUM SUB (KeyDown|KeyHold) 19:1818:0:189:5 //Decrease pattern index: - (KeyDown|KeyHold) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/US_mptit_(coda).mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/US_mptit_(coda).mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/US_mptit_(coda).mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -336,3 +336,5 @@ 19:1818:0:189:5 //Decrease pattern index: - (KeyDown|KeyHold) 19:1853:0:73:1 //Ignore (+++) Index: I (KeyDown) 19:1854:0:32:1 //Invalid (---) Index: Space (KeyDown) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/dvorak_(snu).mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/dvorak_(snu).mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/dvorak_(snu).mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -367,3 +367,5 @@ 19:1817:0:187:5 //Increase pattern index : = (KeyDown|KeyHold) 19:1818:0:109:5 //Decrease pattern index: NUM SUB (KeyDown|KeyHold) 19:1818:0:189:5 //Decrease pattern index: - (KeyDown|KeyHold) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/es-LA_it-mpt_jmkz.mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/es-LA_it-mpt_jmkz.mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/es-LA_it-mpt_jmkz.mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -365,3 +365,5 @@ 19:1817:0:187:5 //Increase pattern index : + (KeyDown|KeyHold) 19:1818:0:109:5 //Decrease pattern index: TECLA DE SUSTRACCION (KeyDown|KeyHold) 19:1818:0:189:5 //Decrease pattern index: - (KeyDown|KeyHold) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/packageTemplate/extraKeymaps/es-LA_mpt_jmkz.mkb =================================================================== --- trunk/OpenMPT/packageTemplate/extraKeymaps/es-LA_mpt_jmkz.mkb 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/packageTemplate/extraKeymaps/es-LA_mpt_jmkz.mkb 2012-07-20 18:33:59 UTC (rev 1332) @@ -375,3 +375,5 @@ 19:1817:0:187:5 //Increase pattern index : + (KeyDown|KeyHold) 19:1818:0:109:5 //Decrease pattern index: TECLA DE SUSTRACCION (KeyDown|KeyHold) 19:1818:0:189:5 //Decrease pattern index: - (KeyDown|KeyHold) +19:1875:2:76:1 //Lock Playback to Selection: Ctrl+L (KeyDown) +19:1876:2:85:1 //Unlock Playback: Ctrl+U (KeyDown) Modified: trunk/OpenMPT/soundlib/Sndfile.cpp =================================================================== --- trunk/OpenMPT/soundlib/Sndfile.cpp 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/soundlib/Sndfile.cpp 2012-07-20 18:33:59 UTC (rev 1332) @@ -443,6 +443,10 @@ m_nTempoMode = tempo_mode_classic; m_bIsRendering = false; +#ifdef MODPLUG_TRACKER + m_lockOrderStart = m_lockOrderEnd = ORDERINDEX_INVALID; +#endif // MODPLUG_TRACKER + m_ModFlags = 0; m_bITBidiMode = false; @@ -799,7 +803,7 @@ m_pConfig->SetMixLevels(m_nMixLevels); RecalculateGainForAllPlugs(); - if (m_nType) + if(m_nType != MOD_TYPE_NONE) { SetModSpecsPointer(m_pModSpecs, m_nType); const ORDERINDEX nMinLength = (std::min)(ModSequenceSet::s_nCacheSize, GetModSpecifications().ordersMax); Modified: trunk/OpenMPT/soundlib/Sndfile.h =================================================================== --- trunk/OpenMPT/soundlib/Sndfile.h 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/soundlib/Sndfile.h 2012-07-20 18:33:59 UTC (rev 1332) @@ -261,6 +261,12 @@ ROWINDEX m_nNextPatStartRow; // for FT2's E60 bug PATTERNINDEX m_nPattern; ORDERINDEX m_nCurrentOrder, m_nNextOrder, m_nRestartPos, m_nSeqOverride; + +#ifdef MODPLUG_TRACKER + // Lock playback between two orders + ORDERINDEX m_lockOrderStart, m_lockOrderEnd; +#endif // MODPLUG_TRACKER + bool m_bPatternTransitionOccurred; UINT m_nMasterVolume, m_nGlobalVolume, m_nSamplesToGlobalVolRampDest, m_nGlobalVolumeRampAmount, m_nGlobalVolumeDestination, m_nSamplePreAmp, m_nVSTiVolume; Modified: trunk/OpenMPT/soundlib/Sndmix.cpp =================================================================== --- trunk/OpenMPT/soundlib/Sndmix.cpp 2012-07-20 16:49:43 UTC (rev 1331) +++ trunk/OpenMPT/soundlib/Sndmix.cpp 2012-07-20 18:33:59 UTC (rev 1332) @@ -683,8 +683,17 @@ m_nTickCount = 0; m_nRow = m_nNextRow; // Reset Pattern Loop Effect - if (m_nCurrentOrder != m_nNextOrder) + if(m_nCurrentOrder != m_nNextOrder) m_nCurrentOrder = m_nNextOrder; + +#ifdef MODPLUG_TRACKER + // "Lock order" editing feature + if(m_lockOrderStart != ORDERINDEX_INVALID && (m_nCurrentOrder < m_lockOrderStart || m_nCurrentOrder > m_lockOrderEnd)) + { + m_nCurrentOrder = m_lockOrderStart; + } +#endif // MODPLUG_TRACKER + // Check if pattern is valid if(!m_SongFlags[SONG_PATTERNLOOP]) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |