From 5e05b951d585828fc61ad3a9dec9d41a880d791e Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Thu, 8 Jan 2004 03:12:11 +0000 Subject: [PATCH] upgrade to libresample 0.1.3 --- stepmania/Program/resample.dll | Bin 18942 -> 5120 bytes .../src/RageSoundReader_Resample_Good.cpp | 2 +- stepmania/src/libresample/Makefile.in | 21 +-- stepmania/src/libresample/README.txt | 16 +++ .../include/{resample.h => libresample.h} | 0 stepmania/src/libresample/resample.def | 6 + stepmania/src/libresample/resample.lib | Bin 3654 -> 2826 bytes stepmania/src/libresample/src/filterkit.c | 41 +++--- stepmania/src/libresample/src/filterkit.h | 10 +- stepmania/src/libresample/src/resample.c | 12 +- stepmania/src/libresample/src/resample_defs.h | 18 ++- stepmania/src/libresample/src/resamplesubs.c | 89 +++++++----- .../src/libresample/tests/compareresample.c | 2 +- .../src/libresample/tests/resample-sndfile.c | 11 +- .../src/libresample/tests/testresample.c | 4 +- stepmania/src/libresample/win/libresample.dsp | 134 ++++++++++++++++++ stepmania/src/libresample/win/libresample.dsw | 29 ++++ 17 files changed, 304 insertions(+), 91 deletions(-) rename stepmania/src/libresample/include/{resample.h => libresample.h} (100%) create mode 100644 stepmania/src/libresample/resample.def create mode 100644 stepmania/src/libresample/win/libresample.dsp create mode 100644 stepmania/src/libresample/win/libresample.dsw diff --git a/stepmania/Program/resample.dll b/stepmania/Program/resample.dll index 3541ae0dccd9ae1b4066e1ea16768e3370dbb131..9f6e3eac584e9a73193729cd7591aa83c3ab8182 100644 GIT binary patch delta 3603 zcmYjUX;@QN8ot>`2q6Rs7+EAhz$jaUsL=!oYq10jiGZ>rgw3!_NWcXN7@!TeAjrsA zsT~=0rq;nC7ErOW6#^oPI@QD^B(yFlvRJ2pg5J3}cBbcf-skPj66 z0O$|t{~0Lzu=}A3Z~r%0IlI#Ef&WW&1psgz0N_jDpswD@4#WEs01z5d-GnyL{N0R| zj+J|V?*Y&awFoxl0H6u3=00d_6dH4!90Qi?T1VPc@OU2_w#Y?h2gd~gsWw==IFyRUU(Dkrq ziy>%H8B8PS*OoH0A=H{koYtJH=*6*Bs||UOR%h-);;LV1dUO#a56yeLe$S%5s|%V| zm#F0^FvK2=pzxz6KY6M1qqAxbcfXsBg}P#tyJ%#^k3mcN1R5nu>9Ca7fh9Owl1c@N z!7LpQnptQe#ElQ@JZ*K>7>2<(|06<*Tk3e1m#oJSHE%m{B^13qElaMy$R_R%@@E_T zD7*DZi#qK%RB|afDIR>1*k1>1loL4O#7+lIABnFrMQ;bNxT5d&<*k|XN1FjHN&sxn z*FQx)d;1!wQxA{dl#gnT>QD4*`nHE@ddD>G?=AB-qjqP?bex5mb~Pd?G5BD@3>aeky;BeI4`sR^s>oQA3+aTJ=mq+81UcsW}8Cjc5|jxs&wVB&EttA(-P`BA09-2l`6XO(v$u#5W zTQgHR$14R~EACgGUy0e=UXZ+fNZTg`#oRe}TK#4xMnc z53s1@A_-*Dn@3Jo?g^f&5c0VWdsZijS@e#uS?5>wDe%F$|CIoE-*L)UWk99!`$ z#)p6wCj8Sf&)|q$))*ZS%SE__v6ENlb<&p_!cgw_LE8lZGFFU0>}FJdPYv{^7)qSL zSGlJSFUoaJ1$|zXtq;t3)Q91fdQFf&b@8ho{1X<3YJyGidsu$X@x_=cSncN2 zGjBz`R(OvgR$jhc(K+AY@=yknS!7}95zwF=*EfB>yoNm_dG(lnKK-k-L_PT%a<_d> z)}+_#>5Kv)M-a(HwqBaLM%_sBq{b=pQU}lThE0{e3A2Ugj+a;W*%MAG{Y_=|mGG+WNDXsR9Kf^|xNf<1-ew67--ECB5 zHdlO$3=OWV+ST%9$80ITa=4WDQz7A3tLg5$k4jf1wRQ18a?jbB}Q_Ev4XHF*|6bbNWt>8y zerCAeyyA=+nP$fhT?*zMcV9v+a%ZN`@A?_!T!T6^!sB3scl6|a(hiCqupK)iSNxPsj+2q9a~ICn&=T&n zt9wo9I%o96!dZGu#d$-bhoqB+&$OVZCcVe~z}f(+cLdJGBL@<6-VbyOjw`pfV({AP`*-cQ=`}`LZ!zE-;m8@Um-j~$7h`i;nyc83*4 zvQAN(Hxoij$YI#n$$MD)R_>CwNYOkYrFi7hh2eD>6+!gaoeTydyDI$$8nvO3d7bXP zlYVf^rRNpQNLmbw|2_wbVkR>@sF{2CQ9`)@>0=tPz;)q;rS5JluBu96?Ac6>%0bXM z*W*cP#lk378jJJLq>aAq#1(&zf|*ABG&(s+ZyUxS7c~&#Md@iSe-Rf$t_R4sfO>_U zdQM;>vjl}y?q?f!yOKGwl}!9%tF_F$1JOdb;LTq*-!fMA zE*vFuW+8)}A56;(Qqo(#5Sws&GWlkb1a~>|C{0nKRCw}@WFMK?(Kd~EuH%tgkw}su&M$Vt4f#5$a%dyTq_M5aV0io9G z=6(ZA%q?vQ<^)T^zBy+^hv7X0&E+64`1KJ1+GMrx;@nmoE#LfBB7Mf!Q~58x3Ij>%5q8LSEz7M zBL|L;S7SfH^+K|wn^Xq2SjwO#Q*>R literal 18942 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%0AKHhQkTv@~XTWClx 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 Gq5lFIKEy@< diff --git a/stepmania/src/RageSoundReader_Resample_Good.cpp b/stepmania/src/RageSoundReader_Resample_Good.cpp index 8ed093f7d4..2b36c0e99b 100644 --- a/stepmania/src/RageSoundReader_Resample_Good.cpp +++ b/stepmania/src/RageSoundReader_Resample_Good.cpp @@ -3,7 +3,7 @@ #include "RageUtil.h" #include "RageSoundReader_Resample_Good.h" -#include "libresample/include/resample.h" +#include "libresample/include/libresample.h" #ifdef _WINDOWS #pragma comment(lib, "libresample/resample.lib") #endif diff --git a/stepmania/src/libresample/Makefile.in b/stepmania/src/libresample/Makefile.in index baf4a9c21d..febf70aa99 100644 --- a/stepmania/src/libresample/Makefile.in +++ b/stepmania/src/libresample/Makefile.in @@ -10,6 +10,7 @@ LIBS = @LIBS@ -lm AR = @AR@ RANLIB = @RANLIB@ +srcdir=@srcdir@ OBJS = \ src/resample.c.o \ @@ -17,6 +18,7 @@ OBJS = \ src/filterkit.c.o TARGETS = @TARGETS@ +DIRS=tests all: $(TARGETS) @@ -24,21 +26,24 @@ libresample.a: $(OBJS) Makefile $(AR) ruv libresample.a $(OBJS) ranlib libresample.a -tests/testresample: libresample.a tests/testresample.c +tests/testresample: libresample.a $(srcdir)/tests/testresample.c $(DIRS) $(CC) -o tests/testresample \ - $(CFLAGS) tests/testresample.c \ + $(CFLAGS) $(srcdir)/tests/testresample.c \ libresample.a $(LIBS) -tests/compareresample: libresample.a tests/compareresample.c +tests/compareresample: libresample.a $(srcdir)/tests/compareresample.c $(DIRS) $(CC) -o tests/compareresample \ - $(CFLAGS) tests/compareresample.c \ + $(CFLAGS) $(srcdir)/tests/compareresample.c \ libresample.a -lsamplerate $(LIBS) -tests/resample-sndfile: libresample.a tests/resample-sndfile.c +tests/resample-sndfile: libresample.a $(srcdir)/tests/resample-sndfile.c $(DIRS) $(CC) -o tests/resample-sndfile \ - $(CFLAGS) tests/resample-sndfile.c \ + $(CFLAGS) $(srcdir)/tests/resample-sndfile.c \ libresample.a -lsndfile $(LIBS) +$(DIRS): + mkdir $(DIRS) + clean: rm -f $(TARGETS) $(OBJS) @@ -47,6 +52,6 @@ dist: clean rm -f config.status config.cache config.log src/config.h rm -f *~ src/*~ tests/*~ include/*~ -%.c.o: %.c Makefile include/resample.h \ - src/resample_defs.h src/filterkit.h src/config.h +$(OBJS): %.c.o: $(srcdir)/%.c Makefile $(srcdir)/include/libresample.h \ + $(srcdir)/src/resample_defs.h $(srcdir)/src/filterkit.h $(srcdir)/src/config.h $(CC) -c $(CFLAGS) $< -o $@ diff --git a/stepmania/src/libresample/README.txt b/stepmania/src/libresample/README.txt index 989920e086..14be45b833 100644 --- a/stepmania/src/libresample/README.txt +++ b/stepmania/src/libresample/README.txt @@ -31,6 +31,22 @@ I removed all of that code and replaced it with an API that lets you pass samples in small chunks. It should be easy to link to resample-1.7 as a library. +Changes in version 0.1.3: + +* Fixed two bugs that were causing subtle problems + on Intel x86 processors due to differences in roundoff errors. + +* Prefixed most function names with lrs and changed header file + from resample.h to libresample.h, to avoid namespace + collisions with existing programs and libraries. + +* Added resample_dup (thanks to Glenn Maynard) + +* Argument to resample_get_filter_width takes a const void * + (thanks to Glenn Maynard) + +* resample-sndfile clips output to -1...1 (thanks to Glenn Maynard) + Usage notes: - If the output buffer you pass is too small, resample_process diff --git a/stepmania/src/libresample/include/resample.h b/stepmania/src/libresample/include/libresample.h similarity index 100% rename from stepmania/src/libresample/include/resample.h rename to stepmania/src/libresample/include/libresample.h diff --git a/stepmania/src/libresample/resample.def b/stepmania/src/libresample/resample.def new file mode 100644 index 0000000000..9b08d99aa4 --- /dev/null +++ b/stepmania/src/libresample/resample.def @@ -0,0 +1,6 @@ +EXPORTS + resample_open + resample_dup + resample_get_filter_width + resample_process + resample_close diff --git a/stepmania/src/libresample/resample.lib b/stepmania/src/libresample/resample.lib index f1258bb0f42d8baa7390af6884867be670629925..52493b8620a6ad35309dae9625bb3064d07273b4 100644 GIT binary patch delta 511 zcmY+AO-lk%7=_PtNAGAe7JX=#VFg9C@N3kBzzEtTCG-dSK!!Gk;`|2}fe^g3v5o6m z3PM54+C{5q<8O#|Z6bP`>0{=?;l1!2&OP^iNSsB_l7afpE%Ir~)_|@MML%uCyVb4Jjgu)R1v{Rr1tR4(L-%$Y!fivuv9>VrI2v z*~h2Nx^-BqH*5>(pBH~eHsh_dXBPe|Y22wSfNBtEOCZH1DhgWa2JQ?6BhU~) z5GthSCdd$Fx)ATaU(=O3F0SuC=uX{NM1L&M8S(R5>G1xel!}i`=StbXeeEg&oU-{s zPcqqG4yitGjCSquOUX4 Zh8v$?gJ8pr;YoNi-1sCzmElrk;R}(Aa>oDw literal 3654 zcmcImPfrs;6o35##ceS}OeFE&l5oHameQ7Lj21xyp+Hm0d8uuIl494k#Dt5SI1s;p zpTMIRZe9p}01qa3)f+bxzCe9%c4udH+CmFulDD&O=FR+O=KbEA8GVtf=C@vIPjz>h z49BBWiNth#(%l}m)mS)c|E+5Pa1X%02M{;}7&rmYMr_%~n&ixqU>bnQ5!NUnv}1CB zHOaXpgWCX1PO&~UjD@B2N+xT}y;+^jETpq58KYXP<#x<+5e#E_EtP7vfKS}SGRV%a zEiW2#Guat1-j>SsVs&i}2bXqCL(=UYQ|UoHWmcXdmSaB^?AfLKz7G9H5+|Y~z4a6eJq>p%3~Y00ZCwucX}q z4T2DYK@fjF+1tXqP2S@^x(d^pSY(}`K(lm#Y3VjqgyIm!@wd$p%fxAAoKV_2bhR>y zdr~k=Wu=>c%_z>I6e{tV+eaZEIZ-H=iAk4boaxAvlW|fWAAFhr@amrj^9?fM4}d4= z>Bqkd$`JN>i9MGUG$dR4u-d6E8+fDr6NTct-OaI84l;{BW!%49k}&joqEyJ$b7K+S zeiwhfq1_ML)`xl$!pF8TpTCkFwI@M8#v_Aaj3_E0*=gf2JcQ8;G$9o_{)T>M zsg$o)YL$(;KAw4^rxunMS+DxRm}Vns2Fob{cG`WY1wh8ZW#lV6Ca$-k`=Qa`h}@C1 zKrirZCjr=!w|EQNAg$5ITcTux4dB?sL<_Z#(#I||JHT^Wqsj|e{Py}%(&R075)YAB zM2ZJ5i-+%Qd9+CIwBk#Fb%~F}mnq&#eEG^1yC%Ne5Dz->?L%Bf+k3w2b4&0i&AP_( z$ZrI&9NqfdJ~y3*6K65rMRfeh6}y(=EXupc?iW`iyB?lzCujNyq1z|tuGtvn$yulO zAO&g4Lm8UxYf3!gjV1dFdWu6Q$ZT_^&L-Y?g~inlqvam1mw zhrnuj9l3yIr6aE;TJP}zV$y9aaM{yKp5C?NPOxG;B`V%~j5rw15*B~gx!|<_<0Bt2 diff --git a/stepmania/src/libresample/src/filterkit.c b/stepmania/src/libresample/src/filterkit.c index e30ab82d8f..bc92285f2c 100644 --- a/stepmania/src/libresample/src/filterkit.c +++ b/stepmania/src/libresample/src/filterkit.c @@ -81,9 +81,9 @@ static double Izero(double x) return(sum); } -void LpFilter(double c[], int N, double frq, double Beta, int Num) +void lrsLpFilter(double c[], int N, double frq, double Beta, int Num) { - double IBeta, temp, inm1; + double IBeta, temp, temp1, inm1; int i; /* Calculate ideal lowpass filter impulse response coefficients: */ @@ -103,17 +103,22 @@ void LpFilter(double c[], int N, double frq, double Beta, int Num) inm1 = 1.0/((double)(N-1)); for (i=1; iNwing * sizeof(double)); - LpFilter(Imp64, hp->Nwing, 0.5*Rolloff, Beta, Npc); + lrsLpFilter(Imp64, hp->Nwing, 0.5*Rolloff, Beta, Npc); hp->Imp = (float *)malloc(hp->Nwing * sizeof(float)); hp->ImpD = (float *)malloc(hp->Nwing * sizeof(float)); @@ -269,12 +269,12 @@ int resample_process(void *handle, /* Resample stuff in input buffer */ if (factor >= 1) { /* SrcUp() is faster if we can use it */ - Nout = SrcUp(hp->X, hp->Y, factor, &hp->Time, Nx, - Nwing, LpScl, Imp, ImpD, interpFilt); + Nout = lrsSrcUp(hp->X, hp->Y, factor, &hp->Time, Nx, + Nwing, LpScl, Imp, ImpD, interpFilt); } else { - Nout = SrcUD(hp->X, hp->Y, factor, &hp->Time, Nx, - Nwing, LpScl, Imp, ImpD, interpFilt); + Nout = lrsSrcUD(hp->X, hp->Y, factor, &hp->Time, Nx, + Nwing, LpScl, Imp, ImpD, interpFilt); } #ifdef DEBUG diff --git a/stepmania/src/libresample/src/resample_defs.h b/stepmania/src/libresample/src/resample_defs.h index 8cacd3f18b..576c1bc2e2 100644 --- a/stepmania/src/libresample/src/resample_defs.h +++ b/stepmania/src/libresample/src/resample_defs.h @@ -14,11 +14,9 @@ #ifndef __RESAMPLE_DEFS__ #define __RESAMPLE_DEFS__ -//#ifdef WIN32 -//#include "configwin.h" -//#else +#if !defined(WIN32) && !defined(__CYGWIN__) #include "config.h" -//#endif +#endif #ifndef TRUE #define TRUE 1 @@ -77,12 +75,12 @@ /* Function prototypes */ -int SrcUp(float X[], float Y[], double factor, double *Time, - UWORD Nx, UWORD Nwing, float LpScl, - float Imp[], float ImpD[], BOOL Interp); +int lrsSrcUp(float X[], float Y[], double factor, double *Time, + UWORD Nx, UWORD Nwing, float LpScl, + float Imp[], float ImpD[], BOOL Interp); -int SrcUD(float X[], float Y[], double factor, double *Time, - UWORD Nx, UWORD Nwing, float LpScl, - float Imp[], float ImpD[], BOOL Interp); +int lrsSrcUD(float X[], float Y[], double factor, double *Time, + UWORD Nx, UWORD Nwing, float LpScl, + float Imp[], float ImpD[], BOOL Interp); #endif diff --git a/stepmania/src/libresample/src/resamplesubs.c b/stepmania/src/libresample/src/resamplesubs.c index 33a628dd80..c3c095dc04 100644 --- a/stepmania/src/libresample/src/resamplesubs.c +++ b/stepmania/src/libresample/src/resamplesubs.c @@ -27,61 +27,68 @@ /* Sampling rate up-conversion only subroutine; * Slightly faster than down-conversion; */ -int SrcUp(float X[], - float Y[], - double factor, - double *Time, - UWORD Nx, - UWORD Nwing, - float LpScl, - float Imp[], - float ImpD[], - BOOL Interp) +int lrsSrcUp(float X[], + float Y[], + double factor, + double *TimePtr, + UWORD Nx, + UWORD Nwing, + float LpScl, + float Imp[], + float ImpD[], + BOOL Interp) { float *Xp, *Ystart; float v; + double CurrentTime = *TimePtr; double dt; /* Step through input signal */ double endTime; /* When Time reaches EndTime, return to user */ dt = 1.0/factor; /* Output sampling period */ Ystart = Y; - endTime = *Time + Nx; - while (*Time < endTime) + endTime = CurrentTime + Nx; + while (CurrentTime < endTime) { - Xp = &X[(int)(*Time)]; /* Ptr to current input sample */ + double LeftPhase = CurrentTime-floor(CurrentTime); + double RightPhase = 1.0 - LeftPhase; + + Xp = &X[(int)CurrentTime]; /* Ptr to current input sample */ /* Perform left-wing inner product */ - v = FilterUp(Imp, ImpD, Nwing, Interp, Xp, - (*Time)-floor(*Time), -1); + v = lrsFilterUp(Imp, ImpD, Nwing, Interp, Xp, + LeftPhase, -1); /* Perform right-wing inner product */ - v += FilterUp(Imp, ImpD, Nwing, Interp, Xp+1, - ((-(*Time))-floor(-(*Time))), 1); + v += lrsFilterUp(Imp, ImpD, Nwing, Interp, Xp+1, + RightPhase, 1); v *= LpScl; /* Normalize for unity filter gain */ *Y++ = v; /* Deposit output */ - *Time += dt; /* Move to next sample by time increment */ + CurrentTime += dt; /* Move to next sample by time increment */ } + + *TimePtr = CurrentTime; return (Y - Ystart); /* Return the number of output samples */ } /* Sampling rate conversion subroutine */ -int SrcUD(float X[], - float Y[], - double factor, - double *Time, - UWORD Nx, - UWORD Nwing, - float LpScl, - float Imp[], - float ImpD[], - BOOL Interp) +int lrsSrcUD(float X[], + float Y[], + double factor, + double *TimePtr, + UWORD Nx, + UWORD Nwing, + float LpScl, + float Imp[], + float ImpD[], + BOOL Interp) { float *Xp, *Ystart; float v; - + + double CurrentTime = (*TimePtr); double dh; /* Step through filter impulse response */ double dt; /* Step through input signal */ double endTime; /* When Time reaches EndTime, return to user */ @@ -91,20 +98,26 @@ int SrcUD(float X[], dh = MIN(Npc, factor*Npc); /* Filter sampling period */ Ystart = Y; - endTime = *Time + Nx; - while (*Time < endTime) + endTime = CurrentTime + Nx; + while (CurrentTime < endTime) { - Xp = &X[(int)(*Time)]; /* Ptr to current input sample */ - v = FilterUD(Imp, ImpD, Nwing, Interp, Xp, - (*Time)-floor(*Time), -1, dh); - /* Perform left-wing inner product */ - v += FilterUD(Imp, ImpD, Nwing, Interp, Xp+1, - ((-(*Time))-floor(-(*Time))), 1, dh); + double LeftPhase = CurrentTime-floor(CurrentTime); + double RightPhase = 1.0 - LeftPhase; + + Xp = &X[(int)CurrentTime]; /* Ptr to current input sample */ + /* Perform left-wing inner product */ + v = lrsFilterUD(Imp, ImpD, Nwing, Interp, Xp, + LeftPhase, -1, dh); + /* Perform right-wing inner product */ + v += lrsFilterUD(Imp, ImpD, Nwing, Interp, Xp+1, + RightPhase, 1, dh); v *= LpScl; /* Normalize for unity filter gain */ *Y++ = v; /* Deposit output */ - *Time += dt; /* Move to next sample by time increment */ + CurrentTime += dt; /* Move to next sample by time increment */ } + + *TimePtr = CurrentTime; return (Y - Ystart); /* Return the number of output samples */ } diff --git a/stepmania/src/libresample/tests/compareresample.c b/stepmania/src/libresample/tests/compareresample.c index f2f49a153e..8773c9d4e9 100644 --- a/stepmania/src/libresample/tests/compareresample.c +++ b/stepmania/src/libresample/tests/compareresample.c @@ -11,7 +11,7 @@ **********************************************************************/ -#include "../include/resample.h" +#include "../include/libresample.h" #include diff --git a/stepmania/src/libresample/tests/resample-sndfile.c b/stepmania/src/libresample/tests/resample-sndfile.c index 3eec059a4b..e780228c17 100644 --- a/stepmania/src/libresample/tests/resample-sndfile.c +++ b/stepmania/src/libresample/tests/resample-sndfile.c @@ -11,7 +11,7 @@ **********************************************************************/ -#include "../include/resample.h" +#include "../include/libresample.h" #include @@ -174,7 +174,14 @@ int main(int argc, char **argv) } for(i=0; i= 1) + dsti[i*channels+c] = 1; + else + dsti[i*channels+c] = dst[i]; + } } sf_writef_float(dstfile, dsti, out); diff --git a/stepmania/src/libresample/tests/testresample.c b/stepmania/src/libresample/tests/testresample.c index b61119b7c3..a59aa8bfd5 100644 --- a/stepmania/src/libresample/tests/testresample.c +++ b/stepmania/src/libresample/tests/testresample.c @@ -11,7 +11,7 @@ **********************************************************************/ -#include "../include/resample.h" +#include "../include/libresample.h" #include #include @@ -91,7 +91,7 @@ void runtest(int srclen, double freq, double factor, for(i=0; i 0.05) { + if (fabs(diff) > 0.05) { if (errcount == 0) printf(" First error at i=%d: expected %.3f, got %.3f\n", i, sin((i/freq)/factor), dst[i]); diff --git a/stepmania/src/libresample/win/libresample.dsp b/stepmania/src/libresample/win/libresample.dsp new file mode 100644 index 0000000000..eaf79cb9ab --- /dev/null +++ b/stepmania/src/libresample/win/libresample.dsp @@ -0,0 +1,134 @@ +# Microsoft Developer Studio Project File - Name="libresample" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=libresample - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "libresample.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "libresample.mak" CFG="libresample - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "libresample - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "libresample - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "libresample - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Release" +# PROP Intermediate_Dir "Release" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBRESAMPLE_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBRESAMPLE_EXPORTS" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# 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 /machine:I386 +# ADD LINK32 kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib /nologo /dll /pdb:none /machine:I386 /out:"../resample.dll" /implib:"../resample.lib" + +!ELSEIF "$(CFG)" == "libresample - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBRESAMPLE_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MD /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "LIBRESAMPLE_EXPORTS" /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# 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 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 + +!ENDIF + +# Begin Target + +# Name "libresample - Win32 Release" +# Name "libresample - Win32 Debug" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=..\src\filterkit.c +# End Source File +# Begin Source File + +SOURCE=..\src\resample.c +# End Source File +# Begin Source File + +SOURCE=..\src\resamplesubs.c +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# Begin Source File + +SOURCE=..\src\config.h +# End Source File +# Begin Source File + +SOURCE=..\src\filterkit.h +# End Source File +# Begin Source File + +SOURCE=..\include\libresample.h +# End Source File +# Begin Source File + +SOURCE=..\src\resample_defs.h +# End Source File +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# End Group +# Begin Source File + +SOURCE=..\resample.def +# End Source File +# End Target +# End Project diff --git a/stepmania/src/libresample/win/libresample.dsw b/stepmania/src/libresample/win/libresample.dsw new file mode 100644 index 0000000000..8e6d18dc3e --- /dev/null +++ b/stepmania/src/libresample/win/libresample.dsw @@ -0,0 +1,29 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "libresample"=.\libresample.dsp - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### +