From: <sag...@us...> - 2011-03-23 22:40:43
|
Revision: 827 http://modplug.svn.sourceforge.net/modplug/?rev=827&view=rev Author: saga-games Date: 2011-03-23 22:40:37 +0000 (Wed, 23 Mar 2011) Log Message: ----------- [Fix] IT Compatibility: Incorrect notes were memorized for PPS and possibly other effects when working with instruments that had non-default note assignments (f.e. C-5 => D-4) (commiting this before I forget what it does, because the fix is getting old...) [Mod] Updated History.txt / release notes [Mod] OpenMPT: Version is now 1.19.00.30 Modified Paths: -------------- trunk/OpenMPT/mptrack/version.h trunk/OpenMPT/packageTemplate/History.txt trunk/OpenMPT/packageTemplate/OMPT_1.19_ReleaseNotes.html trunk/OpenMPT/soundlib/Snd_fx.cpp Modified: trunk/OpenMPT/mptrack/version.h =================================================================== --- trunk/OpenMPT/mptrack/version.h 2011-03-23 20:57:22 UTC (rev 826) +++ trunk/OpenMPT/mptrack/version.h 2011-03-23 22:40:37 UTC (rev 827) @@ -15,7 +15,7 @@ #define VER_MAJORMAJOR 1 #define VER_MAJOR 19 #define VER_MINOR 00 -#define VER_MINORMINOR 29 +#define VER_MINORMINOR 30 //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 2011-03-23 20:57:22 UTC (rev 826) +++ trunk/OpenMPT/packageTemplate/History.txt 2011-03-23 22:40:37 UTC (rev 827) @@ -10,23 +10,25 @@ (tx XYZ): thanks to XYZ for telling us about the bug -v1.19.01.00 (March 2011, revision 820) +v1.19.01.00 (March 2011, revision 827) -------------------------------------- Pattern tab [New] <Jojo> Clicking and dragging the row numbers selects the whole row now (Excel / Calc style) - see http://bugs.openmpt.org/view.php?id=45 [New] <Jojo> The new keyboard shortcuts "Select beat" and "Select measure" can be used to automatically extend the current selection to the beat / measure boundaries. [New] <Jojo> Experimental feature: Play the whole pattern row when entering notes and chords into the pattern editor. This can be enabled from the setup screen. [Imp] <Jojo> Special paste modes have been moved to a sub menu in the context menu, to save some space. + [Imp] <Jojo> Status bar now indicates if highpass filter is enabled on a channel. [Mod] <Jojo> Using the Goto Dialog should now update channel parameters and set the elapsed time. (http://bugs.openmpt.org/view.php?id=28) [Mod] <Jojo> Undo steps have been increased from 100 to 1000. + [Fix] <Jojo> Shrink selection is more consistent with Shrink pattern now: Entries on odd rows are not ignored anymore if there is no entry in the even rows. Also, cleaning of the pattern after shrinking the selection has been fixed - it cleaned whole commands instead of just the selected parts of a command. [Fix] <Jojo> Cursor paste was possible even when editing was disabled. [Fix] <Jojo> Using Right-Click -> Change Plugin on PC notes did not work for plugin numbers that were higher than the highest instrument number. [Fix] <Jojo> When entering chords into the pattern editor, the module was only marked as modified if the base note of the chord was changed. [Fix] <Jojo> When jumping to an order which is normally not played, the song variables are now reset (previously, if the main song had f.e. a global volume fade out at the end, this was retained when switching to an unplayed order, effectively muting all sub songs). - [Fix] <Jojo> OpenMPT should not crash anymore when applying the Amplify command on a pattern selection that just covers the note / instrument column of the first channel. + [Fix] <Jojo> OpenMPT does not crash anymore when applying the Amplify command on a pattern selection that just covers the note / instrument column of the first channel. [Fix] <Jojo> Queueing a "---" or "+++" item now automatically moves the queue "cursor" to the next available pattern. Previously, queueing a "---" pattern restarted the song. - [Fix] <Jojo> Changing a channel name from the pattern editor didn't set the document as modified (http://bugs.openmpt.org/view.php?id=65) - [Fix] <Jojo> When restarting a pattern, the timer was not reset properly. + [Fix] <Jojo> Changing a channel name from the pattern editor didn't mark the document as modified (http://bugs.openmpt.org/view.php?id=65) + [Fix] <Jojo> When restarting a pattern, the song timer was not reset properly. [Fix] <Jojo> Entering a note-off event in the MOD format created an unnecessary undo event. [Fix] <Jojo> Automation data is not written to the pattern if the current module format does not support smooth midi macros. [Reg] <Jojo> The "Position aware timer" option is gone. The position aware timer is now automatically used. It was optional in the first place because of some buggy code, which is now fixed. @@ -93,6 +95,7 @@ [Imp] <Jojo> IT Loader: Autovibrato sweep is now fixed when loading IT files made with old versions of (Open)MPT. [Mod] <Jojo> Sane values are used again for the "cwtv" and "cmwt" header fields when saving IT files; in fact the same values as in compatibility export are used. To be able to distinguish between raped and compatibility-exported IT files, "OMPT" is written in the "reserved" header field. As a consequence, IT files made with OpenMPT can now be loaded in Impulse Tracker again. [Mod] <Jojo> IT Loader: MIDI macros are now cleared when loading IT files made with old Impulse Tracker versions (< 2.14), so that Zxx commands won't break the songs anymore (fixes denonde.it, fix from Schism Tracker). + [Fix] <Jojo> Incorrect notes were memorized for PPS (and possibly other effects) when working with instruments that had non-default note assignments (f.e. C-5 => D-4) [Fix] <Jojo> In compatible mode, bidi loops are now treated like in IT's software mixer. (http://bugs.openmpt.org/view.php?id=29) [Fix] <Jojo> Sample autovibrato is now hopefully a bit closer to Impulse Tracker in compatible mode... (http://bugs.openmpt.org/view.php?id=5) [Fix] <Jojo> The envelope handling was altered slightly to work more like in Schism Tracker. This fixes a combination of Envelope Carry + Portamento as it can be found in "electric bunny" by Alpha C. @@ -144,6 +147,7 @@ [Imp] <Jojo> Sound Setup: For ASIO devices, only supported sampling rates are now shown. [Imp] <Jojo> The instrument list on the comments tab also shows assigned plugins now. [Imp] <Jojo> Added Mix Paste (IT Style) to the "Paste Special" edit menu + [Imp] <Jojo> Macro Editor: User is now warned if the current macro configuration differs from the default configuration but embedding macro configuration is disabled. [Mod] <Jojo> Changes to keymap file handling: The active keymap is now always saved to Keybindings.mkb (in either %APPDATA%\OpenMPT or the executable's directory). Any other keymaps are now only overwritten when using the "Save keys as" function. (http://bugs.openmpt.org/view.php?id=20) [Mod] <Jojo> On first run, the default ASIO driver is now chosen instead of DirectSound (if there is one). [Mod] <Jojo> The "Original" mix mode now also has a version number (1.16) to reflect what the "original" thing is. Modified: trunk/OpenMPT/packageTemplate/OMPT_1.19_ReleaseNotes.html =================================================================== --- trunk/OpenMPT/packageTemplate/OMPT_1.19_ReleaseNotes.html 2011-03-23 20:57:22 UTC (rev 826) +++ trunk/OpenMPT/packageTemplate/OMPT_1.19_ReleaseNotes.html 2011-03-23 22:40:37 UTC (rev 827) @@ -92,7 +92,7 @@ <li>When exporting to WAV, <strong>cue points</strong> are now inserted at every pattern transition.</li> <li>The last remaining absolute paths in the settings files have been removed; OpenMPT is now <strong>fully portable</strong>!</li> <li>The instrument list on the comments tab also shows <strong>assigned plugins</strong> now.</li> - <li>New <strong>keyboard shortcuts</strong>: Panic, View Edit History, Set Invalid / Ignore Pattern (in the orderlist), Quick fade (sample editor)</li> + <li>New <strong>keyboard shortcuts</strong>: Panic, View Edit History, Set Invalid / Ignore Pattern (in the orderlist), Select beat / measure (pattern editor), Quick fade (sample editor)</li> <li>Changes to <strong>keymap file handling</strong>: The active keymap is now always saved to Keybindings.mkb. Any other keymaps are now only overwritten when using the "Save keys as" function.</li> <li>When using the ACM MP3 codec, 320kbit/s bitrate should now be available.</li> </ul> @@ -104,9 +104,11 @@ <ul> <li><strong>Per-pattern time signatures</strong> allow to override the global time signature. This is especially useful in modern tempo mode if you want to use several time signatures in the same song, or if you just temporarily need more detail in a pattern.</li> <li>You can now <strong>select whole rows</strong> by clicking / dragging the row index on the left side of the pattern.</li> + <li>There are new shortcuts for <strong>selecting a whole beat or measure</strong>.</li> <li>The search feature has been extended to allow for <strong>searching in pattern selections</strong>.</li> <li>Furthermore, the usability of the Find / Replace dialog has been improved: Corresponding checkboxes are now automatically ticked when the value of a dropdown box has been changed. "Replace All" no longer creates an undo point for every replaced command.</li> <li>It is now possible to <strong>play the whole pattern row when entering notes</strong> and chords into the pattern editor. This behaviour can be enabled from the setup screen.</li> + <li>The <strong>context menu</strong> has been restructured slightly to contain all advanced paste modes in a sub menu.</li> </ul> <h3>Sample Editor / Instrument Editor</h3> @@ -141,7 +143,7 @@ <i>This list has mostly been copied over from the old 1.17RC2 release notes, so this not very comprehensive... :-)</i> </p> <ul> - <li>Far from perfect VST support (no busses for routing, no MIDI routing, only a few tracker effects are supported, etc...)</li> + <li>Far from perfect VST support (no buses for routing, no MIDI routing, only a few tracker effects are supported, etc...)</li> <li>Some controls vanish randomly all the time, most notably under Windows Vista and Windows 7.</li> <li>Previewing samples from the treeview's file browser stops the playing module.</li> <li>Cannot preview instruments directly from the MIDI library in the treeview.</li> Modified: trunk/OpenMPT/soundlib/Snd_fx.cpp =================================================================== --- trunk/OpenMPT/soundlib/Snd_fx.cpp 2011-03-23 20:57:22 UTC (rev 826) +++ trunk/OpenMPT/soundlib/Snd_fx.cpp 2011-03-23 22:40:37 UTC (rev 827) @@ -522,7 +522,7 @@ } else if (m_nInstruments) { - if (note >= 0xFE) return; + if (note >= NOTE_MIN_SPECIAL) return; pSmp = NULL; } @@ -725,6 +725,8 @@ MODINSTRUMENT *pIns = pChn->pModInstrument; const bool bNewTuning = (m_nType == MOD_TYPE_MPT && pIns && pIns->pTuning); + // save the note that's actually used, as it's necessary to properly calculate PPS and stuff + const int realnote = note; if ((pIns) && (note <= 0x80)) { @@ -798,7 +800,14 @@ { note = CLAMP(note, NOTE_MIN, NOTE_MAX); } - pChn->nNote = note; + if(IsCompatibleMode(TRK_IMPULSETRACKER)) + { + // need to memorize the original note for various effects (f.e. PPS) + pChn->nNote = CLAMP(realnote, NOTE_MIN, NOTE_MAX); + } else + { + pChn->nNote = note; + } pChn->m_CalculateFreq = true; if ((!bPorta) || (m_nType & (MOD_TYPE_S3M|MOD_TYPE_IT|MOD_TYPE_MPT))) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |