RW970107.TXT 7 January 1997 ============ Csound source and doco files for John Fitch and others in file rw970107.zip. These are all the files I can contribute. There are no known bugs with these - the table offset bugs have been fixed. I have done some other work on binaural processing, but this is not ready for release and I don't know if or when it will be. These are for my version 1.00 of 11 September 1995, with files of 17 September 1996 and later being updates to that release. That 11 Sept 95 release was based on MIT 3.29 and John Fitch's version 12. These files relate only to producing CSOUND.EXE - not the various utilities, which I don't use. While the MAKEFILE.GCC is set up for MSDOS and DJGPP, the source code itself (with appropriate options set in a makefile) is not MSDOS or IBM clone specific and so should compile on any machine. My changes (so far) do not have any MSDOS specific features, so you should be able to bring them into any other Csound compilation. Not counting the documentation files, the new files are: UGRW1 C UGRW1 H UGRW2 C UGRW2 H The changed files are those .C and .H files with dates after 14-04-95 (The date of John's release on which I based my work): CMATH C CMATH H CS H ENTRY C FGENS C MAKEFILE GCC PROTOTYP H UGENS2 C UGENS2 H UGENS5 C } UGENS5 H } No code changes - just my comments so I and } others can understand them. UGENS6 C } UGENS6 H } >> For full details, see CSRW_DOC.TXT - which points to all the >> relevant documentation, including CSRW_HIS.TXT - the history >> of how this got to wherever it is now. >> >> Note! CSRW_DOC.TXT and CSRW_HIS.TXT is up-to-date only to >> September 1995, but this covers all the functions of the >> included here in rw970107.zip Modifications and new code provided by Robin Whittle are provided without warranty etc. etc. They are copyright 1995 and 1996 Robin Whittle. Use of this code for non-commercial software products is permitted, provided the source code is made freely available according to the principles of the Free Software Foundation, with this copyright notice attached - and those of Barry Vercoe and John Fitch. Carefully considered and well written bug reports and suggestions are welcome at firstpr@ozemail.com.au Files in this set for John Fitch, 7 January 1997 ================================================ CMATH C 13,056 09-08-95 10:36p CMATH H 512 09-01-95 10:09p /* CMATH.C Modified by Robin Whittle 8 September 1995 */ /* 31 bit algorithm for random * number generation. * * xunirand ugen added to make the * set complete. * * All comments formatted like this * are by RW. * * Corrections made to code which * auto incremented the pointer * to the output, when this is not * needed at i or k rate. * See the various ikxxx functions. * * Also, the original lines in * opcodlst in entry.c for kpow and * apow caused the inorm parameter * to be mandatory, rather than * optional as the doco states. * * Change the input parameter flags * to "kkp" and "akp" respectively * to make inorm optional with a * default of 1. */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CS H 6,272 08-12-95 9:13p /* Modified for a 1200 instrument * numbers */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CSDJGPP3 TXT 18,340 09-11-95 5:35a /* How I got DJGGPP running - * of historical interest only. */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CSRW_DOC TXT 29,934 09-11-95 5:35a CSRW_HIS TXT 13,778 09-11-95 5:35a /* Documentation of everything * I did up to November 95. * Does not mention the table * offset bugs, which were * discovered later, but which * have now been fixed. */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CS_RAND TXT 12,140 09-08-95 11:07p /* Description of the new 31 * bit random number modification * to Paris' random ugen, with a * new member of his family and * a way to set the seed. */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ENTRY C 27,264 01-07-96 9:01p /* My latest ENTRY.C for your * interest only. Each of my * new files contains the * instructions on what to * add to ENTRY.C and what to * add to the makefile. * * Note that this contains reference * to my binaual UGRW3, which is * not included here. */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - FGENS C 32,128 09-02-95 2:45p /* 1 - ftfindp() <<<< Needed for the new ugens2.c! * -------------- * * Addition of a new function for finding function tables during * performance time. Based on ftfind() - which only works at init time - * the new function ftfindp() produces error messages in a way * appropriate for perf time. Any error message thus causes the * instrument to be deactivated. * * ftfindp() is used by my new ugens2.c (which has new table read code * with bugs removed, and the possibility of k rate table number control) * and ugrw1.c (which has table write, with the possibility of k rate * table number control). * * Neither this ugens2.c nor ugrw1.c will compile properly without * this new version of fgens.c, and without the following function * prototype being added to prototyp.h: * * FUNC *ftfindp(float *); <<<< Add this line just after: * * FUNC *ftfind(float *), *ftnp2find(float *); * * * 2 - Maximum table number = 1000 * ------------------------------- * * FMAX (below) used to be 200. Make it 1000 to allow for more * adventurous table activities - especially with k rate control over * table read and write. * */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MAKEFILE GCC 17,770 12-28-95 12:37a /* My latest makefile, for * reference only. */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PROTOTYP H 2,304 08-28-95 3:19p /* See the notes above on FGENS.C. */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TABREAD TXT 13,962 09-08-95 11:09p /* Documentation on the messy * original state of the table read * ugens - and how I fixed them and * arrived at a clear definition of * what they should be doing. */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - UGENS2 C 39,795 01-31-96 11:41p UGENS2 H 3,072 08-28-95 4:09p /* New version of the table read * ugens - with all known bugs * removed. * * Needs the new fgens.c and * prototyp.h above. */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - UGENS5 C 17,152 01-01-96 3:26p UGENS5 H 3,584 08-25-95 8:52p /* Some of the filter code is * commented - no code changes. */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - UGENS6 C 25,088 12-08-95 11:20a UGENS6 H 2,304 09-17-95 10:47p /* Delay code is commented - * no code changes. */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - UGRW1 C 120,960 08-27-96 8:11p UGRW1 H 15,872 01-07-96 8:47p UGRW1 TXT 44,373 09-07-95 10:45p /* My first big set of ugens. * * Needs the new fgens.c and * prototyp.h above. * * Includes new ugens for: * * 1 - table write * * 2 - zak * * 3 - absolute time * * 4 - printing k rate vars * */ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - UGRW2 C 16,896 09-09-95 4:18p UGRW2 H 3,200 09-09-95 3:18p UGRW2 TXT 2,633 09-09-95 5:02p /* My second set of ugens. * * 1 - Filters with k rate * frequency controls. * * 2 - Limit ugens - for clipping. */ {End of FILESJF.TXT}