|
From: <re...@us...> - 2007-05-27 17:47:43
|
Revision: 188
http://svn.sourceforge.net/modplug/?rev=188&view=rev
Author: rewbs
Date: 2007-05-27 10:47:34 -0700 (Sun, 27 May 2007)
Log Message:
-----------
v1.17.02.48
. <Relabs> Fix song cleanup issue (http://lpchip.com/modplug/viewtopic.php?t=1711)
. <Relabs> Pitch/Tempo lock fix (broken in .46 and .47) (http://lpchip.com/modplug/viewtopic.php?t=1646)
/ <Relabs> Pattern manager channel reordering behviour changes / fixes. (http://lpchip.com/modplug/viewtopic.php?t=1148)
. <pelya> Fix bad horizontal scrolling in pattern editor when positioning the cursor with the mouse. (http://lpchip.com/modplug/viewtopic.php?t=1650)
. <rewbs> Fix odd "play row" behaviour when using 1 tick-per-row (http://lpchip.com/modplug/viewtopic.php?t=1038).
. <rewbs> Fix pop due to ramping when song starts with a pattern command that sets a low global volume. (http://lpchip.com/modplug/viewtopic.php?t=523)
. <rewbs> Fix occasional colour issues with orderlist (http://lpchip.com/modplug/viewtopic.php?t=867)
. <rewbs> Fix impossible horizontal scrolling in pattern editor when playing with follow song on
. <rewbs> Grey out "Trim" option in sample editor context menu if there's no selection. (http://lpchip.com/modplug/viewtopic.php?t=908)
Modified Paths:
--------------
trunk/OpenMPT/mptrack/Ctrl_pat.h
trunk/OpenMPT/mptrack/Ctrl_seq.cpp
trunk/OpenMPT/mptrack/MainFrm.cpp
trunk/OpenMPT/mptrack/Mptrack.cpp
trunk/OpenMPT/mptrack/View_pat.cpp
trunk/OpenMPT/mptrack/View_pat.h
trunk/OpenMPT/mptrack/View_smp.cpp
trunk/OpenMPT/mptrack/bin/mptrack.exe
trunk/OpenMPT/mptrack/bin/version
trunk/OpenMPT/mptrack/mptrack.rc
trunk/OpenMPT/packageTemplate/History.txt
trunk/OpenMPT/packageTemplate/default.mkb
trunk/OpenMPT/soundlib/Sndmix.cpp
Modified: trunk/OpenMPT/mptrack/Ctrl_pat.h
===================================================================
--- trunk/OpenMPT/mptrack/Ctrl_pat.h 2007-05-25 22:09:32 UTC (rev 187)
+++ trunk/OpenMPT/mptrack/Ctrl_pat.h 2007-05-27 17:47:34 UTC (rev 188)
@@ -11,12 +11,12 @@
protected:
HFONT m_hFont;
COLORREF colorText, colorTextSel;
- int m_cxFont, m_cyFont, m_nXScroll, m_nScrollPos, m_nDropPos;
//m_nXScroll : The order at the beginning of shown orderlist?
//m_nScrollPos: The same as order?
- BYTE m_nOrderlistMargins;
+ int m_cxFont, m_cyFont, m_nXScroll, m_nScrollPos, m_nDropPos;
//To tell how many orders('orderboxes') to show at least
//on both sides of current order(when updating orderslist position).
+ BYTE m_nOrderlistMargins;
UINT m_nDragOrder;
BOOL m_bScrolling, m_bDragging, m_bShift;
CModDoc *m_pModDoc;
Modified: trunk/OpenMPT/mptrack/Ctrl_seq.cpp
===================================================================
--- trunk/OpenMPT/mptrack/Ctrl_seq.cpp 2007-05-25 22:09:32 UTC (rev 187)
+++ trunk/OpenMPT/mptrack/Ctrl_seq.cpp 2007-05-27 17:47:34 UTC (rev 188)
@@ -467,8 +467,13 @@
int nOrder = ((nIndex >= 0) && (nIndex < pSndFile->Order.size())) ? pSndFile->Order[nIndex] : -1;
if ((rect.right = rect.left + m_cxFont) > rcClient.right) rect.right = rcClient.right;
rect.right--;
- FillRect(dc.m_hDC, &rect, (bHighLight) ? CMainFrame::brushHighLight : CMainFrame::brushWindow);
+ if (bHighLight) {
+ FillRect(dc.m_hDC, &rect, CMainFrame::brushHighLight);
+ } else {
+ FillRect(dc.m_hDC, &rect, CMainFrame::brushWindow);
+ }
+
//Drawing the shown pattern-indicator or drag position.
if (nIndex == ((m_bDragging) ? (int)m_nDropPos : m_nScrollPos))
{
Modified: trunk/OpenMPT/mptrack/MainFrm.cpp
===================================================================
--- trunk/OpenMPT/mptrack/MainFrm.cpp 2007-05-25 22:09:32 UTC (rev 187)
+++ trunk/OpenMPT/mptrack/MainFrm.cpp 2007-05-27 17:47:34 UTC (rev 188)
@@ -1006,8 +1006,9 @@
HWND hWnd = ::GetFocus();
if (hWnd != NULL) {
- TCHAR szClassName[512];
- textboxHasFocus = GetClassName(hWnd, szClassName, 6) && _tcsicmp(szClassName, _T("Edit")) == 0;
+ TCHAR activeWindowClassName[512];
+ GetClassName(hWnd, activeWindowClassName, 6);
+ textboxHasFocus = _tcsicmp(activeWindowClassName, _T("Edit")) == 0;
if (textboxHasFocus) {
handledByTextBox = m_InputHandler->isKeyPressHandledByTextBox(wParam);
}
@@ -1752,7 +1753,7 @@
COLORREF crBkgnd = GetSysColor(COLOR_WINDOW);
if (brushHighLight) DeleteObject(brushHighLight);
brushHighLight = CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT));
- if (brushHighLightRed) DeleteObject(brushHighLight);
+ if (brushHighLightRed) DeleteObject(brushHighLightRed);
brushHighLightRed = CreateSolidBrush(RGB(0xFF,0x00,0x00));
if (brushWindow) DeleteObject(brushWindow);
Modified: trunk/OpenMPT/mptrack/Mptrack.cpp
===================================================================
--- trunk/OpenMPT/mptrack/Mptrack.cpp 2007-05-25 22:09:32 UTC (rev 187)
+++ trunk/OpenMPT/mptrack/Mptrack.cpp 2007-05-27 17:47:34 UTC (rev 188)
@@ -1573,10 +1573,9 @@
SetDlgItemText(IDC_EDIT3, CString("Open Modplug Tracker, version ") + CMainFrame::GetFullVersionString());
m_heContact.SetWindowText(
-"Contact:\r\n\
-MPC forums: http://lpchip.com/modplug/\r\n\
-Robin Fernandes: mailto:mo...@so...\r\n\r\n\
-Updates:\r\n\
+"Contact / Discussion:\r\n\
+http://modplug.sourceforge.net/forum\r\n\
+\r\n\Updates:\r\n\
http://modplug.sourceforge.net/builds/#dev");
char *pArrCredit = {
Modified: trunk/OpenMPT/mptrack/View_pat.cpp
===================================================================
--- trunk/OpenMPT/mptrack/View_pat.cpp 2007-05-25 22:09:32 UTC (rev 187)
+++ trunk/OpenMPT/mptrack/View_pat.cpp 2007-05-27 17:47:34 UTC (rev 188)
@@ -222,9 +222,22 @@
}
-BOOL CViewPattern::SetCurrentRow(UINT row, BOOL bWrap)
-//----------------------------------------------------
+// This should be used instead of consecutive calls to SetCurrentRow() then SetCurrentColumn()
+BOOL CViewPattern::SetCursorPosition(UINT nrow, UINT ncol, BOOL bWrap)
+//--------------------------------------------------------------------------
{
+ // Set row, but do not update scroll position yet
+ // as there is another position update on the way:
+ SetCurrentRow(nrow, bWrap, false);
+ // Now set column and update scroll position:
+ SetCurrentColumn(ncol);
+ return TRUE;
+}
+
+
+BOOL CViewPattern::SetCurrentRow(UINT row, BOOL bWrap, BOOL bUpdateHorizontalScrollbar)
+//-------------------------------------------------------------------------------------
+{
CSoundFile *pSndFile;
CModDoc *pModDoc = GetDocument();
if (!pModDoc) return FALSE;
@@ -296,7 +309,8 @@
// Fix: If cursor isn't on screen move both scrollbars to make it visible
InvalidateRow();
m_nRow = row;
- UpdateScrollbarPositions(); //UpdateScrollbarPositions( false ); // default behavior is to move only vertical scrollbar
+ // Fix: Horizontal scrollbar pos screwed when selecting with mouse
+ UpdateScrollbarPositions(bUpdateHorizontalScrollbar);
InvalidateRow();
int sel = m_dwCursor | (m_nRow << 16);
int sel0 = sel;
@@ -350,7 +364,7 @@
// Assume that m_nRow and m_dwCursor are valid
// When we switching to other tab the CViewPattern object is deleted
// and when switching back new one is created
-BOOL CViewPattern::UpdateScrollbarPositions( bool UpdateHorizontalScrollbar )
+BOOL CViewPattern::UpdateScrollbarPositions( BOOL UpdateHorizontalScrollbar )
{
// HACK - after new CViewPattern object created SetCurrentRow() and SetCurrentColumn() are called -
// just skip first two calls of UpdateScrollbarPositions() if pModDoc->GetOldPatternScrollbarsPos() is valid
@@ -1012,8 +1026,8 @@
SetCurSel(m_dwStartSel, m_dwStartSel);
} else
{
- SetCurrentRow(m_dwStartSel >> 16);
- SetCurrentColumn(m_dwStartSel & 0xFFFF);
+ // Fix: Horizontal scrollbar pos screwed when selecting with mouse
+ SetCursorPosition( m_dwStartSel >> 16, m_dwStartSel & 0xFFFF );
}
}
}
@@ -1071,8 +1085,8 @@
if ((m_nMidRow) && (m_dwBeginSel == m_dwEndSel))
{
DWORD dwPos = m_dwBeginSel;
- SetCurrentRow(dwPos >> 16);
- SetCurrentColumn(dwPos & 0xFFFF);
+ // Fix: Horizontal scrollbar pos screwed when selecting with mouse
+ SetCursorPosition( dwPos >> 16, dwPos & 0xFFFF );
//UpdateIndicator();
}
}
@@ -1165,8 +1179,8 @@
|| ((m_nMenuParam & 0xFFFF) > (m_dwEndSel & 0xFFFF)))
{
if (pt.y > m_szHeader.cy) { //ensure we're not clicking header
- SetCurrentRow(m_nMenuParam >> 16);
- SetCurrentColumn(m_nMenuParam & 0xFFFF);
+ // Fix: Horizontal scrollbar pos screwed when selecting with mouse
+ SetCursorPosition( m_nMenuParam >> 16, m_nMenuParam & 0xFFFF );
}
}
UINT nChn = (m_nMenuParam & 0xFFFF) >> 3;
@@ -1299,8 +1313,8 @@
DragToSel(dwPos, TRUE);
} else
{
- SetCurrentRow(dwPos >> 16);
- SetCurrentColumn(dwPos & 0xFFFF);
+ // Fix: Horizontal scrollbar pos screwed when selecting with mouse
+ SetCursorPosition( dwPos >> 16, dwPos & 0xFFFF );
}
}
}
@@ -1514,8 +1528,8 @@
//rewbs.customKeys
DWORD finalPos = (min(m_dwEndSel >> 16, m_dwBeginSel >> 16) << 16 | (m_dwEndSel & 0xFFFF));
SetCurSel(finalPos, finalPos);
- SetCurrentColumn(finalPos & 0xFFFF);
- SetCurrentRow(finalPos >> 16);
+ // Fix: Horizontal scrollbar pos screwed when selecting with mouse
+ SetCursorPosition( finalPos >> 16, finalPos & 0xFFFF );
//end rewbs.customKeys
pModDoc->SetModified();
@@ -2347,8 +2361,8 @@
if (y2<0) y2=0;
if (y2>=nRows) y2=nRows-1;
if (c2 >= 3) c2 = 4;
- SetCurrentRow(y1);
- SetCurrentColumn((x1<<3)|c1);
+ // Fix: Horizontal scrollbar pos screwed when selecting with mouse
+ SetCursorPosition( y1, (x1<<3)|c1 );
SetCurSel((y1<<16)|(x1<<3)|c1, (y2<<16)|(x2<<3)|c2);
InvalidatePattern();
CSoundFile::FreePattern(pOldPattern);
@@ -2769,7 +2783,7 @@
if (nOrd < pSndFile->Order.size()) SendCtrlMessage(CTRLMSG_SETCURRENTORDER, nOrd);
updateOrderList = false;
}
- if (nRow != m_nRow) SetCurrentRow((nRow < pSndFile->PatternSize[nPat]) ? nRow : 0);
+ if (nRow != m_nRow) SetCurrentRow((nRow < pSndFile->PatternSize[nPat]) ? nRow : 0, FALSE, FALSE);
}
SetPlayCursor(0xFFFF, 0);
} else
@@ -3064,8 +3078,8 @@
if (/*(pState->nPattern == m_nPattern) && */(pState->cbStruct == sizeof(PATTERNVIEWSTATE)))
{
SetCurrentPattern(pState->nPattern);
- SetCurrentRow(pState->nRow);
- SetCurrentColumn(pState->nCursor);
+ // Fix: Horizontal scrollbar pos screwed when selecting with mouse
+ SetCursorPosition( pState->nRow, pState->nCursor );
SetCurSel(pState->dwBeginSel, pState->dwEndSel);
}
}
@@ -4917,3 +4931,4 @@
+
Modified: trunk/OpenMPT/mptrack/View_pat.h
===================================================================
--- trunk/OpenMPT/mptrack/View_pat.h 2007-05-25 22:09:32 UTC (rev 187)
+++ trunk/OpenMPT/mptrack/View_pat.h 2007-05-27 17:47:34 UTC (rev 188)
@@ -73,18 +73,8 @@
CPatternGotoDialog *m_pGotoWnd;
SIZE m_szHeader, m_szCell;
UINT m_nPattern, m_nRow, m_nMidRow, m_nPlayPat, m_nPlayRow, m_nSpacing, m_nAccelChar, m_nLastPlayedRow, m_nLastPlayedOrder;
-
-// -> CODE#0012
-// -> DESC="midi keyboard split"
-// UINT CViewPattern::GetCurrentSplitInstrument() const;
-// UINT CViewPattern::GetCurrentSplitNote() const;
-// UINT CViewPattern::GetCurrentOctaveModifier() const;
-// UINT CViewPattern::GetCurrentOctaveLink() const;
-// UINT CViewPattern::GetCurrentSplitVolume() const;
-// rewbs.merge: inverted message direction
UINT m_nSplitInstrument, m_nSplitNote, m_nOctaveModifier, m_nSplitVolume;
BOOL m_bOctaveLink;
-// -! NEW_FEATURE#0012
int m_nXScroll, m_nYScroll;
DWORD m_nDragItem, m_nMenuParam, m_nDetailLevel;
@@ -149,12 +139,13 @@
void InvalidateChannelsHeaders();
void SetCurSel(DWORD dwBegin, DWORD dwEnd);
BOOL SetCurrentPattern(UINT npat, int nrow=-1);
- BOOL SetCurrentRow(UINT nrow, BOOL bWrap=FALSE);
+ BOOL SetCurrentRow(UINT nrow, BOOL bWrap=FALSE, BOOL bUpdateHorizontalScrollbar=TRUE );
BOOL SetCurrentColumn(UINT ncol);
+ // This should be used instead of consecutive calls to SetCurrentRow() then SetCurrentColumn()
+ BOOL SetCursorPosition(UINT nrow, UINT ncol, BOOL bWrap=FALSE );
BOOL DragToSel(DWORD dwPos, BOOL bScroll, BOOL bNoMove=FALSE);
BOOL SetPlayCursor(UINT nPat, UINT nRow);
-// Fix: If cursor isn't on screen move scrollbars to make it visible
- BOOL UpdateScrollbarPositions( bool UpdateHorizontalScrollbar=true );
+ BOOL UpdateScrollbarPositions( BOOL bUpdateHorizontalScrollbar=TRUE );
// -> CODE#0014
// -> DESC="vst wet/dry slider"
// BOOL EnterNote(UINT nNote, UINT nIns=0, BOOL bCheck=FALSE, int vol=-1, BOOL bMultiCh=FALSE);
@@ -354,3 +345,4 @@
#endif
+
Modified: trunk/OpenMPT/mptrack/View_smp.cpp
===================================================================
--- trunk/OpenMPT/mptrack/View_smp.cpp 2007-05-25 22:09:32 UTC (rev 187)
+++ trunk/OpenMPT/mptrack/View_smp.cpp 2007-05-27 17:47:34 UTC (rev 188)
@@ -1321,7 +1321,8 @@
if (pins->uFlags & CHN_STEREO) ::AppendMenu(hMenu, MF_STRING, ID_SAMPLE_MONOCONVERT, "Convert to mono");
}
- ::AppendMenu(hMenu, MF_STRING, ID_SAMPLE_TRIM, "Trim\t" + ih->GetKeyTextFromCommand(kcSampleTrim));
+ ::AppendMenu(hMenu, MF_STRING|(m_dwEndSel>m_dwBeginSel)?0:MF_GRAYED,
+ ID_SAMPLE_TRIM, "Trim\t" + ih->GetKeyTextFromCommand(kcSampleTrim));
::AppendMenu(hMenu, MF_STRING, ID_EDIT_CUT, "Cut\t" + ih->GetKeyTextFromCommand(kcEditCut));
::AppendMenu(hMenu, MF_STRING, ID_EDIT_COPY, "Copy\t" + ih->GetKeyTextFromCommand(kcEditCopy));
}
Modified: trunk/OpenMPT/mptrack/bin/mptrack.exe
===================================================================
(Binary files differ)
Modified: trunk/OpenMPT/mptrack/bin/version
===================================================================
--- trunk/OpenMPT/mptrack/bin/version 2007-05-25 22:09:32 UTC (rev 187)
+++ trunk/OpenMPT/mptrack/bin/version 2007-05-27 17:47:34 UTC (rev 188)
@@ -1 +1 @@
-1.17.02.47
\ No newline at end of file
+1.17.02.48
\ No newline at end of file
Modified: trunk/OpenMPT/mptrack/mptrack.rc
===================================================================
--- trunk/OpenMPT/mptrack/mptrack.rc 2007-05-25 22:09:32 UTC (rev 187)
+++ trunk/OpenMPT/mptrack/mptrack.rc 2007-05-27 17:47:34 UTC (rev 188)
@@ -1926,7 +1926,7 @@
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,17,2,47
+ FILEVERSION 1,17,2,48
PRODUCTVERSION 0,0,0,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
@@ -1944,7 +1944,7 @@
BEGIN
VALUE "CompanyName", "Olivier Lapicque / OpenMPT team"
VALUE "FileDescription", "OpenMPT / ModPlug Tracker"
- VALUE "FileVersion", "1, 17, 2, 47"
+ VALUE "FileVersion", "1, 17, 2, 48"
VALUE "InternalName", "Modplug Tracker"
VALUE "LegalCopyright", "Copyright \xA91997-2003 Olivier Lapicque; \xA92004-2007 GPL."
VALUE "LegalTrademarks", "M.O.D.P.L.U.G"
Modified: trunk/OpenMPT/packageTemplate/History.txt
===================================================================
--- trunk/OpenMPT/packageTemplate/History.txt 2007-05-25 22:09:32 UTC (rev 187)
+++ trunk/OpenMPT/packageTemplate/History.txt 2007-05-27 17:47:34 UTC (rev 188)
@@ -6,8 +6,19 @@
-: known issue / regression
/: change
?: other
-(tx XYZ): thanks to XYZ for telling me about the bug
+(tx XYZ): thanks to XYZ for telling us about the bug
+v1.17.02.48
+ . <Relabs> Fix song cleanup issue (http://lpchip.com/modplug/viewtopic.php?t=1711)
+ . <Relabs> Pitch/Tempo lock fix (broken in .46 and .47) (http://lpchip.com/modplug/viewtopic.php?t=1646)
+ / <Relabs> Pattern manager channel reordering behviour changes / fixes. (http://lpchip.com/modplug/viewtopic.php?t=1148)
+ . <pelya> Fix bad horizontal scrolling in pattern editor when positioning the cursor with the mouse. (http://lpchip.com/modplug/viewtopic.php?t=1650)
+ . <rewbs> Fix odd "play row" behaviour when using 1 tick-per-row (http://lpchip.com/modplug/viewtopic.php?t=1038).
+ . <rewbs> Fix pop due to ramping when song starts with a pattern command that sets a low global volume. (http://lpchip.com/modplug/viewtopic.php?t=523)
+ . <rewbs> Fix occasional colour issues with orderlist (http://lpchip.com/modplug/viewtopic.php?t=867)
+ . <rewbs> Fix impossible horizontal scrolling in pattern editor when playing with follow song on
+ . <rewbs> Grey out "Trim" option in sample editor context menu if there's no selection. (http://lpchip.com/modplug/viewtopic.php?t=908)
+
v1.17.02.47
? <rewbs> An update checker was introduced in the previous version. If you had any problems with the update notification, please report a bug.
. <pelya> Save pattern scrollbar position when switching to other tabs
Modified: trunk/OpenMPT/packageTemplate/default.mkb
===================================================================
--- trunk/OpenMPT/packageTemplate/default.mkb 2007-05-25 22:09:32 UTC (rev 187)
+++ trunk/OpenMPT/packageTemplate/default.mkb 2007-05-27 17:47:34 UTC (rev 188)
@@ -1,4 +1,4 @@
-//-------- Modplug Tracker key binding definition file -------
+//-------- OpenMPT key binding definition file -------
//-Format is: -
//- Context:Command ID:Modifiers:Key:KeypressEventType //Comments -
//----------------------------------------------------------------------
@@ -9,7 +9,7 @@
0:1349:2:83:1 //File/Save: Ctrl+S (KeyDown)
0:1030:0:116:1 //Play song/Pause song: F5 (KeyDown)
0:1031:0:119:1 //Pause song: F8 (KeyDown)
-0:1375:0:27:1 //Stop Song: Esc (KeyDown)
+0:1375:0:27:1 //Stop Song: ESC (KeyDown)
0:1029:0:117:1 //Play song from start: F6 (KeyDown)
0:1027:0:118:5 //Play pattern from start: F7 (KeyDown|KeyHold)
0:1026:2:118:5 //Play pattern from cursor: Ctrl+F7 (KeyDown|KeyHold)
@@ -17,9 +17,9 @@
0:1359:2:90:1 //Undo: Ctrl+Z (KeyDown)
0:1360:2:88:1 //Cut: Ctrl+X (KeyDown)
0:1361:2:67:1 //Copy: Ctrl+C (KeyDown)
-0:1361:2:45:1 //Copy: Ctrl+Ins (KeyDown)
+0:1361:2:45:1 //Copy: Ctrl+INSERT (KeyDown)
0:1362:2:86:1 //Paste: Ctrl+V (KeyDown)
-0:1362:1:45:1 //Paste: Shift+Ins (KeyDown)
+0:1362:1:45:1 //Paste: Shift+INSERT (KeyDown)
0:1364:2:53:1 //SelectAll: Ctrl+5 (KeyDown)
0:1365:2:70:1 //Find: Ctrl+F (KeyDown)
0:1366:0:114:1 //Find Next: F3 (KeyDown)
@@ -31,45 +31,52 @@
0:1368:2:113:1 //Toggle Tree View: Ctrl+F2 (KeyDown)
0:1369:2:112:1 //View Options: Ctrl+F1 (KeyDown)
0:1370:0:112:1 //Help (to do): F1 (KeyDown)
-0:1032:2:111:5 //Previous instrument: Ctrl+ (KeyDown|KeyHold)
-0:1032:2:38:5 //Previous instrument: Ctrl+Up (KeyDown|KeyHold)
-0:1033:2:106:5 //Next instrument: Ctrl+Num * (KeyDown|KeyHold)
-0:1033:2:40:5 //Next instrument: Ctrl+Down (KeyDown|KeyHold)
-0:1036:0:111:1 //Previous octave: (KeyDown)
-0:1037:0:106:1 //Next octave: Num * (KeyDown)
-0:1034:2:37:5 //Previous order: Ctrl+Left (KeyDown|KeyHold)
-0:1035:2:39:5 //Next order: Ctrl+Right (KeyDown|KeyHold)
+0:1032:2:111:5 //Previous instrument: Ctrl+NUM DIVIDE (KeyDown|KeyHold)
+0:1032:2:38:5 //Previous instrument: Ctrl+UP (KeyDown|KeyHold)
+0:1033:2:106:5 //Next instrument: Ctrl+NUMMULT (KeyDown|KeyHold)
+0:1033:2:40:5 //Next instrument: Ctrl+DOWN (KeyDown|KeyHold)
+0:1036:0:111:1 //Previous octave: NUM DIVIDE (KeyDown)
+0:1037:0:106:1 //Next octave: NUMMULT (KeyDown)
+0:1034:2:37:5 //Previous order: Ctrl+LEFT (KeyDown|KeyHold)
+0:1035:2:39:5 //Next order: Ctrl+RIGHT (KeyDown|KeyHold)
//----( General Context [bottom] (1) )------------
//----( Pattern Context [bottom] (2) )------------
-2:1017:0:34:1 //Jump down by highlight1: Page Down (KeyDown)
-2:1018:0:33:1 //Jump up by highlight1: Page Up (KeyDown)
-2:1338:4:34:1 //Jump down by highlight2: Alt+Page Down (KeyDown)
-2:1339:4:33:1 //Jump up by highlight2: Alt+Page Up (KeyDown)
-2:1340:6:34:5 //Snap down to highlight2: Ctrl+Alt+Page Down (KeyDown|KeyHold)
-2:1341:6:33:5 //Snap up to highlight2: Ctrl+Alt+Page Up (KeyDown|KeyHold)
-2:1038:0:40:5 //Navigate down: Down (KeyDown|KeyHold)
-2:1039:0:38:1 //Navigate up: Up (KeyDown)
-2:1040:0:37:5 //Navigate left: Left (KeyDown|KeyHold)
-2:1041:0:39:5 //Navigate right: Right (KeyDown|KeyHold)
-2:1042:0:9:1 //Navigate to next channel: Tab (KeyDown)
-2:1043:1:9:1 //Navigate to previous channel: Shift+Tab (KeyDown)
-2:1044:0:36:1 //Go to first channel: Home (KeyDown)
-2:1045:2:36:1 //Go to first row: Ctrl+Home (KeyDown)
-2:1046:6:36:1 //Go to first row of first channel: Ctrl+Alt+Home (KeyDown)
-2:1047:0:35:1 //Go to last channel: End (KeyDown)
-2:1048:2:35:1 //Go to last row: Ctrl+End (KeyDown)
-2:1049:6:35:1 //Go to last row of last channel: Ctrl+Alt+End (KeyDown)
+2:1017:0:34:5 //Jump down by measure: PGDOWN (KeyDown|KeyHold)
+2:1018:0:33:5 //Jump up by measure: PGUP (KeyDown|KeyHold)
+2:1338:4:34:5 //Jump down by beat: Alt+PGDOWN (KeyDown|KeyHold)
+2:1339:4:33:5 //Jump up by beat: Alt+PGUP (KeyDown|KeyHold)
+2:1340:6:34:5 //Snap down to beat: Ctrl+Alt+PGDOWN (KeyDown|KeyHold)
+2:1341:6:33:5 //Snap up to beat: Ctrl+Alt+PGUP (KeyDown|KeyHold)
+2:1038:0:40:5 //Navigate down by 1 row: DOWN (KeyDown|KeyHold)
+2:1039:0:38:5 //Navigate up by 1 row: UP (KeyDown|KeyHold)
+2:1691:4:40:5 //Navigate down by spacing: Alt+DOWN (KeyDown|KeyHold)
+2:1692:4:38:5 //Navigate up by spacing: Alt+UP (KeyDown|KeyHold)
+2:1040:0:37:5 //Navigate left: LEFT (KeyDown|KeyHold)
+2:1041:0:39:5 //Navigate right: RIGHT (KeyDown|KeyHold)
+2:1042:0:9:5 //Navigate to next channel: TAB (KeyDown|KeyHold)
+2:1043:1:9:5 //Navigate to previous channel: Shift+TAB (KeyDown|KeyHold)
+2:1044:0:36:1 //Go to first channel: HOME (KeyDown)
+2:1045:2:36:1 //Go to first row: Ctrl+HOME (KeyDown)
+2:1046:6:36:1 //Go to first row of first channel: Ctrl+Alt+HOME (KeyDown)
+2:1047:0:35:1 //Go to last channel: END (KeyDown)
+2:1048:2:35:1 //Go to last row: Ctrl+END (KeyDown)
+2:1049:6:35:1 //Go to last row of last channel: Ctrl+Alt+END (KeyDown)
+2:1050:1:16:1 //Selection key: Shift (KeyDown)
+2:1051:2:17:1 //Copy select key: Ctrl (KeyDown)
2:1011:2:76:1 //Select channel / Select all: Ctrl+L (KeyDown)
-2:1003:0:13:1 //Quick copy: Enter (KeyDown)
-2:1004:0:32:5 //Quick paste: Space (KeyDown|KeyHold)
-2:1001:2:32:1 //Enable recording: Ctrl+Space (KeyDown)
-2:1002:2:13:5 //Play row: Ctrl+Enter (KeyDown|KeyHold)
-2:1317:4:18:1 //Set row jump on note entry: Alt+Alt (KeyDown)
-2:1685:2:9:1 //Switch to order list: Ctrl+Tab (KeyDown)
+2:1663:0:122:1 //Toggle follow song: F11 (KeyDown)
+2:1003:0:13:5 //Quick copy: ENTER (KeyDown|KeyHold)
+2:1004:0:32:5 //Quick paste: SPACE (KeyDown|KeyHold)
+2:1001:2:32:1 //Enable recording: Ctrl+SPACE (KeyDown)
+2:1002:2:13:5 //Play row: Ctrl+ENTER (KeyDown|KeyHold)
+2:1317:4:18:1 //Set row jump on note entry: Alt (KeyDown)
+2:1685:2:9:1 //Switch to order list: Ctrl+TAB (KeyDown)
2:1662:6:80:1 //Toggle channel's plugin editor: Ctrl+Alt+P (KeyDown)
2:1062:0:93:1 //Show note properties: Application (KeyDown)
+2:1005:0:121:5 //Mute current channel: F10 (KeyDown|KeyHold)
+2:1006:2:121:5 //Solo current channel: Ctrl+F10 (KeyDown|KeyHold)
2:1007:2:81:5 //Transpose +1: Ctrl+Q (KeyDown|KeyHold)
2:1008:2:65:5 //Transpose -1: Ctrl+A (KeyDown|KeyHold)
2:1009:3:81:5 //Transpose +12: Shift+Ctrl+Q (KeyDown|KeyHold)
@@ -78,19 +85,20 @@
2:1014:2:74:1 //Interpolate volume: Ctrl+J (KeyDown)
2:1015:2:75:1 //Interpolate effect: Ctrl+K (KeyDown)
2:1016:4:66:1 //Open effect visualizer: Alt+B (KeyDown)
+2:1766:2:71:1 //Go to row/channel/...: Ctrl+G (KeyDown)
2:1013:2:73:1 //Apply current instrument: Ctrl+I (KeyDown)
2:1660:4:69:5 //Grow selection: Alt+E (KeyDown|KeyHold)
2:1661:4:68:5 //Shrink selection: Alt+D (KeyDown|KeyHold)
-2:1058:0:46:1 //Clear field: Del (KeyDown)
+2:1058:0:46:1 //Clear field: DELETE (KeyDown)
2:1664:1:190:1 //Clear field (IT Style): Shift+. (KeyDown)
-2:1059:2:46:1 //Clear row and step: Ctrl+Del (KeyDown)
-2:1665:1:46:5 //Clear field and step (IT Style): Shift+Del (KeyDown|KeyHold)
-2:1061:0:8:5 //Delete rows: Backspace (KeyDown|KeyHold)
-2:1377:2:8:5 //Delete all rows: Ctrl+Backspace (KeyDown|KeyHold)
-2:1378:0:45:1 //Insert Row: Ins (KeyDown)
-2:1379:2:45:1 //Insert All Rows: Ctrl+Ins (KeyDown)
-2:1055:0:109:5 //Previous pattern: Num - (KeyDown|KeyHold)
-2:1054:0:107:5 //Next pattern: Num + (KeyDown|KeyHold)
+2:1059:2:46:1 //Clear row and step: Ctrl+DELETE (KeyDown)
+2:1665:1:46:5 //Clear field and step (IT Style): Shift+DELETE (KeyDown|KeyHold)
+2:1061:0:8:5 //Delete rows: BACKSPACE (KeyDown|KeyHold)
+2:1377:2:8:5 //Delete all rows: Ctrl+BACKSPACE (KeyDown|KeyHold)
+2:1378:0:45:1 //Insert Row: INSERT (KeyDown)
+2:1379:2:45:1 //Insert All Rows: Ctrl+INSERT (KeyDown)
+2:1055:0:109:5 //Previous pattern: NUM SUB (KeyDown|KeyHold)
+2:1054:0:107:5 //Next pattern: NUM PLUS (KeyDown|KeyHold)
//----( Pattern Context [bottom] - Note Col (3) )------------
3:1064:0:81:1 //Base octave C: Q (KeyDown)
@@ -115,7 +123,7 @@
3:1083:0:75:1 //Base octave +1 G: K (KeyDown)
3:1084:0:76:1 //Base octave +1 G#: L (KeyDown)
3:1085:0:186:1 //Base octave +2 A: ; (KeyDown)
-3:1086:0:222:1 //Base octave +2 A#: ' (KeyDown)
+3:1086:0:222:1 //Base octave +2 A#: # (KeyDown)
3:1087:0:220:1 //Base octave +2 B: \ (KeyDown)
3:1088:0:90:1 //Base octave +2 C: Z (KeyDown)
3:1089:0:88:1 //Base octave +2 C#: X (KeyDown)
@@ -128,70 +136,70 @@
3:1096:0:190:1 //Base octave +2 G#: . (KeyDown)
3:1097:0:191:1 //Base octave +3 A: / (KeyDown)
3:1212:0:48:1 //Set octave 0: 0 (KeyDown)
-3:1212:0:96:1 //Set octave 0: Num 0 (KeyDown)
+3:1212:0:96:1 //Set octave 0: NUM 0 (KeyDown)
3:1213:0:49:1 //Set octave 1: 1 (KeyDown)
-3:1213:0:97:1 //Set octave 1: Num 1 (KeyDown)
+3:1213:0:97:1 //Set octave 1: NUM 1 (KeyDown)
3:1214:0:50:1 //Set octave 2: 2 (KeyDown)
-3:1214:0:98:1 //Set octave 2: Num 2 (KeyDown)
+3:1214:0:98:1 //Set octave 2: NUM 2 (KeyDown)
3:1215:0:51:1 //Set octave 3: 3 (KeyDown)
-3:1215:0:99:1 //Set octave 3: Num 3 (KeyDown)
+3:1215:0:99:1 //Set octave 3: NUM 3 (KeyDown)
3:1216:0:52:1 //Set octave 4: 4 (KeyDown)
-3:1216:0:100:1 //Set octave 4: Num 4 (KeyDown)
+3:1216:0:100:1 //Set octave 4: NUM 4 (KeyDown)
3:1217:0:53:1 //Set octave 5: 5 (KeyDown)
-3:1217:0:101:1 //Set octave 5: Num 5 (KeyDown)
+3:1217:0:101:1 //Set octave 5: NUM 5 (KeyDown)
3:1218:0:54:1 //Set octave 6: 6 (KeyDown)
-3:1218:0:102:1 //Set octave 6: Num 6 (KeyDown)
+3:1218:0:102:1 //Set octave 6: NUM 6 (KeyDown)
3:1219:0:55:1 //Set octave 7: 7 (KeyDown)
-3:1219:0:103:1 //Set octave 7: Num 7 (KeyDown)
+3:1219:0:103:1 //Set octave 7: NUM 7 (KeyDown)
3:1220:0:56:1 //Set octave 8: 8 (KeyDown)
-3:1220:0:104:1 //Set octave 8: Num 8 (KeyDown)
+3:1220:0:104:1 //Set octave 8: NUM 8 (KeyDown)
3:1221:0:57:1 //Set octave 9: 9 (KeyDown)
-3:1221:0:105:1 //Set octave 9: Num 9 (KeyDown)
-3:1316:1:16:1 //Chord Modifier: Shift+Shift (KeyDown)
-3:1200:0:192:1 //Note cut: ` (KeyDown)
+3:1221:0:105:1 //Set octave 9: NUM 9 (KeyDown)
+3:1316:1:16:1 //Chord Modifier: Shift (KeyDown)
+3:1200:0:192:1 //Note cut: ' (KeyDown)
3:1201:0:187:1 //Note off: = (KeyDown)
//----( Pattern Context [bottom] - Ins Col (4) )------------
-4:1202:0:96:1 //Set instrument digit 0: Num 0 (KeyDown)
+4:1202:0:96:1 //Set instrument digit 0: NUM 0 (KeyDown)
4:1202:0:48:1 //Set instrument digit 0: 0 (KeyDown)
-4:1203:0:97:1 //Set instrument digit 1: Num 1 (KeyDown)
+4:1203:0:97:1 //Set instrument digit 1: NUM 1 (KeyDown)
4:1203:0:49:1 //Set instrument digit 1: 1 (KeyDown)
-4:1204:0:98:1 //Set instrument digit 2: Num 2 (KeyDown)
+4:1204:0:98:1 //Set instrument digit 2: NUM 2 (KeyDown)
4:1204:0:50:1 //Set instrument digit 2: 2 (KeyDown)
-4:1205:0:99:1 //Set instrument digit 3: Num 3 (KeyDown)
+4:1205:0:99:1 //Set instrument digit 3: NUM 3 (KeyDown)
4:1205:0:51:1 //Set instrument digit 3: 3 (KeyDown)
-4:1206:0:100:1 //Set instrument digit 4: Num 4 (KeyDown)
+4:1206:0:100:1 //Set instrument digit 4: NUM 4 (KeyDown)
4:1206:0:52:1 //Set instrument digit 4: 4 (KeyDown)
-4:1207:0:101:1 //Set instrument digit 5: Num 5 (KeyDown)
+4:1207:0:101:1 //Set instrument digit 5: NUM 5 (KeyDown)
4:1207:0:53:1 //Set instrument digit 5: 5 (KeyDown)
-4:1208:0:102:1 //Set instrument digit 6: Num 6 (KeyDown)
+4:1208:0:102:1 //Set instrument digit 6: NUM 6 (KeyDown)
4:1208:0:54:1 //Set instrument digit 6: 6 (KeyDown)
-4:1209:0:103:1 //Set instrument digit 7: Num 7 (KeyDown)
+4:1209:0:103:1 //Set instrument digit 7: NUM 7 (KeyDown)
4:1209:0:55:1 //Set instrument digit 7: 7 (KeyDown)
4:1210:0:56:1 //Set instrument digit 8: 8 (KeyDown)
-4:1211:0:105:1 //Set instrument digit 9: Num 9 (KeyDown)
+4:1211:0:105:1 //Set instrument digit 9: NUM 9 (KeyDown)
4:1211:0:57:1 //Set instrument digit 9: 9 (KeyDown)
//----( Pattern Context [bottom] - Vol Col (5) )------------
5:1222:0:48:1 //Set volume digit 0: 0 (KeyDown)
-5:1222:0:96:1 //Set volume digit 0: Num 0 (KeyDown)
+5:1222:0:96:1 //Set volume digit 0: NUM 0 (KeyDown)
5:1223:0:49:1 //Set volume digit 1: 1 (KeyDown)
-5:1223:0:97:1 //Set volume digit 1: Num 1 (KeyDown)
+5:1223:0:97:1 //Set volume digit 1: NUM 1 (KeyDown)
5:1224:0:50:1 //Set volume digit 2: 2 (KeyDown)
-5:1224:0:98:1 //Set volume digit 2: Num 2 (KeyDown)
+5:1224:0:98:1 //Set volume digit 2: NUM 2 (KeyDown)
5:1225:0:51:1 //Set volume digit 3: 3 (KeyDown)
-5:1225:0:99:1 //Set volume digit 3: Num 3 (KeyDown)
+5:1225:0:99:1 //Set volume digit 3: NUM 3 (KeyDown)
5:1226:0:52:1 //Set volume digit 4: 4 (KeyDown)
-5:1226:0:100:1 //Set volume digit 4: Num 4 (KeyDown)
+5:1226:0:100:1 //Set volume digit 4: NUM 4 (KeyDown)
5:1227:0:53:1 //Set volume digit 5: 5 (KeyDown)
-5:1227:0:101:1 //Set volume digit 5: Num 5 (KeyDown)
+5:1227:0:101:1 //Set volume digit 5: NUM 5 (KeyDown)
5:1228:0:54:1 //Set volume digit 6: 6 (KeyDown)
-5:1228:0:102:1 //Set volume digit 6: Num 6 (KeyDown)
+5:1228:0:102:1 //Set volume digit 6: NUM 6 (KeyDown)
5:1229:0:55:1 //Set volume digit 7: 7 (KeyDown)
-5:1229:0:103:1 //Set volume digit 7: Num 7 (KeyDown)
+5:1229:0:103:1 //Set volume digit 7: NUM 7 (KeyDown)
5:1230:0:56:1 //Set volume digit 8: 8 (KeyDown)
5:1231:0:57:1 //Set volume digit 9: 9 (KeyDown)
-5:1231:0:105:1 //Set volume digit 9: Num 9 (KeyDown)
+5:1231:0:105:1 //Set volume digit 9: NUM 9 (KeyDown)
5:1232:0:86:1 //Vol command - volume: V (KeyDown)
5:1233:0:80:1 //Vol command - pan: P (KeyDown)
5:1234:0:67:1 //Vol command - vol slide up: C (KeyDown)
@@ -214,25 +222,25 @@
//----( Pattern Context [bottom] - Param Col (7) )------------
7:1247:0:48:1 //FX Param digit 0: 0 (KeyDown)
-7:1247:0:96:1 //FX Param digit 0: Num 0 (KeyDown)
+7:1247:0:96:1 //FX Param digit 0: NUM 0 (KeyDown)
7:1248:0:49:1 //FX Param digit 1: 1 (KeyDown)
-7:1248:0:97:1 //FX Param digit 1: Num 1 (KeyDown)
+7:1248:0:97:1 //FX Param digit 1: NUM 1 (KeyDown)
7:1249:0:50:1 //FX Param digit 2: 2 (KeyDown)
-7:1249:0:98:1 //FX Param digit 2: Num 2 (KeyDown)
+7:1249:0:98:1 //FX Param digit 2: NUM 2 (KeyDown)
7:1250:0:51:1 //FX Param digit 3: 3 (KeyDown)
-7:1250:0:99:1 //FX Param digit 3: Num 3 (KeyDown)
+7:1250:0:99:1 //FX Param digit 3: NUM 3 (KeyDown)
7:1251:0:52:1 //FX Param digit 4: 4 (KeyDown)
-7:1251:0:100:1 //FX Param digit 4: Num 4 (KeyDown)
+7:1251:0:100:1 //FX Param digit 4: NUM 4 (KeyDown)
7:1252:0:53:1 //FX Param digit 5: 5 (KeyDown)
-7:1252:0:101:1 //FX Param digit 5: Num 5 (KeyDown)
+7:1252:0:101:1 //FX Param digit 5: NUM 5 (KeyDown)
7:1253:0:54:1 //FX Param digit 6: 6 (KeyDown)
-7:1253:0:102:1 //FX Param digit 6: Num 6 (KeyDown)
+7:1253:0:102:1 //FX Param digit 6: NUM 6 (KeyDown)
7:1254:0:55:1 //FX Param digit 7: 7 (KeyDown)
-7:1254:0:103:1 //FX Param digit 7: Num 7 (KeyDown)
+7:1254:0:103:1 //FX Param digit 7: NUM 7 (KeyDown)
7:1255:0:56:1 //FX Param digit 8: 8 (KeyDown)
-7:1255:0:104:1 //FX Param digit 8: Num 8 (KeyDown)
+7:1255:0:104:1 //FX Param digit 8: NUM 8 (KeyDown)
7:1256:0:57:1 //FX Param digit 9: 9 (KeyDown)
-7:1256:0:105:1 //FX Param digit 9: Num 9 (KeyDown)
+7:1256:0:105:1 //FX Param digit 9: NUM 9 (KeyDown)
7:1257:0:65:1 //FX Param digit A: A (KeyDown)
7:1258:0:66:1 //FX Param digit B: B (KeyDown)
7:1259:0:67:1 //FX Param digit C: C (KeyDown)
@@ -242,12 +250,12 @@
//----( Sample Context [bottom] (8) )------------
8:1380:2:84:1 //Trim sample around loop points: Ctrl+T (KeyDown)
-8:1383:0:8:1 //Silence sample selection: Backspace (KeyDown)
+8:1383:0:8:1 //Silence sample selection: BACKSPACE (KeyDown)
8:1385:3:65:1 //Amplify Sample: Shift+Ctrl+A (KeyDown)
8:1381:3:82:1 //Reverse sample: Shift+Ctrl+R (KeyDown)
-8:1382:0:46:1 //Delete sample selection: Del (KeyDown)
-8:1386:0:107:1 //Zoom Out: Num + (KeyDown)
-8:1387:0:109:1 //Zoom In: Num - (KeyDown)
+8:1382:0:46:1 //Delete sample selection: DELETE (KeyDown)
+8:1386:0:107:1 //Zoom Out: NUM PLUS (KeyDown)
+8:1387:0:109:1 //Zoom In: NUM SUB (KeyDown)
//----( Instrument Context [bottom] (9) )------------
@@ -257,13 +265,16 @@
//----( Unknown Context (12) )------------
-//----( General Context [top] (13) )------------
+//----( Plugin GUI Context (13) )------------
-//----( Pattern Context [top] (14) )------------
+//----( General Context [top] (14) )------------
-//----( Sample Context [top] (15) )------------
+//----( Pattern Context [top] (15) )------------
-//----( Instrument Context [top] (16) )------------
+//----( Sample Context [top] (16) )------------
-//----( Comments Context [top] (17) )------------
+//----( Instrument Context [top] (17) )------------
+//----( Comments Context [top] (18) )------------
+
+//----( Unknown Context (19) )------------
Modified: trunk/OpenMPT/soundlib/Sndmix.cpp
===================================================================
--- trunk/OpenMPT/soundlib/Sndmix.cpp 2007-05-25 22:09:32 UTC (rev 187)
+++ trunk/OpenMPT/soundlib/Sndmix.cpp 2007-05-27 17:47:34 UTC (rev 188)
@@ -203,11 +203,9 @@
if (m_nMaxMixChannels > MAX_CHANNELS) m_nMaxMixChannels = MAX_CHANNELS;
if (gdwMixingFreq < 4000) gdwMixingFreq = 4000;
if (gdwMixingFreq > MAX_SAMPLE_RATE) gdwMixingFreq = MAX_SAMPLE_RATE;
- //rewbs.resamplerConf
- //gnVolumeRampSamples = (gdwMixingFreq * VOLUMERAMPLEN) / 100000;
- //if (gnVolumeRampSamples < 8) gnVolumeRampSamples = 8; //
- gnVolumeRampSamples = CMainFrame::glVolumeRampSamples;
- //end rewbs.resamplerConf
+ // Start with ramping disabled to avoid clicks on first read.
+ // Ramping is now set after the first read in CSoundFile::Read();
+ gnVolumeRampSamples = 0;
gnDryROfsVol = gnDryLOfsVol = 0;
#ifndef NO_REVERB
gnRvbROfsVol = gnRvbLOfsVol = 0;
@@ -394,6 +392,8 @@
lRead -= lCount;
m_nBufferCount -= lCount;
m_lTotalSampleCount += lCount; // increase sample count for VSTTimeInfo.
+ // Turn on ramping after first read (fix http://lpchip.com/modplug/viewtopic.php?t=523 )
+ gnVolumeRampSamples = CMainFrame::glVolumeRampSamples;
}
MixDone:
if (lRead) memset(lpBuffer, (gnBitsPerSample == 8) ? 0x80 : 0, lRead * lSampleSize);
@@ -731,19 +731,19 @@
// Should we process tick0 effects?
if (!m_nMusicSpeed) m_nMusicSpeed = 1;
m_dwSongFlags |= SONG_FIRSTTICK;
+
+ //End of row? stop pattern step (aka "play row").
+ if (m_nTickCount >= m_nMusicSpeed * (m_nPatternDelay+1) + m_nFrameDelay - 1) {
+ #ifdef MODPLUG_TRACKER
+ if (m_dwSongFlags & SONG_STEP) {
+ m_dwSongFlags &= ~SONG_STEP;
+ m_dwSongFlags |= SONG_PAUSED;
+ }
+ #endif // MODPLUG_TRACKER
+ }
+
if (m_nTickCount)
{
- //End of row? stop pattern step (aka "play row").
- if (m_nTickCount >= m_nMusicSpeed * (m_nPatternDelay+1) + m_nFrameDelay - 1) {
- #ifdef MODPLUG_TRACKER
- if (m_dwSongFlags & SONG_STEP) {
- m_dwSongFlags &= ~SONG_STEP;
- m_dwSongFlags |= SONG_PAUSED;
- }
- #endif // MODPLUG_TRACKER
- }
-
-
m_dwSongFlags &= ~SONG_FIRSTTICK;
if ((!(m_nType & MOD_TYPE_XM)) && (m_nTickCount < m_nMusicSpeed * (1 + m_nPatternDelay)))
{
@@ -1884,7 +1884,7 @@
VOID CSoundFile::ApplyGlobalVolume(int SoundBuffer[], long lTotalSampleCount)
-//--------------------------------------------------------
+//---------------------------------------------------------------------------
{
long delta=0;
long step=0;
@@ -1915,6 +1915,7 @@
m_nSamplesToGlobalVolRampDest--;
} else {
SoundBuffer[pos] = _muldiv(SoundBuffer[pos], m_nGlobalVolume, MAX_GLOBAL_VOLUME);
+ m_lHighResRampingGlobalVolume = m_nGlobalVolume<<VOLUMERAMPPRECISION;
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|