[PD-cvs] pd/src d_soundfile.c,1.4.4.11.2.10.2.5,1.4.4.11.2.10.2.6
Mathieu Bouchard
matju at users.sourceforge.net
Thu Jun 28 10:50:31 CEST 2007
Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10139
Modified Files:
Tag: desiredata
d_soundfile.c
Log Message:
fix c++ warnings
Index: d_soundfile.c
===================================================================
RCS file: /cvsroot/pure-data/pd/src/d_soundfile.c,v
retrieving revision 1.4.4.11.2.10.2.5
retrieving revision 1.4.4.11.2.10.2.6
diff -C2 -d -r1.4.4.11.2.10.2.5 -r1.4.4.11.2.10.2.6
*** d_soundfile.c 9 Jan 2007 16:57:47 -0000 1.4.4.11.2.10.2.5
--- d_soundfile.c 28 Jun 2007 08:50:28 -0000 1.4.4.11.2.10.2.6
***************
*** 410,421 ****
char *flag = argv->a_w.w_symbol->s_name + 1;
if (!strcmp(flag, "skip")) {
! if (argc < 2 || argv[1].a_type != A_FLOAT || ((onset = argv[1].a_w.w_float) < 0)) goto usage;
argc -= 2; argv += 2;
} else if (!strcmp(flag, "nframes")) {
! if (argc < 2 || argv[1].a_type != A_FLOAT || ((nframes = argv[1].a_w.w_float) < 0)) goto usage;
argc -= 2; argv += 2;
} else if (!strcmp(flag, "bytes")) {
! if (argc < 2 || argv[1].a_type != A_FLOAT || ((bytespersamp = argv[1].a_w.w_float) < 2) ||
! bytespersamp > 4) goto usage;
argc -= 2; argv += 2;
} else if (!strcmp(flag, "normalize")) {normalize = 1; argc -= 1; argv += 1;
--- 410,420 ----
char *flag = argv->a_w.w_symbol->s_name + 1;
if (!strcmp(flag, "skip")) {
! if (argc < 2 || argv[1].a_type != A_FLOAT || ((onset = (long) argv[1].a_w.w_float) < 0)) goto usage;
argc -= 2; argv += 2;
} else if (!strcmp(flag, "nframes")) {
! if (argc < 2 || argv[1].a_type != A_FLOAT || ((nframes = (long) argv[1].a_w.w_float) < 0)) goto usage;
argc -= 2; argv += 2;
} else if (!strcmp(flag, "bytes")) {
! if (argc < 2 || argv[1].a_type != A_FLOAT || ((bytespersamp = (int) argv[1].a_w.w_float) < 2) || bytespersamp > 4) goto usage;
argc -= 2; argv += 2;
} else if (!strcmp(flag, "normalize")) {normalize = 1; argc -= 1; argv += 1;
***************
*** 497,502 ****
nexthdr->ns_format = swap4((bytespersamp == 3 ? NS_FORMAT_LINEAR_24 :
(bytespersamp == 4 ? NS_FORMAT_FLOAT : NS_FORMAT_LINEAR_16)), swap);
! nexthdr->ns_sr = swap4(samplerate, swap);
! nexthdr->ns_nchans = swap4(nchannels, swap);
strcpy(nexthdr->ns_info, "Pd ");
swapstring(nexthdr->ns_info, swap);
--- 496,501 ----
nexthdr->ns_format = swap4((bytespersamp == 3 ? NS_FORMAT_LINEAR_24 :
(bytespersamp == 4 ? NS_FORMAT_FLOAT : NS_FORMAT_LINEAR_16)), swap);
! nexthdr->ns_sr = swap4((size_t)samplerate, swap);
! nexthdr->ns_nchans = swap4((size_t)nchannels, swap);
strcpy(nexthdr->ns_info, "Pd ");
swapstring(nexthdr->ns_info, swap);
***************
*** 534,538 ****
wavehdr->w_fmttag = swap2((bytespersamp == 4 ? WAV_FLOAT : WAV_INT), swap);
wavehdr->w_nchannels = swap2(nchannels, swap);
! wavehdr->w_samplespersec = swap4(samplerate, swap);
wavehdr->w_navgbytespersec = swap4((int)(samplerate * nchannels * bytespersamp), swap);
wavehdr->w_nblockalign = swap2(nchannels * bytespersamp, swap);
--- 533,537 ----
wavehdr->w_fmttag = swap2((bytespersamp == 4 ? WAV_FLOAT : WAV_INT), swap);
wavehdr->w_nchannels = swap2(nchannels, swap);
! wavehdr->w_samplespersec = swap4(size_t(samplerate), swap);
wavehdr->w_navgbytespersec = swap4((int)(samplerate * nchannels * bytespersamp), swap);
wavehdr->w_nblockalign = swap2(nchannels * bytespersamp, swap);
***************
*** 607,624 ****
if (bigendian) {
for (j = 0, sp2 = sp, fp = vecs[i] + onset; j < nitems; j++, sp2 += bytesperframe, fp++) {
! int xx = 32768. + (*fp * ff);
! xx -= 32768;
! if (xx < -32767) xx = -32767;
! if (xx > +32767) xx = +32767;
! sp2[0] = (xx >> 8);
sp2[1] = xx;
}
} else {
for (j = 0, sp2 = sp, fp=vecs[i] + onset; j < nitems; j++, sp2 += bytesperframe, fp++) {
! int xx = 32768. + (*fp * ff);
! xx -= 32768;
! if (xx < -32767) xx = -32767;
! if (xx > +32767) xx = +32767;
! sp2[1] = (xx >> 8);
sp2[0] = xx;
}
--- 606,621 ----
if (bigendian) {
for (j = 0, sp2 = sp, fp = vecs[i] + onset; j < nitems; j++, sp2 += bytesperframe, fp++) {
! int xx = int(32768. + (*fp * ff)) - 0x8000;
! if (xx < -0x7fff) xx = -0x7fff;
! if (xx > +0x7fff) xx = +0x7fff;
! sp2[0] = xx>>8;
sp2[1] = xx;
}
} else {
for (j = 0, sp2 = sp, fp=vecs[i] + onset; j < nitems; j++, sp2 += bytesperframe, fp++) {
! int xx = int(32768. + (*fp * ff)) - 0x8000;
! if (xx < -0x7fff) xx = -0x7fff;
! if (xx > +0x7fff) xx = +0x7fff;
! sp2[1] = xx>>8;
sp2[0] = xx;
}
***************
*** 628,647 ****
if (bigendian) {
for (j = 0, sp2 = sp, fp=vecs[i] + onset; j < nitems; j++, sp2 += bytesperframe, fp++) {
! int xx = 8388608. + (*fp * ff);
! xx -= 8388608;
! if (xx < -8388607) xx = -8388607;
! if (xx > +8388607) xx = +8388607;
! sp2[0] = (xx >> 16);
! sp2[1] = (xx >> 8);
sp2[2] = xx;
}
} else {
for (j = 0, sp2 = sp, fp=vecs[i] + onset; j < nitems; j++, sp2 += bytesperframe, fp++) {
! int xx = 8388608. + (*fp * ff);
! xx -= 8388608;
! if (xx < -8388607) xx = -8388607;
! if (xx > +8388607) xx = +8388607;
! sp2[2] = (xx >> 16);
! sp2[1] = (xx >> 8);
sp2[0] = xx;
}
--- 625,642 ----
if (bigendian) {
for (j = 0, sp2 = sp, fp=vecs[i] + onset; j < nitems; j++, sp2 += bytesperframe, fp++) {
! int xx = int(8388608. + (*fp * ff)) - 0x800000;
! if (xx < -0x7fffff) xx = -0x7fffff;
! if (xx > +0x7fffff) xx = +0x7fffff;
! sp2[0] = xx>>16;
! sp2[1] = xx>>8;
sp2[2] = xx;
}
} else {
for (j = 0, sp2 = sp, fp=vecs[i] + onset; j < nitems; j++, sp2 += bytesperframe, fp++) {
! int xx = int(8388608. + (*fp * ff)) - 0x800000;
! if (xx < -0x7fffff) xx = -0x7fffff;
! if (xx > +0x7fffff) xx = +0x7fffff;
! sp2[2] = xx>>16;
! sp2[1] = xx>>8;
sp2[0] = xx;
}
***************
*** 1368,1382 ****
char *flag = argv->a_w.w_symbol->s_name + 1;
if (!strcmp(flag, "skip")) {
! if (argc < 2 || argv[1].a_type != A_FLOAT || ((skipframes = argv[1].a_w.w_float) < 0)) goto usage;
argc -= 2; argv += 2;
} else if (!strcmp(flag, "nframes")) {
! if (argc < 2 || argv[1].a_type != A_FLOAT || ((nframes = argv[1].a_w.w_float) < 0)) goto usage;
argc -= 2; argv += 2;
} else if (!strcmp(flag, "raw")) {
if (argc < 5 ||
! argv[1].a_type != A_FLOAT || ((headersize = argv[1].a_w.w_float) < 0) ||
! argv[2].a_type != A_FLOAT || ((channels = argv[2].a_w.w_float) < 1) ||
(channels > MAXSFCHANS) ||
! argv[3].a_type != A_FLOAT || ((bytespersamp = argv[3].a_w.w_float) < 2) ||
(bytespersamp > 4) ||
argv[4].a_type != A_SYMBOL ||
--- 1363,1377 ----
char *flag = argv->a_w.w_symbol->s_name + 1;
if (!strcmp(flag, "skip")) {
! if (argc < 2 || argv[1].a_type != A_FLOAT || ((skipframes = long(argv[1].a_w.w_float)) < 0)) goto usage;
argc -= 2; argv += 2;
} else if (!strcmp(flag, "nframes")) {
! if (argc < 2 || argv[1].a_type != A_FLOAT || ((nframes = long(argv[1].a_w.w_float)) < 0)) goto usage;
argc -= 2; argv += 2;
} else if (!strcmp(flag, "raw")) {
if (argc < 5 ||
! argv[1].a_type != A_FLOAT || ((headersize = int(argv[1].a_w.w_float)) < 0) ||
! argv[2].a_type != A_FLOAT || ((channels = int(argv[2].a_w.w_float)) < 1) ||
(channels > MAXSFCHANS) ||
! argv[3].a_type != A_FLOAT || ((bytespersamp = int(argv[3].a_w.w_float)) < 2) ||
(bytespersamp > 4) ||
argv[4].a_type != A_SYMBOL ||
***************
*** 1391,1395 ****
argc -= 1; argv += 1;
} else if (!strcmp(flag, "maxsize")) {
! if (argc < 2 || argv[1].a_type != A_FLOAT || ((maxsize = argv[1].a_w.w_float) < 0)) goto usage;
resize = 1; /* maxsize implies resize. */
argc -= 2; argv += 2;
--- 1386,1390 ----
argc -= 1; argv += 1;
} else if (!strcmp(flag, "maxsize")) {
! if (argc < 2 || argv[1].a_type != A_FLOAT || ((maxsize = long(argv[1].a_w.w_float)) < 0)) goto usage;
resize = 1; /* maxsize implies resize. */
argc -= 2; argv += 2;
***************
*** 1559,1563 ****
close (fd);
}
! return ((float)itemswritten);
usage:
pd_error(obj, "usage: write [flags] filename tablename...");
--- 1554,1558 ----
close (fd);
}
! return itemswritten;
usage:
pd_error(obj, "usage: write [flags] filename tablename...");
***************
*** 1855,1859 ****
static void *readsf_new(t_floatarg fnchannels, t_floatarg fbufsize) {
t_readsf *x;
! int nchannels = fnchannels, bufsize = fbufsize, i;
char *buf;
if (nchannels < 1) nchannels = 1;
--- 1850,1854 ----
static void *readsf_new(t_floatarg fnchannels, t_floatarg fbufsize) {
t_readsf *x;
! int nchannels = int(fnchannels), bufsize = int(fbufsize), i;
char *buf;
if (nchannels < 1) nchannels = 1;
***************
*** 1961,1964 ****
--- 1956,1962 ----
}
+ template <class T> T min(T a, T b) {return a<b?a:b;}
+ template <class T> T max(T a, T b) {return a>b?a:b;}
+
/* open method. Called as:
open filename [skipframes headersize channels bytespersamp endianness]
***************
*** 1982,1989 ****
else if (*endian->s_name) pd_error(x, "endianness neither 'b' nor 'l'");
else x->x_bigendian = garray_ambigendian();
! x->x_onsetframes = (onsetframes > 0 ? onsetframes : 0);
! x->x_skipheaderbytes = (headerbytes > 0 ? headerbytes : (headerbytes == 0 ? -1 : 0));
! x->x_sfchannels = (channels >= 1 ? channels : 1);
! x->x_bytespersample = (bytespersamp > 2 ? bytespersamp : 2);
x->x_eof = 0;
x->x_fileerror = 0;
--- 1980,1987 ----
else if (*endian->s_name) pd_error(x, "endianness neither 'b' nor 'l'");
else x->x_bigendian = garray_ambigendian();
! x->x_onsetframes = max(long(onsetframes),0L);
! x->x_skipheaderbytes = int(headerbytes > 0 ? headerbytes : headerbytes == 0 ? -1 : 0);
! x->x_sfchannels = max(int(channels),1);
! x->x_bytespersample = max(int(bytespersamp),2);
x->x_eof = 0;
x->x_fileerror = 0;
***************
*** 2173,2181 ****
/******** the object proper runs in the calling (parent) thread ****/
- static void writesf_tick(t_writesf *x);
-
static void *writesf_new(t_floatarg fnchannels, t_floatarg fbufsize) {
t_writesf *x;
! int nchannels = fnchannels, bufsize = fbufsize, i;
char *buf;
if (nchannels < 1) nchannels = 1;
--- 2171,2177 ----
/******** the object proper runs in the calling (parent) thread ****/
static void *writesf_new(t_floatarg fnchannels, t_floatarg fbufsize) {
t_writesf *x;
! int nchannels = int(fnchannels), bufsize = int(fbufsize), i;
char *buf;
if (nchannels < 1) nchannels = 1;
More information about the Pd-cvs
mailing list