From: <sag...@us...> - 2014-09-15 14:51:32
|
Revision: 4291 http://sourceforge.net/p/modplug/code/4291 Author: saga-games Date: 2014-09-15 14:51:24 +0000 (Mon, 15 Sep 2014) Log Message: ----------- [Imp] Instrument tab: Since IT's fadeout value is 32 times less precise than what is displayed in the editor, automatically round it when the user makes adjustments. Modified Paths: -------------- trunk/OpenMPT/mptrack/Ctrl_ins.cpp trunk/OpenMPT/mptrack/Ctrl_ins.h Modified: trunk/OpenMPT/mptrack/Ctrl_ins.cpp =================================================================== --- trunk/OpenMPT/mptrack/Ctrl_ins.cpp 2014-09-14 23:48:51 UTC (rev 4290) +++ trunk/OpenMPT/mptrack/Ctrl_ins.cpp 2014-09-15 14:51:24 UTC (rev 4291) @@ -807,6 +807,7 @@ ON_EN_CHANGE(IDC_EDIT_PITCHTEMPOLOCK, OnEnChangeEditPitchtempolock) ON_BN_CLICKED(IDC_CHECK_PITCHTEMPOLOCK, OnBnClickedCheckPitchtempolock) ON_EN_KILLFOCUS(IDC_EDIT_PITCHTEMPOLOCK, OnEnKillfocusEditPitchtempolock) + ON_EN_KILLFOCUS(IDC_EDIT7, OnEnKillfocusEditFadeOut) END_MESSAGE_MAP() void CCtrlInstruments::DoDataExchange(CDataExchange* pDX) @@ -1181,6 +1182,13 @@ m_SpinFadeOut.EnableWindow(bITandXM); m_SpinFadeOut.SetRange(0, extendedFadeoutRange ? 32767 : 8192); m_EditFadeOut.SetLimitText(extendedFadeoutRange ? 5 : 4); + // XM-style fade-out is 32 times more precise than IT + UDACCEL accell[2]; + accell[0].nSec = 0; + accell[0].nInc = (m_sndFile.GetType() == MOD_TYPE_IT ? 32 : 1); + accell[1].nSec = 2; + accell[1].nInc = 5 * accell[0].nInc; + m_SpinFadeOut.SetAccel(CountOf(accell), accell); // Panning ranges (0...64 for IT, 0...256 for MPTM) m_SpinPanning.SetRange(0, (m_sndFile.GetType() & MOD_TYPE_IT) ? 64 : 256); @@ -2462,7 +2470,7 @@ } } -//rewbs.instroVSTi + void CCtrlInstruments::TogglePluginEditor() //---------------------------------------- { @@ -2471,8 +2479,8 @@ m_modDoc.TogglePluginEditor(m_CbnMixPlug.GetItemData(m_CbnMixPlug.GetCurSel())-1); } } -//end rewbs.instroVSTi + //rewbs.customKeys BOOL CCtrlInstruments::PreTranslateMessage(MSG *pMsg) //----------------------------------------------- @@ -2807,6 +2815,23 @@ } +void CCtrlInstruments::OnEnKillfocusEditFadeOut() +//----------------------------------------------- +{ + if(IsLocked() || !m_nInstrument || !m_sndFile.Instruments[m_nInstrument]) return; + + if(m_modDoc.GetModType() == MOD_TYPE_IT) + { + BOOL success; + uint32 fadeout = (GetDlgItemInt(IDC_EDIT7, &success, FALSE) + 16) & ~31; + if(success && fadeout != m_sndFile.Instruments[m_nInstrument]->nFadeOut) + { + SetDlgItemInt(IDC_EDIT7, fadeout, FALSE); + } + } +} + + void CCtrlInstruments::BuildTuningComboBox() //------------------------------------------ { @@ -2834,7 +2859,6 @@ void CCtrlInstruments::UpdatePluginList() //--------------------------------------- { - //Update plugin list m_CbnMixPlug.Clear(); m_CbnMixPlug.ResetContent(); CHAR s[64]; Modified: trunk/OpenMPT/mptrack/Ctrl_ins.h =================================================================== --- trunk/OpenMPT/mptrack/Ctrl_ins.h 2014-09-14 23:48:51 UTC (rev 4290) +++ trunk/OpenMPT/mptrack/Ctrl_ins.h 2014-09-15 14:51:24 UTC (rev 4291) @@ -192,6 +192,7 @@ afx_msg void OnEnChangeEditPitchtempolock(); afx_msg void OnBnClickedCheckPitchtempolock(); afx_msg void OnEnKillfocusEditPitchtempolock(); + afx_msg void OnEnKillfocusEditFadeOut(); //}}AFX_MSG DECLARE_MESSAGE_MAP() }; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |