From 69f7f0c33559cf90e7d6ce7c0ddbd5501af7b1de Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Tue, 4 Mar 2003 04:40:14 +0000 Subject: "" svn path=/trunk/; revision=452 --- externals/grill/xsample/source/groove.cpp | 43 +++++++++++------------------- externals/grill/xsample/source/main.h | 2 +- externals/grill/xsample/xsample.cw | Bin 155147 -> 213671 bytes externals/grill/xsample/xsample.dsp | 2 +- 4 files changed, 17 insertions(+), 30 deletions(-) (limited to 'externals/grill/xsample') diff --git a/externals/grill/xsample/source/groove.cpp b/externals/grill/xsample/source/groove.cpp index 60bf617b..6355b1a0 100644 --- a/externals/grill/xsample/source/groove.cpp +++ b/externals/grill/xsample/source/groove.cpp @@ -276,7 +276,7 @@ V xgroove::m_xzone(F xz) { bufchk(); _xzone = xz < 0?0:xz; - do_xzone(); +// do_xzone(); s_dsp(); } @@ -335,6 +335,8 @@ V xgroove::m_xkeep(BL k) V xgroove::do_xzone() { + if(!s2u) return; // this can happen if DSP is off + xzone = _xzone/s2u; I smin = curmin,smax = curmax,plen = smax-smin; //curlen; if(xsymm < 0) { @@ -346,7 +348,7 @@ V xgroove::do_xzone() // desired crossfade points znmin = smin+xzone*xsymm,znmax = smax+xzone*(xsymm-1); // extra space at beginning and end - F o1 = znmin-xzone,o2 = buf->Frames()-(znmax+xzone); + F o1 = znmin-xzone,o2 = buf->Frames()-(znmax+xzone); if(o1 < 0 || o2 < 0) { // or (o1*o2 < 0) if(o1+o2 < 0) { @@ -595,7 +597,9 @@ V xgroove::s_dsp() switch(loopmode) { case xsl_once: SETSIGFUN(posfun,SIGFUN(s_pos_once)); break; case xsl_loop: - if(xzone > 0) { + if(_xzone > 0) { + // xzone might not be set yet (is done in do_xzone() ) + const I blksz = Blocksize(); if(pblksz != blksz) { @@ -610,34 +614,17 @@ V xgroove::s_dsp() pblksz = blksz; } + do_xzone(); // recalculate (s2u may have been 0 before) + SETSIGFUN(posfun,SIGFUN(s_pos_loopzn)); // linear interpolation should be just ok for fade zone, no? -/* - if(interp == xsi_4p) - switch(outchns) { - case 1: SETSTFUN(zonefun,TMPLSTF(st_play4,1,1)); break; - case 2: SETSTFUN(zonefun,TMPLSTF(st_play4,1,2)); break; - case 4: SETSTFUN(zonefun,TMPLSTF(st_play4,1,4)); break; - default: SETSTFUN(zonefun,TMPLSTF(st_play4,1,-1)); - } - else if(interp == xsi_lin) -*/ - switch(outchns) { - case 1: SETSTFUN(zonefun,TMPLSTF(st_play2,1,1)); break; - case 2: SETSTFUN(zonefun,TMPLSTF(st_play2,1,2)); break; - case 4: SETSTFUN(zonefun,TMPLSTF(st_play2,1,4)); break; - default: SETSTFUN(zonefun,TMPLSTF(st_play2,1,-1)); - } -/* - else - switch(outchns) { - case 1: SETSTFUN(zonefun,TMPLSTF(st_play1,1,1)); break; - case 2: SETSTFUN(zonefun,TMPLSTF(st_play1,1,2)); break; - case 4: SETSTFUN(zonefun,TMPLSTF(st_play1,1,4)); break; - default: SETSTFUN(zonefun,TMPLSTF(st_play1,1,-1)); - } -*/ + switch(outchns) { + case 1: SETSTFUN(zonefun,TMPLSTF(st_play2,1,1)); break; + case 2: SETSTFUN(zonefun,TMPLSTF(st_play2,1,2)); break; + case 4: SETSTFUN(zonefun,TMPLSTF(st_play2,1,4)); break; + default: SETSTFUN(zonefun,TMPLSTF(st_play2,1,-1)); + } } else SETSIGFUN(posfun,SIGFUN(s_pos_loop)); diff --git a/externals/grill/xsample/source/main.h b/externals/grill/xsample/source/main.h index 03d5d261..fbbb693b 100644 --- a/externals/grill/xsample/source/main.h +++ b/externals/grill/xsample/source/main.h @@ -11,7 +11,7 @@ WARRANTIES, see the file, "license.txt," in this distribution. #ifndef __XSAMPLE_H #define __XSAMPLE_H -#define XSAMPLE_VERSION "0.3.0pre4" +#define XSAMPLE_VERSION "0.3.0pre5" #define FLEXT_ATTRIBUTES 1 diff --git a/externals/grill/xsample/xsample.cw b/externals/grill/xsample/xsample.cw index 71f32471..88c1e049 100755 Binary files a/externals/grill/xsample/xsample.cw and b/externals/grill/xsample/xsample.cw differ diff --git a/externals/grill/xsample/xsample.dsp b/externals/grill/xsample/xsample.dsp index 18119476..e92f5bdb 100644 --- a/externals/grill/xsample/xsample.dsp +++ b/externals/grill/xsample/xsample.dsp @@ -79,7 +79,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib pd.lib flext_d-pdwin.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"c:\programme\audio\pd\bin\\" /libpath:"..\flext\pd-msvc\\" +# ADD LINK32 kernel32.lib user32.lib pd.lib flext_d-pdwin.lib ippsa6l.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"c:\programme\audio\pd\bin\\" /libpath:"..\flext\pd-msvc\\" !ENDIF -- cgit v1.2.1