Mercurial > audlegacy-plugins
changeset 951:df18b664f4e0 trunk
[svn] D00 Vibrato and Slides fix by Dennis Lindroos (from upstream CVS).
author | chainsaw |
---|---|
date | Fri, 13 Apr 2007 08:07:32 -0700 |
parents | 668110a6a412 |
children | 87666f9bf6d0 |
files | ChangeLog src/adplug/core/d00.cxx src/adplug/core/d00.h |
diffstat | 3 files changed, 18 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Fri Apr 13 05:23:27 2007 -0700 +++ b/ChangeLog Fri Apr 13 08:07:32 2007 -0700 @@ -1,3 +1,10 @@ +2007-04-13 12:23:27 +0000 Giacomo Lozito <james@develia.org> + revision [2034] + - curl: do NOT use signals with the new multi-thread layout, and take care of the url string value + trunk/src/curl/curl.c | 14 +++++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + + 2007-04-12 22:03:53 +0000 William Pitcock <nenolod@sacredspiral.co.uk> revision [2032] - revert r2028.
--- a/src/adplug/core/d00.cxx Fri Apr 13 05:23:27 2007 -0700 +++ b/src/adplug/core/d00.cxx Fri Apr 13 08:07:32 2007 -0700 @@ -1,6 +1,6 @@ /* * Adplug - Replayer for many OPL2/OPL3 audio file formats. - * Copyright (C) 1999 - 2006 Simon Peter, <dn.tlp@gmx.net>, et al. + * Copyright (C) 1999 - 2007 Simon Peter, <dn.tlp@gmx.net>, et al. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -251,6 +251,7 @@ patt = (unsigned short *)((char *)filedata + LE_WORD(&seqptr[ord])); break; } + channel[c].fxflag = 0; readseq: // process sequence (pattern) if(!version) // v0: always initialize rhcnt channel[c].rhcnt = channel[c].irhcnt; @@ -282,7 +283,10 @@ break; default: // play note // restart fx - channel[c].slideval = 0; channel[c].slide = 0; channel[c].vibdepth = 0; + if(!(channel[c].fxflag & 1)) + channel[c].vibdepth = 0; + if(!(channel[c].fxflag & 2)) + channel[c].slideval = channel[c].slide = 0; if(version) { // note handling for v1 and above if(note > 0x80) // locked note (no channel transpose) @@ -350,6 +354,7 @@ channel[c].vibspeed = fxop & 0xff; channel[c].vibdepth = fxop >> 8; channel[c].trigger = fxop >> 9; + channel[c].fxflag |= 1; break; case 8: // v0: Duration if(!version) @@ -381,9 +386,11 @@ break; case 0xd: // Slide up channel[c].slide = fxop; + channel[c].fxflag |= 2; break; case 0xe: // Slide down channel[c].slide = -fxop; + channel[c].fxflag |= 2; break; } goto readseq; // event is incomplete, note follows
--- a/src/adplug/core/d00.h Fri Apr 13 05:23:27 2007 -0700 +++ b/src/adplug/core/d00.h Fri Apr 13 08:07:32 2007 -0700 @@ -1,6 +1,6 @@ /* * AdPlug - Replayer for many OPL2/OPL3 audio file formats. - * Copyright (C) 1999 - 2006 Simon Peter, <dn.tlp@gmx.net>, et al. + * Copyright (C) 1999 - 2007 Simon Peter, <dn.tlp@gmx.net>, et al. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -67,7 +67,7 @@ struct { unsigned short *order,ordpos,pattpos,del,speed,rhcnt,key,freq,inst,spfx,ispfx,irhcnt; signed short transpose,slide,slideval,vibspeed; - unsigned char seqend,vol,vibdepth,fxdel,modvol,cvol,levpuls,frameskip,nextnote,note,ilevpuls,trigger; + unsigned char seqend,vol,vibdepth,fxdel,modvol,cvol,levpuls,frameskip,nextnote,note,ilevpuls,trigger,fxflag; } channel[9]; struct Sinsts {