From: <sag...@us...> - 2009-07-29 22:18:31
|
Revision: 310 http://modplug.svn.sourceforge.net/modplug/?rev=310&view=rev Author: saga-games Date: 2009-07-29 22:18:17 +0000 (Wed, 29 Jul 2009) Log Message: ----------- [Ref] VS2008 decided once again to completely rewrite mptrack.rc [Ref] Renamed the midi setup dialog resource so it fits in the current scheme [Fix] Playback: Process pattern break commands on last pattern properly [Imp] Playback: Added option to not reset all channels and variables when looping a module. This might become a song-specific variable, though. Modified Paths: -------------- trunk/OpenMPT/mptrack/MainFrm.cpp trunk/OpenMPT/mptrack/Mainfrm.h trunk/OpenMPT/mptrack/Moptions.cpp trunk/OpenMPT/mptrack/Mpdlgs.h trunk/OpenMPT/mptrack/mptrack.rc trunk/OpenMPT/mptrack/resource.h trunk/OpenMPT/soundlib/Snd_fx.cpp trunk/OpenMPT/soundlib/Sndfile.h trunk/OpenMPT/soundlib/Sndmix.cpp Modified: trunk/OpenMPT/mptrack/MainFrm.cpp =================================================================== --- trunk/OpenMPT/mptrack/MainFrm.cpp 2009-07-29 12:20:51 UTC (rev 309) +++ trunk/OpenMPT/mptrack/MainFrm.cpp 2009-07-29 22:18:17 UTC (rev 310) @@ -429,6 +429,8 @@ m_dwPatternSetup = GetPrivateProfileDWord("Pattern Editor", "PatternSetup", m_dwPatternSetup, iniFile); if(gcsPreviousVersion != "" && MptVersion::ToNum(gcsPreviousVersion) < MAKE_VERSION_NUMERIC(1,17,02,50)) m_dwPatternSetup |= PATTERN_NOTEFADE; + if(gcsPreviousVersion != "" && MptVersion::ToNum(gcsPreviousVersion) < MAKE_VERSION_NUMERIC(1,17,03,01)) + m_dwPatternSetup |= PATTERN_RESETCHANNELS; m_nRowSpacing = GetPrivateProfileDWord("Pattern Editor", "RowSpacing", 16, iniFile); m_nRowSpacing2 = GetPrivateProfileDWord("Pattern Editor", "RowSpacing2", 4, iniFile); @@ -563,6 +565,7 @@ RegQueryValueEx(key, "MidiDevice", NULL, &dwREG_DWORD, (LPBYTE)&m_nMidiDevice, &dwDWORDSize); RegQueryValueEx(key, "PatternSetup", NULL, &dwREG_DWORD, (LPBYTE)&m_dwPatternSetup, &dwDWORDSize); m_dwPatternSetup |= PATTERN_NOTEFADE; // Set flag to maintain old behaviour(was changed in 1.17.02.50). + m_dwPatternSetup |= PATTERN_RESETCHANNELS; // Set flag to reset channels on loop was changed in 1.17.03.01). RegQueryValueEx(key, "RowSpacing", NULL, &dwREG_DWORD, (LPBYTE)&m_nRowSpacing, &dwDWORDSize); RegQueryValueEx(key, "RowSpacing2", NULL, &dwREG_DWORD, (LPBYTE)&m_nRowSpacing2, &dwDWORDSize); RegQueryValueEx(key, "LoopSong", NULL, &dwREG_DWORD, (LPBYTE)&gbLoopSong, &dwDWORDSize); Modified: trunk/OpenMPT/mptrack/Mainfrm.h =================================================================== --- trunk/OpenMPT/mptrack/Mainfrm.h 2009-07-29 12:20:51 UTC (rev 309) +++ trunk/OpenMPT/mptrack/Mainfrm.h 2009-07-29 22:18:17 UTC (rev 310) @@ -169,30 +169,30 @@ #define NUM_VUMETER_PENS 32 // Pattern Setup (contains also non-pattern related settings) -#define PATTERN_PLAYNEWNOTE 0x01 -#define PATTERN_LARGECOMMENTS 0x02 -#define PATTERN_STDHIGHLIGHT 0x04 -#define PATTERN_SMALLFONT 0x08 -#define PATTERN_CENTERROW 0x10 -#define PATTERN_WRAP 0x20 -#define PATTERN_EFFECTHILIGHT 0x40 -#define PATTERN_HEXDISPLAY 0x80 -#define PATTERN_FLATBUTTONS 0x100 -#define PATTERN_CREATEBACKUP 0x200 -#define PATTERN_SINGLEEXPAND 0x400 -#define PATTERN_AUTOSPACEBAR 0x800 -#define PATTERN_NOEXTRALOUD 0x1000 -#define PATTERN_DRAGNDROPEDIT 0x2000 -#define PATTERN_2NDHIGHLIGHT 0x4000 -#define PATTERN_MUTECHNMODE 0x8000 -#define PATTERN_SHOWPREVIOUS 0x10000 -#define PATTERN_CONTSCROLL 0x20000 -#define PATTERN_KBDNOTEOFF 0x40000 -#define PATTERN_FOLLOWSONGOFF 0x80000 //rewbs.noFollow +#define PATTERN_PLAYNEWNOTE 0x01 +#define PATTERN_LARGECOMMENTS 0x02 +#define PATTERN_STDHIGHLIGHT 0x04 +#define PATTERN_SMALLFONT 0x08 +#define PATTERN_CENTERROW 0x10 +#define PATTERN_WRAP 0x20 +#define PATTERN_EFFECTHILIGHT 0x40 +#define PATTERN_HEXDISPLAY 0x80 +#define PATTERN_FLATBUTTONS 0x100 +#define PATTERN_CREATEBACKUP 0x200 +#define PATTERN_SINGLEEXPAND 0x400 +#define PATTERN_AUTOSPACEBAR 0x800 +#define PATTERN_NOEXTRALOUD 0x1000 +#define PATTERN_DRAGNDROPEDIT 0x2000 +#define PATTERN_2NDHIGHLIGHT 0x4000 +#define PATTERN_MUTECHNMODE 0x8000 +#define PATTERN_SHOWPREVIOUS 0x10000 +#define PATTERN_CONTSCROLL 0x20000 +#define PATTERN_KBDNOTEOFF 0x40000 +#define PATTERN_FOLLOWSONGOFF 0x80000 //rewbs.noFollow // -> CODE#0017 // -> DESC="midi in record mode setup option" -#define PATTERN_MIDIRECORD 0x100000 +#define PATTERN_MIDIRECORD 0x100000 // -! BEHAVIOUR_CHANGE#0017 // -> CODE#0022 @@ -201,14 +201,15 @@ // rewbs: this options is now available under song settings. It is therefore saved with the song. // -! NEW_FEATURE#0022 -#define PATTERN_HILITETIMESIGS 0x400000 +#define PATTERN_HILITETIMESIGS 0x400000 -#define PATTERN_OLDCTXMENUSTYLE 0x800000 -#define PATTERN_SYNCMUTE 0x1000000 -#define PATTERN_AUTODELAY 0x2000000 -#define PATTERN_NOTEFADE 0x4000000 -#define PATTERN_ECHOPASTE 0x8000000 +#define PATTERN_OLDCTXMENUSTYLE 0x800000 +#define PATTERN_SYNCMUTE 0x1000000 +#define PATTERN_AUTODELAY 0x2000000 +#define PATTERN_NOTEFADE 0x4000000 +#define PATTERN_ECHOPASTE 0x8000000 #define PATTERN_POSITIONAWARETIMER 0x10000000 +#define PATTERN_RESETCHANNELS 0x20000000 // Keyboard Setup Modified: trunk/OpenMPT/mptrack/Moptions.cpp =================================================================== --- trunk/OpenMPT/mptrack/Moptions.cpp 2009-07-29 12:20:51 UTC (rev 309) +++ trunk/OpenMPT/mptrack/Moptions.cpp 2009-07-29 22:18:17 UTC (rev 310) @@ -607,6 +607,7 @@ OPTGEN_PATNOTEFADE, OPTGEN_ECHOPASTE, OPTGEN_POSITIONAWARETIMER, + OPTGEN_RESETCHANNELS, OPTGEN_MAXOPTIONS }; @@ -645,6 +646,7 @@ {"Note fade on key up", "Enable to fade/stop notes on key up in pattern tab." }, {"Echo paste mode", "Wrap pasted pattern data into next pattern. This is useful for creating echo channels."}, {"Position aware timer", "If enabled, timer will show the playback position time if possible instead of running timer."}, + {"Reset channels on loop", "If enabled, channels will be reset to their initial state when song looping is enabled.\nNote: This does not affect manual song loops (i.e. triggered by pattern commands)"}, }; @@ -709,6 +711,7 @@ case OPTGEN_PATNOTEFADE: bCheck = (CMainFrame::m_dwPatternSetup & PATTERN_NOTEFADE); break; case OPTGEN_ECHOPASTE: bCheck = (CMainFrame::m_dwPatternSetup & PATTERN_ECHOPASTE); break; case OPTGEN_POSITIONAWARETIMER: bCheck = (CMainFrame::m_dwPatternSetup & PATTERN_POSITIONAWARETIMER); break; + case OPTGEN_RESETCHANNELS: bCheck = (CMainFrame::m_dwPatternSetup & PATTERN_RESETCHANNELS); break; } m_CheckList.SetCheck(i, (bCheck) ? TRUE : FALSE); } @@ -777,6 +780,7 @@ case OPTGEN_PATNOTEFADE: mask = PATTERN_NOTEFADE; break; case OPTGEN_ECHOPASTE: mask = PATTERN_ECHOPASTE; break; case OPTGEN_POSITIONAWARETIMER: mask = PATTERN_POSITIONAWARETIMER; break; + case OPTGEN_RESETCHANNELS: mask = PATTERN_RESETCHANNELS; break; } if (bCheck) CMainFrame::m_dwPatternSetup |= mask; else CMainFrame::m_dwPatternSetup &= ~mask; Modified: trunk/OpenMPT/mptrack/Mpdlgs.h =================================================================== --- trunk/OpenMPT/mptrack/Mpdlgs.h 2009-07-29 12:20:51 UTC (rev 309) +++ trunk/OpenMPT/mptrack/Mpdlgs.h 2009-07-29 22:18:17 UTC (rev 310) @@ -158,7 +158,7 @@ CSpinButtonCtrl m_SpinSpd, m_SpinPat; public: - CMidiSetupDlg(DWORD d, LONG n):CPropertyPage(IDD_MIDISETUP) + CMidiSetupDlg(DWORD d, LONG n):CPropertyPage(IDD_OPTIONS_MIDI) { m_dwMidiSetup = d; m_nMidiDevice = n; } protected: Modified: trunk/OpenMPT/mptrack/mptrack.rc =================================================================== --- trunk/OpenMPT/mptrack/mptrack.rc 2009-07-29 12:20:51 UTC (rev 309) +++ trunk/OpenMPT/mptrack/mptrack.rc 2009-07-29 22:18:17 UTC (rev 310) @@ -68,218 +68,8 @@ #pragma code_page(1252) #endif //_WIN32 -#ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "#define _AFX_NO_OLE_RESOURCES\r\n" - "#define _AFX_NO_TRACKER_RESOURCES\r\n" - "#define _AFX_NO_PROPERTY_RESOURCES\r\n" - "\r\n" - "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" - "#ifdef _WIN32\r\n" - "LANGUAGE 9, 1\r\n" - "#pragma code_page(1252)\r\n" - "#endif\r\n" - "#include ""res\\mptrack.rc2"" // non-Microsoft Visual C++ edited resources\r\n" - "#include ""afxres.rc"" // Standard components\r\n" - "#endif\0" -END - -#endif // APSTUDIO_INVOKED - - -///////////////////////////////////////////////////////////////////////////// -// -// Icon -// - -// Icon with lowest ID value placed first to ensure application icon -// remains consistent on all systems. -IDR_MAINFRAME ICON "res\\mptrack.ico" -IDR_MODULETYPE ICON "res\\moddoc.ico" - -///////////////////////////////////////////////////////////////////////////// -// -// Bitmap -// - -IDB_MPTRACK BITMAP "res\\mptrack.bmp" -IDB_IMAGELIST BITMAP "res\\img_list.bmp" -IDB_PATTERNS BITMAP "res\\patterns.bmp" -IDB_PATTERNVIEW BITMAP "res\\view_pat.bmp" -IDB_COLORSETUP BITMAP "res\\colors.bmp" -IDB_VUMETERS BITMAP "res\\vumeters.bmp" -IDB_ENVTOOLBAR BITMAP "res\\envbar.bmp" -IDB_SMPTOOLBAR BITMAP "res\\smptoolb.bmp" -IDB_VISNODE BITMAP "res\\bitmap1.bmp" - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_MAINFRAME MENU -BEGIN - POPUP "&File" - BEGIN - POPUP "&New\tCtrl+N" - BEGIN - MENUITEM "&IT", ID_FILE_NEWIT - MENUITEM "&XM", ID_FILE_NEWXM - MENUITEM "&S3M", ID_FILE_NEWS3M - MENUITEM "M&OD", ID_FILE_NEWMOD - MENUITEM "IT &Project", ID_NEW_ITPROJECT - MENUITEM "&MPTM (experimental)", ID_NEW_MPT - END - MENUITEM "&Open...\tCtrl+O", 57601 - MENUITEM "&Close", ID_FILE_CLOSE - MENUITEM "&Save\tCtrl+S", ID_FILE_SAVE - MENUITEM "Save &As...", ID_FILE_SAVE_AS - MENUITEM "Save as &Wave...", ID_FILE_SAVEASWAVE - MENUITEM "Save as M&P3...", ID_FILE_SAVEASMP3 - MENUITEM "Export as M&IDI...", ID_FILE_SAVEMIDI - MENUITEM "Export &unraped...", ID_FILE_SAVECOMPAT - MENUITEM SEPARATOR - MENUITEM "Import &MIDI Library...", ID_IMPORT_MIDILIB - MENUITEM "Add Sound &Bank...", ID_ADD_SOUNDBANK - MENUITEM SEPARATOR - MENUITEM "Recent File", ID_FILE_MRU_FILE1, GRAYED - MENUITEM SEPARATOR - MENUITEM "E&xit", ID_APP_EXIT - END - POPUP "P&layer" - BEGIN - MENUITEM "&Play\tF5", ID_PLAYER_PLAY - MENUITEM "P&lay from start\tF6", ID_PLAYER_PLAYFROMSTART - MENUITEM "&Stop\tESC", ID_PLAYER_STOP - MENUITEM "P&ause\tF8", ID_PLAYER_PAUSE - MENUITEM "&MIDI Record\tF9", ID_MIDI_RECORD - MENUITEM SEPARATOR - MENUITEM "&Estimate song length", ID_ESTIMATESONGLENGTH - MENUITEM "Approx. real &BPM", ID_APPROX_BPM - END - POPUP "&Edit" - BEGIN - MENUITEM "&Undo\tCtrl+Z", ID_EDIT_UNDO - MENUITEM SEPARATOR - MENUITEM "Cu&t\tCtrl+X", ID_EDIT_CUT - MENUITEM "&Copy\tCtrl+C", ID_EDIT_COPY - MENUITEM "&Paste\tCtrl+V", ID_EDIT_PASTE - MENUITEM "&Mix Paste\tCtrl+M", ID_EDIT_PASTE_SPECIAL - MENUITEM "Select &All\tCtrl+5", ID_EDIT_SELECT_ALL - MENUITEM SEPARATOR - POPUP "C&leanup" - BEGIN - MENUITEM "&Rearrange Patterns", ID_CLEANUP_REARRANGE - MENUITEM "&Cleanup Instruments", ID_CLEANUP_INSTRUMENTS - MENUITEM "Clean&up Samples", ID_CLEANUP_SAMPLES - MENUITEM "Cleanup Pa&tterns", ID_CLEANUP_PATTERNS - MENUITEM "Cleanup S&ong", ID_CLEANUP_SONG - MENUITEM "Remove &All Instruments", ID_INSTRUMENTS_REMOVEALL - MENUITEM "Cleanup &Plugins", ID_CLEANUP_PLUGS - MENUITEM "Co&mpo Cleanup", ID_CLEANUP_COMPO - END - MENUITEM SEPARATOR - MENUITEM "&Find\tCtrl+F", ID_EDIT_FIND - MENUITEM "Find Next\tF3", ID_EDIT_FINDNEXT - MENUITEM "Go to...", ID_EDIT_GOTO_MENU - END - POPUP "&View" - BEGIN - MENUITEM "&Globals\tAlt+G", ID_VIEW_GLOBALS - MENUITEM "&Patterns\tAlt+P", ID_VIEW_PATTERNS - MENUITEM "&Samples\tAlt+S", ID_VIEW_SAMPLES - MENUITEM "&Instruments\tAlt+N", ID_VIEW_INSTRUMENTS - MENUITEM "&Comments\tShift+F9", ID_VIEW_COMMENTS - MENUITEM SEPARATOR - POPUP "&Toolbars" - BEGIN - MENUITEM "&Main", ID_VIEW_TOOLBAR - MENUITEM "&Tree", IDD_TREEVIEW - END - MENUITEM SEPARATOR - MENUITEM "Set&up...", ID_VIEW_OPTIONS - MENUITEM "Add &Plugin...", ID_PLUGIN_SETUP - MENUITEM "Channel &Manager...", ID_CHANNEL_MANAGER - MENUITEM "Song Properties...", ID_VIEW_SONGPROPERTIES - MENUITEM "MIDI mapping...", ID_VIEW_MIDIMAPPING - END - POPUP "&Window" - BEGIN - MENUITEM "&New Window", ID_WINDOW_NEW - MENUITEM SEPARATOR - MENUITEM "&Cascade", ID_WINDOW_CASCADE - MENUITEM "&Tile Horizontal", ID_WINDOW_TILE_HORZ - MENUITEM "Tile &Vertical", ID_WINDOW_TILE_VERT - MENUITEM "&Arrange Icons", ID_WINDOW_ARRANGE - MENUITEM "S&plit", ID_WINDOW_SPLIT - END - POPUP "&Help" - BEGIN - MENUITEM "&Contents", ID_HELP_FINDER - MENUITEM "&Search...", ID_HELP_SEARCH - MENUITEM "&Report a bug", ID_REPORT_BUG - MENUITEM SEPARATOR - POPUP "&Internet" - BEGIN - MENUITEM "Modplug Central &Forums", ID_NETLINK_FORUMS - MENUITEM "OpenMPT Wiki", ID_NETLINK_OPENMPTWIKI - MENUITEM "OpenMPT Wiki (German)", ID_NETLINK_OPENMPTWIKI_GERMAN - MENUITEM "MPT-FR", ID_NETLINK_MPTFR - MENUITEM "&Kvr Audio (plugins)", ID_NETLINK_PLUGINS - MENUITEM "The Mod Archive", ID_NETLINK_MODARCHIVE - END - MENUITEM SEPARATOR - MENUITEM "&About OpenMPT...", ID_APP_ABOUT - END -END - -IDR_TOOLBARS MENU -BEGIN - POPUP "&ToolBars" - BEGIN - MENUITEM "&Main", ID_VIEW_TOOLBAR - MENUITEM "&Tree", IDD_TREEVIEW - END -END - -IDR_ENVELOPES MENU -BEGIN - POPUP "&Envelope" - BEGIN - MENUITEM "&Loop", ID_ENVELOPE_SETLOOP - MENUITEM "&Sustain", ID_ENVELOPE_SUSTAIN - MENUITEM "C&arry envelope", ID_ENVELOPE_CARRY - MENUITEM "&Insert Point", ID_ENVELOPE_INSERTPOINT - MENUITEM "&Remove Point", ID_ENVELOPE_REMOVEPOINT - MENUITEM "&Toggle Release Node", ID_ENVELOPE_TOGGLERELEASENODE - MENUITEM SEPARATOR - MENUITEM "&Copy envelope", ID_EDIT_COPY - MENUITEM "&Paste envelope", ID_EDIT_PASTE - MENUITEM SEPARATOR - MENUITEM "Scale points...", ID_ENVELOPE_SCALEPOINTS - END -END - - -///////////////////////////////////////////////////////////////////////////// -// // Dialog // @@ -451,7 +241,7 @@ "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,75,136,10 END -IDD_MIDISETUP DIALOGEX 0, 0, 272, 281 +IDD_OPTIONS_MIDI DIALOGEX 0, 0, 272, 281 STYLE DS_SETFONT | DS_3DLOOK | WS_CHILD | WS_DISABLED | WS_CAPTION CAPTION "MIDI" FONT 8, "MS Sans Serif", 0, 0, 0x0 @@ -1610,7 +1400,7 @@ BOTTOMMARGIN, 151 END - IDD_MIDISETUP, DIALOG + IDD_OPTIONS_MIDI, DIALOG BEGIN RIGHTMARGIN, 240 BOTTOMMARGIN, 278 @@ -1853,8 +1643,218 @@ #endif // APSTUDIO_INVOKED +#ifdef APSTUDIO_INVOKED ///////////////////////////////////////////////////////////////////////////// // +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "#define _AFX_NO_OLE_RESOURCES\r\n" + "#define _AFX_NO_TRACKER_RESOURCES\r\n" + "#define _AFX_NO_PROPERTY_RESOURCES\r\n" + "\r\n" + "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" + "#ifdef _WIN32\r\n" + "LANGUAGE 9, 1\r\n" + "#pragma code_page(1252)\r\n" + "#endif\r\n" + "#include ""res\\mptrack.rc2"" // non-Microsoft Visual C++ edited resources\r\n" + "#include ""afxres.rc"" // Standard components\r\n" + "#endif\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDR_MAINFRAME ICON "res\\mptrack.ico" +IDR_MODULETYPE ICON "res\\moddoc.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// Bitmap +// + +IDB_MPTRACK BITMAP "res\\mptrack.bmp" +IDB_IMAGELIST BITMAP "res\\img_list.bmp" +IDB_PATTERNS BITMAP "res\\patterns.bmp" +IDB_PATTERNVIEW BITMAP "res\\view_pat.bmp" +IDB_COLORSETUP BITMAP "res\\colors.bmp" +IDB_VUMETERS BITMAP "res\\vumeters.bmp" +IDB_ENVTOOLBAR BITMAP "res\\envbar.bmp" +IDB_SMPTOOLBAR BITMAP "res\\smptoolb.bmp" +IDB_VISNODE BITMAP "res\\bitmap1.bmp" + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_MAINFRAME MENU +BEGIN + POPUP "&File" + BEGIN + POPUP "&New\tCtrl+N" + BEGIN + MENUITEM "&IT", ID_FILE_NEWIT + MENUITEM "&XM", ID_FILE_NEWXM + MENUITEM "&S3M", ID_FILE_NEWS3M + MENUITEM "M&OD", ID_FILE_NEWMOD + MENUITEM "IT &Project", ID_NEW_ITPROJECT + MENUITEM "&MPTM (experimental)", ID_NEW_MPT + END + MENUITEM "&Open...\tCtrl+O", 57601 + MENUITEM "&Close", ID_FILE_CLOSE + MENUITEM "&Save\tCtrl+S", ID_FILE_SAVE + MENUITEM "Save &As...", ID_FILE_SAVE_AS + MENUITEM "Save as &Wave...", ID_FILE_SAVEASWAVE + MENUITEM "Save as M&P3...", ID_FILE_SAVEASMP3 + MENUITEM "Export as M&IDI...", ID_FILE_SAVEMIDI + MENUITEM "Export &unraped...", ID_FILE_SAVECOMPAT + MENUITEM SEPARATOR + MENUITEM "Import &MIDI Library...", ID_IMPORT_MIDILIB + MENUITEM "Add Sound &Bank...", ID_ADD_SOUNDBANK + MENUITEM SEPARATOR + MENUITEM "Recent File", ID_FILE_MRU_FILE1, GRAYED + MENUITEM SEPARATOR + MENUITEM "E&xit", ID_APP_EXIT + END + POPUP "P&layer" + BEGIN + MENUITEM "&Play\tF5", ID_PLAYER_PLAY + MENUITEM "P&lay from start\tF6", ID_PLAYER_PLAYFROMSTART + MENUITEM "&Stop\tESC", ID_PLAYER_STOP + MENUITEM "P&ause\tF8", ID_PLAYER_PAUSE + MENUITEM "&MIDI Record\tF9", ID_MIDI_RECORD + MENUITEM SEPARATOR + MENUITEM "&Estimate song length", ID_ESTIMATESONGLENGTH + MENUITEM "Approx. real &BPM", ID_APPROX_BPM + END + POPUP "&Edit" + BEGIN + MENUITEM "&Undo\tCtrl+Z", ID_EDIT_UNDO + MENUITEM SEPARATOR + MENUITEM "Cu&t\tCtrl+X", ID_EDIT_CUT + MENUITEM "&Copy\tCtrl+C", ID_EDIT_COPY + MENUITEM "&Paste\tCtrl+V", ID_EDIT_PASTE + MENUITEM "&Mix Paste\tCtrl+M", ID_EDIT_PASTE_SPECIAL + MENUITEM "Select &All\tCtrl+5", ID_EDIT_SELECT_ALL + MENUITEM SEPARATOR + POPUP "C&leanup" + BEGIN + MENUITEM "&Rearrange Patterns", ID_CLEANUP_REARRANGE + MENUITEM "&Cleanup Instruments", ID_CLEANUP_INSTRUMENTS + MENUITEM "Clean&up Samples", ID_CLEANUP_SAMPLES + MENUITEM "Cleanup Pa&tterns", ID_CLEANUP_PATTERNS + MENUITEM "Cleanup S&ong", ID_CLEANUP_SONG + MENUITEM "Remove &All Instruments", ID_INSTRUMENTS_REMOVEALL + MENUITEM "Cleanup &Plugins", ID_CLEANUP_PLUGS + MENUITEM "Co&mpo Cleanup", ID_CLEANUP_COMPO + END + MENUITEM SEPARATOR + MENUITEM "&Find\tCtrl+F", ID_EDIT_FIND + MENUITEM "Find Next\tF3", ID_EDIT_FINDNEXT + MENUITEM "Go to...", ID_EDIT_GOTO_MENU + END + POPUP "&View" + BEGIN + MENUITEM "&Globals\tAlt+G", ID_VIEW_GLOBALS + MENUITEM "&Patterns\tAlt+P", ID_VIEW_PATTERNS + MENUITEM "&Samples\tAlt+S", ID_VIEW_SAMPLES + MENUITEM "&Instruments\tAlt+N", ID_VIEW_INSTRUMENTS + MENUITEM "&Comments\tShift+F9", ID_VIEW_COMMENTS + MENUITEM SEPARATOR + POPUP "&Toolbars" + BEGIN + MENUITEM "&Main", ID_VIEW_TOOLBAR + MENUITEM "&Tree", IDD_TREEVIEW + END + MENUITEM SEPARATOR + MENUITEM "Set&up...", ID_VIEW_OPTIONS + MENUITEM "Add &Plugin...", ID_PLUGIN_SETUP + MENUITEM "Channel &Manager...", ID_CHANNEL_MANAGER + MENUITEM "Song Properties...", ID_VIEW_SONGPROPERTIES + MENUITEM "MIDI mapping...", ID_VIEW_MIDIMAPPING + END + POPUP "&Window" + BEGIN + MENUITEM "&New Window", ID_WINDOW_NEW + MENUITEM SEPARATOR + MENUITEM "&Cascade", ID_WINDOW_CASCADE + MENUITEM "&Tile Horizontal", ID_WINDOW_TILE_HORZ + MENUITEM "Tile &Vertical", ID_WINDOW_TILE_VERT + MENUITEM "&Arrange Icons", ID_WINDOW_ARRANGE + MENUITEM "S&plit", ID_WINDOW_SPLIT + END + POPUP "&Help" + BEGIN + MENUITEM "&Contents", ID_HELP_FINDER + MENUITEM "&Search...", ID_HELP_SEARCH + MENUITEM "&Report a bug", ID_REPORT_BUG + MENUITEM SEPARATOR + POPUP "&Internet" + BEGIN + MENUITEM "Modplug Central &Forums", ID_NETLINK_FORUMS + MENUITEM "OpenMPT Wiki", ID_NETLINK_OPENMPTWIKI + MENUITEM "OpenMPT Wiki (German)", ID_NETLINK_OPENMPTWIKI_GERMAN + MENUITEM "MPT-FR", ID_NETLINK_MPTFR + MENUITEM "&Kvr Audio (plugins)", ID_NETLINK_PLUGINS + MENUITEM "The Mod Archive", ID_NETLINK_MODARCHIVE + END + MENUITEM SEPARATOR + MENUITEM "&About OpenMPT...", ID_APP_ABOUT + END +END + +IDR_TOOLBARS MENU +BEGIN + POPUP "&ToolBars" + BEGIN + MENUITEM "&Main", ID_VIEW_TOOLBAR + MENUITEM "&Tree", IDD_TREEVIEW + END +END + +IDR_ENVELOPES MENU +BEGIN + POPUP "&Envelope" + BEGIN + MENUITEM "&Loop", ID_ENVELOPE_SETLOOP + MENUITEM "&Sustain", ID_ENVELOPE_SUSTAIN + MENUITEM "C&arry envelope", ID_ENVELOPE_CARRY + MENUITEM "&Insert Point", ID_ENVELOPE_INSERTPOINT + MENUITEM "&Remove Point", ID_ENVELOPE_REMOVEPOINT + MENUITEM "&Toggle Release Node", ID_ENVELOPE_TOGGLERELEASENODE + MENUITEM SEPARATOR + MENUITEM "&Copy envelope", ID_EDIT_COPY + MENUITEM "&Paste envelope", ID_EDIT_PASTE + MENUITEM SEPARATOR + MENUITEM "Scale points...", ID_ENVELOPE_SCALEPOINTS + END +END + + +///////////////////////////////////////////////////////////////////////////// +// // Cursor // @@ -2218,55 +2218,6 @@ ///////////////////////////////////////////////////////////////////////////// // -// Bitmap -// - -IDB_SPLASHNOFOLDFIN BITMAP "res\\splashno.bmp" -IDB_MAINBAR BITMAP "res\\MAINBAR.BMP" - -///////////////////////////////////////////////////////////////////////////// -// -// Menu -// - -IDR_VSTMENU MENU -BEGIN - POPUP "&File" - BEGIN - MENUITEM "&Load Preset...", ID_PRESET_LOAD - MENUITEM "&Save Preset As...", ID_PRESET_SAVE - MENUITEM SEPARATOR - MENUITEM "&Randomize Params", ID_PRESET_RANDOM - END - POPUP "&Info" - BEGIN - MENUITEM "I&nputs", ID_INFO_INPUTS36015 - MENUITEM "Ou&tputs", ID_INFO_OUPUTS - MENUITEM "&Macros", ID_INFO_MACROS36017 - END - POPUP "&Options" - BEGIN - MENUITEM "&Bypass", ID_PLUG_BYPASS - MENUITEM "Record &Params", ID_PLUG_RECORDAUTOMATION - END -END - -IDR_PLUGINMENU MENU -BEGIN - POPUP "File" - BEGIN - MENUITEM "Open", ID_FILE_OPENPRESET - MENUITEM "Save", ID_FILE_SAVEPRESET - END - POPUP "Factory preset" - BEGIN - MENUITEM SEPARATOR - END -END - - -///////////////////////////////////////////////////////////////////////////// -// // Dialog // @@ -2510,6 +2461,55 @@ ///////////////////////////////////////////////////////////////////////////// // +// Bitmap +// + +IDB_SPLASHNOFOLDFIN BITMAP "res\\splashno.bmp" +IDB_MAINBAR BITMAP "res\\MAINBAR.BMP" + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_VSTMENU MENU +BEGIN + POPUP "&File" + BEGIN + MENUITEM "&Load Preset...", ID_PRESET_LOAD + MENUITEM "&Save Preset As...", ID_PRESET_SAVE + MENUITEM SEPARATOR + MENUITEM "&Randomize Params", ID_PRESET_RANDOM + END + POPUP "&Info" + BEGIN + MENUITEM "I&nputs", ID_INFO_INPUTS36015 + MENUITEM "Ou&tputs", ID_INFO_OUPUTS + MENUITEM "&Macros", ID_INFO_MACROS36017 + END + POPUP "&Options" + BEGIN + MENUITEM "&Bypass", ID_PLUG_BYPASS + MENUITEM "Record &Params", ID_PLUG_RECORDAUTOMATION + END +END + +IDR_PLUGINMENU MENU +BEGIN + POPUP "File" + BEGIN + MENUITEM "Open", ID_FILE_OPENPRESET + MENUITEM "Save", ID_FILE_SAVEPRESET + END + POPUP "Factory preset" + BEGIN + MENUITEM SEPARATOR + END +END + + +///////////////////////////////////////////////////////////////////////////// +// // Dialog Info // Modified: trunk/OpenMPT/mptrack/resource.h =================================================================== --- trunk/OpenMPT/mptrack/resource.h 2009-07-29 12:20:51 UTC (rev 309) +++ trunk/OpenMPT/mptrack/resource.h 2009-07-29 22:18:17 UTC (rev 310) @@ -10,7 +10,7 @@ #define IDD_PROGRESS 106 #define IDD_OPTIONS_KEYBOARD 108 #define IDD_OPTIONS_COLORS 109 -#define IDD_MIDISETUP 111 +#define IDD_OPTIONS_MIDI 111 #define IDD_OPTIONS_PATTERN 112 #define IDD_LOADRAWSAMPLE 113 #define IDD_CONTROL_GLOBALS 114 @@ -106,7 +106,6 @@ #define IDD_MIDIPARAMCONTROL 515 #define IDD_MSGBOX_HIDABLE 516 #define IDD_ADDSILENCE 517 -#define IDD_DIALOG4 518 #define IDD_MODLOADING_WARNINGS 518 #define IDC_BUTTON1 1001 #define IDC_BUTTON2 1002 Modified: trunk/OpenMPT/soundlib/Snd_fx.cpp =================================================================== --- trunk/OpenMPT/soundlib/Snd_fx.cpp 2009-07-29 12:20:51 UTC (rev 309) +++ trunk/OpenMPT/soundlib/Snd_fx.cpp 2009-07-29 22:18:17 UTC (rev 310) @@ -1846,6 +1846,8 @@ BOOL bNoLoop = FALSE; if (nPosJump < 0) nPosJump = m_nCurrentPattern+1; if (nBreakRow < 0) nBreakRow = 0; + + if(nBreakRow >= 0) m_bPatternBreak = true; // Modplug Tracker & ModPlugin allow backward jumps #ifndef FASTSOUNDLIB if ((nPosJump < (int)m_nCurrentPattern) Modified: trunk/OpenMPT/soundlib/Sndfile.h =================================================================== --- trunk/OpenMPT/soundlib/Sndfile.h 2009-07-29 12:20:51 UTC (rev 309) +++ trunk/OpenMPT/soundlib/Sndfile.h 2009-07-29 22:18:17 UTC (rev 310) @@ -883,6 +883,7 @@ BYTE m_nMixLevels; UINT m_nMusicSpeed, m_nMusicTempo; UINT m_nNextRow, m_nRow; + BOOL m_bPatternBreak; // Will be set if "break to row" happened UINT m_nPattern,m_nCurrentPattern,m_nNextPattern,m_nRestartPos, m_nSeqOverride; //NOTE: m_nCurrentPattern and m_nNextPattern refer to order index - not pattern index. bool m_bPatternTransitionOccurred; Modified: trunk/OpenMPT/soundlib/Sndmix.cpp =================================================================== --- trunk/OpenMPT/soundlib/Sndmix.cpp 2009-07-29 12:20:51 UTC (rev 309) +++ trunk/OpenMPT/soundlib/Sndmix.cpp 2009-07-29 22:18:17 UTC (rev 310) @@ -643,9 +643,16 @@ { if (!m_nRepeatCount) return FALSE; - if (!m_nRestartPos) + + if(CMainFrame::GetMainFrame()) { + // If channel resetting is disabled, we will emulate a pattern break + if(!(CMainFrame::GetMainFrame()->m_dwPatternSetup & PATTERN_RESETCHANNELS)) + m_bPatternBreak = true; + } + if (!m_nRestartPos && !m_bPatternBreak) + { //rewbs.instroVSTi: stop all VSTi at end of song, if looping. StopAllVsti(); m_nMusicSpeed = m_nDefaultSpeed; @@ -683,7 +690,8 @@ //Handle Repeat position if (m_nRepeatCount > 0) m_nRepeatCount--; m_nCurrentPattern = m_nRestartPos; - m_nRow = 0; + //m_nRow = 0; + m_bPatternBreak = false; //If restart pos points to +++, move along while (Order[m_nCurrentPattern] == Order.GetIgnoreIndex()) { m_nCurrentPattern++; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |