From: <sag...@us...> - 2014-12-01 21:43:06
|
Revision: 4624 http://sourceforge.net/p/modplug/code/4624 Author: saga-games Date: 2014-12-01 21:42:54 +0000 (Mon, 01 Dec 2014) Log Message: ----------- [Imp] Missing samples dialog: Replace messagebox with updated label. [Fix] Pattern tab: When only one parameter column was selected, the interpolation context menu didn't offer to interpolate this column. [Fix] Manual generator: Explicitely state that the python script should be run with python3. Modified Paths: -------------- trunk/OpenMPT/mptrack/ExternalSamples.cpp trunk/OpenMPT/mptrack/View_pat.cpp trunk/OpenMPT/mptrack/manual_generator/wiki.py Modified: trunk/OpenMPT/mptrack/ExternalSamples.cpp =================================================================== --- trunk/OpenMPT/mptrack/ExternalSamples.cpp 2014-12-01 19:18:48 UTC (rev 4623) +++ trunk/OpenMPT/mptrack/ExternalSamples.cpp 2014-12-01 21:42:54 UTC (rev 4624) @@ -186,16 +186,15 @@ EndWaitCursor(); GetDlgItem(IDOK)->EnableWindow(TRUE); SetDlgItemText(IDC_BUTTON1, "&Scan Folder..."); - SetDlgItemText(IDC_STATIC1, ""); modDoc.UpdateAllViews(NULL, HINT_SAMPLEINFO | HINT_SMPNAMES | HINT_SAMPLEDATA); if(foundFiles) { - Reporting::Information(mpt::String::Print("%1 sample paths were relocated.", foundFiles)); - } else if(isScanning) + SetDlgItemText(IDC_STATIC1, mpt::String::Print("%1 sample paths were relocated.", foundFiles).c_str()); + } else { - Reporting::Information("No matching sample names found."); + SetDlgItemText(IDC_STATIC1, _T("No matching sample names found.")); } isScanning = false; GenerateList(); Modified: trunk/OpenMPT/mptrack/View_pat.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_pat.cpp 2014-12-01 19:18:48 UTC (rev 4623) +++ trunk/OpenMPT/mptrack/View_pat.cpp 2014-12-01 21:42:54 UTC (rev 4624) @@ -4703,8 +4703,7 @@ if(target.IsPcNote()) { ENTER_PCNOTE_VALUE(c, ValueEffectCol); - } - else if(pSndFile->GetModSpecifications().HasCommand(c)) + } else if(pSndFile->GetModSpecifications().HasCommand(c)) { if (c) @@ -5203,7 +5202,7 @@ { if(newcmd.command == CMD_NONE) //make sure we don't overwrite any existing commands. { - newcmd.command = (sndFile.TypeIsS3M_IT_MPT()) ? CMD_S3MCMDEX : CMD_MODCMDEX; + newcmd.command = sndFile.GetModSpecifications().HasCommand(CMD_S3MCMDEX) ? CMD_S3MCMDEX : CMD_MODCMDEX; UINT maxSpeed = 0x0F; if(sndFile.m_PlayState.m_nMusicSpeed > 0) maxSpeed = MIN(0x0F, sndFile.m_PlayState.m_nMusicSpeed - 1); newcmd.param = 0xD0 + MIN(maxSpeed, m_nPlayTick); @@ -6114,16 +6113,16 @@ bool CViewPattern::BuildSelectionCtxMenu(HMENU hMenu, CInputHandler *ih) const //---------------------------------------------------------------------------- { - AppendMenu(hMenu, MF_STRING, ID_EDIT_SELECTCOLUMN, "Select Column\t" + ih->GetKeyTextFromCommand(kcSelectColumn)); - AppendMenu(hMenu, MF_STRING, ID_EDIT_SELECT_ALL, "Select Pattern\t" + ih->GetKeyTextFromCommand(kcEditSelectAll)); + AppendMenu(hMenu, MF_STRING, ID_EDIT_SELECTCOLUMN, _T("Select &Column\t") + ih->GetKeyTextFromCommand(kcSelectColumn)); + AppendMenu(hMenu, MF_STRING, ID_EDIT_SELECT_ALL, _T("Select &Pattern\t") + ih->GetKeyTextFromCommand(kcEditSelectAll)); return true; } bool CViewPattern::BuildGrowShrinkCtxMenu(HMENU hMenu, CInputHandler *ih) const //----------------------------------------------------------------------------- { - AppendMenu(hMenu, MF_STRING, ID_GROW_SELECTION, "Grow selection\t" + ih->GetKeyTextFromCommand(kcPatternGrowSelection)); - AppendMenu(hMenu, MF_STRING, ID_SHRINK_SELECTION, "Shrink selection\t" + ih->GetKeyTextFromCommand(kcPatternShrinkSelection)); + AppendMenu(hMenu, MF_STRING, ID_GROW_SELECTION, _T("&Grow selection\t") + ih->GetKeyTextFromCommand(kcPatternGrowSelection)); + AppendMenu(hMenu, MF_STRING, ID_SHRINK_SELECTION, _T("&Shrink selection\t") + ih->GetKeyTextFromCommand(kcPatternShrinkSelection)); return true; } @@ -6135,13 +6134,13 @@ const bool isPCNote = sndFile->Patterns.IsValidPat(m_nPattern) && sndFile->Patterns[m_nPattern].GetpModCommand(m_Selection.GetStartRow(), m_Selection.GetStartChannel())->IsPcNote(); HMENU subMenu = CreatePopupMenu(); - bool possible = BuildInterpolationCtxMenu(subMenu, PatternCursor::noteColumn, CString("Note Column\t") + ih->GetKeyTextFromCommand(kcPatternInterpolateNote), ID_PATTERN_INTERPOLATE_NOTE) - | BuildInterpolationCtxMenu(subMenu, PatternCursor::instrColumn, (isPCNote ? CString("Plugin Column\t") : CString("Instrument Column\t")) + ih->GetKeyTextFromCommand(kcPatternInterpolateInstr), ID_PATTERN_INTERPOLATE_INSTR) - | BuildInterpolationCtxMenu(subMenu, PatternCursor::volumeColumn, (isPCNote ? CString("Parameter Column\t") : CString("Volume Column\t")) + ih->GetKeyTextFromCommand(kcPatternInterpolateVol), ID_PATTERN_INTERPOLATE_VOLUME) - | BuildInterpolationCtxMenu(subMenu, PatternCursor::effectColumn, (isPCNote ? CString("Value Column\t") : CString("Effect Column\t")) + ih->GetKeyTextFromCommand(kcPatternInterpolateEffect), ID_PATTERN_INTERPOLATE_EFFECT); + bool possible = BuildInterpolationCtxMenu(subMenu, PatternCursor::noteColumn, _T("&Note Column\t") + ih->GetKeyTextFromCommand(kcPatternInterpolateNote), ID_PATTERN_INTERPOLATE_NOTE) + | BuildInterpolationCtxMenu(subMenu, PatternCursor::instrColumn, (isPCNote ? _T("&Plugin Column\t") : _T("&Instrument Column\t")) + ih->GetKeyTextFromCommand(kcPatternInterpolateInstr), ID_PATTERN_INTERPOLATE_INSTR) + | BuildInterpolationCtxMenu(subMenu, PatternCursor::volumeColumn, (isPCNote ? _T("&Parameter Column\t") : _T("&Volume Column\t")) + ih->GetKeyTextFromCommand(kcPatternInterpolateVol), ID_PATTERN_INTERPOLATE_VOLUME) + | BuildInterpolationCtxMenu(subMenu, PatternCursor::effectColumn, (isPCNote ? _T("&Value Column\t") : _T("&Effect Column\t")) + ih->GetKeyTextFromCommand(kcPatternInterpolateEffect), ID_PATTERN_INTERPOLATE_EFFECT); if(possible || !(TrackerSettings::Instance().m_dwPatternSetup & PATTERN_OLDCTXMENUSTYLE)) { - AppendMenu(hMenu, MF_POPUP | (possible ? 0 : MF_GRAYED), reinterpret_cast<UINT_PTR>(subMenu), "Interpolate..."); + AppendMenu(hMenu, MF_POPUP | (possible ? 0 : MF_GRAYED), reinterpret_cast<UINT_PTR>(subMenu), "I&nterpolate..."); return true; } return false; @@ -6226,12 +6225,12 @@ if(!greyed || !(TrackerSettings::Instance().m_dwPatternSetup & PATTERN_OLDCTXMENUSTYLE)) { - AppendMenu(transMenu, MF_STRING | greyed, ID_TRANSPOSE_UP, "Transpose +1\t" + ih->GetKeyTextFromCommand(kcTransposeUp)); - AppendMenu(transMenu, MF_STRING | greyed, ID_TRANSPOSE_DOWN, "Transpose -1\t" + ih->GetKeyTextFromCommand(kcTransposeDown)); - AppendMenu(transMenu, MF_STRING | greyed, ID_TRANSPOSE_OCTUP, "Transpose +12\t" + ih->GetKeyTextFromCommand(kcTransposeOctUp)); - AppendMenu(transMenu, MF_STRING | greyed, ID_TRANSPOSE_OCTDOWN, "Transpose -12\t" + ih->GetKeyTextFromCommand(kcTransposeOctDown)); - AppendMenu(transMenu, MF_STRING | greyed, ID_TRANSPOSE_CUSTOM, "Custom...\t" + ih->GetKeyTextFromCommand(kcTransposeCustom)); - AppendMenu(hMenu, MF_POPUP | greyed, reinterpret_cast<UINT_PTR>(transMenu), "Transpose..."); + AppendMenu(transMenu, MF_STRING | greyed, ID_TRANSPOSE_UP, _T("Transpose +&1\t") + ih->GetKeyTextFromCommand(kcTransposeUp)); + AppendMenu(transMenu, MF_STRING | greyed, ID_TRANSPOSE_DOWN, _T("Transpose -&1\t") + ih->GetKeyTextFromCommand(kcTransposeDown)); + AppendMenu(transMenu, MF_STRING | greyed, ID_TRANSPOSE_OCTUP, _T("Transpose +1&2\t") + ih->GetKeyTextFromCommand(kcTransposeOctUp)); + AppendMenu(transMenu, MF_STRING | greyed, ID_TRANSPOSE_OCTDOWN, _T("Transpose -1&2\t") + ih->GetKeyTextFromCommand(kcTransposeOctDown)); + AppendMenu(transMenu, MF_STRING | greyed, ID_TRANSPOSE_CUSTOM, _T("&Custom...\t") + ih->GetKeyTextFromCommand(kcTransposeCustom)); + AppendMenu(hMenu, MF_POPUP | greyed, reinterpret_cast<UINT_PTR>(transMenu), _T("&Transpose...")); return true; } return false; @@ -6336,8 +6335,8 @@ { AppendMenu(instrumentChangeMenu, MF_SEPARATOR, 0, 0); } - AppendMenu(instrumentChangeMenu, MF_STRING, ID_CHANGE_INSTRUMENT, "Remove instrument"); - AppendMenu(instrumentChangeMenu, MF_STRING, ID_CHANGE_INSTRUMENT + GetCurrentInstrument(), "Set to current instrument"); + AppendMenu(instrumentChangeMenu, MF_STRING, ID_CHANGE_INSTRUMENT, _T("&Remove instrument")); + AppendMenu(instrumentChangeMenu, MF_STRING, ID_CHANGE_INSTRUMENT + GetCurrentInstrument(), _T("&Set to current instrument")); } return BuildTogglePlugEditorCtxMenu(hMenu, ih); } @@ -6424,7 +6423,7 @@ if(plug && plug <= MAX_MIXPLUGINS && sndFile->m_MixPlugins[plug - 1].pMixPlugin != nullptr) { - AppendMenu(hMenu, MF_STRING, ID_PATTERN_EDIT_PCNOTE_PLUGIN, "Toggle Plugin Editor\t" + ih->GetKeyTextFromCommand(kcPatternEditPCNotePlugin)); + AppendMenu(hMenu, MF_STRING, ID_PATTERN_EDIT_PCNOTE_PLUGIN, "Toggle Plugin &Editor\t" + ih->GetKeyTextFromCommand(kcPatternEditPCNotePlugin)); return true; } return false; @@ -6437,7 +6436,7 @@ CHANNELINDEX startChan = m_Selection.GetStartChannel(); CHANNELINDEX endChan = m_Selection.GetEndChannel(); chans.clear(); - chans.reserve(endChan - startChan); + chans.reserve(endChan - startChan + 1); // Check in which channels this column is selected. // Actually this check is only important for the first and last channel, but to keep things clean and simple, all channels are checked in the same manner. @@ -6491,8 +6490,8 @@ return false; bool result = false; - const ModCommand startRowMC = *sndFile->Patterns[m_nPattern].GetpModCommand(startRow, chan); - const ModCommand endRowMC = *sndFile->Patterns[m_nPattern].GetpModCommand(endRow, chan); + const ModCommand &startRowMC = *sndFile->Patterns[m_nPattern].GetpModCommand(startRow, chan); + const ModCommand &endRowMC = *sndFile->Patterns[m_nPattern].GetpModCommand(endRow, chan); UINT startRowCmd, endRowCmd; if(colType == PatternCursor::effectColumn && (startRowMC.IsPcNote() || endRowMC.IsPcNote())) @@ -6524,6 +6523,7 @@ break; case PatternCursor::effectColumn: + case PatternCursor::paramColumn: startRowCmd = startRowMC.command; endRowCmd = endRowMC.command; result = (startRowCmd == endRowCmd && startRowCmd != CMD_NONE) // Interpolate between two identical commands Modified: trunk/OpenMPT/mptrack/manual_generator/wiki.py =================================================================== --- trunk/OpenMPT/mptrack/manual_generator/wiki.py 2014-12-01 19:18:48 UTC (rev 4623) +++ trunk/OpenMPT/mptrack/manual_generator/wiki.py 2014-12-01 21:42:54 UTC (rev 4624) @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # OpenMPT help file scraper # by coda and Saga Musix # This script downloads the OpenMPT manual TOC and then downloads all pages @@ -89,10 +89,6 @@ # Remove templates that shouldn't turn up in the manual content = re.sub(r'<div class="todo".+?</div>', '', content, flags = re.DOTALL); content = re.sub(r'<p class="newversion".+?</p>', '', content, flags = re.DOTALL); - # Remove edit links (MW 1.23 should make this superfluous) - content = re.sub(r'<span class="mw-editsection"><span class="mw-editsection-bracket">\[</span><a href=".+?">edit</a><span class="mw-editsection-bracket">\]</span></span>', '', content) - # Remove magnify links for images - content = content.replace('<img src="/skins/common/images/magnify-clip.png" width="15" height="11" alt="" />', '') section = re.match(r'(.+)/', title(p)) section_str = '' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |