From: <re...@us...> - 2006-08-13 09:05:26
|
Revision: 159 Author: rewbs Date: 2006-08-13 02:05:14 -0700 (Sun, 13 Aug 2006) ViewCVS: http://svn.sourceforge.net/modplug/?rev=159&view=rev Log Message: ----------- v1.17.02.44 + <rewbs> Added release section to volume envelope (see: http://openmpt.xwiki.com/xwiki/bin/view/Manual/InstrumentReleaseEnvelope). IT only. . <rewbs> Overflow fixes in file loading functions (see: http://aluigi.altervista.org/adv/mptho-adv.txt) . <rewbs> Greyed out irrelevant items in the orderlist context menu. Modified Paths: -------------- trunk/OpenMPT/soundlib/Dlsbank.cpp trunk/OpenMPT/soundlib/LOAD_DBM.CPP trunk/OpenMPT/soundlib/Load_ams.cpp trunk/OpenMPT/soundlib/Load_mdl.cpp trunk/OpenMPT/soundlib/Load_med.cpp trunk/OpenMPT/soundlib/Load_mid.cpp trunk/OpenMPT/soundlib/Load_xm.cpp trunk/OpenMPT/soundlib/Sampleio.cpp Modified: trunk/OpenMPT/soundlib/Dlsbank.cpp =================================================================== --- trunk/OpenMPT/soundlib/Dlsbank.cpp 2006-08-13 09:04:37 UTC (rev 158) +++ trunk/OpenMPT/soundlib/Dlsbank.cpp 2006-08-13 09:05:14 UTC (rev 159) @@ -1701,6 +1701,9 @@ penv->nDNA = DNA_NOTEFADE; penv->nResampling = SRCMODE_DEFAULT; penv->nFilterMode = FLTMODE_UNCHANGED; + penv->nPanEnvReleaseNode=ENV_RELEASE_NODE_UNSET; + penv->nPitchEnvReleaseNode=ENV_RELEASE_NODE_UNSET; + penv->nVolEnvReleaseNode=ENV_RELEASE_NODE_UNSET; pSndFile->Headers[nInstr] = penv; nSample = 1; UINT nLoadedSmp = 0; Modified: trunk/OpenMPT/soundlib/LOAD_DBM.CPP =================================================================== --- trunk/OpenMPT/soundlib/LOAD_DBM.CPP 2006-08-13 09:04:37 UTC (rev 158) +++ trunk/OpenMPT/soundlib/LOAD_DBM.CPP 2006-08-13 09:05:14 UTC (rev 159) @@ -167,8 +167,7 @@ else penv->nPan = 128; penv->nPPC = 5*12; - penv->nResampling = SRCMODE_DEFAULT; - penv->nFilterMode = FLTMODE_UNCHANGED; + SetDefaultInstrumentValues(penv); for (UINT i=0; i<120; i++) { penv->Keyboard[i] = nsmp; Modified: trunk/OpenMPT/soundlib/Load_ams.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_ams.cpp 2006-08-13 09:04:37 UTC (rev 158) +++ trunk/OpenMPT/soundlib/Load_ams.cpp 2006-08-13 09:05:14 UTC (rev 159) @@ -366,8 +366,7 @@ penv->nGlobalVol = 64; penv->nPan = 128; penv->nPPC = 60; - penv->nResampling = SRCMODE_DEFAULT; - penv->nFilterMode = FLTMODE_UNCHANGED; + SetDefaultInstrumentValues(penv); Headers[nIns] = penv; if (insnamelen) { Modified: trunk/OpenMPT/soundlib/Load_mdl.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_mdl.cpp 2006-08-13 09:04:37 UTC (rev 158) +++ trunk/OpenMPT/soundlib/Load_mdl.cpp 2006-08-13 09:05:14 UTC (rev 159) @@ -331,8 +331,7 @@ memcpy(penv->name, lpStream+dwPos+2, 32); penv->nGlobalVol = 64; penv->nPPC = 5*12; - penv->nResampling = SRCMODE_DEFAULT; - penv->nFilterMode = FLTMODE_UNCHANGED; + SetDefaultInstrumentValues(penv); for (j=0; j<lpStream[dwPos+1]; j++) { const BYTE *ps = lpStream+dwPos+34+14*j; Modified: trunk/OpenMPT/soundlib/Load_med.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_med.cpp 2006-08-13 09:04:37 UTC (rev 158) +++ trunk/OpenMPT/soundlib/Load_med.cpp 2006-08-13 09:05:14 UTC (rev 159) @@ -696,11 +696,13 @@ // Song Comments UINT annotxt = BigEndian(pmex->annotxt); UINT annolen = BigEndian(pmex->annolen); - if ((annotxt) && (annolen) && (annotxt+annolen <= dwMemLength)) - { + annolen = min(annolen, MED_MAX_COMMENT_LENGTH); //Thanks to Luigi Auriemma for pointing out an overflow risk + if ((annotxt) && (annolen) && (annotxt+annolen <= dwMemLength) ) { m_lpszSongComments = new char[annolen+1]; - memcpy(m_lpszSongComments, lpStream+annotxt, annolen); - m_lpszSongComments[annolen] = 0; + if (m_lpszSongComments) { + memcpy(m_lpszSongComments, lpStream+annotxt, annolen); + m_lpszSongComments[annolen] = 0; + } } // Song Name UINT songname = BigEndian(pmex->songname); Modified: trunk/OpenMPT/soundlib/Load_mid.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_mid.cpp 2006-08-13 09:04:37 UTC (rev 158) +++ trunk/OpenMPT/soundlib/Load_mid.cpp 2006-08-13 09:05:14 UTC (rev 159) @@ -424,8 +424,7 @@ penv->nNNA = NNA_NOTEOFF; penv->nDCT = (nChannel == MIDI_DRUMCHANNEL) ? DCT_SAMPLE : DCT_NOTE; penv->nDNA = DNA_NOTEFADE; - penv->nResampling = SRCMODE_DEFAULT; - penv->nFilterMode = FLTMODE_UNCHANGED; + SetDefaultInstrumentValues(penv); for (UINT j=0; j<120; j++) { int mapnote = j+1; Modified: trunk/OpenMPT/soundlib/Load_xm.cpp =================================================================== --- trunk/OpenMPT/soundlib/Load_xm.cpp 2006-08-13 09:04:37 UTC (rev 158) +++ trunk/OpenMPT/soundlib/Load_xm.cpp 2006-08-13 09:05:14 UTC (rev 159) @@ -385,8 +385,7 @@ penv->nFadeOut = xmsh.volfade; penv->nPan = 128; penv->nPPC = 5*12; - penv->nResampling = SRCMODE_DEFAULT; - penv->nFilterMode = FLTMODE_UNCHANGED; + SetDefaultInstrumentValues(penv); if (xmsh.vtype & 1) penv->dwFlags |= ENV_VOLUME; if (xmsh.vtype & 2) penv->dwFlags |= ENV_VOLSUSTAIN; if (xmsh.vtype & 4) penv->dwFlags |= ENV_VOLLOOP; Modified: trunk/OpenMPT/soundlib/Sampleio.cpp =================================================================== --- trunk/OpenMPT/soundlib/Sampleio.cpp 2006-08-13 09:04:37 UTC (rev 158) +++ trunk/OpenMPT/soundlib/Sampleio.cpp 2006-08-13 09:05:14 UTC (rev 159) @@ -82,8 +82,7 @@ penv->nGlobalVol = 64; penv->nPan = 128; penv->nPPC = 5*12; - penv->nResampling = SRCMODE_DEFAULT; - penv->nFilterMode = FLTMODE_UNCHANGED; + SetDefaultInstrumentValues(penv); for (UINT iinit=0; iinit<128; iinit++) { penv->Keyboard[iinit] = nSample; @@ -1167,8 +1166,7 @@ if (penv->nPanLoopStart >= penv->nPanLoopEnd) penv->dwFlags &= ~ENV_PANLOOP; penv->nGlobalVol = 64; penv->nPPC = 5*12; - penv->nResampling = SRCMODE_DEFAULT; - penv->nFilterMode = FLTMODE_UNCHANGED; + SetDefaultInstrumentValues(penv); for (UINT ienv=0; ienv<12; ienv++) { penv->VolPoints[ienv] = (WORD)pih->venv[ienv*2]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |