From: <sag...@us...> - 2009-07-25 13:27:42
|
Revision: 302 http://modplug.svn.sourceforge.net/modplug/?rev=302&view=rev Author: saga-games Date: 2009-07-25 13:27:30 +0000 (Sat, 25 Jul 2009) Log Message: ----------- [Imp] Mixing: It's now possible to go down to 1ms latency (works with ASIO) [Fix] Pattern editor: Reverted the "loop pattern" fix from one of the latest revisions until a solution is found that doesn't break anything [Fix] Pattern editor: Unbroke "remove channels" dialog when being called from the channel context menu [Imp] General tab: Further improvements to the "mod type" dialog (some options are removed when using MOD/S3M formats)... Still too big, though. Modified Paths: -------------- trunk/OpenMPT/mptrack/Mpdlgs.cpp trunk/OpenMPT/mptrack/dlg_misc.cpp trunk/OpenMPT/mptrack/mptrack.rc trunk/OpenMPT/mptrack/resource.h trunk/OpenMPT/soundlib/SNDDEV.H trunk/OpenMPT/soundlib/Snd_fx.cpp Modified: trunk/OpenMPT/mptrack/Mpdlgs.cpp =================================================================== --- trunk/OpenMPT/mptrack/Mpdlgs.cpp 2009-07-23 21:51:50 UTC (rev 301) +++ trunk/OpenMPT/mptrack/Mpdlgs.cpp 2009-07-25 13:27:30 UTC (rev 302) @@ -138,6 +138,8 @@ m_CbnBufferLength.SetWindowText(s); // -> CODE#0006 // -> DESC="misc quantity changes" + m_CbnBufferLength.AddString("1 ms"); + m_CbnBufferLength.AddString("5 ms"); m_CbnBufferLength.AddString("10 ms"); m_CbnBufferLength.AddString("20 ms"); // -! BEHAVIOUR_CHANGE#0006 Modified: trunk/OpenMPT/mptrack/dlg_misc.cpp =================================================================== --- trunk/OpenMPT/mptrack/dlg_misc.cpp 2009-07-23 21:51:50 UTC (rev 301) +++ trunk/OpenMPT/mptrack/dlg_misc.cpp 2009-07-25 13:27:30 UTC (rev 302) @@ -116,8 +116,8 @@ //{{AFX_DATA_MAP(CModTypeDlg) DDX_Control(pDX, IDC_COMBO1, m_TypeBox); DDX_Control(pDX, IDC_COMBO2, m_ChannelsBox); - DDX_Control(pDX, IDC_COMBO3, m_TempoModeBox); - DDX_Control(pDX, IDC_COMBO4, m_PlugMixBox); + DDX_Control(pDX, IDC_COMBO_TEMPOMODE, m_TempoModeBox); + DDX_Control(pDX, IDC_COMBO_MIXLEVELS, m_PlugMixBox); DDX_Control(pDX, IDC_CHECK1, m_CheckBox1); DDX_Control(pDX, IDC_CHECK2, m_CheckBox2); DDX_Control(pDX, IDC_CHECK3, m_CheckBox3); @@ -196,11 +196,11 @@ default: m_PlugMixBox.SetCurSel(0); break; } - SetDlgItemText(IDC_STATIC_CREATEDWITH, "Created with:"); - SetDlgItemText(IDC_STATIC_SAVEDWITH, "Last saved with:"); + SetDlgItemText(IDC_TEXT_CREATEDWITH, "Created with:"); + SetDlgItemText(IDC_TEXT_SAVEDWITH, "Last saved with:"); - SetDlgItemText(IDC_EDIT1, MptVersion::ToStr(m_pSndFile->m_dwCreatedWithVersion)); - SetDlgItemText(IDC_EDIT2, MptVersion::ToStr(m_pSndFile->m_dwLastSavedWithVersion)); + SetDlgItemText(IDC_EDIT_CREATEDWITH, MptVersion::ToStr(m_pSndFile->m_dwCreatedWithVersion)); + SetDlgItemText(IDC_EDIT_SAVEDWITH, MptVersion::ToStr(m_pSndFile->m_dwLastSavedWithVersion)); m_EditFlag.SetLimitText(16); @@ -270,6 +270,7 @@ const bool ITorMPT = ((m_TypeBox.GetItemData(m_TypeBox.GetCurSel()) & (MOD_TYPE_IT | MOD_TYPE_MPT)) != 0); const bool XM = m_TypeBox.GetItemData(m_TypeBox.GetCurSel()) == MOD_TYPE_XM; + // Misc Flags box CWnd* p = GetDlgItem(IDC_EDIT_FLAGS); if(p) p->ShowWindow(XMorITorMPT); p = GetDlgItem(IDC_FLAG_EXPLANATIONS); @@ -284,8 +285,9 @@ "2. Unused\n" "3. Plugin volume command bug"); } - p = GetDlgItem(IDC_FLAGEDITTITLE); - if(p) p->ShowWindow(XMorITorMPT); + + GetDlgItem(IDC_FLAGEDITTITLE)->ShowWindow(XMorITorMPT); + GetDlgItem(IDC_FRAME_MPTEXT)->ShowWindow(XMorITorMPT); if(XMorITorMPT) { char str[17] = "0000000000000000"; @@ -299,11 +301,37 @@ SetDlgItemText(IDC_EDIT_FLAGS, str); } - m_TempoModeBox.EnableWindow((m_pSndFile->m_nType & (MOD_TYPE_XM|MOD_TYPE_IT|MOD_TYPE_MPT)) ? TRUE : FALSE); - GetDlgItem(IDC_ROWSPERBEAT)->EnableWindow((m_pSndFile->m_nType & (MOD_TYPE_XM|MOD_TYPE_IT|MOD_TYPE_MPT)) ? TRUE : FALSE); - GetDlgItem(IDC_ROWSPERMEASURE)->EnableWindow((m_pSndFile->m_nType & (MOD_TYPE_XM|MOD_TYPE_IT|MOD_TYPE_MPT)) ? TRUE : FALSE); + // Mixmode Box + GetDlgItem(IDC_TEXT_MIXMODE)->ShowWindow(XMorITorMPT); + m_PlugMixBox.ShowWindow(XMorITorMPT); + + // Tempo mode box + m_TempoModeBox.ShowWindow(XMorITorMPT); + GetDlgItem(IDC_ROWSPERBEAT)->ShowWindow(XMorITorMPT); + GetDlgItem(IDC_ROWSPERMEASURE)->ShowWindow(XMorITorMPT); + GetDlgItem(IDC_TEXT_ROWSPERBEAT)->ShowWindow(XMorITorMPT); + GetDlgItem(IDC_TEXT_ROWSPERMEASURE)->ShowWindow(XMorITorMPT); + GetDlgItem(IDC_TEXT_TEMPOMODE)->ShowWindow(XMorITorMPT); + GetDlgItem(IDC_FRAME_TEMPOMODE)->ShowWindow(XMorITorMPT); - m_PlugMixBox.EnableWindow((m_pSndFile->m_nType & (MOD_TYPE_XM|MOD_TYPE_IT|MOD_TYPE_MPT)) ? TRUE : FALSE); + // Version info + GetDlgItem(IDC_FRAME_MPTVERSION)->ShowWindow(XMorITorMPT); + GetDlgItem(IDC_TEXT_CREATEDWITH)->ShowWindow(XMorITorMPT); + GetDlgItem(IDC_TEXT_SAVEDWITH)->ShowWindow(XMorITorMPT); + GetDlgItem(IDC_EDIT_CREATEDWITH)->ShowWindow(XMorITorMPT); + GetDlgItem(IDC_EDIT_SAVEDWITH)->ShowWindow(XMorITorMPT); + + // Window height - some parts of the dialog won't be visible for all formats + RECT rWindow; + GetWindowRect(&rWindow); + + UINT iHeight; + int nItemID = (XMorITorMPT) ? IDC_FRAME_MPTVERSION : IDC_FRAME_MODFLAGS; + RECT rFrame; + GetDlgItem(nItemID)->GetWindowRect(&rFrame); + iHeight = rFrame.bottom - rWindow.top + 12; + MoveWindow(rWindow.left, rWindow.top, rWindow.right - rWindow.left, iHeight); + } @@ -530,7 +558,7 @@ BOOL CRemoveChannelsDlg::OnInitDialog() //------------------------------------- { - CHAR label[20 + MAX_CHANNELNAME]; + CHAR label[max(100, 20 + MAX_CHANNELNAME)]; CDialog::OnInitDialog(); for (UINT n = 0; n < m_nChannels; n++) { Modified: trunk/OpenMPT/mptrack/mptrack.rc =================================================================== --- trunk/OpenMPT/mptrack/mptrack.rc 2009-07-23 21:51:50 UTC (rev 301) +++ trunk/OpenMPT/mptrack/mptrack.rc 2009-07-25 13:27:30 UTC (rev 302) @@ -378,10 +378,10 @@ FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN COMBOBOX IDC_COMBO1,15,25,134,109,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Primary highlight",IDC_CHECK1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,91,74,10 - EDITTEXT IDC_PRIMARYHILITE,101,90,21,12,ES_AUTOHSCROLL | ES_NUMBER - CONTROL "Secondary highlight",IDC_CHECK4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,20,103,80,10 - EDITTEXT IDC_SECONDARYHILITE,101,102,21,12,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "Primary highlight",IDC_CHECK1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,30,91,74,10 + EDITTEXT IDC_PRIMARYHILITE,114,90,21,12,ES_AUTOHSCROLL | ES_NUMBER + CONTROL "Secondary highlight",IDC_CHECK4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,30,109,80,10 + EDITTEXT IDC_SECONDARYHILITE,114,108,21,12,ES_AUTOHSCROLL | ES_NUMBER CONTROL "Enable effect highlighting",IDC_CHECK2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,60,114,10 CONTROL "Use small font",IDC_CHECK3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,45,102,10 PUSHBUTTON "MPT",IDC_BUTTON5,159,26,22,12 @@ -396,9 +396,9 @@ LTEXT "Highlight:",IDC_TEXT3,169,185,61,8 GROUPBOX "",IDC_STATIC,5,5,260,220 LTEXT "Select color for:",IDC_STATIC,15,15,63,8 - LTEXT "rows",IDC_STATIC,125,92,16,8 + LTEXT "rows",IDC_STATIC,138,92,16,8 LTEXT "Presets:",IDC_STATIC,159,15,28,8 - LTEXT "rows",IDC_STATIC,125,104,16,8 + LTEXT "rows",IDC_STATIC,138,110,16,8 CONTROL "",IDC_BUTTON4,"Button",BS_OWNERDRAW | BS_FLAT,65,130,114,43 CONTROL "Set highlights to songs' time signatures",IDC_CHECK5, "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,75,136,10 @@ -715,34 +715,34 @@ BEGIN DEFPUSHBUTTON "OK",IDOK,204,6,50,14 PUSHBUTTON "Cancel",IDCANCEL,204,24,50,14 - GROUPBOX "Type",IDC_STATIC,6,6,192,48 + GROUPBOX "Type",IDC_FRAME_MODTYPE,6,6,192,48 COMBOBOX IDC_COMBO1,12,18,108,51,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP COMBOBOX IDC_COMBO2,126,18,66,77,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Embed instrument parameters in ITP",IDC_CHECK6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,36,126,8 - GROUPBOX "Playback",IDC_STATIC,6,60,246,54 + GROUPBOX "Playback",IDC_FRAME_MODFLAGS,6,60,246,54 CONTROL "Linear Frequency Slides",IDC_CHECK1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,72,91,10 CONTROL "Fast Volume Slides",IDC_CHECK2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,84,75,10 CONTROL "Extended filter range",IDC_CHECK5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,96,81,10 CONTROL "IT Old Effects",IDC_CHECK3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,72,76,10 CONTROL "IT Compatible Gxx",IDC_CHECK4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,84,76,10 - GROUPBOX "Extended Playback Options (OpenMPT only)",IDC_STATIC,6,120,246,84 - RTEXT "Mix Levels:",IDC_STATIC,18,134,81,8 - COMBOBOX IDC_COMBO4,108,132,84,51,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Extended Playback Options (OpenMPT only)",IDC_FRAME_MPTEXT,6,120,246,84 + RTEXT "Mix Levels:",IDC_TEXT_MIXMODE,18,134,81,8 + COMBOBOX IDC_COMBO_MIXLEVELS,108,132,84,51,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP RTEXT "Miscellaneous flags(0/1):",IDC_FLAGEDITTITLE,18,150,81,12,SS_CENTERIMAGE EDITTEXT IDC_EDIT_FLAGS,108,150,84,12,ES_AUTOHSCROLL LTEXT "",IDC_FLAG_EXPLANATIONS,18,168,222,26 - GROUPBOX "OpenMPT Version Info",IDC_STATIC,6,263,246,48 - EDITTEXT IDC_EDIT1,78,276,166,13,ES_AUTOHSCROLL | ES_READONLY,WS_EX_STATICEDGE - EDITTEXT IDC_EDIT2,78,294,166,13,ES_AUTOHSCROLL | ES_READONLY,WS_EX_STATICEDGE - RTEXT "IDC_STATIC_CREATEDWITH",IDC_STATIC_CREATEDWITH,18,278,54,8 - RTEXT "IDC_STATIC_SAVEDWITH",IDC_STATIC_SAVEDWITH,18,295,54,8 - GROUPBOX "Tempo",IDC_STATIC,6,210,246,48 - LTEXT "Mode:",IDC_STATIC,12,224,21,8 - COMBOBOX IDC_COMBO3,36,222,108,77,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "OpenMPT Version Info",IDC_FRAME_MPTVERSION,6,263,246,48 + EDITTEXT IDC_EDIT_CREATEDWITH,78,276,166,13,ES_AUTOHSCROLL | ES_READONLY,WS_EX_STATICEDGE + EDITTEXT IDC_EDIT_SAVEDWITH,78,294,166,13,ES_AUTOHSCROLL | ES_READONLY,WS_EX_STATICEDGE + RTEXT "IDC_TEXT_CREATEDWITH",IDC_TEXT_CREATEDWITH,18,278,54,8 + RTEXT "IDC_TEXT_SAVEDWITH",IDC_TEXT_SAVEDWITH,18,295,54,8 + GROUPBOX "Tempo",IDC_FRAME_TEMPOMODE,6,210,246,48 + LTEXT "Mode:",IDC_TEXT_TEMPOMODE,12,224,21,8 + COMBOBOX IDC_COMBO_TEMPOMODE,36,222,108,77,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP EDITTEXT IDC_ROWSPERBEAT,156,222,24,12,ES_AUTOHSCROLL | ES_NUMBER - LTEXT "Rows/beat",IDC_STATIC,186,224,36,8 + LTEXT "Rows/beat",IDC_TEXT_ROWSPERBEAT,186,224,36,8 EDITTEXT IDC_ROWSPERMEASURE,156,240,24,12,ES_AUTOHSCROLL | ES_NUMBER - LTEXT "Rows/measure",IDC_STATIC,186,242,49,8 + LTEXT "Rows/measure",IDC_TEXT_ROWSPERMEASURE,186,242,49,8 END IDD_SHOWLOG DIALOG 0, 0, 300, 106 @@ -763,8 +763,8 @@ DEFPUSHBUTTON "OK",IDOK,54,198,50,14 PUSHBUTTON "Cancel",IDCANCEL,114,198,50,14 LISTBOX IDC_REMCHANSLIST,6,36,156,156,LBS_NOINTEGRALHEIGHT | LBS_EXTENDEDSEL | WS_VSCROLL | WS_TABSTOP - LTEXT "Channels:",IDC_QUESTION1,6,6,157,11 - LTEXT "Detected unused channels are already selected",IDC_STATIC,6,18,159,10 + LTEXT "Channels:",IDC_QUESTION1,6,6,157,18 + LTEXT "Detected unused channels are already selected",IDC_STATIC,6,24,159,10 END IDD_VIEW_GLOBALS DIALOGEX 0, 0, 471, 337 Modified: trunk/OpenMPT/mptrack/resource.h =================================================================== --- trunk/OpenMPT/mptrack/resource.h 2009-07-23 21:51:50 UTC (rev 301) +++ trunk/OpenMPT/mptrack/resource.h 2009-07-25 13:27:30 UTC (rev 302) @@ -850,10 +850,25 @@ #define IDC_STATIC_VSTPRESETDIR 2359 #define IDC_BUTTON_DEFAULT_RESAMPLING 2360 #define IDC_STATIC_CREATEDWITH 2361 +#define IDC_TEXT_CREATEDWITH 2361 #define IDC_STATIC_SAVEDWITH 2362 #define IDC_STATIC_VSTNAMEFILTER 2362 +#define IDC_TEXT_SAVEDWITH 2362 #define IDC_TEXT_CURRENT_VSTPLUG 2363 #define IDC_STATIC_SCALE_ENV 2364 +#define IDC_FRAME_MPTEXT 2365 +#define IDC_COMBO_MIXLEVELS 2366 +#define IDC_COMBO_TEMPOMODE 2367 +#define IDC_TEXT_TEMPOMODE 2368 +#define IDC_FRAME_TEMPOMODE 2369 +#define IDC_TEXT_MIXMODE 2370 +#define IDC_TEXT_ROWSPERBEAT 2371 +#define IDC_TEXT_ROWSPERMEASURE 2372 +#define IDC_FRAME_MPTVERSION 2373 +#define IDC_EDIT_CREATEDWITH 2374 +#define IDC_EDIT_SAVEDWITH 2375 +#define IDC_FRAME_MODFLAGS 2376 +#define IDC_FRAME_MODTYPE 2377 #define ID_FILE_NEWMOD 32771 #define ID_FILE_NEWXM 32772 #define ID_FILE_NEWS3M 32773 @@ -1093,7 +1108,7 @@ #define _APS_3D_CONTROLS 1 #define _APS_NEXT_RESOURCE_VALUE 518 #define _APS_NEXT_COMMAND_VALUE 59227 -#define _APS_NEXT_CONTROL_VALUE 2365 +#define _APS_NEXT_CONTROL_VALUE 2378 #define _APS_NEXT_SYMED_VALUE 901 #endif #endif Modified: trunk/OpenMPT/soundlib/SNDDEV.H =================================================================== --- trunk/OpenMPT/soundlib/SNDDEV.H 2009-07-23 21:51:50 UTC (rev 301) +++ trunk/OpenMPT/soundlib/SNDDEV.H 2009-07-25 13:27:30 UTC (rev 302) @@ -31,7 +31,7 @@ #define SNDDEV_MINBUFFERS 2 #define SNDDEV_MAXBUFFERS 16 -#define SNDDEV_MINBUFFERLEN 10 // 10ms +#define SNDDEV_MINBUFFERLEN 1 // 1ms #define SNDDEV_MAXBUFFERLEN 1000 // 1sec #define SNDDEV_OPTIONS_SECONDARY 0x01 // Use secondary buffers (if available) Modified: trunk/OpenMPT/soundlib/Snd_fx.cpp =================================================================== --- trunk/OpenMPT/soundlib/Snd_fx.cpp 2009-07-23 21:51:50 UTC (rev 301) +++ trunk/OpenMPT/soundlib/Snd_fx.cpp 2009-07-25 13:27:30 UTC (rev 302) @@ -1761,14 +1761,12 @@ // Position Jump case CMD_POSITIONJUMP: nPosJump = param; - /* commented this out (http://lpchip.com/modplug/viewtopic.php?t=1808) - I hope it doesn't break anything else. if((m_dwSongFlags & SONG_PATTERNLOOP && m_nSeqOverride == 0)) { m_nSeqOverride = param+1; //Releasing pattern loop after position jump could cause //instant jumps - modifying behavior so that now position jumps //occurs also when pattern loop is enabled. } - */ // see http://lpchip.com/modplug/viewtopic.php?t=2769 - FastTracker resets Dxx if Bxx is called _after_ Dxx if(GetType() == MOD_TYPE_XM) nBreakRow = 0; break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |