Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26870
Modified Files: Tag: desiredata d_soundfile.c s_midi.c Log Message: 0.40
Index: s_midi.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/s_midi.c,v retrieving revision 1.4.4.1.2.12.2.1 retrieving revision 1.4.4.1.2.12.2.2 diff -C2 -d -r1.4.4.1.2.12.2.1 -r1.4.4.1.2.12.2.2 *** s_midi.c 8 Dec 2006 04:47:37 -0000 1.4.4.1.2.12.2.1 --- s_midi.c 8 Dec 2006 07:00:25 -0000 1.4.4.1.2.12.2.2 *************** *** 581,585 **** else { ! post("input devices:"); for (i = 0; i < nindevs; i++) post("%d. %s", i+1, indevlist + i * DEVDESCSIZE); --- 581,585 ---- else { ! post("MIDI input devices:"); for (i = 0; i < nindevs; i++) post("%d. %s", i+1, indevlist + i * DEVDESCSIZE); *************** *** 589,593 **** else { ! post("output devices:"); for (i = 0; i < noutdevs; i++) post("%d. %s", i+DEVONSET, outdevlist + i * DEVDESCSIZE); --- 589,593 ---- else { ! post("MIDI output devices:"); for (i = 0; i < noutdevs; i++) post("%d. %s", i+DEVONSET, outdevlist + i * DEVDESCSIZE);
Index: d_soundfile.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/d_soundfile.c,v retrieving revision 1.4.4.11.2.10 retrieving revision 1.4.4.11.2.10.2.1 diff -C2 -d -r1.4.4.11.2.10 -r1.4.4.11.2.10.2.1 *** d_soundfile.c 27 Nov 2006 18:16:09 -0000 1.4.4.11.2.10 --- d_soundfile.c 8 Dec 2006 07:00:25 -0000 1.4.4.11.2.10.2.1 *************** *** 200,215 **** */
! int open_soundfile(const char *dirname, const char *filename, int headersize, int *p_bytespersamp, int *p_bigendian, int *p_nchannels, long *p_bytelimit, long skipframes) { ! char buf[OBUFSIZE], *bufptr; ! int fd, format, nchannels, bigendian, bytespersamp, swap, sysrtn; long bytelimit = 0x7fffffff; errno = 0; - fd = open_via_path(dirname, filename, - "", buf, &bufptr, MAXPDSTRING, 1); - if (fd < 0) - return (-1); if (headersize >= 0) /* header detection overridden */ { --- 200,210 ---- */
! int open_soundfile_via_fd(int fd, int headersize, int *p_bytespersamp, int *p_bigendian, int *p_nchannels, long *p_bytelimit, long skipframes) { ! int format, nchannels, bigendian, bytespersamp, swap, sysrtn; long bytelimit = 0x7fffffff; errno = 0; if (headersize >= 0) /* header detection overridden */ { *************** *** 221,224 **** --- 216,220 ---- else { + char buf[OBUFSIZE]; int bytesread = read(fd, buf, READHDRSIZE); int format; *************** *** 392,395 **** --- 388,423 ---- }
+ /* open a soundfile, using open_via_path(). This is used by readsf~ in + a not-perfectly-threadsafe way. LATER replace with a thread-hardened + version of open_soundfile_via_canvas() */ + int open_soundfile(const char *dirname, const char *filename, int headersize, + int *p_bytespersamp, int *p_bigendian, int *p_nchannels, long *p_bytelimit, + long skipframes) + { + char buf[OBUFSIZE], *bufptr; + int fd; + fd = open_via_path(dirname, filename, "", buf, &bufptr, MAXPDSTRING, 1); + if (fd < 0) + return (-1); + else return (open_soundfile_via_fd(fd, headersize, p_bytespersamp, + p_bigendian, p_nchannels, p_bytelimit, skipframes)); + } + + /* open a soundfile, using open_via_canvas(). This is used by readsf~ in + a not-perfectly-threadsafe way. LATER replace with a thread-hardened + version of open_soundfile_via_canvas() */ + int open_soundfile_via_canvas(t_canvas *canvas, const char *filename, int headersize, + int *p_bytespersamp, int *p_bigendian, int *p_nchannels, long *p_bytelimit, + long skipframes) + { + char buf[OBUFSIZE], *bufptr; + int fd; + fd = canvas_open(canvas, filename, "", buf, &bufptr, MAXPDSTRING, 1); + if (fd < 0) + return (-1); + else return (open_soundfile_via_fd(fd, headersize, p_bytespersamp, + p_bigendian, p_nchannels, p_bytelimit, skipframes)); + } + static void soundfile_xferin(int sfchannels, int nvecs, float **vecs, long itemsread, unsigned char *buf, int nitems, int bytespersamp, *************** *** 1971,1975 **** finalsize = vecsize; } ! fd = open_soundfile(canvas_getdir(x->x_canvas)->s_name, filename, headersize, &bytespersamp, &bigendian, &channels, &bytelimit, skipframes); --- 1999,2003 ---- finalsize = vecsize; } ! fd = open_soundfile_via_canvas(x->x_canvas, filename, headersize, &bytespersamp, &bigendian, &channels, &bytelimit, skipframes); *************** *** 2733,2737 **** else { - idle: for (i = 0; i < noutlets; i++) for (j = vecsize, fp = x->x_outvec[i]; j--; ) --- 2761,2764 ----