From: <sag...@us...> - 2010-08-01 14:18:32
|
Revision: 666 http://modplug.svn.sourceforge.net/modplug/?rev=666&view=rev Author: saga-games Date: 2010-08-01 14:18:25 +0000 (Sun, 01 Aug 2010) Log Message: ----------- [Fix] Colour Setup: Some colours in the MPT default colour scheme were not set up properly when switching between presets. [Imp] Instrument Editor: When pasting an envelope with a release node, it's now ignored in formats that don't support it. [Imp] Sample Editor: Reduced change of a conflict when using the shift key while drawing samples. [Mod] Invert loop (.MOD effect) is now ignored on 16-bit samples (only important during editing, since .MODs can only contain 8-bit samples anyway) [Mod] In the mod type dialog, the "misc flags" can now be toggled using check buttons instead of an edit field. Should be a lot more intuitive. [Mod] Updated panic button bitmap. [Mod] Updated history.txt [Mod] OpenMPT: Version is now 1.18.03.00 (release version) Modified Paths: -------------- trunk/OpenMPT/mptrack/Modedit.cpp trunk/OpenMPT/mptrack/Moptions.cpp trunk/OpenMPT/mptrack/View_smp.cpp trunk/OpenMPT/mptrack/dlg_misc.cpp trunk/OpenMPT/mptrack/dlg_misc.h trunk/OpenMPT/mptrack/mptrack.rc trunk/OpenMPT/mptrack/res/MAINBAR.BMP trunk/OpenMPT/mptrack/resource.h trunk/OpenMPT/mptrack/version.h trunk/OpenMPT/packageTemplate/History.txt trunk/OpenMPT/packageTemplate/OMPT_1.18_ReleaseNotes.html trunk/OpenMPT/soundlib/Snd_fx.cpp Modified: trunk/OpenMPT/mptrack/Modedit.cpp =================================================================== --- trunk/OpenMPT/mptrack/Modedit.cpp 2010-07-29 13:43:09 UTC (rev 665) +++ trunk/OpenMPT/mptrack/Modedit.cpp 2010-08-01 14:18:25 UTC (rev 666) @@ -1609,7 +1609,8 @@ if(dwPos < dwMemSize) { BYTE r = static_cast<BYTE>(atoi(p + dwPos)); - if(r == 0 || r >= nPoints) r = ENV_RELEASE_NODE_UNSET; + if(r == 0 || r >= nPoints || !m_SndFile.GetModSpecifications().hasReleaseNode) + r = ENV_RELEASE_NODE_UNSET; pEnv->nReleaseNode = r; } } Modified: trunk/OpenMPT/mptrack/Moptions.cpp =================================================================== --- trunk/OpenMPT/mptrack/Moptions.cpp 2010-07-29 13:43:09 UTC (rev 665) +++ trunk/OpenMPT/mptrack/Moptions.cpp 2010-08-01 14:18:25 UTC (rev 666) @@ -399,6 +399,7 @@ CustomColors[MODCOLOR_TEXTCURROW] = RGB(0x00, 0x00, 0x00); CustomColors[MODCOLOR_BACKSELECTED] = RGB(0x00, 0x00, 0x00); CustomColors[MODCOLOR_TEXTSELECTED] = RGB(0xFF, 0xFF, 0xFF); + CustomColors[MODCOLOR_SAMPLE] = RGB(0xFF, 0x00, 0x00); CustomColors[MODCOLOR_BACKPLAYCURSOR] = RGB(0xFF, 0xFF, 0x80); CustomColors[MODCOLOR_TEXTPLAYCURSOR] = RGB(0x00, 0x00, 0x00); CustomColors[MODCOLOR_BACKHILIGHT] = RGB(0xE0, 0xE8, 0xE0); @@ -408,6 +409,7 @@ CustomColors[MODCOLOR_PANNING] = RGB(0x00, 0x80, 0x80); CustomColors[MODCOLOR_PITCH] = RGB(0x80, 0x80, 0x00); CustomColors[MODCOLOR_GLOBALS] = RGB(0x80, 0x00, 0x00); + CustomColors[MODCOLOR_ENVELOPES] = RGB(0x00, 0x00, 0xFF); CustomColors[MODCOLOR_VUMETER_LO] = RGB(0x00, 0xC8, 0x00); CustomColors[MODCOLOR_VUMETER_MED] = RGB(0xFF, 0xC8, 0x00); CustomColors[MODCOLOR_VUMETER_HI] = RGB(0xE1, 0x00, 0x00); @@ -492,6 +494,7 @@ CustomColors[MODCOLOR_TEXTCURROW] = RGB(0x00, 0x00, 0x00); CustomColors[MODCOLOR_BACKSELECTED] = RGB(0x00, 0x00, 0x00); CustomColors[MODCOLOR_TEXTSELECTED] = RGB(0xDD, 0xD7, 0xCC); + CustomColors[MODCOLOR_SAMPLE] = RGB(0x00, 0xFF, 0x00); CustomColors[MODCOLOR_BACKPLAYCURSOR] = RGB(0xA9, 0x99, 0x7A); CustomColors[MODCOLOR_TEXTPLAYCURSOR] = RGB(0x00, 0x00, 0x00); CustomColors[MODCOLOR_BACKHILIGHT] = RGB(0xCE, 0xC5, 0xB5); @@ -501,7 +504,6 @@ CustomColors[MODCOLOR_PANNING] = RGB(0x00, 0x68, 0x68); CustomColors[MODCOLOR_PITCH] = RGB(0x62, 0x62, 0x00); CustomColors[MODCOLOR_GLOBALS] = RGB(0x66, 0x00, 0x00); - CustomColors[MODCOLOR_SAMPLE] = RGB(0x00, 0xFF, 0x00); CustomColors[MODCOLOR_ENVELOPES] = RGB(0xFF, 0x00, 0x00); CustomColors[MODCOLOR_VUMETER_LO] = RGB(0x00, 0xC8, 0x00); CustomColors[MODCOLOR_VUMETER_MED] = RGB(0xFF, 0xC8, 0x00); Modified: trunk/OpenMPT/mptrack/View_smp.cpp =================================================================== --- trunk/OpenMPT/mptrack/View_smp.cpp 2010-07-29 13:43:09 UTC (rev 665) +++ trunk/OpenMPT/mptrack/View_smp.cpp 2010-08-01 14:18:25 UTC (rev 666) @@ -1361,7 +1361,7 @@ bool oldsel = (m_dwBeginSel != m_dwEndSel) ? true : false; // shift + click = update selection - if(CMainFrame::GetInputHandler()->ShiftPressed()) + if(!m_bDrawingEnabled && CMainFrame::GetInputHandler()->ShiftPressed()) { oldsel = true; m_dwEndDrag = ScreenToSample(point.x); Modified: trunk/OpenMPT/mptrack/dlg_misc.cpp =================================================================== --- trunk/OpenMPT/mptrack/dlg_misc.cpp 2010-07-29 13:43:09 UTC (rev 665) +++ trunk/OpenMPT/mptrack/dlg_misc.cpp 2010-08-01 14:18:25 UTC (rev 666) @@ -131,9 +131,8 @@ // -> CODE#0023 // -> DESC="IT project files (.itp)" DDX_Control(pDX, IDC_CHECK6, m_CheckBox6); - DDX_Control(pDX, IDC_CHECK_PT1X, m_CheckBoxPT1x); - DDX_Control(pDX, IDC_EDIT_FLAGS, m_EditFlag); // -! NEW_FEATURE#0023 + DDX_Control(pDX, IDC_CHECK_PT1X, m_CheckBoxPT1x); //}}AFX_DATA_MAP } @@ -203,8 +202,6 @@ SetDlgItemText(IDC_EDIT_CREATEDWITH, MptVersion::ToStr(m_pSndFile->m_dwCreatedWithVersion)); SetDlgItemText(IDC_EDIT_SAVEDWITH, MptVersion::ToStr(m_pSndFile->m_dwLastSavedWithVersion)); - m_EditFlag.SetLimitText(16); - UpdateDialog(); EnableToolTips(TRUE); @@ -273,39 +270,24 @@ const bool XMorITorMPT = ((m_TypeBox.GetItemData(m_TypeBox.GetCurSel()) & (MOD_TYPE_XM | MOD_TYPE_IT | MOD_TYPE_MPT)) != 0); 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); - if(p) + // Misc Flags + if(ITorMPT) { - p->ShowWindow(XMorITorMPT); - if(ITorMPT) - p->SetWindowText("1. Enable more IT compatible playback.\n" - "2. Use old random variation behavior for instruments.\n" - "3. Enable plugin volume command bug emulation."); - else if(XM) p->SetWindowText("1. Enable more FT2 compatible playback.\n" - "2. Unused\n" - "3. Plugin volume command bug"); - } - - GetDlgItem(IDC_FLAGEDITTITLE)->ShowWindow(XMorITorMPT); - GetDlgItem(IDC_FRAME_MPTEXT)->ShowWindow(XMorITorMPT); - if(XMorITorMPT) + GetDlgItem(IDC_CHK_COMPATPLAY)->SetWindowText(_T("More Impulse Tracker compatible playback")); + } else { - char str[17] = "0000000000000000"; - const uint16 f = m_pSndFile->GetModFlags(); - BYTE lastTrue = 0, i; - for(i = 0; i<16; i++) - { - if((f & (1 << i)) != 0) {str[i] = '1'; lastTrue = i;} - } - str[max(3, lastTrue+1)] = 0; - SetDlgItemText(IDC_EDIT_FLAGS, str); + GetDlgItem(IDC_CHK_COMPATPLAY)->SetWindowText(_T("More Fasttracker 2 compatible playback")); } + GetDlgItem(IDC_CHK_COMPATPLAY)->ShowWindow(XMorITorMPT); + GetDlgItem(IDC_CHK_MIDICCBUG)->ShowWindow(XMorITorMPT); + GetDlgItem(IDC_CHK_OLDRANDOM)->ShowWindow(ITorMPT); + + CheckDlgButton(IDC_CHK_COMPATPLAY, m_pSndFile->GetModFlag(MSF_COMPATIBLE_PLAY)); + CheckDlgButton(IDC_CHK_MIDICCBUG, m_pSndFile->GetModFlag(MSF_MIDICC_BUGEMULATION)); + CheckDlgButton(IDC_CHK_OLDRANDOM, m_pSndFile->GetModFlag(MSF_OLDVOLSWING)); + // Mixmode Box GetDlgItem(IDC_TEXT_MIXMODE)->ShowWindow(XMorITorMPT); m_PlugMixBox.ShowWindow(XMorITorMPT); @@ -485,14 +467,10 @@ if(m_nType & (MOD_TYPE_IT | MOD_TYPE_MPT | MOD_TYPE_XM)) { - uint16 val = 0; - char str[18]; memset(str, 0, 18); - GetDlgItemText(IDC_EDIT_FLAGS, str, 17); - for(size_t i = 0; i<strlen(str); i++) - { - if(str[i] != '0') val |= (1 << i); - } - m_pSndFile->SetModFlags(val); + m_pSndFile->SetModFlags(0); + if(IsDlgButtonChecked(IDC_CHK_COMPATPLAY)) m_pSndFile->SetModFlag(MSF_COMPATIBLE_PLAY, true); + if(IsDlgButtonChecked(IDC_CHK_MIDICCBUG)) m_pSndFile->SetModFlag(MSF_MIDICC_BUGEMULATION, true); + if(IsDlgButtonChecked(IDC_CHK_OLDRANDOM)) m_pSndFile->SetModFlag(MSF_OLDVOLSWING, true); } m_pSndFile->m_nRowsPerBeat = GetDlgItemInt(IDC_ROWSPERBEAT); @@ -557,6 +535,15 @@ case IDC_COMBO_MIXLEVELS: strTipText = "Mixing method of sample and VST levels."; break; + case IDC_CHK_COMPATPLAY: + strTipText = "Play commands as the original tracker would play them (recommended)"; + break; + case IDC_CHK_MIDICCBUG: + strTipText = "Emulate an old bug which sent wrong volume messages to VSTis (not recommended)"; + break; + case IDC_CHK_OLDRANDOM: + strTipText = "Use old (buggy) random volume / panning variation algorithm (not recommended)"; + break; } if (pNMHDR->code == TTN_NEEDTEXTA) Modified: trunk/OpenMPT/mptrack/dlg_misc.h =================================================================== --- trunk/OpenMPT/mptrack/dlg_misc.h 2010-07-29 13:43:09 UTC (rev 665) +++ trunk/OpenMPT/mptrack/dlg_misc.h 2010-08-01 14:18:25 UTC (rev 666) @@ -12,7 +12,6 @@ public: CComboBox m_TypeBox, m_ChannelsBox, m_TempoModeBox, m_PlugMixBox; CButton m_CheckBox1, m_CheckBox2, m_CheckBox3, m_CheckBox4, m_CheckBox5, m_CheckBoxPT1x; - CEdit m_EditFlag; CSoundFile *m_pSndFile; UINT m_nChannels; MODTYPE m_nType; @@ -23,8 +22,6 @@ CButton m_CheckBox6; // -! NEW_FEATURE#0023 - CButton m_CheckBoxITCompatiblePlay; - public: CModTypeDlg(CSoundFile *pSndFile, CWnd *parent):CDialog(IDD_MODDOC_MODTYPE, parent) { m_pSndFile = pSndFile; m_nType = MOD_TYPE_NONE; m_nChannels = 0; } bool VerifyData(); Modified: trunk/OpenMPT/mptrack/mptrack.rc =================================================================== --- trunk/OpenMPT/mptrack/mptrack.rc 2010-07-29 13:43:09 UTC (rev 665) +++ trunk/OpenMPT/mptrack/mptrack.rc 2010-08-01 14:18:25 UTC (rev 666) @@ -612,7 +612,7 @@ END IDD_CONTROL_INSTRUMENTS DIALOGEX 0, 0, 558, 173 -STYLE DS_SETFONT | WS_CHILD +STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD FONT 8, "MS Shell Dlg", 0, 0, 0x0 BEGIN EDITTEXT IDC_EDIT_INSTRUMENT,87,7,29,12,ES_AUTOHSCROLL | ES_NUMBER @@ -694,7 +694,7 @@ GROUPBOX "Tuning (experimental)",IDC_STATIC,364,28,92,28 END -IDD_MODDOC_MODTYPE DIALOGEX 0, 0, 262, 317 +IDD_MODDOC_MODTYPE DIALOGEX 0, 0, 262, 311 STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Song Properties" FONT 8, "MS Shell Dlg", 0, 0, 0x0 @@ -703,33 +703,35 @@ PUSHBUTTON "Cancel",IDCANCEL,204,24,50,14 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,174,8 - CONTROL "Linear Frequency Slides",IDC_CHECK1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,72,91,10 - CONTROL "Old Effects (IT)",IDC_CHECK3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,72,66,10 - CONTROL "Fast Volume Slides (S3M)",IDC_CHECK2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,84,96,10 - CONTROL "Compatible Gxx (IT)",IDC_CHECK4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,84,84,10 - CONTROL "Extended filter range",IDC_CHECK5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,96,81,10 - CONTROL "ProTracker 1.x Mode (MOD)",IDC_CHECK_PT1X,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,96,108,10 - 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 - 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 - EDITTEXT IDC_ROWSPERMEASURE,156,240,24,12,ES_AUTOHSCROLL | ES_NUMBER - 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 + CONTROL "&Embed instrument parameters in ITP",IDC_CHECK6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,36,174,8 + CONTROL "&Linear Frequency Slides",IDC_CHECK1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,72,91,10 + CONTROL "&Old Effects (IT)",IDC_CHECK3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,72,66,10 + CONTROL "Fast &Volume Slides (S3M)",IDC_CHECK2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,84,96,10 + CONTROL "Compatible &Gxx (IT)",IDC_CHECK4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,84,84,10 + CONTROL "Extended &filter range",IDC_CHECK5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,96,81,10 + CONTROL "&ProTracker 1.x Mode (MOD)",IDC_CHECK_PT1X,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,96,108,10 + LTEXT "Mix Levels:",IDC_TEXT_MIXMODE,18,134,42,8 + COMBOBOX IDC_COMBO_MIXLEVELS,60,132,84,51,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "More &compatible playback",IDC_CHK_COMPATPLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,150,222,12 + CONTROL "Plugin volume command &bug emulation",IDC_CHK_MIDICCBUG, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,162,222,12 + CONTROL "Old &random variation behaviour for instruments",IDC_CHK_OLDRANDOM, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,18,174,222,12 + COMBOBOX IDC_COMBO_TEMPOMODE,36,217,108,77,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + EDITTEXT IDC_ROWSPERBEAT,156,217,24,12,ES_AUTOHSCROLL | ES_NUMBER + EDITTEXT IDC_ROWSPERMEASURE,156,234,24,12,ES_AUTOHSCROLL | ES_NUMBER + EDITTEXT IDC_EDIT_CREATEDWITH,78,271,166,13,ES_AUTOHSCROLL | ES_READONLY,WS_EX_STATICEDGE + EDITTEXT IDC_EDIT_SAVEDWITH,78,289,166,13,ES_AUTOHSCROLL | ES_READONLY,WS_EX_STATICEDGE GROUPBOX "Type",IDC_FRAME_MODTYPE,6,6,192,48 GROUPBOX "Playback",IDC_FRAME_MODFLAGS,6,60,246,54 - GROUPBOX "Extended Playback Options (OpenMPT only)",IDC_FRAME_MPTEXT,6,120,246,84 - LTEXT "",IDC_FLAG_EXPLANATIONS,18,168,222,26 - GROUPBOX "Tempo",IDC_FRAME_TEMPOMODE,6,210,246,48 - LTEXT "Mode:",IDC_TEXT_TEMPOMODE,12,224,21,8 - LTEXT "Rows/beat",IDC_TEXT_ROWSPERBEAT,186,224,36,8 - LTEXT "Rows/measure",IDC_TEXT_ROWSPERMEASURE,186,242,49,8 - GROUPBOX "OpenMPT Version Info",IDC_FRAME_MPTVERSION,6,263,246,48 - RTEXT "IDC_TEXT_CREATEDWITH",IDC_TEXT_CREATEDWITH,18,278,54,8 - RTEXT "IDC_TEXT_SAVEDWITH",IDC_TEXT_SAVEDWITH,18,295,54,8 + GROUPBOX "Extended Playback Options (OpenMPT only)",IDC_FRAME_MPTEXT,6,120,246,78 + GROUPBOX "Tempo",IDC_FRAME_TEMPOMODE,6,204,246,48 + LTEXT "Mode:",IDC_TEXT_TEMPOMODE,12,218,21,8 + LTEXT "Rows/beat",IDC_TEXT_ROWSPERBEAT,186,218,36,8 + LTEXT "Rows/measure",IDC_TEXT_ROWSPERMEASURE,186,236,49,8 + GROUPBOX "OpenMPT Version Info",IDC_FRAME_MPTVERSION,6,257,246,48 + RTEXT "IDC_TEXT_CREATEDWITH",IDC_TEXT_CREATEDWITH,18,273,54,8 + RTEXT "IDC_TEXT_SAVEDWITH",IDC_TEXT_SAVEDWITH,18,289,54,8 END IDD_SHOWLOG DIALOG 0, 0, 300, 106 @@ -807,7 +809,7 @@ PUSHBUTTON "Clone...",IDC_CLONEPLUG,103,207,34,13,NOT WS_VISIBLE,WS_EX_STATICEDGE PUSHBUTTON "<<",IDC_BUTTON5,11,191,18,13,NOT WS_TABSTOP,WS_EX_STATICEDGE PUSHBUTTON ">>",IDC_BUTTON4,32,191,18,13,NOT WS_TABSTOP,WS_EX_STATICEDGE - EDITTEXT IDC_EDIT13,310,191,96,13,ES_CENTER | ES_AUTOHSCROLL + EDITTEXT IDC_EDIT13,312,191,94,13,ES_CENTER | ES_AUTOHSCROLL COMBOBOX IDC_COMBO8,16,239,102,68,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "Load",IDC_BUTTON6,122,239,27,13,0,WS_EX_STATICEDGE PUSHBUTTON "Save",IDC_BUTTON8,154,239,27,13,0,WS_EX_STATICEDGE @@ -820,6 +822,7 @@ CONTROL "Expand",IDC_CHECK12,"Button",BS_AUTOCHECKBOX | BS_FLAT | WS_TABSTOP,199,271,37,10 CONTROL "Dry mix",IDC_CHECK11,"Button",BS_AUTOCHECKBOX | BS_FLAT | WS_TABSTOP,199,286,37,10 COMBOBOX IDC_COMBO9,285,241,62,99,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Gain: x 1.0",IDC_STATIC2,353,241,37,14,SS_CENTERIMAGE CONTROL "",IDC_SPIN10,"msctls_updown32",UDS_ALIGNRIGHT | UDS_ARROWKEYS | UDS_NOTHOUSANDS,392,242,9,11 COMBOBOX IDC_COMBO7,285,261,117,68,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "",IDC_SLIDER10,"msctls_trackbar32",TBS_BOTH | TBS_NOTICKS | WS_TABSTOP,314,282,88,14,WS_EX_STATICEDGE @@ -841,16 +844,15 @@ LTEXT "Effect:",IDC_STATIC,216,146,29,8 LTEXT "Effect:",IDC_STATIC,319,146,29,8 CTEXT "Display name",IDC_STATIC,263,191,48,13,SS_CENTERIMAGE,WS_EX_STATICEDGE + CTEXT "I/O Type:",IDC_STATIC,263,208,47,13,SS_CENTERIMAGE,WS_EX_STATICEDGE + CONTROL "",IDC_TEXT6,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | WS_GROUP,312,208,95,13,WS_EX_STATICEDGE + GROUPBOX "Factory preset",IDC_STATIC,11,226,177,34 CTEXT "Parameter",IDC_STATIC,16,266,43,13,SS_CENTERIMAGE,WS_EX_STATICEDGE + GROUPBOX "",IDC_STATIC,11,255,177,49 + GROUPBOX "Mix settings",IDC_STATIC,193,226,214,78 + CTEXT "Mix mode",IDC_STATIC,245,241,37,13,SS_CENTERIMAGE,WS_EX_STATICEDGE CTEXT "Output to",IDC_STATIC,245,261,37,13,SS_CENTERIMAGE,WS_EX_STATICEDGE - CONTROL "",IDC_TEXT6,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | WS_GROUP,311,208,96,13,WS_EX_STATICEDGE CTEXT "Wet Dry Ratio",IDC_STATIC8,245,282,65,14,SS_CENTERIMAGE,WS_EX_STATICEDGE - CTEXT "Mix mode",IDC_STATIC,245,241,37,13,SS_CENTERIMAGE,WS_EX_STATICEDGE - LTEXT "Gain: x 1.0",IDC_STATIC2,353,241,34,14,SS_CENTERIMAGE - GROUPBOX "Mix settings",IDC_STATIC,193,226,214,78 - GROUPBOX "Factory preset",IDC_STATIC,11,226,177,34 - GROUPBOX "",IDC_STATIC,11,255,177,49 - CTEXT "I/O Type:",IDC_STATIC,263,208,47,13,SS_CENTERIMAGE,WS_EX_STATICEDGE END IDD_EDIT_FIND DIALOGEX 0, 0, 182, 145 @@ -1246,18 +1248,18 @@ RTEXT "--",IDC_TEXT2,260,89,22,8 END -IDD_SELECTMIXPLUGIN DIALOGEX 0, 0, 243, 220 -STYLE DS_SETFONT | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +IDD_SELECTMIXPLUGIN DIALOGEX 0, 0, 249, 220 +STYLE DS_SETFONT | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME CAPTION "Mix Plugins" FONT 8, "MS Shell Dlg", 0, 0, 0x1 BEGIN - LTEXT "Filter:",IDC_STATIC_VSTNAMEFILTER,8,9,18,8 - EDITTEXT IDC_NAMEFILTER,28,7,152,14,ES_AUTOHSCROLL + LTEXT "Filter:",IDC_STATIC_VSTNAMEFILTER,6,9,18,8 + EDITTEXT IDC_NAMEFILTER,30,6,150,14,ES_AUTOHSCROLL CONTROL "Tree1",IDC_TREE1,"SysTreeView32",TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | WS_HSCROLL | WS_TABSTOP,6,24,174,180,WS_EX_CLIENTEDGE - DEFPUSHBUTTON "Add to Song",IDOK,187,6,50,14 - PUSHBUTTON "New plugin...",IDC_BUTTON1,188,23,50,14,BS_MULTILINE - PUSHBUTTON "Remove",IDC_BUTTON2,188,40,50,14 - PUSHBUTTON "Cancel",IDCANCEL,186,189,50,14 + DEFPUSHBUTTON "Add to Song",IDOK,187,6,53,14 + PUSHBUTTON "New plugin...",IDC_BUTTON1,188,23,52,14,BS_MULTILINE + PUSHBUTTON "Remove",IDC_BUTTON2,188,40,52,14 + PUSHBUTTON "Cancel",IDCANCEL,186,189,54,14 LTEXT "IDC_TEXT_CURRENT_VSTPLUG",IDC_TEXT_CURRENT_VSTPLUG,6,208,234,8 END @@ -1594,7 +1596,7 @@ IDD_MODDOC_MODTYPE, DIALOG BEGIN RIGHTMARGIN, 248 - BOTTOMMARGIN, 310 + BOTTOMMARGIN, 304 END IDD_SHOWLOG, DIALOG @@ -1707,7 +1709,7 @@ IDD_SELECTMIXPLUGIN, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 236 + RIGHTMARGIN, 242 TOPMARGIN, 7 BOTTOMMARGIN, 213 END Modified: trunk/OpenMPT/mptrack/res/MAINBAR.BMP =================================================================== (Binary files differ) Modified: trunk/OpenMPT/mptrack/resource.h =================================================================== --- trunk/OpenMPT/mptrack/resource.h 2010-07-29 13:43:09 UTC (rev 665) +++ trunk/OpenMPT/mptrack/resource.h 2010-08-01 14:18:25 UTC (rev 666) @@ -841,9 +841,9 @@ #define IDC_BUTTON_REMOVE 2318 #define IDC_CHECK_MIDILEARN 2319 #define IDC_MIDIPLAYCONTROL 2320 -#define IDC_FLAG_EXPLANATIONS 2321 -#define IDC_FLAGEDITTITLE 2322 -#define IDC_EDIT_FLAGS 2323 +#define IDC_CHK_COMPATPLAY 2321 +#define IDC_CHK_MIDICCBUG 2322 +#define IDC_CHK_OLDRANDOM 2323 #define IDC_CHECKCAPTURE 2324 #define IDC_SPINMOVEMAPPING 2325 #define IDC_BUTTON_HALF 2326 @@ -1208,7 +1208,7 @@ #define ID_PATTERN_EDIT_PCNOTE_PLUGIN 60448 #define ID_ENVELOPE_ZOOM_IN 60449 #define ID_ENVELOPE_ZOOM_OUT 60450 -#define ID_PANIC 60451 +#define ID_PANIC 60451 // Next default values for new objects // Modified: trunk/OpenMPT/mptrack/version.h =================================================================== --- trunk/OpenMPT/mptrack/version.h 2010-07-29 13:43:09 UTC (rev 665) +++ trunk/OpenMPT/mptrack/version.h 2010-08-01 14:18:25 UTC (rev 666) @@ -14,8 +14,8 @@ //Version definitions. The only thing that needs to be changed when changing version number. #define VER_MAJORMAJOR 1 #define VER_MAJOR 18 -#define VER_MINOR 02 -#define VER_MINORMINOR 07 +#define VER_MINOR 03 +#define VER_MINORMINOR 00 //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/History.txt =================================================================== --- trunk/OpenMPT/packageTemplate/History.txt 2010-07-29 13:43:09 UTC (rev 665) +++ trunk/OpenMPT/packageTemplate/History.txt 2010-08-01 14:18:25 UTC (rev 666) @@ -10,211 +10,298 @@ (tx XYZ): thanks to XYZ for telling us about the bug +v1.18.03.00 (August 2010, revision 666) +--------------------------------------- +General tab + [Imp] <Jojo> To prevent OpenMPT from hanging while switching between plugins (or switching to the general tab), the preset box is only filled when it gets the focus. This makes working with Synth1 a lot easier, since it has an insane amount of presets... :) + [Mod] <Jojo> Changed tab order of the lower panel (now it's more logical to me) + +Sequence editor + [Imp] <Jojo> When inserting patterns at an empty position, the position counter is not increased anymore. + [Imp] <Jojo> Improved sequence name display in context menu for empty sequences. + +Pattern tab::pattern editing + [Imp] <Jojo> Just like in MPT 1.16, it is now possible again to interpolate between an effect and "nothing". In that case, the same value as the already existing one is repeated between the two rows. + [Fix] <Jojo> When the first column of a pattern selection (larger than one selection field) was the parameter column, PCNote values in this column were not reset properly. + [Fix] <Jojo> Pattern Editor: Transposing notes up/down doesn't allow notes which are actually supported by the current module format (f.e. notes below C-1 in XMs) anymore. + [Fix] <Jojo> Keyboard shortcut for toggling record state didn't save the change, so it was reset with every new module. + +Pattern tab::Note properties + [Imp] <Jojo> Effect info now shows the real finetune values for E5x in MOD/XM and E2x in S3M instead of just 0...15. + [Imp] <Jojo> Set envelope position effect (Lxx in XM) is now explained better. + [Fix] <Jojo> Fixed a null pointer related crash when accessing the note properties of malicious and not-so-malicious modules (f.e. jt_pools.xm) which have more than 256 sample slots. + +Sample tab + [New] <Jojo> It's now also possible to create sample selections using Shift + click (this is still behaving a bit non-obvious if you don't know what you're doing :). + [New] <Jojo> Sample Drawing: Horizontal lines can now be drawn by holding down the shift key. + [Imp] <Jojo> Finetune range is now limited from -8 to 7 for MOD files. + [Imp] <Jojo> When hovering the relative note and finetune controls, the actual C-5 frequency is now also shown for MOD files. Previously, this only worked for XM files. + [Fix] <Jojo> When using the spin button next to the finetune or frequency control, the module was not marked as modified. + +Instrument tab + [New] <Jojo> Pressing Ctrl while dragging a point in the envelope editor now also moves the tail of the envelope. + [Imp] <Jojo> More helpful value display for the panning envelope in the status bar with indication what's left and what's right. + [Imp] <Jojo> If an instrument is not initialized yet, this is done automatically now, so that changes done to the instrument are not lost, although it looks like they are actually applied (f.e. when trying to edit a previously deleted instrument). + [Imp] <Jojo> Fadeout values up to 32767 are allowed again for XM files, as FT2 can actually handle them (and other apps like Milky support them as well) + [Imp] <Jojo> Panning ranges from 0 to 256 again for MPTM, and from 0 to 64 for IT files (previously, it ranged from 0 to 255). + [Imp] <Jojo> Sample Map accepts various new shortcuts now. + [Imp] <Jojo> When pasting an envelope with a release node, it's now ignored in formats that don't support it. + [Reg] <Jojo> Envelope release nodes cannot be enabled for IT files anymore, but they are still played for compatibility. (One has to start removing the crap from the old formats at some point...) + +Treeview + [Imp] <Jojo> Treeview: Ask for confirmation when deleting patterns, samples, instruments, sequences. + [Fix] <Jojo> Deleting a sample from the treeview and then applying undo for this sample in the sample editor crashed OpenMPT. + +Mod conversion + [Imp] <Jojo> Some improvements with converting note cuts, ECx/SCx and EDx/SDx. + [Imp] <Jojo> When converting to XM, rogue note delays are removed from the patterns to avoid interference with a FT2 bug. + [Imp] <Jojo> Envelope release nodes are now removed when converting from MPTM. + [Fix] <Jojo> When converting to MPTM, "+++" separator patterns are not recognized as sub tune indicators anymore, as that was quite annoying. + [Fix] <Jojo> Channel settings were not reset properly for MOD/XM/S3M, only the first channel was fixed. (tx Sam_Zen) + [Fix] <Jojo> Extra fine portamento was not converted properly when converting from IT/MPTM/S3M to XM. + +Playback (see also format-specific changes below) + [Mod] <Jojo> Invert loop (.MOD effect) is now ignored on 16-bit samples (only important during editing, since .MODs can only contain 8-bit samples anyway) + [Fix] <Jojo> The Pattern Loop command did not work properly on rows > 255 + +IT::Saving + [Imp] <Jojo> If a plugin is specified for an IT instrument and no MIDI channel is assigned, the plugin is written into the IT instrument header (in MPT 1.16's old manner), so that MPT 1.16 / XMPlay / BASS can make us of "FX Send" again. (tx Skaven) + [Imp] <Jojo> If filter envelopes are used, a different value for the cmwt ("compatible with") field is now used in compatibility export (like in SchismTracker). + [Fix] <Jojo> Instrument panning was not converted properly. + +XM + [Fix] <Jojo> Various fixes to the pattern loop command (E6x), including a crucial FT2 bug: When E60 is used on a pattern row x, the following pattern also starts from row x instead of the beginning of the pattern, unless there was a Dxx or Cxx effect. + [Fix] <Jojo> Prevent notes to be stopped after a fadeout. This way, a portamento effect can pick up a faded instrument which is long enough. This occours for example in the bassline (channel 11) of jt_burn.xm. Not tested with many XMs yet, I hope this won't break anything else... + +XM::Saving + [Imp] <Jojo> Panbrello is not saved anymore in compatibility mode. + [Fix] <Jojo> Completely empty patterns are loaded as empty 64-row patterns in FT2, regardless of their original size. This is now being circumvented by adding a D00 effect at the end of such patterns. + [Fix] <Jojo> Saving XM files with 127 channels (sigh) was broken. + +S3M + [Fix] <Jojo> Samples with very short loops (4 bytes) are now loaded properly. Fixes "a tiny problem.s3m" by \slash. + [Fix] <Jojo> Notes with an SD0 effect were not ignored properly when there was a row delay effect on the same row. Now they should be ignored in any case. + +Other modules + [Imp] <Jojo> Song messages are now loaded with more accuracy for some formats. + [Imp] <Jojo> J2B Loader: J2B files with extended instrument settings and multiple samples per instrument work properly now. Such J2B files were not used in the game but have been created by JJ2 players using MOD2J2B. + [Imp] <Jojo> OKT Loader: Completely new IFF-based loader, translated from SchismTracker code with permission from Storlek. This loader is a *lot* more accurate, but still misses a few pattern effects. + [Imp] <Jojo> PSM Loader: Small improvements. + [Fix] <Jojo> MTM Loader: The "beats per track" (means lines per pattern) setting is now taken into account. + [Fix] <Jojo> PSM16 Loader: Since the control channels were muted, tempo commands were ignored, effectively slowing down some PSM16 tracks. + +Misc + [New] <Jojo> Experimental "panic" button on the main toolbar. At the moment, it just kills all VSTi and sample voices. + [Imp] <Jojo> Added mnemonic codes to the wave export controls. + [Mod] <Jojo> In the mod type dialog, the "misc flags" can now be toggled using check buttons instead of an edit field. + [Mod] <Jojo> Various file loaders / savers: A new logging mechanism is used to display only one message box with errors and warnings instead of many message boxes. + [Mod] <Jojo> Updated DE_jojo.mkb to include new shortcuts, remapped a few others (for IT-style). + [Fix] <Jojo> Colour Setup: Some colours in the MPT default colour scheme were not set up properly when switching between presets. + + v1.18.02.00 (May 2010, revision 610) ------------------------------------ +General tab + [Imp] <Jojo> Disabled tempo slider for MOD files (it was just confusing) + [Imp] <Jojo> Disabled global volume slider for MOD files, instead enabled the sample pre-amp slider (so it is also possible to make output louder) + [Imp] <Jojo> The "output to" dropdown list also shows the actual plugin name (instead of just the library name) now. + [Fix] <Jojo> Moving a plugin in MOD/S3M files doesn't mark them as modified anymore. The channel fx dropdown lists are now also disabled for those module types. + [Fix] <Jojo> The restart position edit control is disabled for S3M files. + [Fix] <coda> The background colour of the tabs in the channel configuration is now also correct when using WinXP Luna or Vista/Win7 Aero. -General tab - [Imp] <Jojo> Disabled tempo slider for MOD files (it was just confusing) - [Imp] <Jojo> Disabled global volume slider for MOD files, instead enabled the sample pre-amp slider (so it is also possible to make output louder) - [Imp] <Jojo> The "output to" dropdown list also shows the actual plugin name (instead of just the library name) now. - [Fix] <Jojo> Moving a plugin in MOD/S3M files doesn't mark them as modified anymore. The channel fx dropdown lists are now also disabled for those module types. - [Fix] <Jojo> The restart position edit control is disabled for S3M files. - [Fix] <coda> The background colour of the tabs in the channel configuration is now also correct when using WinXP Luna or Vista/Win7 Aero. - Sequence editor - [New] <Jojo> "Select All" shortcut also works here now. - [Imp] <Jojo> Sequence menu also allows to insert empty sequences now. - [Fix] <Jojo> Jumping between patterns also stops VSTi notes now. + [New] <Jojo> "Select All" shortcut also works here now. + [Imp] <Jojo> Sequence menu also allows to insert empty sequences now. + [Fix] <Jojo> Jumping between patterns also stops VSTi notes now. Pattern tab::pattern editing - [New] <Jojo> Extended context menu for PC Notes - [New] <Jojo> Key shortcut + context menu entry for toggling the plugin editor of the PC note that's under the cursor. - [Imp] <Jojo> Overflow paste now only uses one undo step. - [Imp] <Jojo> Instead of simply ignoring note off/cut/fade when working with .MOD files, it is converted to C00. - [Fix] <rewbs> Effect visualizer is now aware of PC notes (bug 3836). - [Fix] <Jojo> When using MIDI record or split keyboard settings, volume data was writting into the volume column in MOD format. - [Fix] <Jojo> When converting PC Notes to MIDI Macros, the instrument index is now also cleaned as well. Noticable for example when pasting PC notes into an IT module. - [Fix] <Jojo> Now, plugin slot 100 can also be automated using PC Notes. - [Fix] <Jojo> When pasting pattern data that exactly reached the pattern end with overflow paste enabled, a redundant undo point was created. - [Fix] <Jojo> Entered (volume) effects are now properly validated (makes a difference f.e. in MOD format where it was previously possible to enter effects like Hxx) - [Fix] <Jojo> Mix Paste: When in MPT behaviour mode, empty FX commands were not overwritten properly when there previously was an effect in that field but only the effect number (and not the param value) was reset. - [Fix] <Jojo> When deleting all patterns via the treeview and then switching to the pattern editor, pattern 0 is not created automatically anymore, to avoid confusion. - [Reg] <Jojo> Creating a selection using the Shift key + Mouse click now only works if there was previously no selection made; This seems reasonable as the old shift-behaviour seems to be widely used. - + [New] <Jojo> Extended context menu for PC Notes + [New] <Jojo> Key shortcut + context menu entry for toggling the plugin editor of the PC note that's under the cursor. + [Imp] <Jojo> Overflow paste now only uses one undo step. + [Imp] <Jojo> Instead of simply ignoring note off/cut/fade when working with .MOD files, it is converted to C00. + [Fix] <rewbs> Effect visualizer is now aware of PC notes (bug 3836). + [Fix] <Jojo> When using MIDI record or split keyboard settings, volume data was written into the volume column in MOD format. + [Fix] <Jojo> When converting PC Notes to MIDI Macros, the instrument index is now also cleaned as well. Noticeable for example when pasting PC notes into an IT module. + [Fix] <Jojo> Now, plugin slot 100 can also be automated using PC Notes. + [Fix] <Jojo> When pasting pattern data that exactly reached the pattern end with overflow paste enabled, a redundant undo point was created. + [Fix] <Jojo> Entered (volume) effects are now properly validated (makes a difference f.e. in MOD format where it was previously possible to enter effects like Hxx) + [Fix] <Jojo> Mix Paste: When in MPT behaviour mode, empty FX commands were not overwritten properly when there previously was an effect in that field but only the effect number (and not the param value) was reset. + [Fix] <Jojo> When deleting all patterns via the treeview and then switching to the pattern editor, pattern 0 is not created automatically anymore, to avoid confusion. + [Reg] <Jojo> Creating a selection using the Shift key + Mouse click now only works if there was previously no selection made; This seems reasonable as the old shift - behaviour seems to be widely used. + Pattern tab::GUI - [New] <Jojo> When the PT1x mode or the S3M "Amiga" flag are enabled, dodgy notes (i.e lower than C-4 or higher than B-6) are marked red. - [Imp] <Jojo> The status bar shows plugin and parameter names for PC notes now as well. - [Imp] <Jojo> Effect vis: Make use of song's own row highlighting variables instead of fixed global ones. - [Fix] <Jojo> The status bar ("Position x of y") only the showed order length for the first subtune if subtunes were separated by an "---" order item. - [Fix] <Jojo> Changing a channel plugin in MOD/S3M files doesn't mark them as modified anymore. - [Fix] <Jojo> When working with multiple sequences, switching to the pattern editor for the first time automatically marked the document as modified. + [New] <Jojo> When the PT1x mode or the S3M "Amiga" flag are enabled, dodgy notes (i.e lower than C-4 or higher than B-6) are marked red. + [Imp] <Jojo> The status bar shows plugin and parameter names for PC notes now as well. + [Imp] <Jojo> Effect vis: Make use of song's own row highlighting variables instead of fixed global ones. + [Fix] <Jojo> The status bar ("Position x of y") only the showed order length for the first sub tune if sub tunes were separated by an "---" order item. + [Fix] <Jojo> Changing a channel plugin in MOD/S3M files doesn't mark them as modified anymore. + [Fix] <Jojo> When working with multiple sequences, switching to the pattern editor for the first time automatically marked the document as modified. Pattern tab::Note properties - [Imp] <Jojo> Don't allow values > 63 for "break to row" commands in MOD/S3M. - [Imp] <Jojo> Since the behaviour of sliding commands with both nibbles set varies from tracker to tracker, "undefined" is always shown in the note properties in such cases. - [Fix] <Jojo> In the note properties, the Gxx effect for XM files was not limited properly. - [Fix] <Jojo> In Note Properties, the waveform display for S [345]x (and equivalent MOD/XM effeects) was not always fully visible ("continue" addition was cut off) - [Fix] <Jojo> Display "fine" / "extra fine" portamento effects properly (S3M/IT/MPTM), display SFx macro properly, display MOD effects with no memory properly. + [Imp] <Jojo> Don't allow values > 63 for "break to row" commands in MOD/S3M. + [Imp] <Jojo> Since the behaviour of sliding commands with both nibbles set varies from tracker to tracker, "undefined" is always shown in the note properties in such cases. + [Fix] <Jojo> In the note properties, the Gxx effect for XM files was not limited properly. + [Fix] <Jojo> In Note Properties, the waveform display for S [345]x (and equivalent MOD/XM effects) was not always fully visible ("continue" addition was cut off) + [Fix] <Jojo> Display "fine" / "extra fine" portamento effects properly (S3M/IT/MPTM), display SFx macro properly, display MOD effects with no memory properly. Pattern tab::Find/replace - [Fix] <Jojo> Find/Replace didn't work properly when replacing PC Notes with something that's not a PC Note. - [Fix] <Jojo> Instead of turning "Follow Song" off, the Find/Replace dialog toggled it. - + [Fix] <Jojo> Find/Replace didn't work properly when replacing PC Notes with something that's not a PC Note. + [Fix] <Jojo> Instead of turning "Follow Song" off, the Find/Replace dialog toggled it. + Sample tab - [New] <Jojo> Shift+New = Clone sample slot - [New] <Jojo> Option to not ask for RAW import settings again (settings are remembered independently for all modules) - [Imp] <Jojo> Remember previous settings in RAW import dialog - [Imp] <Jojo> When enabling (sustain) loop and no loop points are set yet, automatically set loop to full sample length or the currently selected part of the sample. - [Imp] <Jojo> Sample name and filename are now properly limited in length. - [Fix] <Jojo> When applying time stretch / pitch shift to an 8-bit sample and selecting the sample partly lead to partial upsampling, instead of upsampling the whole sample. - [Fix] <Jojo> Sample Undo: If no custom value was set, the default value was set ridiculously high (tx Paul Legovitch) - [Fix] <Jojo> Sample Undo: Fixed another possible problem when undoing actions with very little memory left. - [Fix] <Jojo> It was not possible to create the last sample slot (i.e. pressing "new sample" with a MOD file that had 30 samples would result in an error, although MOD supports 31 samples). - [Fix] <Jojo> When loading an extremely short raw file (f.e. 1 byte) twice, it crashed OpenMPT. - + [New] <Jojo> Shift+New = Clone sample slot + [New] <Jojo> Option to not ask for RAW import settings again (settings are remembered independently for all modules) + [Imp] <Jojo> Remember previous settings in RAW import dialog + [Imp] <Jojo> When enabling (sustain) loop and no loop points are set yet, automatically set loop to full sample length or the currently selected part of the sample. + [Imp] <Jojo> Sample name and filename are now properly limited in length. + [Fix] <Jojo> When applying time stretch / pitch shift to an 8-bit sample and selecting the sample partly lead to partial upsampling, instead of upsampling the whole sample. + [Fix] <Jojo> Sample Undo: If no custom value was set, the default value was set ridiculously high (tx Paul Legovitch) + [Fix] <Jojo> Sample Undo: Fixed another possible problem when undoing actions with very little memory left. + [Fix] <Jojo> It was not possible to create the last sample slot (i.e. pressing "new sample" with a MOD file that had 30 samples would result in an error, although MOD supports 31 samples). + [Fix] <Jojo> When loading an extremely short raw file (f.e. 1 byte) twice, it crashed OpenMPT. + Instrument tab - [New] <Jojo> Envelope zooming. Might still look very weird (especially the first tick and around loop points). Includes two new keyboard shortcuts. - [New] <Jojo> Transpose Up/Down for sample map. - [New] <Jojo> VST/Instrument handling: The IT instrument note mapping is now also applied to VST instruments (before, it was just available for samples). This way, VST instruments can be transposed easily. - [Imp] <Jojo> When pasting an envelope, it's now also automatically enabled. - [Imp] <Jojo> Instrument name and filename are now properly limited in length. - [Imp] <Jojo> "Scale envelope points" is now always available for scaling the values of the points (y axis). - [Fix] <Jojo> The panning spin button ranged from 0 to 256, however when saving to .IT, 256 was wrapping over to 0. Panning is now limited from 0 to 255. - [Fix] <Jojo> It was impossible to assign plugin slot 100 to an instrument. + [New] <Jojo> Envelope zooming. Might still look very weird (especially the first tick and around loop points). Includes two new keyboard shortcuts. + [New] <Jojo> Transpose Up/Down for sample map. + [New] <Jojo> VST/Instrument handling: The IT instrument note mapping is now also applied to VST instruments (before, it was just available for samples). This way, VST instruments can be transposed easily. + [Imp] <Jojo> When pasting an envelope, it's now also automatically enabled. + [Imp] <Jojo> Instrument name and filename are now properly limited in length. + [Imp] <Jojo> "Scale envelope points" is now always available for scaling the values of the points (y axis). + [Fix] <Jojo> The panning spin button ranged from 0 to 256, however when saving to .IT, 256 was wrapping over to 0. Panning is now limited from 0 to 255. + [Fix] <Jojo> It was impossible to assign plugin slot 100 to an instrument. Comments tab - [Fix] <Jojo> Correct C-5 frequency is now also shown if the module is an XM file. - [Fix] <Jojo> When editing sample / instrument names, they are limited properly in length now. + [Fix] <Jojo> Correct C-5 frequency is now also shown if the module is an XM file. + [Fix] <Jojo> When editing sample / instrument names, they are limited properly in length now. Treeview - [New] <Jojo> Sequences can now be copied to other modules by simply dragging the sequence header into the the other module's sequence header. Does only work between two different modules, not within the same module, and it will not copy the pattern contents. - [Imp] <Jojo> Display sequence index next to sequence names. - [Imp] <Jojo> Improved order dragging; It is now also possible to drag an order into a non-MPTM module. In that case, the old orderlist will be replaced. - [Imp] <Jojo> J2B files were not shown in treeview. - [Fix] <Jojo> Soundfont samples were not playing correctly anymore. Note that soundfont samples in the MIDI library still don't work. - [Fix] <Jojo> A crash could occour if the instrument library path was too long (f.e. because of malicious strings in the [Paths] section of the INI file) - [Fix] <Jojo> "Bypass" action for VSTs didn't set the document as modified. - [Fix] <Jojo> Right-Click on module -> Close didn't ask for confirmation when the document was modified. - [Fix] <Jojo> Insert/Duplicate sequence actions didn't set the document modified. Grey out those two actions if no additional sequences can be added. + [New] <Jojo> Sequences can now be copied to other modules by simply dragging the sequence header into the the other module's sequence header. Does only work between two different modules, not within the same module, and it will not copy the pattern contents. + [Imp] <Jojo> Display sequence index next to sequence names. + [Imp] <Jojo> Improved order dragging; It is now also possible to drag an order into a non-MPTM module. In that case, the old orderlist will be replaced. + [Imp] <Jojo> J2B files were not shown in treeview. + [Fix] <Jojo> Soundfont samples were not playing correctly anymore. Note that soundfont samples in the MIDI library still don't work. + [Fix] <Jojo> A crash could occour if the instrument library path was too long (f.e. because of malicious strings in the [Paths] section of the INI file) + [Fix] <Jojo> "Bypass" action for VSTs didn't set the document as modified. + [Fix] <Jojo> Right-Click on module -> Close didn't ask for confirmation when the document was modified. + [Fix] <Jojo> Insert/Duplicate sequence actions didn't set the document modified. Grey out those two actions if no additional sequences can be added. VST - [New] <Jojo> VST/Instrument handling: The IT instrument note mapping is now also applied to VST instruments (before, it was just available for samples). This way, VST instruments can be transposed easily. - [Imp] <Jojo> VST Editor: Instead of just saying the user that the plugin has to be assigned to an instrument to play notes, they are queried now whether they want to automatically add an instrument. - [Imp] <Jojo> VST Editor: Added shortcuts for "toggle bypass", "pass keys to plug" and "record params to pattern" - [Mod] <Jojo> VST Editor: Changed number of patches per sub menu from 100 to 128. Now, one sub menu equals ones MIDI bank (more logical) - [Fix] <Jojo> VST Editor: Preset names starting with ' ' >= char > 'A' were cropped (i.e. "123ABC" was displayed as "ABC") - [Fix] <Jojo> Even if an instrument was muted, a VSTi assigned to this instrument was still playing in the pattern. - [Fix] <re> Some VSTs that previously wouldn't load might now load fine. - [Fix] <re> Returned host CanDo-values were wrong (since pre RC1 era). - + [New] <Jojo> VST/Instrument handling: The IT instrument note mapping is now also applied to VST instruments (before, it was just available for samples). This way, VST instruments can be transposed easily. + [Imp] <Jojo> VST Editor: Instead of just saying the user that the plugin has to be assigned to an instrument to play notes, they are queried now whether they want to automatically add an instrument. + [Imp] <Jojo> VST Editor: Added shortcuts for "toggle bypass", "pass keys to plug" and "record params to pattern" + [Mod] <Jojo> VST Editor: Changed number of patches per sub menu from 100 to 128. Now, one sub menu equals ones MIDI bank (more logical) + [Fix] <Jojo> VST Editor: Preset names starting with ' ' >= char > 'A' were cropped (i.e. "123ABC" was displayed as "ABC") + [Fix] <Jojo> Even if an instrument was muted, a VSTi assigned to this instrument was still playing in the pattern. + [Fix] <re> Some VSTs that previously wouldn't load might now load fine. + [Fix] <re> Returned host CanDo-values were wrong (since pre RC1 era). + Mod conversion - [Fix] <Jojo> When converting from MOD to S3M or IT, the Invert Loop effect was not removed. - [Fix] <Jojo> When converting from MPTM to another format, the first sequence name is removed and the sequence is now sized properly when merging multiple sequences (tx Skaven). - [Fix] <Jojo> When converting between XM and IT, the sample autovibrato "sweep" factor is now fixed a bit (since sweep = 0 equals "no sweep" in XM, and "no vibrato" in IT). - [Fix] <Jojo> When removing instruments from the treeview and converting the module to a different format which also supports instruments, OpenMPT crashed. - [Fix] <Jojo> When converting to MOD/S3M, the extended filter range flag was not deactivated. - [Fix] <Jojo> S00 (IT/S3M) does not equal E00 (MOD/XM), as Exx doesn't have effect memory. Trying to convert S00 to the last used value now. - [Fix] <Jojo> If necessary (S3M), reset restart position attribute when converting - [Fix] <re> Merging multiple sequences didn't properly convert '---'/'+++' orders. - + [Fix] <Jojo> When converting from MOD to S3M or IT, the Invert Loop effect was not removed. + [Fix] <Jojo> When converting from MPTM to another format, the first sequence name is removed and the sequence is now sized properly when merging multiple sequences (tx Skaven). + [Fix] <Jojo> When converting between XM and IT, the sample autovibrato "sweep" factor is now fixed a bit (since sweep = 0 equals "no sweep" in XM, and "no vibrato" in IT). + [Fix] <Jojo> When removing instruments from the treeview and converting the module to a different format which also supports instruments, OpenMPT crashed. + [Fix] <Jojo> When converting to MOD/S3M, the extended filter range flag was not deactivated. + [Fix] <Jojo> S00 (IT/S3M) does not equal E00 (MOD/XM), as Exx doesn't have effect memory. Trying to convert S00 to the last used value now. + [Fix] <Jojo> If necessary (S3M), reset restart position attribute when converting + [Fix] <re> Merging multiple sequences didn't properly convert '---'/'+++' orders. + IT - [Imp] <Jojo> IT Saver: Compatibility export saves stereo samples again, as other tracker like Schism also support this. - [Fix] <Jojo> IT Saver: Fixed IT sample flags which could potentionally cause IT to screw up on loading/saving MPT-made modules with samples that are not used by an instrument. - [Fix] <Jojo> IT Loader: ChibiTracker uses \n instead of \r in the IT comment text, which was not handled properly. - [Fix] <Jojo> (fix from SchismTracker) IT Loader: Ignore stereo sample flag when loading old IT files (older than IT 2.14) since Impulse Tracker did not reset this flag when importing stereo samples back then. - [Fix] <Jojo> ITI/ITS Loader: Sample flags were not reset when a sample slot was overwritten when loading ITI or ITS files. That way, it was possible that f.e. the bidi loop flag was not disabled when loading a new sample that had a normal loop. - [Fix] <Jojo> S3M/IT compatibility: Note Cut really cuts notes and does not just mute them (so that following volume commands could restore the sample) - [Fix] <Jojo> IT Compatibility: Always reset autovibrato settings when there's an instrument number (fix from SchismTracker) - [Fix] <Jojo> IT Compatibility: S77 / S79/ S7B are supposed to pause the envelope, not disable it. - [Fix] <Jojo> IT Compatibility: ignore slide commands with both nibbles set (f.e. D55, PA1, ...) - [Fix] <Jojo> IT Compatibility: Default Vibrato/Tremolo/Panbrello waveform values to sine waveform if out of range (e.g. S35) + [Imp] <Jojo> IT Saver: Compatibility export saves stereo samples again, as other tracker like Schism also support this. + [Fix] <Jojo> IT Saver: Fixed IT sample flags which could potentially cause IT to screw up on loading/saving MPT-made modules with samples that are not used by an instrument. + [Fix] <Jojo> IT Loader: ChibiTracker uses \n instead of \r in the IT comment text, which was not handled properly. + [Fix] <Jojo> (fix from SchismTracker) IT Loader: Ignore stereo sample flag when loading old IT files (older than IT 2.14) since Impulse Tracker did not reset this flag when importing stereo samples back then. + [Fix] <Jojo> ITI/ITS Loader: Sample flags were not reset when a sample slot was overwritten when loading ITI or ITS files. That way, it was possible that f.e. the bidi loop flag was not disabled when loading a new sample that had a normal loop. + [Fix] <Jojo> S3M/IT compatibility: Note Cut really cuts notes and does not just mute them (so that following volume commands could restore the sample) + [Fix] <Jojo> IT Compatibility: Always reset autovibrato settings when there's an instrument number (fix from SchismTracker) + [Fix] <Jojo> IT Compatibility: S77 / S79/ S7B are supposed to pause the envelope, not disable it. + [Fix] <Jojo> IT Compatibility: ignore slide commands with both nibbles set (f.e. D55, PA1, ...) + [Fix] <Jojo> IT Compatibility: Default Vibrato/Tremolo/Panbrello waveform values to sine waveform if out of range (e.g. S35) IT/MPTM/ITP, Instrument extension handling: - [Fix] <re> Fixes to instrument envelope flag handling (broken in 1.18.00.00). - + [Fix] <re> Fixes to instrument envelope flag handling (broken in 1.18.00.00). + XM - [Imp] <Jojo> XM Loader: Improved detection of an old version of MPT (1.09?). - [Fix] <Jojo> XM Loader: Some XMs not made with ModPlug were recognized as files made with MPT. - [Fix] <Jojo> XM Loader: The last XM instrument was not always loaded. - [Fix] <Jojo> XM Loader: Early versions of Skale Tracker (R.I.P.) apparently did stupid things to XM instrument headers, so mpt failed to load such modules. Tested the fix with a few hundred XMs and apparently only one XM (IFULOVE.XM) that I have has a header size that is different from the struct size - and that's the one that caused problems. - [Fix] <Jojo> XM Compatibility: Volume column doesn't have an effect memory, most effects with param = 0 are useless. Those are ignored in compatibility mode playback and also when exporting the file in compatibility mode. - [Fix] <Jojo> XM Compatibility: Improved handling of the situation when a 3xx effect was used, but previously no note was playing. - [Fix] <Jojo> XM Compatibility: New instrument + tone portamento = ignore new instrument (fixes partytime.xm by cancer) - + [Imp] <Jojo> XM Loader: Improved detection of an old version of MPT (1.09?). + [Fix] <Jojo> XM Loader: Some XMs not made with ModPlug were recognized as files made with MPT. + [Fix] <Jojo> XM Loader: The last XM instrument was not always loaded. + [Fix] <Jojo> XM Loader: Early versions of Skale Tracker (R.I.P.) apparently did stupid things to XM instrument headers, so mpt failed to load such modules. Tested the fix with a few hundred XMs and apparently only one XM (IFULOVE.XM) that I have has a header size that is different from the struct size - and that's the one that caused problems. + [Fix] <Jojo> XM Compatibility: Volume column doesn't have an effect memory, most effects with param = 0 are useless. Those are ignored in compatibility mode playback and also when exporting the file in compatibility mode. + [Fix] <Jojo> XM Compatibility: Improved handling of the situation when a 3xx effect was used, but previously no note was playing. + [Fix] <Jojo> XM Compatibility: New instrument + tone portamento = ignore new instrument (fixes partytime.xm by cancer) + MOD - [Imp] <Jojo> Module creation: When creating a new .MOD, it has 31 sample slots by default. - [Imp] <Jojo> Playback: When the PT1x flag is activated, Amiga note range limits are automatically taken into account. - [Fix] <Jojo> MOD Saving: Samples were shifted badly if the sample size was odd. (wow, this is an OLD bug!) - [Fix] <Jojo> MOD Saving: If a sample had loop points set, but loop disabled, they were still saved in the .MOD file, resulting in the loop being enabled automatically. - [Fix] <Jojo> MOD Loader: Very short loops (4-8 bytes long) are not ignored anymore. This fixes "Crew Generation" by Necros. - + [Imp] <Jojo> Module creation: When creating a new .MOD, it has 31 sample slots by default. + [Imp] <Jojo> Playback: When the PT1x flag is activated, Amiga note range limits are automatically taken into account. + [Fix] <Jojo> MOD Saving: Samples were shifted badly if the sample size was odd. (wow, this is an OLD bug!) + [Fix] <Jojo> MOD Saving: If a sample had loop points set, but loop disabled, they were still saved in the .MOD file, resulting in the loop being enabled automatically. + [Fix] <Jojo> MOD Loader: Very short loops (4-8 bytes long) are not ignored anymore. This fixes "Crew Generation" by Necros. + S3M - [Imp] <Jojo> S3M Loader: Display a message if an S3M file contains Adlib instruments (rare). - [Fix] <Jojo> S3M Playback: In ST3, muted channels are completely ignored, not even effects are interpreted. Let's try this in MPT, too. - [Fix] <Jojo> S3M Compatibility: Slightly better handling of vibrato/tremolo waveform types (although the ST3 help screen says that continuous vibrato/tremolo is possible, it does actually not work.) - [Reg] <Jojo> Cannot create S3M files with more than 100 patterns anymore, because... - [Fix] <Jojo> ... it was possible to create S3M files where the 256 parapointers were not enough, resulting in incomplete/broken files. - [Fix] <Jojo> S3M/IT Compatibility: Note Cut really cuts notes and does not just mute them (so that following volume commands could restore the sample) - -Other modules: - [Imp] <Jojo> MT2 Loader (MadTracker): Make use of the "lines per beat" header field. Release node is not set anymore for each and every instrument envelope. MT2 files are now loaded as IT files by default (instead of XM) because of their extended instrument properties (NNAs, filters, etc) - I wonder what this breaks, but I don't bother much because MT2 support was already 100% broken before this. :) Some MT example tunes sound a bit better now at least. - [Fix] <Jojo> PTM Loader: Fixed an unhandled null pointer exception that occured when loading some unsupported RAR files. - [Fix] <Jojo> PSM16 Loader: Fix for note cut on tick 0 (warbot tune from Silverball) - [Fix] <Jojo> Threw out the old ULT loader in favor of Storlek's loader from SchismTracker (used with permission from the author himself). This is a lot more accurate than MPT's old loader. - [Fix] <Jojo> DBM Loader: Various fixes to increase import precision and an endianness fix - [Fix] <Jojo> AMF DSM Loader: Made some changes to the pattern reader, which elimiante the strange "vC7" commands in the pattern. I have found no hints on whether my fix is correct or not, apart from the fact that those AMF files that I have play a lot better now. And it makes kind of sense... - [Fix] <Jojo> IMF Loader: Some fixes copied from Schism (copied from MikMod) + [Imp] <Jojo> S3M Loader: Display a message if an S3M file contains Adlib instruments (rare). + [Fix] <Jojo> S3M Playback: In ST3, muted channels are completely ignored, not even effects are interpreted. Let's try this in MPT, too. + [Fix] <Jojo> S3M Compatibility: Slightly better handling of vibrato/tremolo waveform types (although the ST3 help screen says that continuous vibrato/tremolo is possible, it does actually not work.) + [Reg] <Jojo> Cannot create S3M files with more than 100 patterns anymore, because... + [Fix] <Jojo> ... it was possible to create S3M files where the 256 parapointers were not enough, resulting in incomplete/broken files. + [Fix] <Jojo> S3M/IT Compatibility: Note Cut really cuts notes and does not just mute them (so that following volume commands could restore the sample) MPTM - [New] <rewbs> Added combined note delay & note cut command for MPTM only (":xy" means delay until tick x and play for y ticks). - [New] <Jojo> MPTM command S7D explicitely enforces pitch envelope, S7E enforces filter envelope. - [Fix] <Jojo> MPTM Saving: A missing null pointer check crashed OpenMPT when trying to access a deleted instrument slot. + [New] <rewbs> Added combined note delay & note cut command for MPTM only (":xy" means delay until tick x and play for y ticks). + [New] <Joj... [truncated message content] |