2012-02-09 john ffitch <jpff@codemist.co.uk> * Opcodes/ugsc.c (hilbertset): Remove unnecessary arrays 2012-02-06 john ffitch <jpff@codemist.co.uk> * H/version.h: VERSION 5.16.1 2011-11-30 john ffitch <jpff@codemist.co.uk> * Opcodes/pitch.c (impulse): If next is negative time, make it absolute value 2011-10-28 john ffitch <jpff@codemist.co.uk> * Opcodes/socksend.c (send_send, send_sendS): Added optional format message as INT16_LE and remove MTFU check 2011-10-14 John ff <jpff@cs.bath.ac.uk> * Opcodes/tabvars.c (ftab2tab): (tab2ftab): New opcodes 2011-10-12 John ff * VERSION 5.14 2011-06-21 john ffitch <jpff@codemist.co.uk> * Opcodes/wiimote.c (wii_data_init): Return value missing (wii_data_inits): Ditto 2011-05-25 John ff <jpff@cs.bath.ac.uk> * Engine/fgens.c (nextval): Ensure c moves on if not a number 2011-05-19 john ffitch <jpff@codemist.co.uk> * OOps/cmath.c (exprndiset, kexprndi, aexprndi): New code for exprandi opcode; also cauchyi 2011-05-05 john ffitch <jpff@codemist.co.uk> * SConstruct (optionsFilename): Try to check that the custom.py exists 2011-04-10 john ffitch <jpff@codemist.co.uk> * OOps/aops.c (is_NaN, is_NaNa): New function (is_inf, is_infa): New function 2011-03-17 john ffitch <jpff@codemist.co.uk> * Engine/csound_orc_expressions.c (csound_orc_expand_expressions): Generate kgoto rather than goto. Not totally sure this is right yet 2011-02-09 john ffitch <jpff@codemist.co.uk> * util1/csd_util/makecsd.c (main): new options for MIDI files and score processing; licence control as well * util1/csd_util/base64.c (encode_file): Added extra arg to select tags 2011-01-20 john ffitch <jpff@codemist.co.uk> * Opcodes/mp3in.c (mp3len): New code * SConstruct: Add building of fareyseq/fareygen which got lost 2011-01-17 john ffitch <jpff@codemist.co.uk> * H/version.h: VERSION 5.13 2011-01-13 john ffitch <jpff@codemist.co.uk> * OOps/ugens2.c (ko1set): ensure that the increment cannot be zero 2011-01-10 john ffitch <jpff@codemist.co.uk> * Engine/fgens.c (gen49): Use csound->FileOpen2 rather than open to get searching (gen49): buffer used was in wrong units (chars v shorts) 2010-12-28 john ffitch <jpff@codemist.co.uk> * Engine/symbtab.c (add_token): remove message if Opcode/Function confusion 2010-12-18 john ffitch <jpff@codemist.co.uk> * Opcodes/gab/tabmorph.c (atabmorphia): Fixed editing error that would have caused opcode to scribble over memory 2010-12-17 John ff <jpff@cs.bath.ac.uk> * Opcodes/gab/vectorial.c: Lots of optimisations and corrections 2010-12-10 john ffitch <jpff@codemist.co.uk> * Opcodes/gab/gab.c (isChanged_set): Initialise p->old_inargs 2010-12-05 john ffitch <jpff@codemist.co.uk> * H/aops.h (struct INCH): Rewritten * OOps/aops.c (inch_opcode): Rewritten * Engine/entry1.c: Allow multiple args in inch * Engine/csound_orc.l (do_at): New code to support @ and @@ operators 2010-11-28 john ffitch <jpff@codemist.co.uk> * Engine/symbtab.c: Added cent as function 2010-11-27 john ffitch <jpff@codemist.co.uk> * OOps/ugens3.c (adsyn): check that ktogo is never zero 2010-11-16 John ff <jpff@cs.bath.ac.uk> * Top/main.c (csoundCompile): and call macro inits * Engine/csound_orc.l: Add standard macro initialisation code to lexer 2010-11-12 John ff <jpff@cs.bath.ac.uk> * Engine/csound_orc_semantics.c (handle_polymorphic_opcode): Calculating c before switch can lead to following a null pointer. Moved calculation to where it is needed. 2010-11-05 John ff <jpff@cs.bath.ac.uk> * OOps/ugens4.c (riset, rndset, rhset): Use Warning rather than Message 2010-11-04 John ff <jpff@cs.bath.ac.uk> * Opcodes/pvsbasic.c (MAXOUTS): Extend upto 16 outputs (localops): Use F format in pvstanal 2010-10-12 john ffitch <jpff@codemist.co.uk> * Engine/csound_orc.y: Allow labels in exprlists 2010-10-08 John ff <jpff@cs.bath.ac.uk> * OOps/cmath.c (ipow, apow): If normalisation is zero make it 1; Needed in new parser as optional arg not handled * csound_orc.l: Many changes in macros and stack of inputs 2010-09-23 john ffitch <jpff@codemist.co.uk> * Opcodes/fout.c (sprints): Attempt to fix %%->% problem 2010-09-18 john ffitch <jpff@codemist.co.uk> * Engine/csound_orc_expressions.c (create_expression): Unary minus should use i rate if it can 2010-09-17 john ffitch <jpff@codemist.co.uk> * SConstruct: * Top/csound.c: Make new parser default 2010-09-02 Michael Gogins <michael.gogins@gmail.com> * Corrected signature of fluidAllOut opcode, and fencepost error in that opcode. * Fixed order of processing in CsoundVST audio output callbacks. 2010-09-02 Michael Gogins <michael.gogins@gmail.com> * Migrated Windows compiler to MinGW GCC 4.4.0 from Qt for all third party and Csound executables. This compiler generates dw2 exception handling code. * Fixed up examples to execute in their own directories. * Changed csoundSetMessageCallback to reset the callback to csoundDefaultMessageCallback if the user sets the callback to null, in order to prevent segment faults. 2010-09-01 john ffitch <jpff@codemist.co.uk> * Opcodes/gab/gab.c (adsynt2): Phase not handled correctly 2010-08-31 john ffitch <jpff@codemist.co.uk> * Engine/csound_orc_expressions.c: Many changes to make if_then etc work 2010-08-28 Michael Gogins <michael.gogins@gmail.com> * Replaced csound-build.tex with How_to_Build_Csound_on_Windows.doc, in Microsoft Word format, which should be more accessible to users. * Changed multi-threading in the head branch to use OpenMP instead of PThreads, for greater clarity and maintainability. 2010-08-26 john ffitch <jpff@codemist.co.uk> * Engine/csound_orc_expressions.c (create_cond_expression): New code to deal with (a?b:c) variant (is_expression_node): Added S_Q to expression operators (create_expression): Call create_cond_expression 2010-08-25 John ff <jpff@cs.bath.ac.uk> * Engine/insert.c (insert): In pset case no not zero excess opcodes 2010-08-10 Michael Gogins <michael.gogins@gmail.com> * Engine/typetabl.h: Supplied missing type mask for 'J' type code, i.e. k-rate scalar defaulting to -1, used in "STK" opcodes and others. * Opcodes/stk/STKOpcodes.cpp: Changed threading from 5 to 3, changed MIDI controller number and value parameters to 'J' type. * Updated environment, build, and installer scripts for new Windows version built on new Core i7, Windows 7 computer. 2010-08-09 john ffitch <jpff@codemist.co.uk> * InOut/libsnd.c (sfopenin): Correct warning message * Top/csound.c ("C"): Default value of inchnls is now -1 * Engine/otran.c (oload): Set inchnls to nchnls if not explicit 2010-08-03 john ffitch <jpff@codemist.co.uk> * Engine/csound_orc.y (ifac): Typo -- used S_MOD rather than S_DIV 2010-08-01 john ffitch <jpff@codemist.co.uk> * Top/csound.c (csoundAddSpinSample): Needs to use nchnls_i 2010-07-31 john ffitch <jpff@codemist.co.uk> * Engine/csound_orc_semantics.c (handle_optional_args): * Engine/rdorch.c (getoptxt): Added J arg type 2010-07-28 John ff <jpff@cs.bath.ac.uk> * Opcodes/urandom.c (urand_run, urand_init, urand_deinit): New code (LINUX ONLY) 2010-07-27 john ffitch <jpff@codemist.co.uk> * Top/csmodule.c (csoundCheckOpcodeDeny): Complete function vis CS_OMIT_LIBS environment 2010-07-26 john ffitch <jpff@codemist.co.uk> * Top/csmodule.c (csoundCheckOpcodeDeny): New function (INCOMPLETE) (csoundLoadModules): Check to see if library denied 2010-07-20 john ffitch <jpff@codemist.co.uk> * Engine/sort.c (ordering): Fixed stupidity of using int where MYFLT was needed * Opcodes/grain.c (ags): Added check that kglen is strictly positive 2010-07-19 john ffitch <jpff@codemist.co.uk> * Engine/sort.c (ordering): take account of negative p3 2010-07-14 john ffitch <jpff@codemist.co.uk> * Opcodes/mp3in.c (mp3in): Deal with case of end of data 2010-07-13 john ffitch <jpff@codemist.co.uk> * Engine/fgens.c (gen23): Typo in check for extra numbers removed 2010-07-08 john ffitch <jpff@codemist.co.uk> * OOps/sndinfUG.c (filevalid): * Engine/entry1.c: * H/entry1.h: Added filevalid opcode * H/sndinfUG.h (struct): Added FILEVALID structure 2010-07-04 john ffitch <jpff@codemist.co.uk> * Engine/musmon.c (process_midi_event): * Engine/insert.c (insert, MIDIinsert, insert_event): * Engine/auxfd.c (auxchprint): Print name of instrument if available (fdchprint): ditto 2010-07-03 john ffitch <jpff@codemist.co.uk> * Engine/sort.c (ordering): Rewrote to make clearer and complete * H/sort.h (srtblk): Changed order of fields to avoid overwrite * Engine/extract.c: Added lineo field to dummy events 2010-06-28 john ffitch <jpff@codemist.co.uk> * Opcodes/pitch0.c (maxalloc, cpuperc, instcount) Allow named instruments 2010-06-24 john ffitch <jpff@codemist.co.uk> * Engine/sort.c (ordering): Added ordering on line number if all else fails * H/csoundCore.h (EVTBLK): Added array of chars for strings 2010-05-26 john ffitch <jpff@codemist.co.uk> * Opcodes/ftgen.c (ftgen): Need to deal with fp[5] in named gen case 2010-05-23 john ffitch <jpff@codemist.co.uk> * Engine/fgens.c (hfgens): Check was against GENMAX rather than csound->genmax * Opcodes/ftgen.c (ftgen): Allow for named GENs * Top/csound.c (csoundGetNamedGens): New API function * Opcodes/fareyseq.c (tableshuffle): New code for two opcodes 2010-05-16 john ffitch <jpff@codemist.co.uk> * Opcodes/pitch.c (medfiltset): (medfilt): New code 2010-05-10 john ffitch <jpff@codemist.co.uk> * Opcodes/fareygen.c: * Opcodes/fareyseq.c: New code * SConstruct: Added farey sequence GEN and opcodes 2010-05-09 john ffitch <jpff@codemist.co.uk> * install.py: Added atsa to binaries 2010-05-03 john ffitch <jpff@codemist.co.uk> * OOps/ugens6.c (delay1): use memmove rather than a loop 2010-04-25 john ffitch <jpff@codemist.co.uk> * Opcodes/uggab.c (lineto): Some changes -- seems better * OOps/ugens3.c (adsyn): Sorted out confusion over int32 and MYFLT * OOps/ugens5.c (atonex): Fix bug; it was repeating the filter to the input rather than cascading (resonx): (tonex): Same error as atonex * Opcodes/gab/gab.c (adsynt2_set): Brought into line with adsynt_set, and revised (adsynt2_set): Initialisation of amp and frequency table was totally wrong 2010-04-10 john ffitch <jpff@codemist.co.uk> * Engine/fgens.c (gen41): Added check for positive probability 2010-04-05 john ffitch <jpff@codemist.co.uk> * Opcodes/sndwarp.c (sndwarp): The attempt to give only one warning message was wrong. Think OK now?? 2010-03-24 john ffitch <jpff@codemist.co.uk> * Top/main.c (csoundCompile): Removed spurious BETA check 2010-03-23 jpff <jpff@cs.bath.ac.uk> * Engine/sread.c (sget1): Remove repeats free 2010-03-22 john ffitch <jpff@codemist.co.uk> * Engine/fgens.c (gen28): Typo -- freed x rather than y 2010-03-16 john ffitch <jpff@codemist.co.uk> * Engine/sort.c: Code replaced with smoothsort code 2010-03-13 john ffitch <jpff@codemist.co.uk> * Engine/smoothsort.c (sort): Deal with case of no e event 2010-03-12 jpff <jpff@cs.bath.ac.uk> * SConstruct: Added smoothSort option to control building * Engine/smoothsort.c: New drop-in replacement for sort.c using a fancier sort algorithm 2010-02-28 john ffitch <jpff@codemist.co.uk> * OOps/ugrw1.c (sprints): A format with a % but no arg would cause a crash 2010-02-25 john ffitch <jpff@codemist.co.uk> * Opcodes/gab/gab.c: Added range checks to the fast table opcodes 2010-02-21 john ffitch <jpff@codemist.co.uk> * OOps/aops.c (aassign): Correct typo in arguments * Engine/rdorch.c (splitline): Rework \ inside strings 2010-02-15 jpff <jpff@cs.bath.ac.uk> * Engine/typetabl.h (]): Need to add p to I case * Engine/rdorch.c (rdorchfile): Do not increment lincnt in line continuation mode 2010-02-13 john ffitch <jpff@codemist.co.uk> * OOps/aops.c (minit): Ensure a,b=b,a works 2010-02-12 john ffitch <jpff@codemist.co.uk> * OOps/aops.c (minit, mainit): new code for multiple init * Engine/entry1.c: Changed init to multiple version 2010-01-24 john ffitch <jpff@codemist.co.uk> * Engine/sread.c (init_smacros): Define INF macro in scores as well (getscochar): Read 'z' as infinity * Engine/rdorch.c (init_math_constants_macros): Added INF macro for infinity in orchestra 2010-01-17 john ffitch <jpff@codemist.co.uk> * VERSION 5.12 a2010-01-16 john ffitch <jpff@codemist.co.uk> * Engine/otran.c (oload): Need to check the first 6 variables, up from 5 due to input channel code 2010-01-11 john ffitch <jpff@codemist.co.uk> * Engine/fgens.c (gen28, gen31, gen32, gen33, gen34): Used malloc/free for local memory * InOut/widgets.cpp (fl_callbackExecButton): Freed memory allocated in Windows case 2010-01-08 mantaraya36 <mantaraya36@gmail.com> * Engine/insert.c: Allow turning off non-indefinite instruments from negative score events. By John ffitch. 2010-01-08 john ffitch <jpff@codemist.co.uk> * Engine/musmon.c (musmon): Corrected csound->inchnls to csound->nchnls * Engine/csound_orc.y (param): Alter precedence of ? operator 2010-01-06 jpff <jpff@cardew.codemist.co.uk> * Opcodes/fout.c (fprintf_set): Set line buffering 2010-01-02 john ffitch <jpff@codemist.co.uk> * Opcodes/uggab.c (loopxseg): Fixed bug on shape 2009-12-28 john ffitch <jpff@codemist.co.uk> * Engine/linevent.c (sensLine): * Engine/musmon.c (insert_score_event_at_sample): Allow too few arguments in f -x case 2009-12-27 john ffitch <jpff@codemist.co.uk> * Opcodes/uggab.c (loopxseg): New code for loopxseg opcode 2009-12-26 john ffitch <jpff@codemist.co.uk> * Opcodes/uggab.c (nterpol_init): Check to stop division by zero 2009-12-25 john ffitch <jpff@codemist.co.uk> for Francois Pinot * Opcodes/crossfm.h: * Opcodes/crossfm.c: New code 2009-12-23 john ffitch <jpff@codemist.co.uk> * Opcodes/sfont.c: Set pitches on module creation rather than on every load. 2009-12-22 john ffitch <jpff@codemist.co.uk> * Opcodes/sfont.c (SfLoad): Added check to see if too many sound fonts are loaded. * Opcodes/pitch.c (trnsetr, trnset): Check argument count is 1mod3 2009-12-20 john ffitch <jpff@codemist.co.uk> * Engine/csound_orc_semantics.c (handle_optional_args): If there are no arguments yet we still need to add optionals 2009-12-13 john ffitch <jpff@codemist.co.uk> * Opcodes/nlfilt.c (pinit): New code to implement passign opcode 2009-12-11 john ffitch <jpff@codemist.co.uk> * Engine/rdorch.c (splitline): Allow \" in strings * Top/one_file.c (readOptions): Reset linecount after reading .csoundrc 2009-11-29 john ffitch <jpff@codemist.co.uk> * Opcodes/cross2.c (getmag): If magnitude is zero do not scale! 2009-11-28 john ffitch <jpff@codemist.co.uk> * Opcodes/pitch.c (clockon, clockoff): Reading the clock should be incremental. (correcting bug introduced by Istvan) 2009-11-24 jpff <jpff@cs.bath.ac.uk> * Engine/musmon.c (gettempo): Fixed stupid error 2009-11-09 john ffitch <jpff@codemist.co.uk> * Opcodes/pan2.c (pan2run): Fixed editing error in type 3 (thanks to Sigurd Saue) 2009-11-03 john ffitch <jpff@codemist.co.uk> * Opcodes/p5glove.c (p5glove_find): Use thread to read the USB glove. 2009-10-16 jpff <jpff@cs.bath.ac.uk> * Opcodes/pvsbasic.c (pvsshiftset): Change MYFLT to float in memset 2009-10-02 jpff <jpff@codemist.co.uk> * Opcodes/pitch.c (trnsetr, ktrnsegr, trnsegr): New code * Opcodes/spectra.c: declare transegr 2009-09-22 jpff <jpff@codemist.co.uk> * H/version.h: VERSION 5.11.1 * Opcodes/bilbar.c (bar_run): Fix typo in right end type 1 (bar_run): Loop needs to be one more for right end 2009-09-14 jpff <jpff@codemist.co.uk> * Engine/fgens.c (gen32): And allow extended here as well, via aux function 2009-09-10 jpff <jpff@codemist.co.uk> * Engine/fgens.c (gen52, gen51): Added extended arg support 2009-08-27 jpff <jpff@codemist.co.uk> * H/csoundCore.h (PMAX): Reduced by 2 (EVTBLK): Added c.extra field to EVTBLK * Engine/fgens.c: LOTS of changes to allow extension of arguments uses. * Engine/sread.c (ifa): removed limit of PMAX arguments to events * Engine/rdscor.c (rdscor): Allow reading of more than PMAX fields * Engine/fgens.c (gen23): Total rewrite 2009-08-19 jpff <jpff@codemist.co.uk> * Engine/fgens.c (hfgens): Correct error string to 1, 23 or 28 for deferred size. 2009-08-12 jpff <jpff@codemist.co.uk> * Engine/fgens.c (hfgens): Do not extend table of ftables unnecessarily; it used to always extend even if spare slots existed. 2009-08-10 jpff <jpff@codemist.co.uk> * Opcodes/tabsum.c (tabsum): Fixed silly error that made it all wrong. 2009-07-25 Michael Gogins <michael.gogins@gmail.com> * The Windows installer now provides the user with options for core, custom, or complete installation. Custom options include independent installation of C/C++, Lua, Python, Java, and Lisp interfaces; independent installation of csnd and CsoundAC; and independent installation of front ends and various other options. 2009-07-21 <jpff@codemist.co.uk> * OOps/cmath.c (seedrand): if positive would still seed from time 2009-07-20 jpff <jpff@codemist.co.uk> * OOps/ugrw1.c (printsset): Set string[0] to null as otherwise sprints does wrong thing on empty string 2009-07-18 Michael Gogins <michael.gogins@gmail.com> * SConstruct now builds completely independent shared libraries for Python, Lua, and Java wrappers. * Reorganized examples directory to put all examples for C, C++, Python, Lua, Java, and Lisp wrappers in separate subdirectories. Opcode demos also go into a separate subdirectory. The root examples directory should now contain only complete pieces or tutorial pieces. 2009-07-05 jpff <jpff@codemist.co.uk> * Opcodes/spectra.c (mute opcode): Should be type T to accept string or number. * SConstruct (cf): Check that libintl.h exists in the GETTEXT version 2009-06-10 jpff <jpff@codemist.co.uk> * Engine/csound_orc.l: Corrected continuation line pattern 2009-06-05 jpff <jpff@codemist.co.uk> * Engine/csound_orc.y (ident): Added unary + * H/version.h: Marked as 5.10.90 and 5.11rc1 2009-06-04 jpff <jpff@codemist.co.uk> * Engine/csound_orc_expressions.c (create_goto_token) (get_boolean_arg, create_boolean_expression) (create_synthetic_ident, csound_orc_expand_expressions): Create and use Boolean variables with either k or i type as required 2009-05-05 jpff <jpff@cs.bath.ac.uk> * Engine/csound_orc.l: Deal with \+NL 2009-05-01 jpff <jpff@codemist.co.uk> * Engine/csound_orc.y (if, ifthen, elsif): Removed requirement for brackets round condition. 2009-04-30 jpff <jpff@codemist.co.uk> * Engine/csound_orc.y: Remove two globals to the CSOUND structure and start numbered instruments. 2009-04-29 Victor Lazzarini <Victor.Lazzarini@nuim.ie> * InOut/FL_graph.cpp: fixed the redrawing of graphs so that only selected ones get redrawn. 2009-04-28 jpff <jpff@codemist.co.uk> * H/csoundCore.h ("C"): Declare * Top/csound.c ("C"): Initialise floatsize * Engine/musmon.c (musmon): Set csound->floatsize 2009-04-27 Victor Lazzarini <Victor.Lazzarini@nuim.ie> * Opcodes/pvsbasic.c: added rounding bin code to pvsscale * Opcodes/ftgen.c: added NP2 support for ftload and ftsave * Engine/fgen.c: moved a PerfError to a Warning when tables are resized to enable ftload to resize deferred-allocation tables. * OOps/ugens5.c: experimental LPC read opcode * H/ugens.h: as above * Engine/oentry1.c: as above 2009-04-24 Anthony Kozar <akozar@users.sourceforge.net> * SConstruct: Define WORDS_BIGENDIAN for hrtfnew opcodes when appropriate. * H/prototyp.h: * H/csoundCore.h: * Top/csound.c: * Engine/memfiles.c: New API function pointer ldmemfile2withCB() which is a version of ldmemfile() allowing a callback to be set and called exactly once to process the MEMFIL buffer after it is loaded. * H/version.h: Increased API version to 2.1. * Engine/memfiles.c (Load_File_): * Opcodes/hrtfopcodes.c: Moved byteswapping code for HRTF opcodes to hrtfnew module utilizing ldmemfile2withCB(). * H/csound.h: Removed file type CSFTYPE_FLOATS_BINARY_SW 2009-04-19 jpff <jpff@codemist.co.uk> * Opcodes/p5glove.c: New code to controlP5 Glove directly * Engine/csound_orc_semantics.c (handle_polymorphic_opcode): Added polymorphic type 0xfffd 2009-04-17 jpff <jpff@codemist.co.uk> * Engine/memfiles.c (Load_File_): Add option for byteswap from LITTLE- to BIG-ENDIAN if necessary (CSFTYPE_FLOATS_BINARY_SW) * H/csound.h: New file type CSFTYPE_FLOATS_BINARY_SW 2009-04-08 Michael Gogins <michael.gogins@gmail.com> * Opcodes/mixer.cpp: Added MixerSetLevel_i, an init-time only version of MixerSetLevel, so that it is possible to set the levels of mixer sends in the orchestra header. 2009-03-30 jpff <jpff@codemist.co.uk> * OOps/diskin.c (diskin_read_buffer): Typo corrected 2009-03-24 Michael Gogins <michael.gogins@gmail.com> * frontends/CsoundAC/Score.cpp: * interfaces/CsoundFile.cpp: Implemented importation of MusicXML v2 files into the CsoundAC Score class and the csnd CsoundFile class, using the Grame MusicXML library. 2009-03-22 jpff <jpff@codemist.co.uk> * OOps/oscils.c (tablexkt): Line adding to ar removed as wrong 2009-03-18 Anthony Kozar <akozar@users.sourceforge.net> * SConstruct: * Opcodes/syncgrain.c: Added config test for values.h. * frontends/cscore/cscoremain.c: * frontends/cscore/cscoremain_MacOS9.c: * util1/scot/scot_main.c: Changed Scot and Cscore to take an optional second commandline argument specifying the output file. 2009-03-16 jpff <jpff@codemist.co.uk> * InOut/rtalsa.c (set_device_params): Change to snd_pcm_hw_params_set_rate_near rather than exact samplerate from "Pete G." 2009-03-15 jpff <jpff@codemist.co.uk> * Top/one_file.c (createExScore): Added new facility to have score generated by external code (read_unified_file): and call it 2009-03-14 jpff <jpff@codemist.co.uk> * util/lpc_export.c (lpc_export): Fix from Martin Rocamora on line 83 * util/lpcx_main.c (main): Fix from Martin Rocamora on line 82 2009-03-04 jpff <jpff@codemist.co.uk> * Opcodes/wiimote.c: New code (still experimental) to use wiimote in Csound (Linux only at present) 2009-03-01 jpff <jpff@codemist.co.uk> * Opcodes/mp3in.c: New code to read MP3 files (still experimental) 2009-02-28 Anthony Kozar <akozar@users.sourceforge.net> * H/ugens5.h: * OOps/ugens5.c (lprdset, lpread): Fixed bad assumptions in doubles build when skipping over the LPC file header. 2009-02-23 jpff <jpff@codemist.co.uk> * Engine/fgens.c (gen49): New gen to read MP3 files using mpadec library 2009-02-07 jpff <jpff@codemist.co.uk> * Engine/rdorch.c (rdorchfile): * Engine/sread.c (sget1): Mane mname grow rather than being fixed size 2009-02-06 jpff <jpff@codemist.co.uk> * H/csoundCore.h ("C"): Added GetChannelLock to API * OOps/bus.c (csoundGetChannelLock): New function, deployed as well all over this file * H/csound.h ("C"): Added csoundGetChannelLock 2008-12-19 jpff <jpff@codemist.co.uk> * H/version.h: VERSION 5.10.1 2008-12-18 jpff <jpff@codemist.co.uk> * Opcodes/pitch.c (hsboscset): Bug whereby two internal variables may be unititialised fixed. 2008-12-17 Anthony Kozar <akozar@users.sourceforge.net> * SConstruct: Add libintl on OS X when useGettext=1. Commented out -fno-rtti option on OS X. Revised Python detection logic so that it works on multiple versions of OS X. 2008-12-15 jpff <jpff@codemist.co.uk> * H/version.h (CS_APIVERSION): Upped version to 2/0 * H/csoundCore.h: Cleaned up unused fields in struct CSOUND_ and added some expansions. Tidied timing counters as well. Involved a number of small changes elsewhere 2008-12-04 mantaraya36 <mantaraya36@gmail.com> * Opcodes/pmidi.c : Added option to listen on all MIDI ports using 'a' instead of a device number. 2008-12-04 jpff <jpff@cs.bath.ac.uk> * Opcodes/midiops3.c (islider32bit14): I think it should have 32 as arg to ISLIDER14 2008-12-02 jpff <jpff@codemist.co.uk> * Engine/insert.c: * Engine/linevent.c: * Engine/musmon.c: * Engine/otran.c: * H/csoundCore.h: * H/prototyp.h: * InOut/libsnd.c: * InOut/midisend.c: * OOps/schedule.c: * OOps/ugrw1.c: * Opcodes/OSC.c: * Top/csound.c: Change curTime to integer and work in samples rather than seconds. Same for beatTime 2008-11-30 jpff <jpff@codemist.co.uk> * Engine/fgens.c (csoundFTAlloc): Make size change with active instruments a PerfError 2008-11-21 jpff <jpff@codemist.co.uk> * Opcodes/filter.c (izfilter): Loop went 1 too many for coeffs->dcoeffs 2008-11-01 jpff <jpff@codemist.co.uk> * Opcodes/pitch.c (pitchamdf): Arrange that if peri is zero not to return NaN or Inf values. Suggests some algorithmic error (pitchamdfset): Initialise rmsmedian buffer -- it was undefined. No idea how it ever could work. 2008-10-31 jpff <jpff@codemist.co.uk> * Engine/otran.c (otran): Experimentally set locale to C numeric before parsing orchestra. 2008-10-27 jpff <jpff@codemist.co.uk> * OOps/aops.c (outo): Channel 6 was wrong, (outh): also here. 2008-10-18 jpff <jpff@codemist.co.uk> * InOut/rtwinmm.c (open_device): Dither only if requested. * H/csoundCore.h ("C"): Move dither to visible. * InOut/rtpa.c (set_device_params): Dither only if requested. (paBlockingReadWriteOpen): Ditto. * InOut/rtalsa.c (set_format): Dither only if requested. (MYFLT_to_short_no_dither): New function. 2008-10-09 Victor Lazzarini <Victor.Lazzarini@nuim.ie> * Engine/fgens.c: added an optional parameter for GEN20 (type 6, Gaussian), to set the variance (default = 1.0). 2008-09-29 jpff <jpff@codemist.co.uk> * OOps/diskin.c (diskin_read_buffer): mea culpa; zeros written to wrong place. 2008-09-13 Michael Gogins <gogins@pipeline.com> * H/csound.h: Added Doxygen "mainpage" introductory section at top of file; switched to HTML format for API documentation (replacing LaTeX/PDF format). 2008-09-17 jpff <jpff@codemist.co.uk> * RELEASE VERSION 5.09 2008-09-13 Michael Gogins <michael.gogins@gmail.com> * frontends/CsoundAC/Score.cpp: Implemented importation of MusicXML v2 files into the CsoundAC Score class, using the Grame MusicXML library. 2008-09-13 Michael Gogins <gogins@pipeline.com> * custom-mingw.py: Updated for more recent third party packages. * frontends/fltk_gui/CsoundGUIMain.cpp: Score editor works properly now. * examples: Updated CsoundAC.csd and CsoundAC-midi.csd, removed some obsolete precursors of them, added Drone.py Tk GUI example. * csound-build.tex: Detailed instructions for building the Windows installers. * Top/csound.c, H/csoundCore.h: Corrected spinlocks for thread-safe access to spin and spout buffers, added to dummy slots of the CSOUND structure to preserve backwards API compatibility. 2008-09-10 jpff <jpff@cs.bath.ac.uk> * Opcodes/scoreline.c (localops): Wrong structure named in entry -- probably benign * H/version.h (CS_PACKAGE_STRING): VERSION 5.09 2008-09-09 Anthony Kozar <akozar@users.sourceforge.net> * H/csound.h (csoundSpinLock, csoundSpinUnLock): Removed attempt at printing warnings when spinlocks are not implemented. * Opcodes/sfont.c (SfPlayMono): More declaration before code fixes. * Opcodes/shape.c (PDHalfX): Fixed unitialized variable. * Engine/rdorch.c (skiporccomment): * Opcodes/Vosim.c (vosimset): Added missing return values. 2008-09-08 Anthony Kozar <akozar@users.sourceforge.net> * Top/threads.c (csoundRunCommand, csoundSleep): Consolidated dummy versions to avoid multiple definitions. 2008-09-08 jpff <jpff@codemist.co.uk> * Top/csound.c ("C"): Do not load pthreads in mac_clasic * Top/threads.c (csoundRunCommand, csoundSleep): Added mac_classic dummy versions * OOps/aops.c (outs): Declarations before code in C 2008-09-02 jpff <jpff@codemist.co.uk> * H/ugrw1.h: * OOps/ugrw1.c (printkset, printk, printksset, printks): Check that opcode is initialised 2008-08-31 jpff <jpff@codemist.co.uk> * H/version.h: 5.08.99 2008-08-14 jpff <jpff@codemist.co.uk> * Engine/csound_orc.l: Added #include and macros (currently without arguments) 2008-08-12 jpff <jpff@cs.bath.ac.uk> * Opcodes/uggab.c (poscaa, poscka): Ensure frequency is not overwritten if variable is shared 2008-07-26 jpff <jpff@codemist.co.uk> * Engine/rdorch.c (skiporccomment): Correct stupid error in multiple * characters 2008-07-23 jpff <jpff@codemist.co.uk> * Engine/fgens.c (gen23): Allow scientific notation (as was in csound4!) 2008-07-05 jpff <jpff@codemist.co.uk> * Opcodes/ambicode1.c: Added new file with Furse/Wiggins decoders 2008-06-30 Steven Yi <stevenyi@gmail.com> * Engine/musmon.c: reverted sensevents to set EVTBLK to outside of while loop; caused bug where using event opcode with "e" would cause a segfault and hang csound 2008-06-26 jpff <jpff@cs.bath.ac.uk> * SConstruct: Allow selectable version if TCL and TK (needed for OpenSuSE11.0) 2008-06-12 jpff <jpff@codemist.co.uk> * Engine/memalloc.c (mfree): (mrealloc): Improvements to coding 2008-05-28 Michael Gogins <gogins@pipeline.com> * Top/threads.c: For the Csound threading API, on the Windows platform, I removed the native Windows threading implementation and replaced it with the POSIX threads implementation already used for Linux and OS X. This is to facilitate development of multi-threading in Csound, and to simplify the maintenance of Csound. 2008-05-28 jpff <jpff@codemist.co.uk> * Opcodes/ugens7.c (harmon): Make constant totally 64bit safe * Opcodes/vbap.c: Change argument types to akOO from akoo etc 2008-05-18 Michael Gogins <gogins@pipeline.com> * Opcodes/chua/ChuaOscillator.cpp: Csound opcode implementation of Chua's Oscillator, a nonlinear dynamical system capable of many kinds of periodic and chaotic behavior, including multiple simultaneous attractors. See the reference manual entry for "chuap" for documentation. See examples/chuap.csd and examples/chuas_oscillator/ChuasOscillatorApp.py for sample Csound usage. * Opcodes/linear_algebra.cpp: Csound i-rate and k-rate opcodes for much standard linear algebra over real and complex vectors and matrices: elementwise arithmetic, norms, transpose and conjugate, inner products, matrix inverse, LU decomposition, QR decomposition, and QR-based eigenvalue decomposition. Includes copying vectors to and from a-rate signals, function tables, and f-signals. See the source code for preliminary documentation and tests/test24.csd for sample Csound usage. 2008-05-17 jpff <jpff@codemist.co.uk> * util/lpanal.c: Removed static variables to a structure 2008-05-08 jpff <jpff@codemist.co.uk> * util/envext.c: * util/het_export.c: * util/het_import.c: * util/heti_main.c: * util/lpc_export.c: * util/lpc_import.c: * util/lpci_main.c: * util/lpcx_main.c: * util/mixer.c: * util/pv_export.c: * util/pv_import.c: * util/scale.c: * util/srconv.c: * util/xtrct.c: * util1/sortex/smain.c: * util1/sortex/xmain.c: Corrected licence to LGPL 2008-05-06 jpff <jpff@codemist.co.uk> * Engine/rdorch.c (skiporccomment): New function to handle /* .. */ (rdorchfile): Call it * Engine/sread.c (sget1): Do not expand macros in /* .. */ context 2008-04-30 jpff <jpff@codemist.co.uk> * H/sysdep.h: Introduce macros for MYFLT versions of functions * OOps/aops.c: Use macro for exp/expf etc all over 2008-04-28 jpff <jpff@codemist.co.uk> * OOps/ugens4.c (buzz): Restructured for speed (gbuzz): Ditto 2008-04-24 jpff <jpff@codemist.co.uk> * Top/argdecode.c (argdecode): OLPC now have dummy R,N and H options 2008-04-15 jpff <jpff@codemist.co.uk> * OOps/diskin.c (sndo1set): Deprecate soundout in favour of fout 2008-03-23 jpff <jpff@codemist.co.uk> * Top/argdecode.c (decode_long): Change incorrect %n to %d (shades of BCPL) 2008-03-18 jpff <jpff@codemist.co.uk> * Opcodes/Vosim.c: New file and opcode 2008-02-27 jpff <jpff@codemist.co.uk> * Opcodes/vbap.c (localops): Changed vbap* to gave a k-rate last required arg. 2008-03-16 jpff <jpff@codemist.co.uk> * H/version.h: 5.08.2 2008-03-08 Anthony Kozar <akozar@users.sourceforge.net> * H/prototyp.h: * Top/argdecode.c: * Top/main.c: * Top/one_file.c (readOptions, read_unified_file): readOptions() only prints "missing </CsOptions>" message when reading from CSD file. 2008-03-02 Michael Gogins <gogins@pipeline.com> * SConstruct, csoundd.nsi: Many changes to enable building and installing Csound built with MSVC 2008 or MinGW 4.2.1 * CsoundAC: Build as static library to try to work around problem with MSVC corrupting data in C++ classes exported but based on non-exported STL classes. * API Reference: Updated to reflect recent changes. 2008-02-23 Michael Gogins <gogins@pipeline.com> * InOut/widgets.cpp: Fixed a major bug in which the Csound memory manager (C style) was allocating and deallocating a C++ structure (WIDGETS_GLOBALS). If new is not called for WIDGETS_GLOBALS, the constructors of its std::vector collections are not called. Then in the widget csoundDestroyModule function, invalid vectors are iterated, causing an access violation. Fixed by using standard C++ new and delete for the structure to ensure proper creation of its vector members. This is OK because by calling csoundModuleInit and csoundModuleDestroy, Csound is permitting the module to manage its own memory. The code accessed FLTK flags as a value when the flags had not been initialized as a global variable. This caused an access violation in csoundModuleDestroy. The code has been changed to get the flags as a pointer, and only dereference the pointer if it is not null. * Opcodes/vst4cs/src/vst4cs.cpp: Cleaned up csoundModuleDestroy code for Windows MSVC build, which was causing an access violation. 2008-02-22 Michael Gogins <gogins@pipeline.com> * SConstruct: Many changes to enable all features of Csound to build with Microsoft Visual C++ 2008 (MSVC). Also changes to enable build with MinGW 3.4.5/MSys 1.0.11/SCons 0.97. * custom-mingw.py, custom-msvc.py: Rationalized locations of third-party libraries in network mounted "U:/" drive root directory. * Frontends/CsoundAC/Counterpoint.cpp: Many changes to enable MSVC compilation. * CsoundVST: Renamed CsoundVST.exe to CsoundVstShell.exe to enable MSVC build. Exported new RunCsoundVST function to enable CsoundVstShell to run with MSVC build. * Engine/sread.c (nested_repeat, do_repeat, sread, etc.): Renamed struct in_stack_s to avoid debugging conflict with rdorch.c. Fixed some endless loops caused by the 'm' and 'n' statements. Prevented 'm' and 'n' statements from eating next line. Fixed line counts when using 'm' and 'n'. nested_repeat() does not need to change event opcode to 's'. Fixed 'r' repeats to work with optional p1 of 's' and 'e' statements. '{' statement should not reset clock_base, warp_factor, or prvp2. 2008-02-01 Anthony Kozar <anthonykozar@sbcglobal.net> * H/version.h (CS_APISUBVER): Increased to 6 for Csound 5.08. * Top/getstring.c: Added stub for csoundSetLanguage(). 2008-01-31 Anthony Kozar <anthonykozar@sbcglobal.net> * H/csound.h (CSOUND_FILETYPES): Added CSFTYPE_IMAGE_PNG. * Opcodes/imageOpcodes.c (__doOpenImage, __doSaveImage): Use FileOpen2() and FileClose() instead of fopen() and fclose(). Other minor fixes. 2008-01-30 jpff <jpff@codemist.co.uk> * retagged 5.08b 2008-01-29 veplaini <Victor.Lazzarini@nuim.ie> * Opcodes/hrtfopcodes.c: New HRTF opcodes by Brian Carty * Opcodes/syncgrain.c: fixed bug in period counter preventing accurate tuning of grain frequency * SConstruct: added token NOGETTEXT to useGettext=0 option 2008-01-29 jpff <jpff@codemist.co.uk> * H/dumpf.h: Commented out the interpolation argument as not implemented. 2008-01-29 Anthony Kozar <anthonykozar@sbcglobal.net> * Top/one_file.c (readOptions, checkVersion, etc.): Fixed version checks; prevented crashes in readOptions(), and improved error reporting for CSD. 2008-01-27 Anthony Kozar <anthonykozar@sbcglobal.net> * Top/one_file.c (read_unified_file, checkLicence): Added <CsLicense> as an acceptable alternate spelling of <CsLicence>. 2008-01-27 jpff <jpff@codemist.co.uk> * version 5.08Beta * installer/linux/installer.fl: * installer/linux/new_install.cxx: Added support for installing locales 2008-01-22 Anthony Kozar <anthonykozar@sbcglobal.net> * Top/argdecode.c (decode_long): Added --csd-line-nums= option. 2008-01-21 Anthony Kozar <anthonykozar@sbcglobal.net> * Engine/sread.c (scorerr, sreaderr, getscochar, sread, getpfld, etc.): Major changes to score error reporting; now accurately reports the line numbers for the chain of inputs for most errors. Many error messages were changed to avoid redundancy and for clarity. 2008-01-20 Anthony Kozar <anthonykozar@sbcglobal.net> * H/csoundCore.h (CSOUND): * Top/csound.c: * Top/main.c (csoundCompile): Save the original CSD file name. * Engine/sread.c (scorerr, sget1): Fixed backtrace of score includes in scorerr() and a possible crash when a #include file is not found. 2008-01-19 Anthony Kozar <anthonykozar@sbcglobal.net> * H/csoundCore.h (CSOUND): * Top/csound.c: * Top/one_file.c (read_unified_file, etc.): * Engine/rdorch.c (synterr): Count lines while reading a CSD and save the offsets of the orchestra and score; add offset to line numbers reported with errors in the orchestra. (Score yet to be done). 2008-01-13 jpff <jpff@codemist.co.uk> * Opcodes/pan2.c (pan2): Corrected so it agrees with documentation 2008-01-06 jpff <jpff@codemist.co.uk> * H/version.h (CS_PATCHLEVEL): If subversion goes up,patchlevelneeds to be reset. 2007-12-27 jpff <jpff@codemist.co.uk> * Opcodes/imageOpcodes.h: * Opcodes/imageOpcodes.c: New code 2007-12-25 jpff <jpff@codemist.co.uk> * po/french.po: * po/american.po: Translations * po/csound.po: New; gettext template * Top/getstring.c (init_getstring): Alternative version for GNU gettext version * InOut/widgets.cpp: Correct double negatives in error messages 2007-12-17 <jpff@cs.bath.ac.uk> * H/csoundCore.h (CSOUND): added fields delayederrormessages and printerrormessagesflag and reduced number of dummies * Top/csmodule.c (csoundLoadExternal): Store messages about non-modules * Top/csound.c (csoundPreCompile): Print delayed messages at end if any and in API version * Top/main.c (csoundCompile): If delayed messages print after arg decode 2007-12-15 jpff <jpff@codemist.co.uk> * Opcodes/pvsband.c (pvsbrej): New opcode for band reject 2007-12-14 Anthony Kozar <anthonykozar@sbcglobal.net> * Opcodes/shape.c: Added unipolar option to pdclip, pdhalf, and pdhalfy, making it the default. 2007-12-11 Anthony Kozar <anthonykozar@sbcglobal.net> * Engine/sread.c (ifa, getpfld): New "no-carry" operator (!) for score language that prevents implicit carrying of p-fields in i-statements. (eg. i 2 1 1 4.0 ! will only have 4 p-fields regardless of whether previous i2 statements had more). 2007-12-11 jpff <jpff@codemist.co.uk> * H/version.h (CS_PATCHLEVEL): 3 * Opcodes/pvsband.c: New code * Opcodes/pvs_ops.c (csoundModuleInit): Initialise pvsband 2007-12-06 Anthony Kozar <anthonykozar@sbcglobal.net> * SConstruct: * Opcodes/shape.c: New opcodes powershape, polynomial, chebyshevpoly, pdclip, pdhalf, pdhalfy, and syncphasor. 2007-12-03 Anthony Kozar <anthonykozar@sbcglobal.net> * Engine/sread.c (sread, flushlin, getpfld): Improved line counts for error reporting (still much to do though). Fixed some potential buffer overflows. Fixed {} repeat opcodes and improved their parameter reading (similarly to previous changes for 'r' statement). Now flushing rest of line after finding an illegal character in getpfld(). 2007-11-30 jpff <jpff@codemist.co.uk> * Opcodes/pvsbasic.c (pvsscale): Improved algorithm for SDFT case so no ampltitude variation 2007-11-29 Anthony Kozar <anthonykozar@sbcglobal.net> * Top/argdecode.c (argdecode, decode_long): * Top/main.c (csoundCompile): * Top/csound.c (const cenviron_): * Engine/otran.c (otran): * H/csoundCore.h (struct OPARMS): Added --check-syntax-only commandline flag (exclusive with --i-only). otran() and csoundCompile() return early when just checking syntax. --i-only sets --nosound same as -I Added initial value for numThreads to OPARMS. * Top/one_file.c (read_unified_file): CSD read should fail when no <CsoundSynthesizer> tag found so that performance is aborted. * Ops/str_ops.c (getcfg_opcode): Added mac_classic case for host OS name. 2007-11-21 Anthony Kozar <anthonykozar@sbcglobal.net> * Opcodes/sfont.c: Corrected code for C89 (all declarations at top). 2007-11-07 Felipe Sateler <fsateler@gmail.com> * H/csound.h,frontends/csladspa/csladspa.cpp,interfaces/CsoundFile.hpp, interfaces/filebuilding.h * SConstruct (CheckGcc4): Added stuff to limit visibility of symbols 2007-10-01 jpff <jpff@codemist.co.uk> * VERSION 5.07 2007-09-30 jpff <jpff@codemist.co.uk> * OOps/goto_ops.c (turnoff2): Patch from Jonathan Murphy in mode4 case * OOps/pstream.c (pvscross): SDFT support 2007-09-29 jpff <jpff@codemist.co.uk> * OOps/ugens1.c (xsgset2, xsgset): Allow negative amd zero length segments 2007-10-03 Michael Gogins <gogins@pipeline.com> * Updated Windows installers to current versions: libsndfile, PortAudio, Fluidsynth, Synthesis Toolkit in C++. * Restored Synthesis Toolkit in C++ Csound opcode wrappers for native STK C++ code, as STK now has BSD-type license. * Convenience wrappers in high-level CsoundAC.Composition class for Csound.Score.arrange(), csnd.CppSound.setOrchestra(), and csnd.CppSound.setScoreHeader(), for more intuitive use of CsoundAC with Csound. * Updated Csound API documentation to reflect splitup between CsoundAC and CsoundVST. 2007-09-28 jpff <jpff@codemist.co.uk> * Opcodes/pan2.c: New code * Opcodes/pvsbasic.c (pvsoscprocess): Added SDFT support 2007-09-21 jpff <jpff@codemist.co.uk> * Opcodes/pvsbasic.c: Added tests all over to warn if the same f-signal is used as in and out in the same opcode 2007-09-20 jpff <jpff@codemist.co.uk> * Opcodes/pvsbasic.c (pvsblurset, pvsblur): Added SDFT support 2007-09-19 jpff <jpff@codemist.co.uk> * Opcodes/pvsbasic.c (pvsfilterset, pvsfilter): Added SDFT support 2007-09-18 jpff <jpff@codemist.co.uk> * Opcodes/pvsbasic.c (pvsmix): Added SDFT support 2007-09-17 jpff <jpff@codemist.co.uk> * Opcodes/pvsbasic.c (pvsmoothprocess): Added SDFT support; also a-rate parameters is wanted 2007-09-09 jpff <jpff@codemist.co.uk> * Made SDFT dependent of SDFT macro and adjust SConstruct to set it * Opcodes/pvsbasic.c (pvsshift, pvsscale): Added SDFT support 2007-09-08 jpff <jpff@codemist.co.uk> * Opcodes/pvsbasic.h (_pvsfreez): Remove unused lastfreq 2007-08-28 Steven Yi <stevenyi@gmail.com> * InOut/rtwinmm.c: midi_in_close had incorrect check causing device not to be closed properly 2007-09-06 jpff <jpff@codemist.co.uk> * Opcodes/pvsdemix.c (pvsdemix_init): Added (under BETA) support for streamed SDFT. * Opcodes/pvsbasic.h (_pvsfreez): Added field in SDFT case * Opcodes/pvsbuffer.c (pvsbufreadset, pvsbufferset): Added (under BETA) support for streamed SDFT. * Opcodes/pvscent.c (pvscentset, pvscent, pvsscent) (pvspitch_init): Added (under BETA) support for streamed SDFT. Includes a-rate opcode for pvscent * Opcodes/pvsbasic.c (pvsinit, pvsfwriteset, pvsdiskinset) (pvsfreezeset, pvssfreezeprocess, pvsfreezeprocess, pvsoscset) (pvsbinprocess, pvsbinprocessa, pvsmoothset, pvsmixset, pvsmix) (pvsfilterset, pvsscaleset, pvsshiftset, pvsshift, pvsblurset) (pvstencilset, pvstencil): Added (under BETA) support for streamed SDFT. Includes a-rate opcode for pvsbinprocess * OOps/pvsanal.c (pvssanalset, pvsanalset, pvssanal, pvsanal) (pvsynthset, pvssynth, pvsynth): Added (under BETA) support for streamed SDFT * H/pstream.h: Added (under BETA) support for streamed SDFT. Changes to PVSDAT and PVSANAL 2007-08-31 Anthony Kozar <anthonykozar@sbcglobal.net> * OOps/aops.c: * Engine/entry1.c: * H/entry1.h: Added new value conversion functions to convert from Midi note number to Csound's three pitch formats (cpsmidinn, pchmidinn, and octmidinn). 2007-08-28 Steven Yi <stevenyi@gmail.com> * Opcodes/fluidOpcodes/fluidOpcodes.c: modified fluidEngine opcode to take optional number of channels (range 16-256, default to 256) and polyphony (range 16-4096, default to 4096) to use. 2007-08-21 Steven Yi <stevenyi@gmail.com> * Opcodes/fluidOpcodes/fluidOpcodes.c: added new fluidSetInterpMethod opcode that wraps fluidSynth's fluid_set_interp_method API method; allows user to choose interpolation method from 0 (none), 1 (Linear), 4 (4th order, default), and 7 (7th order, highest quality) on a per channel basis 2007-08-21 <Victor.Lazzarini@nuim.ie> * Opcodes/sfont.c: removed all global static variables 2007-08-16 <jpff@cs.bath.ac.uk> * SConstruct: Separate Word64 (for PIC) and Lib64 for library name 2007-08-14 <jpff@cs.bath.ac.uk> * SConstruct: Use .Program rather than .Command in cseditor 2007-07-24 Michael Gogins <gogins@pipeline.com> * Folded all NSIS windows installer scripts into one script, csoundd.nsi. See the top of this script for command-line options to build float sample or double sample versions of Csound, or to omit or include non-free software components. The script automatically detects Python, and can install Python if it is not available; if Python is not available, copies Python features of Csound to a backup directory. * Renamed some example .csd files for greater clarity. * Improved GUI for CsoundVST. * Updated the Csound reference manual for the new installer script, CsoundAC, and changes in CsoundVST. 2007-07-28 jpff <jpff@codemist.co.uk> * Engine/musmon.c (tempset): Cannot set tempo if beatmode not in force 2007-07-24 Michael Gogins <gogins@pipeline.com> * Removed CsoundVST, vst4cs, and stk.dll (the C++ version of the STK opcodes) from the default Windows installers, in order to bring the Windows installers into line with SourceForge licensing guidelines. * Moved the "Silence" algorithmic composition classes out of the CsoundVST shared library and into a new shared library, Python extension module, and CVS directory, CsoundAC (for "Csound algorithmic composition"). * Created new NSIS installer scripts that do include CsoundVST, vst4cs, and the STK opcodes as a convenience for those who will build these components from source code. * Speeded up the CsoundAC.Voicelead, CsoundAC.VoiceleadingNode, and CsoundAC.Score class methods that work with chord voicings by using a new algorithm to iterate through all voicings of a chord in a specified by range by adding octaves to the lowest and most compact voicing, instead of building a set of all voicings in memory (which would get much too large for complex chords). 2007-07-13 <jpff@cs.bath.ac.uk> * util/atsa.c (init_sound): Check to see if no partials (ie silence) and stop 2007-07-12 <jpff@cs.bath.ac.uk> * Opcodes/ugnorman.c: Added scaling by 0dbfs and some code tidying 2007-07-06 <jpff@cs.bath.ac.uk> * InOut/rtwinmm.c (csoundModuleCreate): Quieten startup message in line with other modules * Opcodes/ugnorman.c (atsaddnzset): Complain about a negative number of bands 2007-07-05 Michael Gogins <gogins@pipeline.com> * Opcodes/vst4cs: Fixed a bug in the vstnote opcode whereby NOTE OFF messages were scheduled, but not always dispatched. NOTE OFF messages are now both scheduled and dispatched. 2007-07-05 jpff <jpff@codemist.co.uk> * Opcodes/ambicode.c: Used P type for gains in bformenc. Added negative setup to give "controlled opposites" rather than spherical harmonics. Tidied code to make kbeta explicit in encoding. Other code reworking. * Engine/entry1.c: * Engine/rdorch.c (getoptxt): * Engine/csound_orc_semantics.c (handle_polymorphic_opcode): Added P as k-rate defaulting to 1 2007-06-30 jpff <jpff@codemist.co.uk> * OOps/goto_ops.c (turnoff2): ip->nxtact can be overwritten in mode 0 so need to remember the value before calling deact 2007-06-24 jpff <jpff@codemist.co.uk> * OOps/ugens2.c (koscl3): The amplitude was being ignored. Multiply by *p->xamp to fix 2007-06-08 jpff <jpff@codemist.co.uk> * Opcodes/ugsc.h: * Opcodes/ugsc.c: Make filters work in doubles internally 2007-06-04 jpff <jpff@codemist.co.uk> * VERSION 5.06 * interfaces/cs_glue.h: Removed as it was empty * Opcodes/grain4.c (grainsetv4): Supress messages if no warnings * H/soundio.h (SF2TYPE): Masked off top nibble with SF_FORMAT_TYPEMASK 2007-06-03 Anthony Kozar <anthonykozar@sbcglobal.net> * Top/cscorfns.c (cscoreRESET & cscoreFileOpen): Fixed deallocation of SPACE blocks. Clarified some error messages. Searches in INCDIR now when opening extra score files and calls csoundNotifyFileOpened(). 2007-06-02 Anthony Kozar <anthonykozar@sbcglobal.net> * util/dnoise.c: * util/hetro.c: * util/sndinfo.c: * util/srconv.c: Added calls to csound->NotifyFileOpened() as needed. * Opcodes/fout.c (fout_open_file): Changed FileOpen() to FileOpen2(), but the result is not ideal yet because we cannot always know the correct file type for files opened with the fiopen opcode. * H/csoundCore.h: * H/csound.h: Added sftype2csfiletype() function pointer to CSOUND. * Opcodes/py/pythonopcodes.c (exec_file_in_given_context): * Opcodes/py/pyx-gen.py: * Opcodes/py/pyx.auto.c: Replaced fopen() call with FileOpen2() in exec_file_in_given_context(), adding a CSOUND* to the function arguments, and updating the pyexec* opcode routines to pass it. * InOut/virtual_keyboard/KeyboardMapping.cpp: * Top/main.c (csoundCompile): Call csoundNotifyFileOpened() if a dummy score file is created. * InOut/libsnd.c (sfopenin & sfopenout): Call csoundNotifyFileOpened() for the primary input and output soundfiles. 2007-06-01 jpff <jpff@codemist.co.uk> * OOps/diskin2.c (diskin2_init): * OOps/diskin.c (newsndinset): Supress warning messages when no warnings requested * Top/csound.c (kperf): Restore other way of running chain. Unsafe in presence of delete but needed in turnoff 2007-06-01 Anthony Kozar <anthonykozar@sbcglobal.net> * Engine/envvar.c (csoundFileOpenWithType): When opening a sound file for reading, replace CSFTYPE_UNKNOWN_AUDIO with actual file type. * InOut/libsnd_u.c (sftype2csfiletype): Ignore endian bits of format. * OOps/sndinfUG.c (getsndinfo): Fixed a small bug in yesterday's changes and worked around opening of PVOC files being reported twice. 2007-05-31 Anthony Kozar <anthonykozar@sbcglobal.net> * H/csoundCore.h: * H/csound.h: Moved CSOUND_FILETYPES enum to csound.h for host and plugin access. Added more file type constants. * InOut/libsnd_u.c: * OOps/diskin.c * util/mixer.c: * util/scale.c: * util/xtrct.c: type2csfiletype() now does more audio formats and uses sample-encoding information to distinguish between AIFF and AIFC. * H/csound.h: * H/csoundCore.h: * H/prototyp.h: * Engine/memfiles.c: * Top/csound.c: * OOps/ugens3.c: * OOps/ugens5.c: * Opcodes/hrtferX.c: * Opcodes/scansynx.c: * Opcodes/ugens9.c: * Opcodes/ugnorman.c: * util/het_export.c: New API function pointer ldmemfile2() to replace ldmemfile(). Takes an additional parameter for the type of file being opened. Updated all calls to ldmemfile() to use ldmemfile2() instead. New API function pointer NotifyFileOpened() that calls the FileOpenCallback when set. * InOut/winEPS.c: * Opcodes/ftgen.c: * Opcodes/sfont.c: Replaced fopen() calls with FileOpen2(). * Top/main.c: * Top/one_file.c * Engine/musmon.c: * Engine/rdorch.c: * OOps/sndinfUG.c: * Opcodes/Loris/lorisgens5.C: * Opcodes/fluidOpcodes/fluidOpcodes.c: Added calls to csoundNotifyFileOpened() after uses of fopen() within Csound. Added csound->NotifyFileOpened() to fluidLoad and lorisread. lorisread now looks in SADIR for input files. Tracks whether orc and sco files are temporary files. * Top/cscore_internal.c: * Top/csound.c: * H/prototyp.h: Rename internal cscore function to cscore_() to avoid linker warnings for duplicate symbol with standalone cscore programs. 2007-05-30 jpff <jpff@codemist.co.uk> * Top/argdecode.c (decode_long): Correct string length count in --m-warnings and a few others 2007-05-27 jpff <jpff@codemist.co.uk> * OOps/aops.c (MOD): Changed to non-integer values can be returned -- reverting to pre Feb2007 version but better code 2007-05-17 Andrés Cabrera <andres@geminiflux.com> * InOut/widgets.cpp, InOut/widgets.h: Added FlslidBnk2, FlvslidBnk, FlvslidBnk2, by Gabriel Maldonado 2007-05-14 Andrés Cabrera <andres@geminiflux.com> * InOut/widgets.cpp, InOut/widgets.h, Opcodes/gab/hvs.c, Opcodes/gab/newgabopc.c, Opcodes/gab/sliderTable.c, Opcodes/gab/tabmorph.c: Added new opcodes from CsoundAV by Gabriel Maldonado: hvs1, hvs2, hvs3, vphaseseg, inrg, outrg, lposcila, lposcilsa, lposcilsa2, tabmorph, tabmorpha, tabmorphak, tabmorphi, trandom, vtable1k, slider8table, slider16table, slider32table, slider64table, slider8tablef, slider16tablef, slider32tablef, slider64tablef, sliderKawai and an a-rate version of ctrl7. * Opcodes/gab/vectorial.c,Opcodes/gab/vectorial.c: Added new optional isize argument to vrandh and vrandi for more similarity with randh and randi 2007-05-02 Michael Gogins <gogins@pipeline.com> * ScoreGen.dll can now act as a MIDI effect as well as a VST plugin that can send MIDI events to the host. I.e., ScoreGen can act as a Python-programmable score generator in VST hosts. As a MIDI effect, ScoreGen can "freeze" generated events into a MIDI part for manual editing or notation, using Cubase's "Free MIDI Modifiers" command. * A number of serious bugs were fixed in ScoreGen's VST event processing. It will now properly play generated scores. 2007-05-07 jpff <jpff@codemist.co.uk> * Opcodes/pitch.c (pitchset): Do not change parameters! * Opcodes/partikkel.h: * Opcodes/partikkel.c: Remove failed attempt at aliasing-prevention that might result in segfaults or hangs when using kdist. Small optimisations. Some cosmetic stuff. 2007-05-04 <jpff@cs.bath.ac.uk> * util/het_export.c (het_export): Improved error checks as suggest in bug report 2007-05-02 Michael Gogins <gogins@pipeline.com> * Updated the csnd and CsoundVST Python extension modules to be compatible with Python version 2.5. * Split all SWIG-generated Python stub code off into shared libraries _csnd.pyd and _CsoundVST.pyd. * All remaining code from the old _csnd.dll and _CsoundVST.dll is now in csnd.dll and CsoundVST.dll. * Many classes and functions in CsoundVST are now exported so that they can dynamically link with _CsoundVST.pyd. * "Glue" code for message buffers, etc. has been moved into the csound.h and csound.c files. 2007-04-29 Anthony Kozar <anthonykozar@sbcglobal.net> * Engine/envvar.c, Engine/fgens.c, Engine/memfiles.c, * Engine/new_orc_parser.c, Engine/rdorch.c, Engine/sread.c, H/csound.h, * H/csoundCore.h, H/envvar.h, H/prototyp.h, H/soundio.h, InOut/libsnd_u.c, * InOut/midifile.c, InOut/midisend.c, OOps/diskin.c, OOps/diskin2.c, * OOps/dumpf.c, OOps/pvfileio.c, OOps/sndinfUG.c, Top/argdecode.c, * Top/csound.c, Top/main.c, Top/one_file.c, util/atsa.c, util/cvanal.c, * util/hetro.c, util/lpanal.c, util/mixer.c, util/pvanal.c, util/scale.c, * util/xtrct.c: New API function pointer FileOpen2() to replace FileOpen(). Takes additional parameters for the type of file being opened and whether it is a temp file. This information (along with filename, etc.) is passed to a new host callback that can be set with csoundSetFileOpenCallback(). Updated most uses of FileOpen() to use FileOpen2() instead. 2007-04-28 Anthony Kozar <anthonykozar@sbcglobal.net> * Opcodes/ampmidid.cpp: #include "OpcodeBase.hpp", not <OpcodeBase.hpp>. * Top/csound.c (kperfThread): * Top/main.c: * Opcodes/gab/vectorial.c (vrand*): Move declarations before other code and kperfThread() should return unsigned long instead of int. 2007-04-22 Michael Gogins <gogins@pipeline.com> * Corrected the logic in the CsoundVST ImageToScore class. * Added support for PNG and JPEG formats to the ImageToScore class. 2007-04-19 jpff <jpff@codemist.co.uk> * Opcodes/partikkel.h: * Opcodes/partikkel.c: New code from Oeyvind 2007-03-24 jpff <jpff@codemist.co.uk> * H/version.h (CS_APISUBVER): Increase * Top/csound.c: * Top/argdecode.c: * H/csoundCore.h: Rearrange code on sr/kr override 2007-03-19 Andrés Cabrera <andres@geminiflux.com> * Fixed vrandh and vrandi scaling problems and added optional idstoffset, iseed and ioffset arguments 2007-03-12 Andrés Cabrera <andres@geminiflux.com> * Added preliminary support for vst4cs on linux 2007-03-12 jpff <jpff@codemist.co.uk> * Opcodes/system_call.c (localops): system was not called at k-rate 2007-03-11 Andrés Cabrera <andres@geminiflux.com> * Added Plastic look for FLslider, FlslidBnk, FLbutton and FLbutBnk 2007-03-07 jpff <jpff@codemist.co.uk> * VERSION 5.05 2007-03-04 Steven Yi <stevenyi@gmail.com> * Engine/sread.c: Applied patch from John McCullough from SourceForge bug 1666632 "Heap Overflow in Marker Parsing" 2007-02-18 Steven Yi <stevenyi@gmail.com> * Opcodes/dam.{c.h}: Moved initialization code of power buffer to performance time function as it depends on krate var (kthreshold) 2007-02-17 jpff <jpff@codemist.co.uk> * OOps/aops.c (MOD): Attempt to fix bad code in MOD 2007-02-14 jpff <jpff@codemist.co.uk> * Top/cscore.c: Top/cscormai.c: Removed old code 2007-02-13 Anthony Kozar <anthonykozar@sbcglobal.net> * Top/cscorfns.c: cscoreCopyEvent() was writing past the end of the EVENT struct. Also added new static atEOF to fix an infinite loop caused by a change in the behavior of rdscor(). * Top/cscormai.c: * Top/cscore.c: Moved to frontends/cscore/ * examples/cscore/: Added a number of examples of using Cscore. * util1/cscore/: Removing this directory as it is obsolete. 2007-02-13 jpff <jpff@codemist.co.uk> * Opcodes/fm4op.h (TwoPole): Not used 2007-02-02 jpff <jpff@codemist.co.uk> * Opcodes/pitch.c (trnset): Fixed bug in allocation 2007-01-26 jpff <jpff@codemist.co.uk> * Opcodes/gab/vectorial.c (vexpv_i): Aparent typo used uninitialied variable 2007-01-25 jpff <jpff@codemist.co.uk> * Opcodes/butter.c: Optimisations and accuracy improvements. Also deleted butter.h and incorporated into source 2007-01-16 Steven Yi <stevenyi@gmail.com> * InOut/widgets.cpp (csoundModuleDestroy): wrapped deinit code with a check to see if widgetGlobals is not NULL (was causing segfault when running "csound" or "csound --help") 2007-01-15 Steven Yi <stevenyi@gmail.com> * Manually merged in work from New Parser branch; to compile, must enable in build using buildNewParser=1; to use at runtime, use --new-parser flag; notes added to To-fix-and-do file; added tests directory for use with testing new parser (python scripts) 2007-01-15 jpff <jpff@codemist.co.uk> * Opcodes/wave-terrain.c (wtinit): No need to copy tables * Opcodes/scansyn.c (scsnu_initw): Initialise x2 and x3 as in scansynx 2007-01-07 Anthony Kozar <anthonykozar@sbcglobal.net> * OOps/remote.c (remoteport): Stub version for platforms without sockets. * SConstruct: Use sys.byteorder to set flags for sfonts and STK opcodes. 2007-01-07 Steven Yi <stevenyi@gmail.com> * Engine/envvar.c (csoundGetDirectoryForPath): added call to csoundConvertPathname at top of function to fix bug on Windows where path's with forward slashes were causing segfaults (Recommended by Anthony Kozar on Dev list) 2007-01-07 jpff <jpff@codemist.co.uk> * Engine/entry1.c: Allow printf and printf_i not have zero arguments after trigger (reverted as causes other problems) * Opcodes/system_call.c: new code 2006-12-02 Michael Gogins <gogins@pipeline.com> * Completed implementation of algorithmic composition helper classes for voice-leading and chord progression in CsoundVST: Voicelead, VoiceleadingNode, Conversions, and Score. These implement orthogonal arithmetical operations for changing interval structure ('prime chord' or P), chord transposition ('transposition' or T), and voicing or inversion within a range ('voicing' or V), as well as arithmetic upon pitch-class set numerals ('Mason number' or M). These operations can be used both to generate scores, and to filter existing scores. 2006-12-23 jpff <jpff@codemist.co.uk> * InOut/widgets.cpp (save_snap): fl_ask() is depricated so replace by fl_choice() 2006-12-14 jpff <jpff@codemist.co.uk> * Opcodes/pitch0.c (pfun): Commented out printing 2006-12-02 Michael Gogins <gogins@pipeline.com> * Added CppSound::getInstrumentNames() to return a map of instrument numbers to names for a loaded Csound orchestra. * Added ampmidid opcodes, which map MIDI velocity variable to peak amplitude using the method of Dannenberg (ICMC 2006), according to a user-specified dynamic range in dB. 2006-11-28 Steven Yi <stevenyi@gmail.com> * InOut/virtual_keyboard: Modified FLvkeybd to take in width and height, make keyboard resizable 2006-11-26 Steven Yi <stevenyi@gmail.com> * InOut/virtual_keyboard: Added FLvkeybd opcode to embed virtual keyboard into FLTK Widget panel; only one allowed per project; useful for demo versions of MIDI orchestras 2006-11-25 Steven Yi <stevenyi@gmail.com> * InOut/widgets.cpp: Added FLcloseButton and FLexecButton opcodes; closeButton closes the window panel it is a member of, while execButton runs a command given to it 2006-11-16 jpff <jpff@codemist.co.uk> * OOps/diskin.c: (and many others) * OOps/remote.c: Use InitError correctly 2006-11-15 Steven Yi <stevenyi@gmail.com> * InOut/virtual_keyboard: Added 10 MIDI Sliders to virtual keyboard 2006-11-13 jpff <jpff@codemist.co.uk> * OOps/remote.c (remoteport): New opcode to set remote port * install.py: Added cseditor to package system 2006-11-09 jpff <jpff@codemist.co.uk> * VERSION 5.04 2006-10-29 Simon Schampijer <simon@schampijer.de> * OOps/remote.c: Added the patch from Dan Williams which: 1) Fixes detection of the IP address by correctly converting the uint32 to a string format using inet_ntoa() on Linux. There was something wrong with the manual conversion code that was there which caused only the last octet to be recognized, which meant the remote plugin was mismatching the IP addresses and playing everything locally. I have no idea why it worked before, but my patch is clearly correct (to me at least!) 2) fixes up error handling on plugin init; If the machine runs out of memory while starting the remote plugin, it should return an error in callox() so that CSound is alerted to the error as well. Furthermore, if detection of the local IP address fails for any reason, the plugin should fail to initialize. 2006-10-27 David Akbari <dakbari@gmail.com> * frontends/cseditor/*: * SConstruct: Added build options and targets for basic Csound syntax highlighting text editor that uses FLTK. 2006-10-27 Anthony Kozar <anthonykozar@sbcglobal.net> * H/sysdep.h: #define for inline with Metrowerks CodeWarrior compiler. * OOps/remote.c: Removed troublesome inline declarations. 2006-10-27 Steven Yi <stevenyi@gmail.com> * InOut/virtual_keyboard/*: * SConstruct: Added new FLTK virtual keyboard MIDI driver; enable use by using "-+rtmidi=virtual -M0"; sends MIDI notes in the same way as any real MIDI device; useful for testing and in situations without MIDI gear; still needs a little work 2006-10-26 Anthony Kozar <anthonykozar@sbcglobal.net> * SConstruct: Check for socket-related headers and define HAVE_SOCKETS if they are found. * Top/main.c: * Engine/musmon.c: * H/remote.h: * OOps/remote.c: #ifdefed remove events based on HAVE_SOCKETS. Created stub functions for when they are not available. Expanded musmon.c interface to remote.c so that no internal knowledge of remote globals is necessary. Remote opcodes still exist on non-socket builds but print a warning message that remove events are not available. 2006-10-26 Anthony Kozar <anthonykozar@sbcglobal.net> * Top/main.c: * Engine/namedins.c: * Engine/envvar.c: Couple more fixes for concatenating paths. 2006-10-25 jpff <jpff@codemist.co.uk> * OOps/midiops.c (pgmin): Added optional channel parameter to restrict watch 2006-10-25 Steven Yi <stevenyi@gmail.com> * H/csoundCore.h (OPARMS): * Top/argdecode(decode_long): * Top/main.c (csoundCompile): added command line flags --no-default-paths and --default-paths to disable and reenable using path(s) of CSD/ORC/SCO as part of search paths 2006-10-24 Steven Yi <stevenyi@gmail.com> * Top/main.c (csoundCompile): changed CSD/ORC/SCO directory to append instead of prepending search paths 2006-10-24 Anthony Kozar <anthonykozar@sbcglobal.net> * Top/main.c: * Engine/rdorch.c: * Engine/envvar.c: * H/envvar.h: Many changes & improvements to file searching. - New internal interface for X-platform path manipulation. - CSD/ORC/SCO directory prepended to environment variables instead of appended (so that they are searched later). - Relative paths beginning with "./" or "../" now work when specifying filenames in ORC and SCO. - Many bug fixes to MacOS 9 path manipultion. 2006-10-23 jpff <jpff@codemist.co.uk> * OOps/midiops.c (pgmin): Make program changes in range 1-128 rather than 0-127 * OOps/remote.c (insremot): Need to check csound->remoteGlobals before access 2006-10-22 jpff <jpff@codemist.co.uk> * OOps/midiops.c: Added pgmchn opcode * Engine/entry1.c: Midiin was not being initialised; also added pgmchn opcode 2006-10-21 jpff <jpff@codemist.co.uk> * Opcodes/harmon.c: New code from Barry Vercoe 2006-10-19 Steven Yi <stevenyi@gmail.com> * Top/main.c (csoundCompile): now adds directory of CSD, or ORC and SCO to INCDIR, SADIR, SSDIR, and MFDIR; SCO path's are currently added before ORC path * Engine/envvar.c (csoundGetDirectoryForPath): New function added to find absolute path given a path as string 2006-10-19 jpff <jpff@codemist.co.uk> * frontends/winsound/main.cxx (cs_compile_run): If orchname starts with / or \\ change directory to location 2006-10-19 Anthony Kozar <anthonykozar@sbcglobal.net> * H/cscore.h: Fixed Cscore includes. * Top/csmodule.c: Now searches for & auto-loads plugins on MacOS 9. 2006-10-18 Steven Yi <stevenyi@gmail.com> * Engine/musmon.c (process_rt_event): Fixed to check if remoteGlobals is initialized when processing MIDI events 2006-10-17 <jpff@cs.bath.ac.uk> * util/pv_import.c (pv_import): Chancge exits to returns and replaced printing to stderr by calls to csound->Message 2006-10-16 Anthony Kozar <anthonykozar@sbcglobal.net> * H/csound.h: * H/cscore.h: * H/cvgvar.h: Added Mac pragmas to export PUBLIC functions. * util/pv_import.c: Fixed check for failure to open output file. 2006-10-12 Michael Gogins <gogins@pipeline.com> * Added Voicelead class to the Silence system in CsoundVST. It finds the closest voice-leadings first by smoothness, then by parsimony, optionally avoiding parallel fifths, between two sets of pitches. * Added methods to the Score class in the Silence system for identifying the prime chord, transposition of prime chord, and voicing index for segments of scores; setting the same properties in segments of scores; and voice-leading between segments of scores. 2006-10-12 jpff <jpff@codemist.co.uk> * OOps/remote.c: * H/remote.h: New code for remote performance (OLPC) * Engine/entry1.c: Add opcodes insremot, midremot, insglobal and midglobal * Engine/musmon.c: New code for this * H/csoundCore.h: New fields for remote * InOut/midirecv.c: minor chjange for remote 2006-10-12 Steven Yi <stevenyi@gmail.com> * Top/one_file.c (readOptions): fixed parsing of quoted strings 2006-09-24 jpff <jpff@codemist.co.uk> * Engine/musmon.c (print_maxamp): Allow coloured numbers in raw context as well as dB 2006-09-21 Steven Yi <stevenyi@gmail.com> * Opcodes/biquad.c (mode): added mode opcode, a translation of François Blanc's mode UDO to C 2006-09-20 jpff <jpff@codemist.co.uk> * Opcodes/sfont.c (SfLoad): Allow string or number and strset code for file 2006-09-18 Steven Yi <stevenyi@gmail.com> * Opcodes/flanger.c (wguide2set): fixed wguide2, code was looking at wrong arguments for xincod values, also check for comparison between the two xincod's was incorrect 2006-09-16 Michael Gogins <gogins@pipeline.com> * Added plugin SDK to Windows installers. 2006-09-15 jpff <jpff@codemist.co.uk> * util/lpcx_main.c: * util/lpci_main.c: * util/heti_main.c: Simpler versions that do not depend on all of csound for stand-alone versions 2006-09-12 jpff <jpff@codemist.co.uk> * Engine/sread.c (sread): isdigit is faster than strchr * Engine/insert.c (xinset): strings as arguments (xoutset): Ditto * Engine/otran.c (parse_opcode_args): Tracking strings as UDO arguments 2006-09-12 Steven Yi <stevenyi@gmail.com> * Renamed Opcodes/avarops.c to Opcodes/vaops.c, renamed avar_get and avar_set opcodes to vaget and vaset (as requested on Csound list) 2006-09-09 Michael Gogins <gogins@pipeline.com> * Removed Loris from Windows installers as new versions do not run on Windows, and ATS opcodes are similar. * Upgraded LuaJIT to version 1.1.0 for Windows installer. * Upgraded libsndfile to version 1.0.17 for Windows installer. * Added information on Csound syntax coloring for SciTE to tutorial. * Added high-resolution versions of trapped.csd and xanadu.csd. 2006-09-08 Steven Yi <stevenyi@gmail.com> * Engine/rdorch.c (rdorchfile, init_math_constants_macros): added math constants found in math.h as a default set of macros (M_PI is $M_PI, etc.) 2006-09-04 Steven Yi <stevenyi@gmail.com> * Opcodes/avarops.c: added avar_get and avar_set opcodes to read from and write values to a-rate variables at k-rate 2006-08-28 jpff <jpff@codemist.co.uk> * Opcodes/newfils.c (moogladder_process): Minor optimisation (loop invariant) 2006-08-25 jpff <jpff@codemist.co.uk> * Engine/insert.c (delete_instr): Allowed named instruments as well 2006-08-23 veplaini <Victor.Lazzarini@nuim.ie> * frontends/tclcsound/commands.c, tclcsound.h: added pvs bus channel interface to tclcsound. Not tested yet. Manual pages for all new opcodes have also been added. 2006-08-23 jpff <jpff@codemist.co.uk> * Opcodes/biquad.c (tbvcf): Use doubles inside filter * util/atsa.c: All over removed compiler warnings -- mainly missing casts and inappropriate use of floor 2006-08-23 veplaini <Victor.Lazzarini@nuim.ie> * csoundCore.h, csound.h, bus.h, bus.c, csound.c, entry1.c : pvs bus now called pvsin/pvsout. * csound.hpp: added a user-friendly interface to pvsin/out * disprep.*, entry1.c: added pvsdisp opcode * pvsbasic.*: added pvsbin, pvsosc and pvsfwrite opcodes * pvscent.c: added pvspitch opcode by Alan OCinneide Manual pages to follow 2006-08-22 jpff <jpff@codemist.co.uk> * Opcodes/biquad.c (moogvcf, rezzy): Minor optimisations 2006-08-21 jpff <jpff@codemist.co.uk> * util/lpanal.c (polyzero): Replace pow(..,2.0) by direct calculation twice * SConstruct (stdutilSources): Added build of pv_import/export utilities * Engine/insert.c: Include delete in non-Beta version * util/pvi_main.c, util/pvx_main.c: New code 2006-08-20 veplaini <Victor.Lazzarini@nuim.ie> * csoundCore.h, csound.h, bus.h, bus.c, csound.c, entry1.c : added fsig to chani/chano bus interface (now called pvsin/pvsout). * csoundCore.h: commented out redefinition of printf to eliminate warnings (on OLPC build) 2006-08-17 jpff <jpff@codemist.co.uk> * Top/csmodule.c (csoundLoadExternal): Even if not BETA display the reason that a module failed to load rather than -1 2006-08-15 jpff <jpff@codemist.co.uk> * Version 5.03 released 2006-08-11 Andres Cabrera <andres@geminiflux.com> * opcodes/Gab/vectorial.c: Added kverbose optional argument and other bug fixes. 2006-08-07 Andres Cabrera <andres@geminiflux.com> * opcodes/Gab/vectorial.c: Added optional arguments isrcoffset and idstoffset to most vectorial opcodes. * opcodes/Gab/vectorial.c: Added i-rate versions of most vectorial opcodes. 2006-07-30 jpff <jpff@codemist.co.uk> * util/cvanal.c (cvanal): Added termination message 2006-07-27 jpff <jpff@codemist.co.uk> * Opcodes/biquad.c (moogvcfset): Corrected mind error (divide and divide). Thanks to IV 2006-07-26 jpff <jpff@codemist.co.uk> * Opcodes/biquad.c (moogvcfset, moogvcf): Allow for scaling to 0dbfs and improve accuracy of filter by using doubles. (rezzyset, rezzy, bqrezset, bqrez): Use doubles in filter 2006-07-21 Michael Gogins <gogins@pipeline.com> * Added new long options for routing MIDI note on message key and velocity numbers to specified pfields: --midi-key=<pfield>, --midi-key-cps=<pfield>, --midi-key-oct=<pfield>, --midi-key-pch=<pfield>, --midi-velocity=<pfield>, --midi-velocity-amp=<pfield>. * Added tutorial LaTeX file tutorial/tutorial.tex. 2006-07-19 Victor Lazzarini <victor.lazzarini@nuim.ie> * Opcodes/sndloop.c: added flooper2 opcode * Opcodes/syncgrain.*: added syncloop opcode Manual pages also added to cvs * frontends/tclcsound/commands.c: removed -d flag, added csPlayAll command, fixed csCompilelist bug. 2006-07-18 jpff <jpff@codemist.co.uk> * frontends/csound/sched.c (set_rt_priority): Comment out the check to see if running as root. Will fail later perhaps if cannot set priority. 2006-07-16 jpff <jpff@codemist.co.uk> * Top/one_file.c (readOptions): Remove trailing spaces in input 2006-07-12 jpff <jpff@codemist.co.uk> * Opcodes/nlfilt.c (pcount, pvalue): New opodes after IV suggestion * Opcodes/pitch.c (pitchset): Moved some filter coeffieients to double 2006-07-08 jpff <jpff@codemist.co.uk> * H/csoundCore.h: Removed unused macros and typedefs * Opcodes/physmod.c (make_DLineA): * Opcodes/physutil.c (make_DLineL): No need to zero allocated array * Opcodes/vst4cs/src/vst4cs.cpp: **EXPERIMENTAL** try to make programs 1-16 * Opcodes/osc-sock.c (osc_send_set, oscInitUDP): Use memset rather than deprecated bzero 2006-07-07 Istvan Varga <via JPff> * Engine/entry1.c: corrected opcode data size for inh and ino * Opcodes/bilbar.c (play_pp): use fabs() instead of abs() * Opcodes/biquad.c (nestedapset): do not assume sizeof(MYFLT) == sizeof(long) 2006-06-30 jpff <jpff@codemist.co.uk> * OOps/midiops.c: * OOps/ugrw1.c: * Opcodes/oscbnk.c: * Opcodes/physmod.c: * Opcodes/uggab.c: * Opcodes/wave-terrain.c: Similar changes to previous 2006-06-30 Istvan Varga <via jpff@codemist.co.uk> * Opcodes/vbap_*.c (vbap_*): Replace 1/ksmps by the precomputed value 2006-06-28 jpff <jpff@codemist.co.uk> * Opcodes/vst4cs/src/: Many changes bringing code closer to Istvan's fork 2006-06-27 jpff <jpff@codemist.co.uk> * OOps/cmath.c (exprand): (biexprand): Restored safety checks for negative argument 2006-06-26 jpff <jpff@codemist.co.uk> * util/pv_import.c: Inverse of pv_export * util/pv_export.c: Code to convert .pvx file to comma-separated text, as a utility 2006-06-23 Istvan Varga <ivarga@csounds.com> * Opcodes/loscilx.c: experimental new opcodes: loscilx, sndload 2006-06-23 jpff <jpff@codemist.co.uk> * OOps/disprep.c (tempest): If we are in a mask situation retain previous best estimate of tempo 2006-06-18 Istvan Varga <ivarga@csounds.com> * OOps/sndinfUG.c: filelen, filenchnls, filesr opcodes: allow for getting parameters of convolve and PVOC files unless the "enable raw files" flag is zero 2006-06-17 Istvan Varga <ivarga@csounds.com> * OOps/ugens2.c: allow inconsistent table index and output type in table read opcodes if ksmps is 1, but print a warning message 2006-06-16 Istvan Varga <ivarga@csounds.com> * Engine/rdorch.c: experimental implementation of nested #ifdef/#ifndef and #else 2006-06-15 jpff <jpff@codemist.co.uk> * util/hetro.c (init_het): skip was not initialised 2006-06-15 Istvan Varga <ivarga@csounds.com> * Engine/rdorch.c: added #ifndef * InOut/libsnd_u.c: more quietening of messages 2006-06-14 Istvan Varga <ivarga@csounds.com> * Made messages less verbose in soundin, diskin, diskin2, and sfpassign. * Engine/otran.c: fixed (hopefully) incorrect offset calculation of string variables 2006-06-13 Istvan Varga <ivarga@csounds.com> * New API functions: csoundSetCallback(), csoundRemoveCallback() * OOps/bus.c: sensekey opcode: use new callback interface * H/version.h: updated API version to 1.02 * InOut/widgets.cpp: experimental implementation of sensekey using FLTK (activated with a new optional argument to FLpanel; only one window can receive keyboard events) 2006-06-12 jpff <jpff@codemist.co.uk> * InOut/midifile.c (csoundMIDIFileOpen): Added MFDIR 2006-06-11 Istvan Varga <ivarga@csounds.com> * Updated version to 5.03.0 beta. * Opcodes/midiops2.c: new opcode: ipgm midipgm [ichn] 2006-06-10 * Csound 5.02.1 release 2006-06-10 Istvan Varga <ivarga@csounds.com> * Engine/sread.c: fixed parsing of score expressions * OOps/aops.c: fixed memory access errors and string channels with numeric channel ID in invalue and outvalue * frontends/winsound/main.cxx, frontends/CsoundVST/CsoundVST.cpp: minor fixes * frontends/fltk_gui/CsoundPerformance.cpp: fixed bug related to display callbacks 2006-06-09 Istvan Varga <ivarga@csounds.com> * OOps/bus.c: Added new optional output argument to sensekey opcode. * Engine/rdorch.c: Made excess number of output arguments a syntax error, rather than silently ignoring them. 2006-06-04 Michael Gogins <gogins@pipeline.com> * Changed the MIDI interoperability opcodes (OOps/midiinterop.c) midinoteoncps, midinoteonoct, midinoteonpch to leave key and velocity unchanged for score-driven performance. 2006-06-04 * Csound 5.02 release 2006-06-04 Istvan Varga <ivarga@csounds.com> * Engine/otran.c: work around constndx() not being compiled correctly 2006-06-03 Istvan Varga <ivarga@csounds.com> * Engine/fgens.c, InOut/libsnd_u.c, OOps/diskin.c, OOps/diskin2.c: GEN01, diskin, diskin2, soundin: with an iformat value of -1, reject headerless files, rather than assuming the same format as the one specified on the command line GEN01: added format codes 7 (8 bit unsigned), 8 (24 bit), and 9 (doubles) * Engine/entry1.c, H/sndinfUG.h, OOps/sndinfUG.c: filelen, filenchnls, filesr: added optional i-time argument that defaults to 1, and if zero, will make the opcodes return zero on headerless files rather than some possibly incorrect defaults * Opcodes/fout.c: fixed bug in fini opcode (negative numbers were read incorrectly) * Engine/sread.c, Engine/swrite.c, Engine/twarp.c: fixes to reading numbers in [] score expressions fixed 's' and 'e' score opcodes with time parameter 2006-06-02 Istvan Varga <ivarga@csounds.com> * New string opcodes: Sdst strsub Ssrc[, istart[, iend]] Sdst strsubk Ssrc, kstart, kend ichr strchar Sstr[, ipos] kchr strchark Sstr[, kpos] ilen strlen Sstr klen strlenk Sstr Sdst strupper Ssrc Sdst strupperk Ssrc Sdst strlower Ssrc Sdst strlowerk Ssrc Sval getcfg iopt ipos strindex Sstr1, Sstr2 kpos strindexk Sstr1, Sstr2 ipos strrindex Sstr1, Sstr2 kpos strrindexk Sstr1, Sstr2 * Engine/express.c, Engine/otran.c: fixed parsing of numbers in exponential notation also some parser fixes related to 0dbfs 2006-06-01 Istvan Varga <ivarga@csounds.com> * Added callback interface to the software bus with named channels, using new opcodes chnrecv and chnsend. The callback function can be set with csoundSetChannelIOCallback(). 2006-05-31 jpff <jpff@codemist.co.uk> * util/sndinfo.c: Added option to print looping information etc. 2006-05-31 Istvan Varga <ivarga@csounds.com> * InOut/widgets.cpp: FLbutton type 1 callback now sets the output to "ion" 2006-05-30 Istvan Varga <ivarga@csounds.com> * Opcodes/fout.c: new opcode: ficlose 2006-05-30 ma++ ingalls <matt@sonomatics.com> * aops.c, aops.h, csound.h: invalue/outvalue updates as per Istvan's comments * csound.c: changed "early return" comments to debug only * hetro.c: added pollevents inside processing loop * lpanal.c: added warning message with -g flag * sockrecv.c: took out usleep() declaration - was causing compile error 2006-05-28 ma++ ingalls <matt@sonomatics.com> * frontends/CsoundX: added to cvs * aops.c, entry1.c, entry1.h, csound.h: added hack to invalue/outvalue to support strings 2006-05-27 Istvan Varga <ivarga@csounds.com> * Added ATS analysis utility. 2006-05-26 ma++ ingalls <matt@sonomatics.com> * frontends/CsoundVST/AEffect.h: commented out 2 PRAGMAS causing compile error on mac * Opcodes/vst4cs/vsthost.c: added plug-in loading for MACH-O mac. commented out #includes that caused compile error on mac * Opcodes/vst4cs/vsthost.h: commented out #includes that caused compile error on mac * Opcodes/vst4cs/fxbank.h: commented out #includes that caused compile error on mac * OOps/aops.c: added i-rate support to invalue/outvalue 2006-05-24 Istvan Varga <ivarga@csounds.com> * InOut/rtalsa.c: changed default device from "default" to "plughw" * InOut/rtjack.c: list available device names for -i adc or -o dac if an invalid device is specified 2006-05-23 Istvan Varga <ivarga@csounds.com> * Opcodes/ugnorman.c: fixed "not initialised" bug in ATSbufread 2006-05-22 Istvan Varga <ivarga@csounds.com> * OOps/midiops.c: massign(): interpret channel number <= 0 as all channels * H/csoundCore.h, Top/csound.c: added new function GetCurrentThreadID() to CSOUND structure 2006-05-21 Michael Gogins <gogins@pipeline.com> * New API function: csoundGetCurrentThreadId() 2006-05-20 Istvan Varga <ivarga@csounds.com> * Opcodes/stackops.c: added new stack opcodes (stack, push, pop, push_f, pop_f); also moved monitor opcode here. * Reworked user defined opcodes to allow for up to 256 input/output arguments. * Opcodes/bilbar.c: removed use of C++ style comments. 2006-05-16 jpff <jpff@codemist.co.uk> * Engine/entry1.c: Change args of xin to match OPCODENUMOUTS 2006-05-15 Anthony Kozar <anthonykozar@sbcglobal.net> * Top/cscormai.c: Fixed #includes. * interfaces/CsoundFile.cpp: isspace() is in <cctype> and supposed to be in std namespace * H/csoundCore.h: Increased OPCODENUMOUTS to 64 as requested. 2006-05-15 Istvan Varga <ivarga@csounds.com> * Opcodes/monitor.c: added new opcode: monitor 2006-05-14 jpff <jpff@codemist.co.uk> * util/pvlook.c (pvlook): Rewritten for .pvx format 2006-05-13 jpff <jpff@codemist.co.uk> * util/pvanal.c: Added -B # argument to give a beta to the Kaiser window; still defaults to 6.8 2006-05-12 Istvan Varga <ivarga@csounds.com> * frontends/csound/csound_main.c: overwrite old log files, rather than appending messages 2006-05-08 Istvan Varga <ivarga@csounds.com> * New API functions: csoundCreateMutex, csoundLockMutex, csoundLockMutexNoWait, csoundUnlockMutex, csoundDestroyMutex, csoundRunCommand 2006-05-04 Istvan Varga <ivarga@csounds.com> * InOut/rtalsa.c: added new "devfile" MIDI driver that uses device files in /dev, based on code from Csound 4.23 mididevice.c 2006-05-03 Istvan Varga <ivarga@csounds.com> * InOut/FL_graph.cpp, InOut/widgets.cpp: * InOut/winFLTK.c, InOut/winFLTK.h: added more FLTK flags (see winFLTK.h) 2006-05-02 Istvan Varga <ivarga@csounds.com> * InOut/widgets.cpp, InOut/winFLTK.c, InOut/winFLTK.h: disable threads by default if graphs are used * OOps/sndinfUG.c: filepeak opcode now uses PEAK chunks with libsndfile >= 1.0.16 2006-04-30 Istvan Varga <ivarga@csounds.com> * Attempt to fix thread locks on MacOS X. * util/srconv.c: fixed output amplitude when downsampling allow utility to be stopped by yield callback * install.py, installer/misc/mkpackage.py: install TclCsound command documentation 2006-04-29 Istvan Varga <ivarga@csounds.com> * Made it possible to control the behavior of the FLTK plugin from the host application. This can be done with the following code between calling csoundPreCompile() and csoundCompile(): CSOUND *csound; ... csoundCreateGlobalVariable(csound, "FLTK_Flags", sizeof(int)); *((int*) csoundQueryGlobalVariable(csound, "FLTK_Flags")) = flags; where 'flags' can be the sum of any of the following values: 1: disable widget opcodes 2: disable FLTK graphs 4: disable the use of a separate thread for widget opcodes 8: disable the use of Fl::lock() and Fl::unlock() 16: disable the use of Fl::awake() additionally, after calling csoundCompile(), the same variable can be checked to find out if graphs or widget opcodes are used: 32: FLrun opcode was called 64: callbacks for FLTK graphs are set * Top/main.c: fixed crash on registering opcodes from the host application * frontends/fltk_gui: new GUI frontend that uses the Csound 5 API and FLTK 2006-04-19 Michael Gogins <gogins@pipeline.com> * Updated Lua to version 5.1 (current version), changed lua_example.lua to use Class:method calls. 2006-04-17 John ffitch <jpff@codemist.co.uk> * Opcodes/bilbar.c: Added prepared piano string model * H/entry1.h: * Engine/entry1.c: Added remove opcode. Probably should be an API function rather than opcode * Engine/insert.c (delete_instr): New code to delete non-active instruments. Still needs to be checked as it may leave structures dangling. 2006-04-15 Istvan Varga <ivarga@csounds.com> * Engine/namedins.c, Engine/otran.c: optimizations in orchestra parser * interfaces/lua_interface.i: wrap cs_glue.hpp and csPerfThread.hpp 2006-04-09 Istvan Varga <ivarga@csounds.com> * Engine/envvar.c: csoundFileOpen(): check for files with .sd2 extension, and use sf_open() in this case if sf_open_fd() fails * InOut/FL_graph.cpp: wait for the window to be closed by the user at end of performance * InOut/libsnd.c: fixes in enabling peak chunks and dithering * InOut/libsnd_u.c: type2string(): added SD2 to file types * InOut/rtpa.c: print warning if the buffer size (-b) is not an integer multiple of ksmps in full-duplex mode * InOut/window.c: moved deferred loading of widgets plugin from main.c to make graphs work in utilities * Opcodes/compress.c: made rms levels relative to 0dBFS in distort opcode * H/csoundCore.h, Top/csound.c: added dispinit() function pointer to CSOUND structure, for use by utilities * H/version.h: updated API version to 1.01 to reflect change to CSOUND structure * util/pvanal.c: implemented graph displays (limited to 30 frames at this time) * util/sndinfo.c: clear SF_INFO structure before calling sf_open() 2006-04-08 Istvan Varga <ivarga@csounds.com> * OOps/sndinfUG.c: restored filepeak opcode 2006-04-07 Istvan Varga <ivarga@csounds.com> * H/version.h: updated version number to 5.02.0 to reflect addition of new opcodes * Opcodes/compress.c: fixed a few minor errors 2006-04-04 Michael Gogins <gogins@pipeline.com> * Changed FluidSynth opcodes slightly, with fluidEngine iChorusOn, iReverbOn pfields, defaulting to "on"; this can reduce noise in low frequencies in SoundFont rendering. * Updated Windows FluidSynth opcodes to use latest FluidSynth sources. 2006-03-28 jpff <jpff@codemist.co.uk> * Opcodes/compress.c: New code for distort and compress/expander from Barry Vercoe 2006-03-25 Istvan Varga <ivarga@csounds.com> * Engine/entry1.c, H/aops.h, H/entry1.h, OOps/bus.c, opcodes.dir, Opcodes/pitch.c, Opcodes/pitch.h, Opcodes/spectra.c, Top/csound.c: fixes in sensekey opcode 2006-03-22 Michael Gogins <gogins@pipeline.com> * Added ScoreGeneratorVST, a VST plugin for generating scores in VST hosts using Python. * Updated Windows installer for new targets, including Winsound. 2006-03-22 Istvan Varga <ivarga@csounds.com> * interfaces/cs_glue.cpp: * interfaces/cs_glue.hpp: - added new classes to wrap MIDI I/O: CsoundMidiInputStream sends MIDI input messages CsoundMidiOutputStream polls MIDI output messages - added MIDI I/O callbacks to CsoundCallbackWrapper - made it possible to use the message buffer in multiple threads, to allow for redirecting the message output of a CsoundPerformanceThread 2006-03-21 Istvan Varga <ivarga@csounds.com> * SConstruct, Makefile-win32: renamed Csound library to csound{32,64}.dll.5.1 on Windows * SConstruct: attempts to fix install target (still needs a lot of work) * Engine/namedins.c, OOps/bus.c: fixed a-rate channel allocation in user defined opcode with local ksmps * Engine/linevent.c: various minor fixes and code improvements 2006-03-16 Istvan Varga <ivarga@csounds.com> * Updated version number to 5.01.1 beta. * Opcodes/sftype.h: check for MacOS 9 or PowerPC, and define WORDS_BIGENDIAN on those platforms. 2006-03-13 Anthony Kozar <anthonykozar@sbcglobal.net> * Top/main.c: Made TYP_AIFF the default for MacOS 9. * Engine/entry1.c: Removed duplicate OENTRYs. 2006-03-12 jpff <jpff@codemist.co.uk> * Opcodes/bilbar.c (bar_run): Corrected boundary condition 2006-03-11 Istvan Varga <ivarga@csounds.com> * Engine/express.c: fixes in extending tokenstring buffer 2006-03-10 Anthony Kozar <anthonykozar@sbcglobal.net> * Opcodes/minmax.c: * SConstruct: Added new 'minmax' plugin library with opcodes for finding minimum and maximum values among several signals. 2006-03-10 Michael Gogins <gogins@pipeline.com> * CSD style command lines in CsoundVST are now translated to orc/sco style before performance in order to save having to edit the command line after loading some CSD files. 2006-03-08 Istvan Varga <ivarga@csounds.com> * Made it possible to load opcode plugins only when the opcode is actually used. 2006-03-07 jpff <jpff@codemist.co.uk> * Engine/otran.c: Removed DTYPE and lclnxtdcnt as not used 2006-02-25 Michael Gogins <gogins@pipeline.com> * Updated SConstruct, custom.py, and Windows installer to build and install PortMidi. 2006-02-24 Istvan Varga <ivarga@csounds.com> * InOut/rtjack.c: Use thread locks instead of calling usleep() in a loop to implement blocking I/O; the -+jack_sleep_time option is now deprecated and ignored. Allow non power of two values for -B. Setting -b to the same value as the JACK buffer size is no longer required. * Engine/insert.c: * Engine/musmon.c: Alternate fix to problems on very short (less than 1/2 control period) notes; the previous fix introduced a new bug that resulted in early termination of the score in some cases. * H/version.h: * installer/misc/csound.spec.in: Updated version number from 5.00.1 to 5.01.0 to reflect the addition of new opcodes. 2006-02-24 Victor Lazzarini <Victor.Lazzarini@nuim.ie> * Opcodes/psynth.c new track processing opcodes (also added manual pages): trscale, trshift, trsplit, trmix, trfilter, trcross, trhighest, trlowest, binit. 2006-02-15 Istvan Varga <ivarga@csounds.com> * InOut/widgets.h: moved file from H/ * InOut/widgets.cpp: bug fixes in FLsetVal and FLsetVal_i allow buttons and button banks in FLsetVal fixed handle output of FLbutBank (not sure if this is safe) implemented cursor size parameter for FLknob 2006-02-13 Istvan Varga <ivarga@csounds.com> * OOps/ugrw1.c: fixed bugs in i-rate ZAK opcodes 2006-02-09 Istvan Varga <ivarga@csounds.com> * Engine/rdorch.c: splitline(): made checking for invalid characters stricter fixed labels before else/endif allow bitwise NOT operator in UTF-8 format 2006-02-06 Istvan Varga <ivarga@csounds.com> * Engine/entry1.c: cogoto requires an i-rate conditional * Engine/musmon.c: fixed hang on very short note before end of score or section * Engine/rdorch.c: added hacks to fix the problem of the else branch of an if/then/else always being executed at i-time. Fixed crash on 'then' or 'goto' in variable names in conditional expression for if/elseif (still does not work if there are no parentheses around the conditional expression). 2006-02-03 Istvan Varga <ivarga@csounds.com> * Engine/rdorch.c: fixed crash on extra ) in expressions * Engine/rdorch.c: fixed crash on missing whitespace between if/elseif and ( this needs more testing 2006-01-25 Istvan Varga <ivarga@csounds.com> Anthony Kozar <anthonykozar@sbcglobal.net> * Opcodes/mixer.cpp: "OpcodeBase.hpp", not <OpcodeBase.hpp> * Opcodes/py/pythonopcodes.c: Added support for MacOS 9 Python quirks. * H/sysdep.h: MacOS 9 changes so that Python stuff will compile. 2006-01-11 Istvan Varga <ivarga@csounds.com> * fixed temporary file bug on Windows (do not try to remove extension) * new opcodes: chnmix asig, Schn (mixes to audio output channel) chnclear Schn (clears audio output channel at perf time) * allow dot in channel names (but not as first character) 2006-01-04 Michael Gogins <gogins@pipeline.com> * Updated Windows installer script to be compatible with Istvan Varga's zip file layout; also includes vst4cs, csoundapi~, FluidSynth opcodes, CsoundVST, tclcsound, Loris opcodes, STK C++ opcodes. Also includes manual and API reference. Now uses Python 2.4. 2006-01-04 Istvan Varga <ivarga@csounds.com> * changed default output file type to AIFF on MacOS X * added support for writing MIDI output to a file (--midioutfile=FNAME); not really useful, so may be removed later * various fixes related to creating temporary files 2006-01-03 Istvan Varga <ivarga@csounds.com> * added new optional argument to massign (defaults to 1), which, if zero, skips resetting of MIDI controllers * fixed bugs in pan opcode * added support for named instruments to turnon opcode 2005-12-28 jpff <jpff@codemist.co.uk> * Engine/fgens.c (gen01raw): Restore looping stuff, which requires libsndfile 1.0.13pre3 or later, so protected by BETA still 2005-12-19 John ffitch <jpff@codemist.co.uk> * SConstruct (else): Added -fPIC again for 64bit machines (else): Fix path for python for 64bit machines * Opcodes/fluidOpcodes/fluidOpcodes.cpp (fluidLoadIopadr): Cast to int to avoid error (csoundModuleDestroy): Ditto 2005-11-12 Michael Gogins <gogins@pipeline.com> * Removed csoundThrowMessage APIs as redundant with csoundMessage, and not used. * Removed strdup and boost from all but CsoundVST. * Fixes in interfaces and frontends/CsoundVST so that CsoundVST works again. 2005-11-03 Istvan Varga <ivarga@csounds.com> * Changed csoundInitialize() to return a positive value if it was already called earlier. 2005-11-01 Istvan Varga <ivarga@csounds.com> * Removed support for Cygwin. * Fixes in Python opcodes. Also implemented a temporary hack in Top/csmodule.c to fix importing modules from Python opcodes on Linux. * installer/linux/csound.spec.in: * installer/linux/makespec.sh: * installer/linux/mkpackage.py: preliminary tools for creating Linux packages 2005-10-31 Michael Gogins <gogins@pipeline.com> * Moved external language interfaces from frontends/CsoundVST into interfaces directory. * Created interfaces for Python, Java, Lua (all "csnd" module). Wraps H/csound.h, H/cfgvar.h, H/csound.hpp, interfaces/CsoundFile.hpp, interfaces/CppSound.hpp. * Moved CLisp interface to interfaces directory. Wraps H/csound.h (csound.lisp) and interfaces/filebuilding.h (filebuilding.lisp). * Modified CsoundVST to work with "csnd" Python module. * Removed Java interface from CsoundVST. * The Java interface in csnd.jar has a rudimentary GUI front end: run with "java -jar csnd.jar". * Other interfaces have test scripts in interfaces directory. 2005-10-25 John ff <jpff@codemist.co.uk> * SConstruct: Make building interfaces optional 2005-10-05 Victor Lazzarini <victor.lazzarini@nuim.ie> * Added Tcl/TK frontends (cstclsh and cswish) 2005-10-15 Michael Gogins <gogins@pipeline.com> * Fixed SConstruct to build CsoundVST using Csound as a shared library. * Added csound.lisp FFI for CLisp (experimental). 2005-10-15 Anthony Kozar <anthonykozar@sbcglobal.net> * Top/csmodule.c: Implemented csoundOpenLibrary, csoundCloseLibrary, and csoundGetLibrarySymbol for platform (mac_classic). 2005-10-13 John ff <jpff@codemist.co.uk> * InOut/OSCrecv.c: Many changes to allow listening on multiple ports. Uses same patterns though. 2005-10-12 Anthony Kozar <anthonykozar@sbcglobal.net> * Top/cscorfns.c: cscoreGetEvent(): Check for file closed to avoid loop. csoundInitializeCscore(): Set next->op = '\0'. * Top/one_file.c: createOrchestra(), createScore(): Make messages debug only. * Opcodes/gab/vectorial.c: Fixed small bugs in checking table size. 2005-10-11 Anthony Kozar <anthonykozar@sbcglobal.net> * H/cscore.h, Top/cscorfns.c, Top/cscore_internal.c: Renamed all Cscore functions that are to be exported in the "Cscore API". Made all of these take a CSOUND* argument if they did not yet. Added some glue for cscoreListPlay() (not done yet though). * H/csound.h, H/prototyp.h, Engine/musmon.c: Added new API function csoundInitializeCscore() to replace internal cscorinit() call. It sets up the input/output files for Cscore and allows a host to function in "standalone Cscore" mode. * Top/cscormai.c: Transformed this main() stub for standalone Cscore processing into a client of the API. (Still needs more work!) 2005-10-09 John ff <jpff@codemist.co.uk> * Opcodes/psynth.c (psynth2_init, psynth_init): Added cast to unsigned to avoid compiler warnings. Also change && to || as I think that is more likely correct. 2005-10-07 Anthony Kozar <anthonykozar@sbcglobal.net> * H/csound.h, H/csoundCore.h, Top/csound.c, Engine/musmon.c: Added new API function csoundSetCscoreCallback() for using an external cscore routine. * SDIF/sdif-mem.h: Changed #include "H/sdif.h" to "sdif.h". 2005-10-02 Istvan Varga <ivarga@csounds.com> * restored Tcl/Tk control opcodes * xyin fixes 2005-09-30 Istvan Varga <ivarga@csounds.com> * new API functions for random numbers: csoundRand31(), csoundSeedRandMT(), csoundRandMT() * removed all uses of rand(), csoundRandMT() is used instead in the "x-class" random opcodes and GEN21, and csoundRand31() in all other opcodes that previously used rand() * attempts to get xyin working 2005-09-25 Istvan Varga <ivarga@csounds.com> * frontends/CsoundVST/CppSound.cpp, frontends/CsoundVST/CppSound.hpp: * frontends/CsoundVST/CsoundVST.cpp: * flcsound/synthesizer.cpp: * H/csoundCore.h, H/csound.h, Top/csound.c: removed the following API functions: csoundSetFLTKThreadLocking() (FLTK moved out of libcsound) csoundGetFLTKThreadLocking() (FLTK moved out of libcsound) csoundGetProgress() (was unimplemented) csoundGetProfile() (was unimplemented) csoundGetCpuUsage() (was unimplemented) * InOut/FL_graph.cpp, InOut/widgets.cpp, InOut/winFLTK.c: * InOut/window.c, Makefile-win32, SConstruct: moved FLTK display code from libcsound to the widgets plugin 2005-09-22 Istvan Varga <ivarga@csounds.com> * frontends/csound/csound_main.c: allow logging to file (-O NAME or --logfile=NAME) * frontends/csound/sched.c: --sched can be used in the format --sched=P,C,T now, where the parameters are: P: priority (-20 to -1: nice, 0: normal, 1 to 99: SCHED_RR) C: maximum allowed CPU usage (1 to 99 percents) T: time interval to check CPU usage (1 to 60 seconds) 2005-09-18 Istvan Varga <ivarga@csounds.com> * Engine/namedins.c, H/csound.h: more complete implementation of bus interface (may still need some changes) * Engine/entry2.c, H/str_ops.h, OOps/str_ops.c: new opcodes 2005-09-17 Istvan Varga <ivarga@csounds.com> * Engine/namedins.c: started to implement bus with named channels; this is not complete yet * Engine/oload.c, Engine/otran.c, Top/csound.c: moved some parts of oload.c to otran.c while others to csound.c removed oload.c * H/csound.h, H/csoundCore.h: new API functions, and variables in CSOUND structure * Engine/otran.c, Top/csmodule.c, Top/csound.c, Top/utility.c: improved warning message for undefined OPCODEDIR/OPCODEDIR64 * Top/csound.c, Top/one_file.c: new command line flag (-+ignore_csopts) to disable the use of options specified in a CSD file one_file.c: minor fixes in parsing CSD files 2005-09-01 Michael Gogins <gogins@pipeline.com> * Added CsoundVST.Soundfile wrapper class for Python access to libsndfile. 2005-09-01 Istvan Varga <ivarga@csounds.com> * Top/csmodule.c: revised code for loading plugin libraries new function: csoundModuleInfo() can be used in plugin libraries to allow for checking API version and MYFLT type * Top/dl_opcodes.c: merged into csmodule.c; removed file * Engine/oload.c, H/csoundCore.h, OOps/ugens3.c, OOps/ugens5.c: removed static variables from ugens3.c and ugens5.c * Top/csound.c: removed adsyn/lpc RESET routines that are no longer needed * Opcodes/hrtferX, Opcodes/natben.c, Top/natben.c, SConstruct: removed unused endianness conversion code * SConstruct: fixed bug that broke building libcsound as a shared library 2005-08-30 Istvan Varga <ivarga@csounds.com> * Opcodes/ugnorman.c: renamed opcodes from ats* to ATS* to avoid namespace pollution 2005-08-28 Istvan Varga <ivarga@csounds.com> * Opcodes/ugnorman.c, Opcodes/ugnorman.h: new opcodes 2005-08-22 Istvan Varga <ivarga@csounds.com> * Engine/musmon.c, H/csound.h, InOut/libsnd.c, Top/csound.c: new API function: csoundSetHostImplementedAudioIO() allows the host application to implement sound I/O with direct access to the spin/spout buffers (or, with a non-zero buffer size parameter and using csoundPerformBuffer(), the input/output buffers), ignoring any -i, -o, -b, and -B options * H/csound.h, H/csoundCore.h, Top/threads.c: added return value to csoundWaitThreadLock(); non-zero if the function returns on timeout instead of the lock being notified 2005-08-20 Istvan Varga <ivarga@csounds.com> * Engine/oload.c, H/csound.h, H/csoundCore.h, Top/threads.c: new API function: csoundWaitThreadLockNoTimeout() similar to csoundWaitThreadLock(), but with infinite timeout, allowing for a possibly more efficient implementation * Top/threads.c: csoundWaitThreadLock(): implemented timeout for Linux * H/csoundCore.h, H/envvar.h, SConstruct: removed envvar.h from installation 2005-08-19 Istvan Varga <ivarga@csounds.com> * Engine/namedins.c, Engine/otran.c, Engine/rdorch.c: * Opcodes/fout.c, Opcodes/oscbnk.c: removed unneeded/redundant RESET code * H/csound.h, H/csoundCore.h, Top/threads.c: * InOut/rtpa.c, InOut/widgets.cpp, InOut/OSCrecv.c, Opcodes/OSC.c: attempts to clean up thread interface * H/prototyp.h: moved declaration of csoundYield() here from csound.h * examples/fl_controller/fl_controller.cpp: fixed a few minor errors 2005-08-18 Istvan Varga <ivarga@csounds.com> * Engine/namedins.c: * Top/csound.c: * Top/main.c: changes to allow host applications to register opcodes with csoundAppendOpcode(); should be called between csoundPreCompile() and csoundCompile() * Engine/oload.c: * H/csound.h: * H/csoundCore.h: removed csoundLoadExternal() and csoundLoadExternals() from public interface * H/opcode.h: removed file * Top/opcode.c: implemented csoundNewOpcodeList() and csoundDisposeOpcodeList() currently, the opcodes can only be listed after loading an orchestra with csoundCompile() 2005-08-12 Istvan Varga <ivarga@csounds.com> * renamed struct ENVIRON_ to struct CSOUND_, and ENVIRON to CSOUND * replaced uses of void* Csound instance pointers with CSOUND* * changes to header files to clean up the API; more need to be done * attempts to fix CsoundVST build - still not quite right 2005-08-03 Steven Yi <stevenyi@gmail.com> * Engine/Entry1.c, Engine/fgens.c, H/ftgen.h: New ftfree opcode, takes in table number and free time arg, if zero frees at opcode init time, otherwise at opcode deinit time 2005-08-01 Istvan Varga <ivarga@csounds.com> * Minor fixes in DSSI opcodes (still have problems) * Engine/rdorch.c, Engine/entry1.c, Opcodes/uggab.c: minor parser changes, including the addition of a new code (fffb) for selecting opcode name based on the first input argument (i-, k-, and a-rate, but not constant) * Engine/insert.c: fixes related to re-initialisation of user defined opcodes * Engine/Entry2.c, H/str_ops.h, OOps/str_ops.c: new opcodes: printf, printf_i * Engine/Entry2.c, H/insert.h, OOps/goto_ops.c: new opcodes: loop_l, loop_le, loop_g, loop_ge 2005-07-31 John ff <jpff@codemist.co.uk> * SConstruct (opts): Added buildDSSI option 2005-07-23 John ff <jpff@codemist.co.uk> * Opcodes/bowedbar.c (bowedbarset): ADSR not initialised correctly. Still has over hash attack. Also adjust gain. 2005-07-17 Istvan Varga <ivarga@csounds.com> * Engine/rdorch.c: fixed crash on missing endin * Engine/rdorch.c, Engine/sread.c: fixed error message on $ without macro name * H/diskin.h, OOps/diskin.c: fixed soundout crash on Win32 with doubles 2005-07-15 Istvan Varga <ivarga@csounds.com> * removed use of cs.h; replaced with csoundCore.h * util1/sortex/smain.c, util1/sortex/xmain.c: fixed compiler warnings * OOps/diskin2.c: minor fixes in soundin and diskin2 * Engine/entry1.c: added soundouts; diskin extended to 24 channels * H/diskin.h, OOps/diskin.h: replaced diskin with new implementation based on diskin2 (should fix many problems, and allows up to 24 channels instead of the original limit of 4) fixed bug in soundout that resulted in not writing the last buffer to disk implemented soundouts opcode (stereo soundout) * Engine/fgens.c: fixed memory error in GEN20 * Engine/rdorch.c: minor fix in parsing of comments 2005-07-13 Istvan Varga <ivarga@csounds.com> * InOut/midirecv.c: reset controllers 7-11 to 0 in raw controller mode 2005-06-25 Victor Lazzarini <Victor.Lazzarini@nuim.ie> * Added Opcodes/partials.c and Opcodes/psynth.c, streaming spectral partial track analysis/synthesis opcodes. 2005-06-23 Victor Lazzarini <Victor.Lazzarini@nuim.ie> * Improvements/Fixes to rtcoreaudio.c, addition of non-interleaved audio support * Added Opcodes/ifd.c, Instantaneous Frequency Distribution spectral streaming opcode. 2005-06-23 John ffitch <jpff@codemist.co.uk> * Engine/sread.c (sread): Do not attempt to read a name in r if at end of line 2005-06-21 John ffitch <jpff@codemist.co.uk> * Opcodes/biquad.c (biquada, biquad, biquadset): * OOps/ugens5.c (porset, port, tonset, tone, tonsetx, tonex, atone, atonex, rsnset, reson, rsnsetx, resonx, areson): Work in doubles internally 2005-06-20 John ffitch <jpff@codemist.co.uk> * InOut/OSCrecv.c (OSC_listdeinit): Fixed a typo 2005-06-15 John ff <jpff@codemist.co.uk> * InOut/OSCrecv.c: New file for OSC listening 2005-06-15 John ffitch <jpff@codemist.co.uk> * SConstruct: Fixed TAGS so it looks at C files as well 2005-06-13 Victor Lazzarini <victor.lazzarini@nuim.ie> * Top/dl_opcodes.c: commented out old code that was causing conflict on OSX 10.4 2005-06-09 Victor Lazzarini <victor.lazzarini@nuim.ie> * InOut/rtcoreaudio.c : further improvements to coreaudio RT IO 2005-06-03 Istvan Varga <istvan@csounds.com> * Engine/oload.c: * H/csoundCore.h: added (some) PVOC related functions to API * OOps/pvfileio.c: extensively revised code (needs testing): use ANSI C functions for file I/O, removed dependencies on sizeof(long)==4 and endianness, removed limit on number of files * util/pvanal.c: allow the use of PVOC-EX format again (still no displays though) 2005-06-03 Victor Lazzarini <Victor.Lazzarini@nuim.ie> * OOps/pvfileio.c: removed statics and added csound* to functions; changed all relevant function calls elsewhere in the code to match the new prototypes 2005-06-01 Victor Lazzarini <Victor.Lazzarini@nuim.ie> * Opcodes/pvsbasic.c pvsbasic.h added opcode pvsinit for fsig initialisation 2005-05-31 Istvan Varga <istvan@csounds.com> * Engine/otran.c: allow global f-signals code changes for faster name lookup in global/local pools * Engine/rdorch.c: store line numbers in variables of type 'int' rather than 'short' TODO: clean up file reading (correct handling of EOL characters, use csoundFileOpen(), do not depend on being able to call ungetc() multiple times) probaly the same needs to be done in sread.c as well * H/oload.h: removed many unused typedefs and macros * OOps/fftlib.c: fixed crash on 64 bit platforms minor code changes 2005-05-30 Istvan Varga <istvan@csounds.com> * New API functions: csoundAppendOpcodes(): appends a list of opcodes (OENTRY*) csoundRegisterResetCallback(): adds a function to be called by csoundReset() * Top/dl_opcodes.c: unload plugin opcodes (called from csoundReset()) * Top/dl_opcodes.c, Top/main.c: use API functions for adding opcodes, rather than changing opcodlst directly 2005-05-30 Michael Gogins <gogins@pipeline.com> * CsoundVST now supports multiple instantiation of VST plugins; it is not completely stable yet. * The Mixer opcodes now support multiple instantiation of Csound. * OpcodeBase.hpp now works with the new OENTRY structure. The OpcodeBase class now automatically registers a deinit callback, which by default does nothing. * The C++ STK opcodes now use RegisterDeinitCallback and the csoundModule* initialization and deinitialization routines. 2005-05-27 Steven Yi <stevenyi@gmail.com> * Opcodes/fluidOpcodes/fluidOpcodes.cpp: modified fluidNote to use RegisterDeinitCallback, removed krate function call 2005-05-27 Istvan Varga <istvan@csounds.com> * Added new API functions: csoundListUtilities(): returns alphabetically sorted list of registered utilities csoundSetUtilitiyDescription(): sets description text for an utility csoundGetUtilitiyDescription(): returns description text of an utility csoundRegisterDeinitCallback(): registers a function to be called at note deactivation csoundLoadSoundFIle(): loads an entire sound file into memory (similar to ldmemfile()) * Removed OENTRY.dopadr, and all related code, as it is not really needed now (can use csoundModuleDestroy and RegisterDeinitCallback instead). 2005-05-25 Istvan Varga <istvan@csounds.com> * Engine/insert.c: fixed bug in ihold opcode * Engine/rdorch.c: attempts at fixing else and endif bugs * Added new macros (MYFLT2LONG and MYFLT2LRND) for converting floating point values to integers. 2005-05-24 Victor Lazzarini <victor.lazzarini@nuim.ie> * changes to rtcoreaudio.c to enable channel independence 2005-05-23 Victor Lazzarini <victor.lazzarini@nuim.ie> * late entry to the log: added InOut/rtcoreaudio.c * late entry to the log: added Opcodes/sndloop.c (sndloop, flooper, pvsarp, pvsvoc) * late entry to the log: fixed globals in rtpa.c * late entry to the log: added full-duplex support to the portaudio module (rtpa.c pa_blocking.c), aimed primarily at coreaudio 2005-05-23 Steven Yi <stevenyi@gmail.com> * Engine/rdorch.c (splitline): Ported over ithen check from Csound4 source, added ithen to IFLABEL struct accordingly 2005-05-17 John ffitch <jpff@codemist.co.uk> * Engine/swrite.c (swrite): Charge to expand "s #" and "e #" to "f0 #\ns" 2005-05-16 Anthony Kozar <anthonykozar@sbcglobal.net> * Top/argdecode.c: * Top/csound.c: * Top/main.c: * Engine/filopen.c: * Engine/insert.c: * Engine/linevent.c: * Engine/musmon.c: Converted mills_macintosh to mac_classic or MAC as appropriate or removed code if dependent on Mills globals. 2005-05-15 Anthony Kozar <anthonykozar@sbcglobal.net> * Top/getstring.c: #include "cs.h", not <cs.h> * Top/threads.c: Added stubs for csound*ThreadLock functions. * Engine/envvar.c: Fixes for MacOS pathnames (more may be needed). 2005-05-15 John ffitch <jpff@codemist.co.uk> * Top/main.c: Prototype for mytmpnam 2005-05-14 John ffitch <jpff@codemist.co.uk> * Top/argdecode.c (decode_long): Allow definition of macros * Engine/sread.c (init_smacros): * Engine/rdorch.c (init_omacros): New functions to define macros 2005-05-11 John ffitch <jpff@codemist.co.uk> * Opcodes/ugmoss.c (valpass): Added cache of p->maxlpt to avoid overwriting arguments 2005-05-08 Michael Gogins <gogins@pipeline.com> * Added examples/Orbifold.py, an interactive display of the 3-dimensional orbifold of all close voice-leadings between 3-tone chords (based on the work of Professor Dmitri Tymoczko of Princeton). Also demonstrates controlling Csound from Python for real-time performance, and the use of 3-dimensional graphics for constructing graphical user interfaces. 2005-05-07 Istvan Varga <istvan@csounds.com> * Opcodes/biquad.c: * Opcodes/biquad.h: added new optional argument to distort1 opcode (defaults to zero), to select amplitude scaling mode (0: default, compatible with original version; 1: relative to 0dBFS, same as mode 0 if 0dbfs is 32768; 2: unscaled) code changes to improve performance of some opcodes: biquad, vco, pareq, and distort1 improved vco opcode for more accurate output * Engine/rdorch.c: * OOps/aops.c: '=.a' opcode is automatically replaced with 'upsamp' if input is not a-rate, the actual a-rate version has been simplified, and '=' is removed by the parser if the output argument is the same as the input * OOps/ugens6.c: deltapx/deltapxw revised for speed 2005-05-06 Istvan Varga <istvan@csounds.com> * H/msg_attr.h: * Top/csound.c: new message attributes: CSOUNDMSG_WARNING, CSOUNDMSG_FG_UNDERLINE * Engine/entry2.c: * H/ugens6.h: * OOps/ugens6.c: added new optional argument to delayr and all deltap opcodes, to allow delay taps to read from any of the nested delayr/delayw pairs, not just the last (from Csound 4.23.4.1) 2005-05-05 Istvan Varga <istvan@csounds.com> * Engine/entry1.c: * Engine/express.c: added k() function for converting i-rate values to k-rate 2005-05-01 Istvan Varga <istvan@csounds.com> * H/csound.h: * Top/threads.c: new functions: csoundLock(), csoundUnLock() * Top/argdecode.c: added ENVIRON* argument to usage() and dieu() * Top/csound.c: * Top/main.c: - maintain a global list of allocated Csound instances, delete all on exit or fatal signal - new interface function: csoundInitialize(), for global initialisation of Csound library; if not done yet, the first call of csoundCreate() will also call csoundInitialize() - moved signal handler from main.c to csound.c (still not quite right, should really be done by host application) - removed some unused/useless static variables 2005-04-30 Istvan Varga <istvan@csounds.com> * removed global variable O - use csound->oparms instead * Top/csound.c: - dynamically allocate and destroy Csound instances, rather than using cenviron. Some old code still uses cenviron (and is thus now broken), and should be revised. - made calls to deprecated functions csoundPrintf() (#defined as printf()) and err_printf() fatal errors. 2005-04-29 Istvan Varga <istvan@csounds.com> * removed all static variables from Engine/sread.c 2005-04-30 Michael Gogins <gogins@pipeline.com> * Disabled GUI options for Python mode and for auto-play when in VST plugin mode, to prevent side effects. * Improved version of CsoundVST.csd orchestra for VST plugin use, using the Csound mixer and some effects. * Updated CsoundVST for removal of various static variables in Csound. 2005-04-24 John ffitch <jpff@codemist.co.uk> * Top/one_file.c (read_unified_file): Added licence top level field 2005-04-23 John ffitch <jpff@codemist.co.uk> * SConstruct (guiProgramEnvironment): Need dl and pthreads even without FLTK 2005-04-14 Michael Gogins <gogins@pipeline.com> * Added (very) basic Java GUI front end for Csound. It is the main class in CsoundVST.jar. To be extended. The purpose of this work is to embed Csound5 in Kandid, an interactive graphics program for evolving pictures, and adapt Kandid for evolving pieces. 2005-04-18 Istvan Varga <istvan@csounds.com> * Top/utility.c, H/cs_util.h: new files for dynamically loading utilities * cvanal.c, dnoise.c, hetro.c, lpanal.c, pvanal.c, pvlook.c, sndinfo.c: moved from Top/ to util/ utilities converted to plugin libraries (not done yet for hetro, lpanal, and pvlook; also pvanal is limited to old format for now) * H/pvoc.h, OOps/pvoc.c: moved functions only used by pvanal to pvanal.c * H/prototyp.h: removed prototypes for utilities * Engine/oload.c, H/csoundCore.h, Top/argdecode.c: ENVIRON: API functions for adding and running utilities changed command line parser for new utility API 2005-04-16 John ffitch <jpff@codemist.co.uk> * InOut/libsnd.c (sfopenin): Changed in and out channel mismatch to a warning. Trest with care! 2005-04-14 Michael Gogins <gogins@pipeline.com> * Changed CsoundVST to print log messages to stderr (used to be stdout) by default. * Added option to CsoundVST to automatically open the output soundfile for editing or listening at end of performance. * Upgraded Windows installer to set OPCODEDIR, RAWWAVE_PATH, PYTHONPATH, and PATH environment variables (uninstall does not work for PYTHONPATH). 2005-04-12 John ffitch <jpff@codemist.co.uk> * Opcodes/wave-terrain.c (wtPerf): Improved phase accumulation problem 2005-04-10 Michael Gogins <gogins@pipeline.com> * Updated the STK opcodes to take from 0 to 4 optional krate controller-value pairs. 2005-04-10 John ff <jpff@codemist.co.uk> * OOps/ugens2.c (itabl3): Missing return 2005-04-09 Michael Gogins <gogins@pipeline.com> * Added "STKName" (e.g. "STKBowed") opcodes for all Perry Cook's Synthesis Toolkit in C++ (STK) 4.2.0 instruments in his "demo" program, using Cook's original C++ code with minimal wrapping (about 25 opcodes, varying in quality from mediocre to very good). To build the opcodes, copy the STK sources into the csound5/Opcodes/stk directory, as instructed in SConstruct. All opcodes have the same signature: asignal STKName ifrequency iloudness {kcontroller kvalue} The RAWWAVE_PATH environment variable must be set to point to the directory containing the "rawwaves" samples. 2005-04-09 John ffitch <jpff@codemist.co.uk> * InOut/libsnd.c (sndinset): * H/soundio.h: * InOut/libsnd_u.c (sndgetset): Fix skipinit for soundin 2005-04-06 Istvan Varga <istvan@csounds.com> * Engine/fgens.c: use csound->Message() instead of printf() added ENVIRON* pointer and variable arg list to fterror() replaced use of deprecated FFT functions with csound->RealFFT() limited line length to 80 characters * Engine/oload.c: * H/cs.h: * H/csoundCore.h: removed deprecated functions from ENVIRON: err_printf, IsPowerOfTwo, FFT2torlpacked, FFT2realpacked, cxmult, csoundPrintf * H/fft.h, H/ugens9.h, OOps/disprep.c, OOps/dsputil.c, OOps/fft.c: * OOps/pvinterp.c, OOps/pvread.c, OOps/ugens8.c, OOps/ugens9.c: * OOps/vpvoc.c, Opcodes/oscbnk.c, SConstruct, Top/cvanal.c: * Top/pvanal.c: removed deprecated FFT functions; use fftlib.c interface instead * H/prototyp.h: declare err_printf and csoundPrintf here (deprecated functions) * InOut/widgets.cpp: use csound->Message() instead of csound->Printf() * Top/csound.c: deprecated functions: err_printf, csoundPrintf * Top/main.c: do not call fftRESET() (this function was removed) err_printf moved to Top/csound.c 2005-04-05 Istvan Varga <istvan@csounds.com> * Engine/sread.c: * H/sort.h: attempts to fix bugs in reading large score files * Engine/namedins.c, Engine/oload.c, H/csdl.h, H/cs.h, H/csoundCore.h: * H/namedins.h, H/OpcodeBase.hpp, H/prototyp.h, H/sftype.h, H/ugrw1.h: * OOps/ugens9.c, OOps/ugrw1.c, Opcodes/babo.h, Opcodes/biquad.h: * Opcodes/brass.h, Opcodes/dam.h: * Opcodes/fluidOpcodes/fluidOpcodes.cpp, Opcodes/Loris/lorisgens5.h: * Opcodes/pitch0.c, Opcodes/py/csoundmodule.c, Opcodes/spat3d.h: * Opcodes/vst4cs/src/vst4cs.h, Opcodes/vst4cs/src/vsthost.h: * Opcodes/wave-terrain.h: minor header changes removed some macros * H/csoundCore.h: * OOps/aops.c: fixed crash in cpsoct() and similar functions on out of range arg 2005-04-03 Steven Yi <stevenyi@gmail.com> * SConstruct: added arch and cpu commandline options to fine tune gcc3opt flags for -march and -mcpu 2005-04-03 Istvan Varga <istvan@csounds.com> * removed macro definitions for ksmps, esr, ekr, and some others; use csound->Message() instead of printf() and err_printf(); (large number of changes in many files) * Engine/namedins.c: * Engine/express.c: removed static and global variables 2005-03-31 Istvan Varga <istvan@csounds.com> * Engine/entry1.c: * OOps/aops.c: added a-rate int() and frac(), and round(), floor(), and ceil() * Engine/express.c: * Engine/rdorch.c: * Top/main.c: * H/prototyp.h: added << and >> operators, fixed order of precedence express(), expRESET(): use ENVIRON *csound pointer use less obvious label names for if...then * Engine/oload.c: * H/csoundCore.h: * Top/csound.c: moved static invalue/outvalue function pointers to ENVIRON * Opcodes/ugmoss.c: implemented << and >> shift operators fixed bitwise OR at k- and a-rate 2005-03-31 John ffitch <jpff@codemist.co.uk> * Engine/express.c: Removed statics to environment structure 2005-03-30 Istvan Varga <istvan@csounds.com> * Engine/oload.c: * Engine/twarp.c: * H/csoundCore.h: * InOut/libsnd_u.c: * OOps/fftlib.c: * OOps/fout.c: * OOps/sdif.c: * Top/csound.c: minor fixes; removed a few more static variables * Engine/express.c: * Engine/rdorch.c: * Opcodes/ugmoss.c: fixed binary operators * OOps/ugrw1.c: fixed printk2 opcode 2005-03-30 John ff <jpff@codemist.co.uk> * Engine/swrite.c: Remove statics from swrite.c * Engine/oload.c: * Engine/twarp.c: Removed statics from file twarp.c 2005-03-29 Istvan Varga <istvan@csounds.com> * more API changes (affecting a large number of files) * Opcodes/newfils.c: fixed statevar bug 2005-03-28 Istvan Varga <istvan@csounds.com> * Engine/auxfd.c, Engine/fgens.c, Engine/insert.c, Engine/oload.c: * H/csdl.h, H/csoundCore.h, H/prototyp.h, InOut/pa_blocking.c: * InOut/rtpa_new.c, InOut/widgets.cpp, OOps/aops.c, OOps/diskin2.c: * OOps/disprep.c, OOps/midiops.c, OOps/pstream.c, OOps/pvadd.c: * OOps/pvinterp.c, OOps/pvread.c, OOps/pvsanal.c, OOps/schedule.c: * OOps/ugens1.c, OOps/ugens2.c, OOps/ugens3.c, OOps/ugens4.c: * OOps/ugens5.c, OOps/ugens6.c, OOps/ugens8.c, OOps/ugens9.c: * OOps/ugrw1.c, OOps/vbap_eight.c, OOps/vbap_four.c: * OOps/vbap_sixteen.c, OOps/vbap_zak.c, OOps/vdelay.c, OOps/vpvoc.c: * Opcodes/babo.c, Opcodes/bbcut.c, Opcodes/biquad.c: * Opcodes/bowedbar.c, Opcodes/cross2.c, Opcodes/filter.c: * Opcodes/flanger.c, Opcodes/fm4op.c, Opcodes/freeverb.c: * Opcodes/ftconv.c, Opcodes/gab/gab.c, Opcodes/gab/vectorial.c: * Opcodes/grain4.c, Opcodes/grain.c, Opcodes/locsig.c: * Opcodes/mandolin.c, Opcodes/metro.c, Opcodes/midiops2.c: * Opcodes/midiops3.c, Opcodes/modal4.c, Opcodes/moog1.c: * Opcodes/nlfilt.c, Opcodes/oscbnk.c, Opcodes/physmod.c: * Opcodes/physutil.c, Opcodes/pitch.c, Opcodes/pluck.c: * Opcodes/pvsbasic.c, Opcodes/pvsdemix.c, Opcodes/repluck.c: * Opcodes/reverbsc.c, Opcodes/scansyn.c, Opcodes/scansynx.c: * Opcodes/seqtime.c, Opcodes/sfont.c, Opcodes/singwave.c: * Opcodes/sndwarp.c, Opcodes/space.c, Opcodes/spat3d.c: * Opcodes/spectra.c, Opcodes/syncgrain.c, Opcodes/ugens7.c: * Opcodes/ugensa.c, Opcodes/uggab.c, Opcodes/ugmoss.c, Opcodes/ugsc.c: * Opcodes/vdelayk.c, Opcodes/wave-terrain.c, Top/csound.c: API changes * OOps/diskin2.c: minor optimization in init routine * Opcodes/ugens6.c: * util2/mixer/extract.c: removed unused files 2005-03-27 Istvan Varga <istvan@csounds.com> * SConstruct: * InOut/libsnd.c: * InOut/rtpa_new.c: new PortAudio plugin (enabled by useOldPortAudioPlugin=0) * Engine/entry2.c: * Engine/insert.c: * H/insert.h: new opcode: turnoff2 (can turn off other instruments) 2005-03-25 Istvan Varga <istvan@csounds.com> * InOut/midirecv.c: * Engine/express.c: * Engine/fgens.c: fixed compiler warnings * OOps/diskin.c: * Engine/entry1.c: use diskin2 functions to emulate diskin * Opcodes/hrtferX.c, Top/dnoise.c, Top/cvanal.c, Opcodes/oscbnk.c: * Engine/fgens.c, OOps/ugens9.c, H/ugens8.h, H/pvinterp.h: * H/vpvoc.h, H/disprep.h, Top/pvanal.c, OOps/ugens8.c: * OOps/vpvoc.c, OOps/pvinterp.c, OOps/disprep.c, Engine/oload.c: * H/csdl.h, H/fft.h, OOps/fft.c, H/csoundCore.h: removed redundant (and often slow) FFT code * Top/dnoise.c: fixed sound file output * InOut/libsnd.c: print message correctly when closing output file * H/diskin.h: * OOps/dnfft.c: removed files 2005-03-23 Istvan Varga <istvan@csounds.com> * OOps/ugens2.c: * Opcodes/biquad.c: * Opcodes/lowpassr.c: * Top/one_file.c: minor fixes 2005-03-22 Istvan Varga <istvan@csounds.com> * H/diskin2.h: * OOps/diskin2.c: various minor code changes * Top/one_file.c: fixed CsFileB tag * util1/csd_util/base64.c: * util1/csd_util/cs.c: * util1/csd_util/csb64enc.c: * util1/csd_util/makecsd.c: new utilities 2005-03-21 Istvan Varga <istvan@csounds.com> * Engine/entry1.c: * H/diskin2.h: * OOps/diskin2.c: new opcode * InOut/libsnd_u.c: * OOps/sndinfUG.c: bug fixes in opening sound files * OOps/diskin.c: fixed (partly) clicks in multichannel input; still some bugs * H/soundio.h: fixed soundin crash (was actually caused by unused SOUNDIN.kfrqratio) 2005-03-21 John ffitch <jpff@codemist.co.uk> * Engine/sread.c (MARGIN): Increase to 600, but needs to be rethought 2005-03-18 Istvan Varga <istvan@csounds.com> * Engine/oload.c: * H/csoundCore.h: * H/fftlib.h: * OOps/fftlib.c: minor code changes related to FFT functions * Opcodes/ftconv.c: removed use of direct convolution due to patent issues * H/csdl.h: removed some unused macros (fewer is better) * Engine/fgens.c: minor GEN52 fix 2005-03-15 Michael Gogins <gogins@pipeline.com> * The Loris opcodes now work. * Removed pyrun.dll and -lswigpy from SConstruct, as SWIG 1.3.24 (current stable version) does not use it. * The Java wrappers are now built as a jar containing the CsoundVST package. * Added option to not build Java wrappers; as a result, CsoundVST builds on Linux again. * Removed documentation from the Windows installer. 2005-03-15 John ffitch <jpff@cs.bath.ac.uk> * H/soundio.h (SOUNDIN): * InOut/libsnd.c (sndinset): * OOps/diskin.c (newsndinset): * H/diskin.h (SOUNDINEW): Added skipinit argument to diskin and soundin 2005-03-14 John ffitch <jpff@codemist.co.uk> * Opcodes/modal4.c (marimbaset): Make zero valid probability for multiple strikes 2005-03-14 Istvan Varga <istvan@csounds.com> * SConstruct: * Engine/oload.c: * H/csound.h: * H/csoundCore.h: * H/fftlib.h: * OOps/fftlib.c: added new FFT code (faster than functions in fft.c) new API functions: csoundComplexFFT(), csoundInverseComplexFFT(), csoundRealFFT(), csoundInverseRealFFT(), csoundRSpectProd() TODO: make allocation of tables safe with reentrant operation and multiple instances (currently uses statics which is ugly) * Opcodes/ftconv.c: use new FFT functions; opcode is faster now 2005-03-13 Istvan Varga <istvan@csounds.com> * SConstruct: * Opcodes/ftconv.c: new opcode (zero delay multichannel convolve, reads IR from ftable) not fully tested yet * Engine/fgens.c: added GEN52: creates interleaved multichannel table from other tables * Opcodes/spat3d.c: fixed spat3dt slowdown at end of table made it possible to run spat3dt from the orchestra header (instr 0) 2005-03-13 John ffitch <jpff@codemist.co.uk> * SConstruct (opts): make installation optional 2005-03-13 Istvan Varga <istvan@csounds.com> * Engine/fgens.c: * H/ftgen.h: added GEN51 * Opcodes/reverbsc.c: minor code improvements 2005-03-13 John ffitch <jpff@codemist.co.uk> * Opcodes/ftest.c (gentune): Added Gabriel's gen to the loadable gens under the name gentune 2005-03-12 Istvan Varga <istvan@csounds.com> * SConstruct: * Opcodes/screverb.c: new opcode (Sean Costello's waveguide reverb) 2005-03-11 Istvan Varga <istvan@csounds.com> * InOut/widgets.cpp: * Top/csound.c: * Top/pvanal.c: fixed calls of csoundYield() with NULL pointer * Engine/entry1.c: fixed rtclock opcode (should be 0xffff, not 0xfffd) 2005-03-10 Istvan Varga <istvan@csounds.com> * Engine/entry2.c: run miditempo opcode both at init and performance time * Engine/musmon.c: check for extra MIDI note-offs also when sustaining * Opcodes/freeverb.c: attempts to correct high frequency attenuation for sample rate * Top/argdecode.c: load external modules before printing opcode list 2005-03-09 Istvan Varga <istvan@csounds.com> * Engine/insert.c: * OOps/schedule.c: fixes in schedule opcodes * SConstruct: removed checks for some unused headers * H/sysdep.h: set DIRSEP to '\\' on Windows * Engine/envvar.c: try_file_open(): do not test for directory on Windows (breaks WINE) * H/csdl.h: removed macro definiton for AppendOpcode * InOut/libsnd.c: * OOps/diskin.c: fixed soundin and diskin amplitude * Opcodes/freeverb.c: new opcode 2005-03-08 Istvan Varga <istvan@csounds.com> * Engine/insert.c: MIDIinsert(): allow muting instrument by 'q' score opcode * Engine/linevent.c: fixes in RTclose(); do not use atexit() to call this function allow use of 'q' score opcode * Engine/musmon.c: cleanup(): call RTclose() to close line input (-L) * InOut/libsnd.c: do not close line input here; this is done by RTclose() * Top/argdecode.c: allow use of -L stdin on Windows (mills_macintosh still disabled) * Top/csound.c: csoundScoreEvent(): add p2 to current time, not section start time 2005-03-08 Istvan Varga <istvan@csounds.com> * Engine/entry2.c: added "event_i" opcode (same as "event" but runs at i-time) * Engine/fgens.c, Engine/memalloc.c, Engine/memfiles.c: * Engine/musmon.c, H/prototyp.h: * OOps/pstream.c, OOps/pvadd.c, OOps/pvread.c: * OOps/ugens3.c, OOps/ugens5.c, OOps/ugens8.c, OOps/ugens9.c: * OOps/vpvoc.c, Opcodes/hrtferX.c, Opcodes/scansynx.c: major changes to memfile functions added ENVIRON* argument to allow for multiple instances prototypes in prototyp.h rather than all around in various .c files * Engine/linevent.c: rewritten event opcode to use insert_score_event() added eventOpcodeI() (i-time version of eventOpcode()) * Engine/musmon.c: removed unused #includes and declarations improvements and fixes in sensevents() and insert_score_event() * Engine/oload.c: * H/csoundCore.h: ENVIRON: cosmetic change: moved mrealloc pointer to after mcalloc ldmemfile prototype changed, and also renamed to ldmemfile_ added MEMFIL* pointers memfiles and rwd_memfiles changed SSTRCOD to less trivial value * examples/trapped.csd: * examples/trappedrt.csd: fixed bug in instr 13 that caused various stability problems * H/csdl.h, Opcodes/clfilt.c, Opcodes/follow.c: * Opcodes/hrtferX.c, Opcodes/modal4.c, Opcodes/sndwarp.c: removed "oparm" macro (there are still way too many macros) * H/csoundCore.h: * H/csound.h: * Top/csound.c: return type of csoundScoreEvent() changed to int (zero on success) * H/foo.h: removed file: was unused * H/linevent.h: new file: defines LINEVENT (why was it in schedule.h ?) * H/schedule.h: * OOps/schedule.c: removed sensOrcEvent(); this is now a simple macro in musmon.c * InOut/libsnd.c: print message correctly * Opcodes/py/csoundmodule.c: use insert_score_event(), but file is unused anyway (remove ?) * Opcodes/ugens9.c: removed file: was unused (and redundant as well, also found in OOps) * util2/exports/het_export.c: call csoundCreate() and csoundPreCompile() - needed to fix crash added &cenviron to ldmemfile() call 2005-03-07 Michael Gogins <gogins@pipeline.com> * Added CsoundVST, Loris, and the Csound API headers and libraries to the install target in SConstruct. * Added the Csound manual and the API documentation to the Windows installer. * Updated Loris with v1.2 sources from Loris CVS. Note: lorismorph doesn't work and is awaiting fixes from Kelly Fitz. Other loris opcodes may be broken as well. However, the Loris Python extension module built here does seem to work. 2005-03-07 Istvan Varga <istvan@csounds.com> * Engine/entry2.c: removed event_set; no longer needed * Engine/insert.c: made deact and schedofftim static xturnoff: always remove instance from schedofftim chain minor fixes * Engine/linevent.c: removed event_set; no longer needed eventOpcode: rewritten to use new insert_score_event() function newevent: removed this function * Engine/musmon.c: new function: insert_score_event made it sure that -B is always greater than and is an integer multiple of -b if real time audio is used various fixes, removed unused prototypes, etc. * Engine/oload.c: * H/csoundCore.h: replaced EVTNODE OrcTrigEvts_ with EVTNODE *OrcTrigEvts in ENVIRON set initial value of dbfs_to_float to 1/DFLT_DBFS * frontends/CsoundVST/CppSound.cpp: removed unused declarations * H/csdl.h: * H/cs.h: removed macro definitons for OrcTrigEvts * H/csoundCore.h: * Opcodes/oscbnk.c: removed EVTBLK.offtim (was not used anywhere) changed EVTNODE for use with insert_score_event and related code * H/oload.h: removed TRNON * H/prototyp.h: removed prototypes for undefined functions newevent and csoundDefaultMidiOpen added int insert_score_event(ENVIRON*, EVTBLK*, double, int); * H/schedule.h: * OOps/schedule.c: added ENVIRON* argument to sensOrcEvent() * InOut/midirecv.c: * OOps/schedule.c: removed unused function prototypes * InOut/widgets.cpp: rewritten ButtonSched to use insert_score_event cleanup() prototype was wrong * OOps/schedule.c: * Top/csound.c: changes for using insert_score_event() to schedule events 2005-03-06 Istvan Varga <istvan@csounds.com> * Engine/insert.c: * Engine/musmon.c: * InOut/midirecv.c: started to rework event processing code (sensevents() and other functions); still a long way to go, and bugs may heve been introduced * Engine/oload.c: cenviron_: removed sensType, added evt_poll_cnt and evt_poll_maxcnt * csound/csound_main.c: do not call csoundYield() in main loop, kperf() will call it frequently enough; improves performance * H/cs.h: * H/csdl.h: removed macro definitions for sensType * H/csoundCore.h: changes in INSDS, sensEvents_t, and ENVIRON for new event processing code removed MCHNBLK.ksusptr[] and ENVIRON.sensType_ * H/prototyp.h: added prototypes for xturnoff() and xturnoff_now() * InOut/midifile.c: changed miditempo opcode to print score tempo when MIDI file is not available * OOps/schedule.c: minor cosmetic changes (removed old commented out code etc.) * Top/csound.c: * Top/main.c: removed frsturnon * Top/opcode.c: minor fix: print opcodes like oscil.kk correctly 2005-03-03 Istvan Varga <istvan@csounds.com> * Engine/envvar.c: * H/envvar.h: added SNAPDIR to environment variable list (used by widget opcodes) new API functions: csoundFindInputFile() and csoundFindOutputFile() * Engine/filopen.c: sssfinit(), openin(), openout(), fopenin(): rewritten to use new file search interface isfullpath(), catpath(): removed functions * Engine/memfiles.c: * Engine/rdorch.c: * InOut/widgets.cpp: * InOut/winEPS.c: * OOps/diskin.c: * OOps/pvfileio.c: * OOps/sndinfUG.c: * Opcodes/sfont.c: use new file search functions defined in Engine/envvar.c * Engine/oload.c: * H/csdl.h: * H/cs.h: * H/csoundCore.h: * H/prototyp.h: * Opcodes/fluidOpcodes/fluidOpcodes.cpp: new API functions: csoundFindInputFile() and csoundFindOutputFile() removed isfullpath(), catpath(), sadirpath, sfdirpath, and ssdirpath * OOps/pvfileio.c: use mmalloc() instead of malloc() * Top/argdecode.c: * Top/main.c: * Top/one_file.c: removed unused 'envoutyp' argument from argdecode() and decode_long() * Top/main.c: check SFOUTYP after reading all options, but only if no file type option was specified 2005-03-02 Michael Gogins <gogins@pipeline.com> * Added rule for SConstruct to build Java wrappers for CsoundVST if jni.h is present. 2005-03-02 Istvan Varga <istvan@csounds.com> * anal/adsyn/het_main.c: * anal/convol/cvl_main.c: * anal/lpc/lpc_main.c: * anal/pvoc/pvc_main.c: * util1/cscore/cscore_main.c: * util1/sortex/smain.c: * util1/sortex/xmain.c: * util2/dnoise.dir/dnoise_main.c: * util2/dnoise.dir/srconv.c: * util2/envext/envext.c: * util2/exports/lpc_import.c: * util2/exports/pv_export.c: * util2/mixer/mixer.c: * util2/mixer/xtrct.c: * util2/pvlook.dir/pvl_main.c: * util2/scale.dir/scale.c: removed ustub library, attempts to fix standalone utilities * Engine/envvar.c: * H/envvar.h: new files for dealing with environment variables * Engine/filopen.c: * Engine/rdorch.c: * InOut/winEPS.c: * InOut/winFLTK.c: * InOut/winX11.c: * Opcodes/fluidOpcodes/fluidOpcodes.cpp: * Top/csmodule.c: * Top/csound.c: * Top/dl_opcodes.c: * Top/dnoise.c: * Top/main.c: * Top/one_file.c: use new environment variable functions * Engine/musmon.c: * frontends/csound/csound_main.c: print benchmark information in cleanup() instead of main() * Engine/oload.c: * H/csoundCore.h: ENVIRON: removed (*SetEnv)(), added envVarDB added csound instance pointer to (*GetEnv)() * H/csdl.h: define macro for GetEnv, but not for SetEnv * H/csound.h: * Top/csound.c: removed csoundGetEnv() and csoundSetEnv() (now in envvar.c) * H/ustub.h: * Top/ustub.c: * util2/mixer/extract.c: removed files * SConstruct: allow building dynamic Csound library (static is still the default) ustub library is no longer built * Top/argdecode.c: new command line option: --env (sets/appends to environment variable) removed empty function argdecodeRESET() * H/soundio.h: added prototypes for type2sf() and sf2type() * OOps/sndinfUG.c: fixes in filelen, filenchnls, and filesr (filepeak is still broken) * Top/csound.c: removed use of CSRTAUDIO environment variable * sndinfo/sndinfo_main.c: fixed crash 2005-03-01 Michael Gogins <gogins@pipeline.com> * Updated CsoundVST code to use Istvan Varga's MIDI driver system, so that CsoundVST works again as a VST plugin, at least in "Csound classic" mode. 2005-03-01 Istvan Varga <istvan@csounds.com> * Opcodes/gab/gab.c: fixes in Maldonado opcodes * Top/dl_opcodes.c: fixed -v crash * Engine/memalloc.c: print function names correctly * Engine/entry2.c: allow opcode names like FLpanel_end, FLgroup_end, etc. * InOut/midirecv.c: restored original algorithm for assignment of default instr numbers * InOut/libsnd_u.c: * OOps/pvxanal.c: * OOps/ugens8.c: * Top/pvanal.c: bug fixes in sound I/O, pvanal, and pvoc 2005-02-28 Istvan Varga <istvan@csounds.com> * cleanup.sh: new script to remove files generated during compilation * OOps/fout.c: * Opcodes/fluidOpcodes/fluidOpcodes.cpp: * Opcodes/OSC-Kit/OSC-priority-queue.c: * Opcodes/OSC-Kit/OSC-timetag.c: * util2/mixer/xtrct.c: fixed compiler warnings * American.xmg: * English.xmg: * csound.pdf: * csound.xmg: removed files from repository 2005-02-27 Steven Yi <stevenyi@csounds.com> * frontends/CsoundVST/CppSound.hpp: changed #include of cs.h to csoundCore.h 2005-02-27 Michael Gogins <gogins@pipeline.com> * Changed fluid* opcodes: removed Gogins version, merged option to print presets to fluidLoad and added fluidControl opcode from Gogins version, added new fluidAllOut opcode to collect all audio from all Fluidsynth engines in a performance. * Removed Opcodes/fluid directory (Opcodes/fluidOpcodes now implements all features formerly found there). * Updated H/OpcodeBase.hpp to work properly with new SUBR signature. * Updated examples/Koch.py to use fluidOpcodes. 2005-02-27 Istvan Varga <istvan@csounds.com> * Engine/entry2.c: * H/midiops.h: * OOps/midiops.c: added optional i-time parameter (defaults to 0) to pgmassign, selects MIDI channel (zero means all channels) * Engine/musmon.c: fixed terminating on end of MIDI file (-T flag) * H/csoundCore.h: moved pgm2ins[] from MGLOBAL to MCHNBLK to allow setting per channel other changes in MCHNBLK and MGLOBAL * H/midiops.h: * InOut/midirecv.c: do not use MIDI controllers (<128) for storing Csound internal data Roland NRPNS (VIB_RATE etc.) moved to controllers 128-135 removed MOD_VOLUME removed BENDSENS (replaced with MYFLT MCHNBLK.pbensens) removed DATENABL (replaced with int MCHNBLK.datenabl) * InOut/midifile.c: reduced memory usage of event list do not print any text meta events when message level is zero allow muting tracks with -+mute_tracks option (for example, -+mute_tracks=0010001 will mute the third and seventh tracks; tempo events are still used even if a track is muted) * InOut/midirecv.c: allow setting program change to instrument routing per channel implemented "raw" controller mode (-+raw_controller_mode=yes), which means all control changes are simply stored without handling e.g. RPNs or sustain pedal changes in a special way do not "pollute" controller space with Csound internal data cleaned up code * OOps/midiops.c: cpsmidib and similar opcodes now use bend range RPN information cleaned up code * Top/csound.c: do not initialise pgm2ins[] here (now done by m_chn_init_all()) new command line option: -+mute_tracks=STRING new command line option: -+raw_controller_mode=BOOLEAN 2005-02-26 Istvan Varga <istvan@csounds.com> * InOut/libsnd_u.c: fixed bug in sndgetset(): sfinfo structure was uninitialised * InOut/midirecv.c: fixed bug in reading MIDI device and file at the same time 2005-02-25 Istvan Varga <istvan@csounds.com> * Engine/entry2.c: added miditempo opcode (returns current tempo of MIDI file at control rate) * Engine/insert.c: allow muting MIDI channels (massign to 0) in MIDIinsert() * Engine/musmon.c: initialise all MIDI channels before oload() merged MIDI device and file input code (removed sensFMidi) made use of MCHNBLK.insno and MCHNBLK.pgmno more consistent * H/csoundCore.h: * Top/csound.c: increased MIDI input buffer size changes in MGLOBAL for new MIDI file code * H/midifile.h: * InOut/midifile.c: new implementation for reading MIDI files (supports multiple tracks) miditempo opcode * InOut/midirecv.c: changes for using new MIDI file input removed sensFMidi (both device and file input is done by sensMidi) removed FMidiOpen, vlendatum, Fnxtdeltim, fsexdata, and Rnxtdeltim made use of MCHNBLK.insno and MCHNBLK.pgmno more consistent m_chinsno: allow massign to <= 0 (mutes channel) m_chn_init_all: new function m_getchnl: no longer need to check if channel exists * InOut/midisend.c: * InOut/pmidi.c: allow sending simple system messages (clock etc.) * OOps/midiops.c: allow massign to <= 0 (mutes channel) * SConstruct: compile InOut/midifile.c 2005-02-24 Istvan Varga <istvan@csounds.com> * Engine/oload.c: * H/csdl.h: * H/cs.h: * H/csoundCore.h: removed unused or redundant variables (dbfs_to_short, short_to_dbfs, float_to_dbfs, dbfs_to_long, long_to_dbfs) * H/soundio.h: removed some unused macros and typedefs moved #defines of sf_read_MYFLT and sf_write_MYFLT here set buffer size defaults more usable for real time audio * InOut/libsnd.c: moved #defines of sf_read_MYFLT and sf_write_MYFLT to soundio.h replaced uses of redundant variable float_to_dbfs with e0dbfs * InOut/libsnd_u.c: * OOps/diskin.c: moved #defines of sf_read_MYFLT and sf_write_MYFLT to soundio.h bug fixes (hopefully) in opening and reading sound files removed unused or redundant variables (dbfs_to_short etc.) soundout opcode fixes (clip non-float formats, do not scale) minor cosmetic changes (line length etc.) * OOps/fout.c: moved #defines of sf_read_MYFLT and sf_write_MYFLT to soundio.h * OOps/ugens2.c: * OOps/ugrw1.c: minor tweaks in tabli() made use of FLOOR() macro with negative integer argument safer * Top/cvanal.c: always scale input (actually to revert dbfs scaling done in getsndin(); FFT always expects data in the range 0 to 1) minor cosmetic changes (line length etc.) 2005-02-24 John ffitch <jpff@codemist.co.uk> * OOps/ugens2.c: Added FLOOR macro to speed up floor throughout and other speedups * OOps/ugrw1.c: Added FLOOR macro to speed up floor Changed a couple of longs to ints as there is no need for values beyond 2 2005-02-23 John ffitch <jpff@codemist.co.uk> * OOps/ugens2.c (tabli): Unwrap the two case so tests outside loop 2005-02-23 Istvan Varga <istvan@csounds.com> * InOut/midisend.c: * OOps/midiout.c: Fixed 2 byte messages (program change and channel pressure). 2005-02-22 Istvan Varga <istvan@csounds.com> * Engine/musmon.c: * Engine/oload.c: * H/csdl.h: * H/cs.h: * H/csoundCore.h: * H/csound.h: * H/midiops2.h: * H/midiops.h: * H/prototyp.h: * InOut/midirecv.c: * InOut/midisend.c: * InOut/pmidi.c: * OOps/midiops.c: * OOps/midiout.c: * Opcodes/midiops2.c: * SConstruct: * Top/argdecode.c: * Top/csound.c: * Top/main.c: MIDI changes: added support for real time MIDI modules (there is only one currently, pmidi.c); implemented both MIDI in and out using PortMIDI in pmidi.c; removed many static variables from MIDI code * InOut/libsnd.c: clip integer format sound files, fixed sfcloseout() * InOut/widgets.cpp: fixed ButtonSched() crash * OOps/diskin.c: fixed soundout opcode * SConstruct: made useJack=1 and useALSA=1 the default again * H/sysdep.h: added integer types 2005-02-22 John ff <jpff@codemist.co.uk> * SConstruct: Added Word64 as an option. This could be done automatically but one needs to select 64 or 32 bit on a 64 bit machine. 2005-02-20 Istvan Varga <istvan@csounds.com> * Top/argdecode.c: * Top/main.c: allow orc/sco names in CSD (may be broken), but not in .csoundrc * InOut/mididevice.c: * InOut/midirecv.c: moved files here from OOps * InOut/fmidi.c: removed file, all platform independent MIDI code is in midirecv.c now * InOut/mididevice.c: * InOut/midirecv.c: * InOut/pmidi.c: started to clean up MIDI code; still a long way to go file input and PortMIDI work, but mididevice.c is currently a stub * Engine/oload.c: reset rtaudio function pointers in oloadRESET() * H/csoundCore.h: removed PortMIDI specific function prototypes * H/midiops.h: define MBUFSIZ here * OOps/midiops.c: added function prototypes (should be in midiops.h too ?) * Top/csound.c: removed PortMIDI specific function definitions 2005-02-20 Michael Gogins <gogins@pipeline.com> * Added '--help' to short usage list. * Permit .orc and .sco filenames in .csd files. * Added Sequence node in CsoundVST: child nodes of a Sequence node follow each other in strict temporal order, in the same order that the child nodes were added to the Sequence; the duration of each node is the total duration of all notes that it produces. 2005-02-19 Istvan Varga <istvan@csounds.com> * Engine/musmon.c: fixed orcompact bug (takes a Csound instance pointer) * Engine/oload.c: * H/csoundCore.h: * H/csdl.h: * H/cs.h: removed variables from ENVIRON (midi_out and oplibs) * frontends/csound/csound_main.c: check for the case when csoundCompile() aborts but there is no error (--help or -U utilname) * H/csdl.h: define Str() for plugin libraries * H/csoundCore.h: define return value for longjmp() to report success: CSOUND_EXITJMP_SUCCESS OPARMS.Midioutname on all platforms, not only BeOS * OOps/midisend.c: Linux midiout writes to device file in non-blocking mode instead of using OSS /dev/sequencer * Top/argdecode.c: replaced redundant definitions of short option list with a single one exit (longjmp) with success after --help, -z, and utility call (-U) various changes to make argdecode safe to call multiple times accumulate rather than overwrite --opcode-lib list minor fixes, removed static variable, etc. * Top/csmodule.c: search OPCODEDIR64 first if MYFLT=double * Top/csound.c: on systems other than WIN32 and mills_macintosh, print messages to stderr instead of stdout so that -o stdout does not get corrupted * Top/cvanal.c: removed exit() call return value is zero on success, -1 on error (other utilities may need similar changes) * Top/dl_opcodes.c: search OPCODEDIR64 first if MYFLT=double load redundant (specified multiple times) opcode libraries only once fixes in opcode library loading * Top/main.c: return value from setjmp() on failure (forced to negative sign) replaced some uses of '&cenviron' with 'csound' removed useless format option warning/errors run a second pass of argdecode after reading a CSD so that options will be overridden correctly moved some code from argdecode here to make multiple calls to argdecode safe call MidiClose() earlier * Engine/oload.c: fixed memory leak (overwrite of ENVIRON.memalloc_db by oloadRESET()) 2005-02-18 Istvan Varga <istvan@csounds.com> * Engine/auxfd.c, Engine/express.c, Engine/fgens.c, Engine/insert.c: * Engine/linevent.c, Engine/memalloc.c, Engine/memfiles.c: * Engine/musmon.c, Engine/namedins.c, Engine/oload.c, Engine/otran.c: * Engine/rdorch.c, Engine/rdscor.c, Engine/sread.c, Engine/twarp.c: * H/csoundCore.h, H/prototyp.h: * InOut/fmidi.c, InOut/libsnd.c, InOut/libsnd_u.c, InOut/pa_blocking.c: * InOut/pmidi.c, InOut/widgets.cpp, InOut/winX11.c, InOut/winascii.c: * OOps/aops.c, OOps/disprep.c, OOps/fft.c, OOps/fout.c: * OOps/lptrkfns.c, OOps/midiops.c, OOps/midirecv.c, OOps/mxfft.c: * OOps/pstream.c, OOps/pvadd.c, OOps/pvinterp.c, OOps/pvoc.c: * OOps/pvread.c, OOps/pvsanal.c, OOps/schedule.c, OOps/sndinfUG.c: * OOps/ugens1.c, OOps/ugens3.c, OOps/ugens4.c, OOps/ugens5.c: * OOps/ugens6.c, OOps/ugens8.c, OOps/ugens9.c, OOps/ugrw1.c: * OOps/vbap_eight.c, OOps/vbap_four.c, OOps/vbap_sixteen.c: * OOps/vbap_zak.c, OOps/vdelay.c, OOps/vpvoc.c: * Opcodes/babo.c, Opcodes/bbcut.c, Opcodes/biquad.c: * Opcodes/bowedbar.c, Opcodes/cross2.c, Opcodes/filter.c: * Opcodes/flanger.c, Opcodes/grain.c, Opcodes/locsig.c: * Opcodes/nlfilt.c, Opcodes/oscbnk.c, Opcodes/physmod.c: * Opcodes/physutil.c, Opcodes/pitch.c, Opcodes/pluck.c: * Opcodes/pvsbasic.c, Opcodes/pvsdemix.c, Opcodes/repluck.c: * Opcodes/scansyn.c, Opcodes/scansynx.c, Opcodes/sndwarp.c: * Opcodes/space.c, Opcodes/spat3d.c, Opcodes/spectra.c: * Opcodes/syncgrain.c, Opcodes/ugens6.c, Opcodes/ugens7.c: * Opcodes/ugens9.c, Opcodes/ugensa.c, Opcodes/uggab.c: * Opcodes/ugmoss.c, Opcodes/ugsc.c, Opcodes/vdelayk.c: * Opcodes/wave-terrain.c, Opcodes/gab/gab.c, Opcodes/gab/vectorial.c: * Opcodes/py/csoundmodule.c: * Top/argdecode.c, Top/cscorfns.c, Top/csound.c, Top/cvanal.c: * Top/dl_opcodes.c, Top/dnoise.c, Top/hetro.c, Top/lpanal.c: * Top/main.c, Top/one_file.c, Top/opcode.c, Top/threads.c: * util2/dnoise.dir/srconv.c, util2/envext/envext.c: * util2/exports/pv_export.c, util2/mixer/extract.c: * util2/mixer/mixer.c, util2/mixer/xtrct.c, util2/scale.dir/scale.c: added Csound instance pointer to mmalloc(), mcalloc(), mrealloc(), mfree(), memRESET(), auxalloc(), and auxchfree() nbytes argument of mmalloc(), mcalloc(), and mrealloc() was changed from long to size_t * Top/main.c: read .csoundrc both from HOME directory and from current directory 2005-02-17 Istvan Varga <istvan@csounds.com> * Top/csound.c: the CSRTAUDIO environment variable can be used to set default for -+rtaudio * Engine/cfgvar.h: * Engine/cfgvar.c: added documentation for interface functions * Top/main.c: fixed opening .csoundrc * H/csoundCore.h: * Top/argdecode.c: removed unused O.Volume and -V option * Top/argdecode.c: * Top/main.c: * Top/one_file.c: fixes in parsing string options such as file names 2005-02-16 Istvan Varga <istvan@csounds.com> * InOut/libsnd.c: print correct audio block sizes audrecv/rtrecord returns the number of bytes read * InOut/rtjack.c: do not connect to JACK server if real time audio is not used * InOut/rtpa.c: audrecv/rtrecord returns the number of bytes read * Opcodes/deps: removed unused file * Opcodes/oscbnk.c: * Opcodes/oscbnk.h: added new opcodes from 4.24.1 (denorm, delayk, vdel_k, and rbjeq) a-rate rnd31 was made faster improved seeding from time removed all static variables (hopefully did not break anything...) * Top/argdecode.c: fixed output to raw sound files (set O.filetyp = TYP_RAW) * Top/csound.c: print newline at end of various "early return" error messages more error checking in dummy rtaudio functions; allow -+rtaudio=null audrecv/rtrecord returns the number of bytes read fixed return value in csoundAppendOpcode (should be zero on success) 2005-02-13 John ffitch <jpff@codemist.co.uk> * Opcodes/uggab.c (lpshold, loopseg, loopseg_set): Changed to agree with csoundAV 2005-02-11 John ffitch <jpff@codemist.co.uk> * Opcodes/pvsdemix.[ch]: New files from Victor Lazzarini * SConstruct: Added pvsdemic 2005-02-10 Istvan Varga <istvan@csounds.com> * frontends/csound/csound_main.c * Top/argdecode.c: Improved --sched option, now accepts a priority value (--sched=N). Priority settings in the range 1 to 99 request the use of SCHED_RR, zero is SCHED_OTHER (not real-time but still locks memory), and -20 to -1 for setting nice level. * Opcodes/gab/vectorial.c: Fixed sequence point warnings. 2005-02-10 Istvan Varga <istvan@csounds.com> * InOut/rtjack: Implemented JACK real time audio plugin (experimental). * InOut/libsnd.c: Do not call audrecv() after opening sound input in sfopenin(). * Engine/musmon.c: Print correct maxamp info in cleanup(), even if performance is terminated (e.g. by ^C) rather than finished normally. * SConstruct: Added new options noDebug (do not add -g and -gstabs to CCFLAGS), gcc3opt (add optimisation flags for gcc 3.3.x and later), and useGprof (compile and link with -pg). All are disabled by default. Changes to allow compilng JACK plugin. * Top/main.c: Terminate (call longjmp()) if initialisation of modules has failed for some reason. * Top/csound.c: playopen_dummy() and recopen_dummy() now fail if --sched is used, to avoid locking up the machine. Expanded tabs to spaces. * Engine/oload.c: * H/csoundCore.h: * InOut/libsnd.c: * Top/argdecode.c: * Top/csound.c: Use csoundGlobalVariable and csoundConfigurationVariable system for new sound file ID tag options added by Michael Gogins, rather than changing OPARMS, oload.c, argdecode.c, etc. The options are now: -+id_title -+id_copyright -+id_software -+id_artist -+id_comment -+id_date argdecode.c: expanded tabs to spaces 2005-02-09 Michael Gogins <gogins@pipeline.com> * Add long options to set ID tags in output soundfile: --id-title=TITLE Title tag in output soundfile (no spaces) --id-copyright=COPY Copyright tag in output soundfile (no spaces) --id-software=SOFTWARE Software tag in output soundfile (no spaces) --id-artist=ARTIST Artist tag in output soundfile (no spaces) --id-comment=COMMENT Comment tag in output soundfile (no spaces) --id-date=DATE Date tag in output soundfile (no spaces) 2005-02-07 Istvan Varga <istvan@csounds.com> * Engine/insert.c: Fixed uses of INSDS.xtratim where it was assumed to be short. * Engine/musmon.c: Use ENVIRON.sensEvents_state instead of csoundGlobalVariables, to reduce CPU usage of sensevents(). * Engine/oload.c: * H/csoundCore.h: Added GetRtRecordUserData(), GetRtPlayUserData(), sensEvents_state, rtRecord_userdata, and rtPlay_userdata to ENVIRON. In csoundCore.h: new structure type sensEvents_t. * H/csound.h: * Top/csound.c: New functions void **csoundGetRtRecordUserData(void *csound) and void **csoundGetRtPlayUserData(void *csound). * InOut/rtalsa.c: Use user data pointers instead of csoundGlobalVariables to store device instance data; reduces CPU usage. 2005-02-06 Istvan Varga <istvan@csounds.com> * Engine/sread.c: Fixed memory corruption bugs that were caused by mixed use of mmalloc and realloc. * Top/main.c: Fixed bug in setting cenviron.exitjmp_. * frontends/csound/csound_main.c: Better checking for real time audio in set_rt_priority(). * Engine/memalloc.c: Rewritten functions mmalloc, mrealloc, etc. 2005-02-05 Istvan Varga <istvan@csounds.com> * Engine/insert.c: Reworked kperf() so that it always performs one k-period, and does not check for real-time events (that is now done by sensevents()). beatexpire() and timexpire() take double argument instead of MYFLT. * Engine/musmon.c: Call orcompact() in cleanup(). Set real-time audio buffer sizes to more usable defaults. Replaced sensevents() with new version that always senses events for one k-period, and also handles real-time events; this new implementation of sensevents is also not as prone to drop notes as the original, but may still need some tweaking. playevents now simply calls sensevents() and kperf() in a loop, to eliminate redundant code. Misc. changes related to new kperf/sensevents. * H/csound.h: * Top/csound.c: * Top/main.c: Fixes to re-entrancy bugs reported by Michael Gogins. New API function: int csoundPreCompile(void *csound), is optionally called before csoundCompile * H/prototyp.h: * InOut/FL_graph.cpp: Changed kperf prototype to 'void kperf(ENVIRON *csound)'. Global variable 'kcnt' has been removed. * InOut/rtpa.c: Fixed bug in module selection (incorrect use of strcmp). 2005-02-03 Istvan Varga <istvan@csounds.com> * SConstruct: Fixed (hopefully) the PortMIDI compile error. * Engine/musmon.c: Made it sure that cleanup() is done only once, no matter how many times it is called; fixed closing sound I/O (still not sure if it is correct); remove temporary files in cleanup(). * H/prototyp.h: * Top/main.c: * Top/one_file.c: add_tmpfile() and remove_tmpfiles() now take a void *csound pointer to remove the temporary files of a particular Csound instance. Also removed the static global variable 'toremove'. In main.c, cleanup() is called instead of rtclose to close sound output (cleanup is more useful as it will also close files, remove temporaries, etc.). * InOut/libsnd.c: * InOut/pa_blocking.c: * InOut/rtalsa.c: * InOut/rtpa.c: Incrementing ENVIRON.nrecs_ is now done in libsnd.c, and not in the plugins. Closing line input was also moved to libsnd.c. Fixed memory access problem in rtalsa.c (allocated space was too small in some cases) that caused crashes and odd errors. Attempts were made to make the closing of sound I/O more reliable; this is still not perfect in the case of PortAudio, but ALSA is better now. 2005-02-02 Istvan Varga <istvan@csounds.com> * Top/main.c: * frontends/csound/csound_main.c: Moved set_rt_priority() and calling of init_getstring() from main.c to csound_main.c. Various changes to use new interfaces. * H/csmodule.h: * Top/csmodule.c: New plugin interface to be used by non-opcode libraries (e.g. real time audio). * H/csoundCore.h: Added new API functions to ENVIRON. * H/csound.h: * H/csoundCore.h: * Top/csound.c: * H/pa_blocking.h: * InOut/libsnd.c: * InOut/pa_blocking.c: * InOut/rtalsa.c: * InOut/rtpa.c: * SConstruct: Code related to real time audio has been revised to allow for loadable modules and multiple instances. * H/cfgvar.h: * Engine/cfgvar.c: New files that implement an interface that allows dynamic creation of options. * Engine/oload.c: Added new function pointers to cenviron_. * Engine/namedins.c: Made the table non-static so that it can be accessed from other files (also renamed it to use a less trivial name). Fixed bug in csoundDestroyGlobalVariable(). * Engine/insert.c: * Engine/musmon.c: * Engine/otran.c: Changes to use new plugin based audio I/O interface. Some functions now take void *csound as the first argument. These include spinrecv(), spoutran(), nzerotran(), spoutsf(), and other related functions. * H/new_opts.h: * Top/new_opts.c: New files for parsing options dynamically created by functions in cfgvar.c. * H/prototyp.h: * Top/argdecode.c: * Top/one_file.c: The functions argdecode(), readOptions(), and read_unified_file() now take 'void *csound' as the first argument. In argdecode.c: use functions from Top/new_opts.c. * H/ustub.h: * Top/ustub.c: Removed old unused prototypes. * install.sh: Install script for Linux. 2005-02-01 John ffitch <jpff@codemist.co.uk> * frontends/csound/csound_main.c (main): Corrected incorrect C 2005-01-29 Istvan Varga <istvan@csounds.com> * SConstruct: * InOut/rtalsa.c: added ALSA real-time audio; disabled by default, as it is currently quite limited (no device selection, only float samples are supported). 2005-01-29 Istvan Varga <istvan@csounds.com> * H/csound.h, H/csoundCore.h: * Engine/namedins.c, Engine/oload.c, Top/csound.c: new function: csoundQueryGlobalVariableNoCheck() functions moved from csound.c to namedins.c * OOps/aops.c: use csoundQueryGlobalVariableNoCheck() 2005-01-28 Istvan Varga <istvan@csounds.com> * H/csoundCore.h, Engine/oload.c: added void **namedGlobals, int namedGlobalsCurrLimit, and int namedGlobalsMaxLimit to ENVIRON * Top/main.c, frontends/csound/csound_main.c: print compile times (real and CPU) if bit 7 of O.msglevel is set * H/csound.h, Top/csound.c: implemented functions for creating named global "variables" * OOps/aops.c: rtclock opcode uses new timer functions * Top/main.c: print_benchmark_info(): new function (activated by O.msglevel & 128) call csoundDeleteAllGlobalVariables() on RESET create global timer struct that counts from Csound instance start-up; use these calls to get the current real/CPU time in seconds (return value is double): timers_get_real_time(csoundQueryGlobalVariable(csound, "csRtClock")) timers_get_CPU_time(csoundQueryGlobalVariable(csound, "csRtClock")) 2005-01-27 Istvan Varga <istvan@csounds.com> * Engine/express.c, Engine/oload.c, Engine/rdorch.c, H/csoundCore.h: * Top/argdecode.c: implemented --expression-opt 2005-01-27 Istvan Varga <istvan@csounds.com> * Engine/entry1.c: * Engine/entry2.c: * Engine/express.c: * Engine/otran.c: * Engine/rdorch.c: use '.' instead of '_' in internal opcode names (e.g. osc.kk instead of osc_kk); this allows the use of the underscore character in real opcode names. Many files in Opcodes/ were also changed. * strings/makedb.c: * strings/all_strings, strings/english-strings, strings/french-strings: * H/text.h: * Top/getstring.c: new implementation for localized messages. Uses Str("...") instead of Str(X_nnnn,"..."). This also needed replacement of Str() in a large number of files. * Engine/oload.c, Engine/otran.c, H/csoundCore.h: use 'int' type for variable indexes instead of 'short'; needs some testing * Engine/oload.c, Top/main.c, Top/one_file.c: removed API function prototypes, use csound.h instead * Top/csound.c, H/csound.h, Engine/oload.c, Engine/otran.c: incorporated some changes from the 'unofficial' 4.24.1 version, including timer functions, better checking of sr/kr/ksmps, and some fixes * Engine/memalloc.c: removed references to free_strings() * H/csdl.h: use csoundLocalizeString() instead of getstring() * InOut/widgets.cpp: include <sstream> instead of <strstream>, and use stringstream instead of strstream * Opcodes/midiops3.c: fixed undefined order of operations * SConstruct: added /usr/X11R6/include to include paths on Linux 2005-01-25 Steven Yi <stevenyi@csounds.com> * frontends/csound/csound_main.c: set stdout to not buffer if csound output not going to terminal 2005-01-25 John ffitch <jpff@codemist.co.uk> * InOut/widgets.cpp (FL_run): Need to pass argument to threads in Linux/Mach cases 2005-01-22 Michael Gogins <gogins@pipeline.com> * Added csoundSetFLTKThreadLocking and csoundGetFLTKThreadLocking calls to the Csound API. This controls whether or not the FLTK widget thread calls Fl::lock and Fl::unlock (the default), or not. Programs with their own performance thread or FLTK thread may wish to disable Csound's FLTK thread locking. 2005-01-20 Michael Gogins <gogins@pipeline.com> * Created a working NSIS installer for Windows -- does not install source code. 2005-01-18 John ffitch <jpff@codemist.co.uk> * Opcodes/newfils.c: New code * Opcodes/syncgrain.c: New code * InOut/widgets.cpp (fl_joystick): Change to way up of joystick 005-01-16 John ffitch <jpff@codemist.co.uk> * InOut/pa_blocking.c (paBlockingWriteStreamCallback): Fixed incorrect declaration 2005-01-12 Michael Gogins <gogins@pipeline.com> * Call Pa_Terminate after Pa_AbortStream calls in rtclose_. This helps with restarting Csound and CsoundVST. 22005-01-06 John ffitch <jpff@codemist.co.uk> * All over added first arg to opcodes of the ENVIRON structure 2004-12-23 John ffitch <jpff@codemist.co.uk> * InOut/pmidi.c (GetMIDIData): Read to wrong place! 2004-12-20 John ffitch <jpff@codemist.co.uk> * OOps/mididevice.c: * Top/main.c (signal_handler, csoundCompile): * InOut/widgets.cpp (SNAPSHOT): * H/sysdep.h: * H/csoundCore.h: Added code to allow MSVC compilation 2004-12-19 Michael Gogins <gogins@pipeline.com> * Added Java wrapper for the Csound API via CppSound. CsoundVST and Python support do not currently work, but it is now possible to run Csound natively from Java. This is designed mostly for using Csound in Mathematica through J/Link. 2004-12-19 John ff <jpff@codemist.co.uk> * InOut/pmidi.c (sensMidi): major rehack for PortMIDI structure. Not verified yet. 2004-12-18 John ffitch <jpff@codemist.co.uk> * Engine/fgens.c (hfgens): Ensure gensub array is initialised 2004-12-14 John ffitch <jpff@codemist.co.uk> * SConstruct: All over use strings for options rather than numbers. Seems to work but take care! 2004-12-12 Michael Gogins <gogins@pipeline.com> * Updated to FLTK 1.1.6, libsndfile 1.1.11, CVS PortAudio, CVS Loris for Windows pre-built binaries. * Added Loris API documentation to Csound reference manual. 2004-12-10 John ffitch <jpff@codemist.co.uk> * InOut/libsnd.c: and code * OOps/sndinfUG.c (getsndinfo): Removed unused called to readheader 2004-12-03 Michael Gogins <gogins@pipeline.com> * Tried to remove most remaining compiler warnings: mostly returning int from main, sscanf for %lf with USE_DOUBLE, type casting, etc. 2004-12-02 John ffitch <jpff@codemist.co.uk> * SConstruct (else): Added PortMIDI build option to aid experimentation. 2004-11-30 John ffitch <jpff@codemist.co.uk> * Top/main.c (signal_handler): Move message to after check for alarm 2004-11-25 Michael Gogins <gogins@pipeline.com> * Initial implementation of CounterpointNode -- generates species 1, 2, or 3 counterpoint for cantus firmi selected from notes generated by child nodes. Based on code from Bill Schottstaedt's species counterpoint generator (thanks, Bill!). * Optimized the build for boost::ublas matrix code in CsoundVST Node classes. 2004-11-28 John ffitch <jpff@codemist.co.uk> * OOps/pvfileio.c (write_pvocdata, pvoc_readfmt): Use a union rather than dubious casts. 2004-11-23 John ffitch <jpff@codemist.co.uk> * OOps/midirecv.c (m_chanmsg): Removed initial values for volume/balance/pan/expressions/bend/mastvol 2004-11-16 John ffitch <jpff@codemist.co.uk> * OOps/ugens2.c (itable, itabli, itabl3): Need to check OK rather than assume true=OK * Engine/fgens.c: All over removed statics into the environment or into arguments. Make ftfind etc take extra argument. Should assist with reentrance. 2004-11-14 John ffitch <jpff@codemist.co.uk> * util2/exports/het_import.c (main): Open output as binary stream * Top/main.c (mainRESET): ftRESET takes environment argument * Engine/fgens.c: Move many statics into a single static. Adjust args to gens to reflect this -- statics almost unnecessary 2004-11-11 Michael Gogins <gogins@pipeline.com> * Changed the Python interface to CsoundVST to allow Python programmers to derive new classes in Python from CsoundVST.Node, and these new classes will function as C++ Node * objects in the CsoundVST C++ internals. This enables Python-derived Nodes to function just like regular C++ Nodes in music graphs. 2004-11-11 John ffitch <jpff@codemist.co.uk> * Engine/fgens.c: Removed static variables ftp and nargs and used arguments instead. Simplifications all over 2004-11-10 John ffitch <jpff@codemist.co.uk> * H/csdl.h (FLINKAGE): defined * Top/dl_opcodes.c: Allow definitions of fgens * H/csoundCore.h: Added NGFENS structure 2004-11-09 John ffitch <jpff@codemist.co.uk> * Engine/fgens.c (fgens): Started named fgens (fterror): Allow named gens in error messages (allocgen): New function to allocate new names 2004-10-24 Michael Gogins <gogins@pipeline.com> * Fixes to rtpa.c and pa_callback.c for duplex audio, and libsnd_u.c forsoundfile input, by Victor Lazzarini. * CsoundVST changes directory to that of loaded files. 2004-11-07 John ffitch <jpff@codemist.co.uk> * H/ftgen.h (GENMAX): set to 43 (really part is fgens below) 2004-11-06 John ffitch <jpff@codemist.co.uk> * Engine/musmon.c (sensevents): Need to reset nxtim and nxtbt at end of section (not needed in playevents model) 2004-11-05 John ffitch <jpff@codemist.co.uk> * Opcodes/pvsbasic.c: New file and opcodes * Engine/fgens.c: Added gen43 2004-11-02 John Fitch <jpff@eriboll.local.> * Top/threads.c: OSX threads like Linux * InOut/rtpa.c: Use callback stuff for OSX 2004-10-24 Michael Gogins <gogins@pipeline.com> * Renamed libsndfile.dll.0.0.19. * Updated documentation to provide improved directions for extending Csound with builtin or plugin opcodes. * Fixed badly formatted tables in documentation. * Improved API documentation with simple examples. 2004-10-26 John ffitch <jpff@codemist.co.uk> * OOps/ugrw1.c: Simplified some of the error reporting * H/ugrw1.h (zkwm): and remove value from domix 2004-10-25 John ffitch <jpff@codemist.co.uk> * OOps/ugens6.c (cmbset): Round rather than truncate 2004-10-24 Michael Gogins <gogins@pipeline.com> * Updated build system for gcc 3.4.2 (candidate), changed some flags to avoid DLL relocation errors on Windows that caused problems with restarting CsoundVST, and with debugging. * First draft of complete Csound 5 manual with Kevin Conder documentation included. There are as yet many errors with tables and graphics, but all (or almost all) of the text appears to be good. 2004-10-21 John ffitch <jpff@codemist.co.uk> * OOps/ugens6.c (delset, delrset): Round not truncate (deltap): Round not truncate 2004-10-20 John ffitch <jpff@codemist.co.uk> * OOps/ugens6.c (delrset): NULL list of delays for safety, 2004-09-12 Michael Gogins <gogins@pipeline.com> * Added csound::Score::getCsoundScore method in CsoundVST for easier use of algorithmic composition classes in other Csound-based systems. * Updated csound.pdf with API documentation. * Restored real-time audio code to more functional version. 2004-10-16 John ffitch <jpff@codemist.co.uk> * Opcodes/sfont.c (Sfplist, filter_string): Removed static array to local in caller 2004-10-07 Steven Yi <stevenyi@csounds.com> * Top/dl_opcodes.c (csoundOpenLibrary): Fixed to work with cygwin * Top/thread.s : Fixed to work with cygwin 2004-09-17 John ffitch <jpff@codemist.co.uk> * util2/exports/pv_export.c (main): Free malloced space 2004-09-12 Michael Gogins <gogins@pipeline.com> * Restored PortAudio to ASIO only, re-ordered 'notify' and 'wait' for better logic and performance. * Improved PortAudio stop/restart by returning PaAbort from callbacks. * Moved Windows DLLs to csound5 root directory. * Added SIGINT to Windows signals handled. * Improved order of directives and comments in custom.py. * Updated csound.pdf to reflect the above. 2004-09-11 Steven Yi <stevenyi@csounds.com> * SConstruct: Changed to use prefix directory from command line argument, defaults to /usr/local * SConstruct: Changed install-opcodes to install to "prefix + /lib/csound/opcodes" 2004-09-11 Steven Yi <stevenyi@csounds.com> * SConstruct: Added install, install-executables, and install-opcodes targets 2004-09-08 John ffitch <jpff@codemist.co.uk> * SConstruct (ustub): Added bus.c * Opcodes/bus.c: New code for IO bus * Engine/oload.c: Initialise below * H/csoundCore.h (ENVIRON_): Added busik_, busia_, busok_, busia_ * H/csdl.h (busik, busia, busok, busia): Added macros 2004-08-22 John ffitch <jpff@codemist.co.uk> * Opcodes/biquad.h: * Opcodes/biquad.c (vcoset, bqrezset, pareqset, tbvcfset): Skip initialisation option 2004-08-21 John ffitch <jpff@codemist.co.uk> * Opcodes/biquad.c (moogvcfset, rezzyset): Added iskip to avoid initialisation * Opcodes/biquad.h: Added iskip options to moogvcf abd rezzy 2004-08-18 John ffitch <jpff@codemist.co.uk> * Engine/fgens.c (gen20): Corrected sinc window 2004-08-12 Michael Gogins <gogins@pipeline.com> * Re-arranged sections in csound.pdf to be more helpful for beginners. * Updated csound.pdf to reflect availability of ASIO on Windows. 2004-08-10 Michael Gogins <gogins@pipeline.com> * Implemented threads and mutexes in the Csound API for Windows and Linux, in Top/threads.c. * Implemented low-latency PortAudio with a blocking wrapper that uses mutexes for asynchronus ASIO on MinGW/Windows, in InOut/pa_blocking.c and H/pa_blocking.h. * Fixed Top/threads.c so it compiles on Linux. 2004-08-05 Michael Gogins <gogins@pipeline.com> * Rewrote fluid opcode to break it up into fluidload, fluidcontrol, and fluidout. Added documentation html file. 2004-07-31 Michael Gogins <gogins@pipeline.com> * Removed many warnings, especially by using %lf in sscanf for USE_DOUBLE and re-ordering ctor lists. * Added section to build Loris from sources if present. * SWIG-generated .py files now generated in root directory. 2004-07-25 Michael Gogins <gogins@pipeline.com> * Added csoundTableLength, csoundTableGet, csoundTableSet to API. * Added pyinit opcode. 2004-07-24 Michael Gogins <gogins@pipeline.com> * Python opcodes: imported Maurizio Umberto Puxeddu's Python opcodes for Csound 4 from Gabriel Maldonado's CsoundAV sources, updated for Csound 5 with opcode error status return values. Currently these opcodes only work in CsoundVST, but I may add a pyinit opcode to make them work in command-line csound. 2004-07-23 Michael Gogins <gogins@pipeline.com> * Loris: added sources (for Csound 5 opcode ONLY) and prebuilt binaries (for MinGW/Windows with USE_DOUBLE ONLY) for _loris.dll, which is both a plugin Csound 5 opcode and a Python extension module. * Modified dl_opcodes.c to print debugging info off the -v option, and made the messages clearer. 2004-07-21 Michael Gogins <gogins@pipeline.com> * vst4cs: implemented sample-accurate timing for NOTE ON and NOTE OFF. Renamed opcodes for greater intelligiblity. 2004-07-19 Michael Gogins <gogins@pipeline.com> * Andres Cabrera suggested a global vst audio output opcode, so I added vstplugg to do that. I changed the documentation to reflect it. 2004-07-18 Steven Yi <stevenyi@csounds.com> * Engine/oload.c (oload): Moved call to sssfinit to above init0 as recommended by Matt Ingalls, instr 0 opcodes that use fopenin() now function correctly 2004-07-18 John ffitch <jpff@codemist.co.uk> * OOps/vpvoc.c (vpvset): Ditto * OOps/ugens8.c (pvset): Ditto * OOps/midiops.c (pgmassign): Ditto * OOps/aops.c (invalset,outvalset ): Allow score strings 2004-07-17 Michael Gogins <gogins@pipeline.com> * Andres Cabrera added bank loading to vst4cs. I added plugin editor dialogs and program setting, also refined log message levels and made VST opcode diagnostic messages more informative. 2004-07-17 John ffitch <jpff@codemist.co.uk> * OOps/dumpf.c (krdset): Allow strings from score and in kdmpset (4 cases each) * OOps/ugens9.c (pconvset): New code (pconvolve): New code 2004-07-13 John Fitch <jpff@eriboll.local.> * InOut/widgets.cpp: Various changes to make __MACH__ machines be line Linux. (save_snap): Use fl_ask 2004-07-11 Michael Gogins <gogins@pipeline.com> * Added vst4cs plugin opcode by Andres Cabrera for hosting VST plugins in Csound. Made a number of bug fixes and changes. More changes coming. This is alpha code. Currently building only on mingw. 2004-07-09 John ffitch <jpff@codemist.co.uk> * Engine/musmon.c (playevents): matt's suggestion to avoid missing events due to rounding. * OOps/ugrw1.c (itablew): Wrong result returned and elsewhere * Engine/otran.c (otran): Move initialisation of pool to start of otran so strings work! (constndx): from here 2004-07-05 Anthony Kozar <anthony.kozar@utoledo.edu> * Top/argdecode.c (argdecode): don't keep tmp files on Mac * Engine/sread.c (ifa): Rest of ^+ bug fix from csound module. 2004-07-04 John ffitch <jpff@codemist.co.uk> * strings/all_strings: Added string 226 2004-07-04 Anthony Kozar <anthony.kozar@utoledo.edu> * Engine/sread.c (ifa): fixed bugs and improved error reporting in ^+ and ^- code. 2004-06-27 Michael Gogins <gogins@pipeline.com> * Fixed (and simplified) real-time audio input. 2004-06-25 Michael Gogins <gogins@pipeline.com> * The CsoundVST Python module now prints Csound messages to Python sys.stdout when running in IDLE. 2004-06-25 Anthony Kozar <anthony.kozar@utoledo.edu> * These are all changes to allow compilation on MacOS 9 * Top/csound.c: In declaration of csoundExternalMidiRead(), made mbuf unsigned char* to match other calls. * OOps/diskin.c: (newsndinset) changed if (sinfd > 0) to if (sinfd != NULL). * Top/dl_opcodes.c: added #else case for platforms without shared libraries. * InOut/libsnd.c: added #include "MacTransport.h" for Mac builds. * Top/main.c: commented out conditional exclusion of err_printf() for Mac. * OOps/sdif-mem.c: * SDIF/sdif-mem.c: * H/sdif-mem.h: * SDIF/sdif-mem.h: * OOps/sdif.c: * SDIF/sdif.c: changed #include <H/sdif-mem.h> to #include "H/sdif-mem.h" and <H/sdif.h> to "H/sdif.h". * H/sftype.h: #defined PACKED for mac_classic * H/sysdep.h: undefined mills_macintosh (now defined in Prefix.h) and temporarily undefined RTAUDIO for Mac build until PortAudio working. 2004-06-15 John ffitch <jpff@codemist.co.uk> * OOps/aops.c (outo): Skipped +6 case! 2004-06-12 John ffitch <jpff@codemist.co.uk> * OOps/ugens2.c (ftkrchk): * OOps/ugrw1.c: Results of some opcodes were reporting errors incorrectly 2004-06-07 Michael Gogins <gogins@pipeline.com> * Changed the CsoundVST module to create a global csound instance of CsoundVST.CppSound that will work both in CsoundVST and in the standalone Python interpreter. 2004-06-02 Michael Gogins <gogins@pipeline.com> * CsoundVST now opens the Python or csd file given on the command line. 2004-05-31 John ffitch <jpff@codemist.co.uk> * OOps/midirecv.c: declare csoundIsExternalMidiEnabled, csoundExternalMidiDeviceOpen, csoundExternalMidiDeviceClose and OpenMIDIDevice external * Engine/auxfd.c (fdchclose): fd should have been curchp->fd * InOut/libsnd_u.c (SAsndgetset): Return a SNDFILE* rather than an int 2004-05-27 John ffitch <jpff@codemist.co.uk> * InOut/widgets.cpp (fl_setWidgetValue_set, fl_setWidgetValue): New code stolen from CsoundAV and changed to Csound5 format * Engine/entry2.c: Change entry for FLsetVal * InOut/widgets.cpp: SNAPSHOT::get returns error state (get_snap): and used 2004-05-16 Michael Gogins <gogins@pipeline.com> * Amended SConstruct to keep a list of all dependencies to make sure that zipfiles get built at the very end. * Updated csound.pdf with information about -odac:xxx on ALSA. 2004-05-20 John ffitch <jpff@codemist.co.uk> * InOut/rtpa.c (playopen_): Decode dac:xxx rather than environment variable * InOut/libsnd.c (sfopenin, sfopenout): Decode dac:xxx style device * H/csoundCore.h (ENVIRON_): type in instance was wrong (missing *) * H/csoundCore.h (ENVIRON_): * H/cs.h (rtin_devs, rtout_devs): * H/csdl.h (rtin_devs, rtout_devs): * Engine/oload.c: Added rtin_devs and rtout_devs for device names rather than just numbers 2004-05-19 John ffitch <jpff@codemist.co.uk> * Engine/entry1.c: Added "tablew" as a 0xfffe opcode * SConstruct (customSHLINKFLAGS): Darwin seems to need -dynamic * Top/dl_opcodes.c (dlsymIntern): SLOOKUPSYMBOLINIMAGE_OPTION_BIND -> NSLOOKUPSYMBOLINIMAGE_OPTION_BIND 2004-05-18 John ffitch <jpff@codemist.co.uk> * Opcodes/vdelayk.c (partial_maximum): Added maxk opcode 2004-05-17 John <jpff@cage.codemist.co.uk> * SConstruct: Use -Wl,-Bdynamic as it is linker option * strings/makedb.c (main): Correct format in printf twice for longs * Top/main.c (install_signal_handler): Restore signal handling 2004-05-17 John ffitch <jpff@codemist.co.uk> * InOut/rtpa.c (playopen_): Allow selection of ALSA device via environment variable * Engine/entry1.c: Restored tablekt and tableikt 2004-05-16 Michael Gogins <gogins@pipeline.com> * frontends/CsoundVST/CsoundVstFltk.cpp: fixed problem with linefeeds in message lines. 2004-05-12 John ffitch <jpff@codemist.co.uk> * SConstruct: Set makeDynamic=1 for linux 2004-05-09 Michael Gogins <gogins@pipeline.com> * Added high-level "C" API for CsoundVST (frontends/CsoundVST/csoundvst_api.h and .c). * Fixed random number generator bug in CsoundVST::StrangeAttractor. 2004-05-07 Michael Gogins <gogins@pipeline.com> * Fixed some bugs in rtpa.c to enable lower-latency real-time audio. 2004-05-05 Michael Gogins <gogins@pipeline.com> * Fixed Fl_graph.cpp and widgets.cpp event handling with thread protection. FLTK widgets work now (at least on Windows). 2004-05-05 John ffitch <jpff@codemist.co.uk> * strings/all_strings: * strings/english-strings: Heavily revised * Top/pvanal.c (pvanal): 1781->1771 * Engine/oload.c (oload): 1711->1704 as overuse * OOps/pvfileio.c (pvoc_readfmt): Minor typo in string (pvoc_readheader): 1555 instead of 1635 (pvoc_putframes): 1527 instead of 1657 * OOps/pvxanal.c (pvxanal): Minor typo in string * Opcodes/scansynx.c Many string renumering for uniqueness * OOps/fout.c (outfile_set): 1463->1451 as overuse * Opcodes/uggab.c (rsnsety): 1453->1453 as overuse * Top/dnoise.c (dnoise): 1198->1199 as overuse (dnoise): Minor type in string * OOps/diskin.c (newsndinset): Minor string correction * OOps/ugrw1.c (printksset): 1136->1135 as overuse * Top/dnoise.c (dnoise): Changed 1052 to 1016 as overuse * Opcodes/ugmoss.c (vcombset): Unified string 668 * OOps/cmath.c (seedrand): String 458 made same as other uses * Top/argdecode.c (longusage): Typo in 425 * Opcodes/uggab.c (kDiscreteUserRand, aDiscreteUserRand) (kContinuousUserRand, aContinuousUserRand): Inconsidtent use of String 315 * Opcodes/ugsc.c (phaser2set): String 243 double used -- changed to 245 * OOps/mididevice.c (OpenMIDIDevice): Typo in string 210 * Top/argdecode.c (decode_long): String 95 was repeated; changed to 97 which was free * OOps/pvread.c (pvreadset, pvocex_loadfile): * OOps/pvinterp.c (pvbufreadset, pvinterpset, pvcrossset): * OOps/pvadd.c (pvaddset): * OOps/pstream.c (pvx_loadfile): String 63 * Top/dnoise.c (dnoise): String 61 * OOps/diskin.c (sngetset): Typing error in string 58 * Engine/insert.c (insert_event): Format string had naked % 2004-05-04 Michael Gogins <gogins@pipeline.com> * Added more Fl::lock and ::unlock calls to CsoundVstFltk.cpp, to protect against Xlib: unexpected async operation errors. CsoundVST now actually works on Linux. 2004-05-03 Michael Gogins <gogins@pipeline.com> * Fixed midiinterop opcodes that were broken when moved to csound5. 2004-05-01 Michael Gogins <gogins@pipeline.com> * Added a new csoundPerformKsmpsAbsolute API function for calling kperf without a score. * Restored external MIDI interface callbacks to working order. Renamed the Open and Close callbacks to DeviceOpen and DeviceClose to clarify their actual function. * Many fixes in CsoundVST to get it working for Csound 5. 2004-04-29 Michael Gogins <gogins@pipeline.com> * Made inbuf and outbuf MYFLT * throughout the sources. * Moved "extern" function and data declarations from csound.c to prototyp.h as much as possible, in order to prevent inconsistencies from spreading. 2004-04-27 John ffitch <jpff@codemist.co.uk> * Engine/oload.c: Initialise file_opened_ * H/csoundCore.h (ENVIRON_): Added file_opened_ to environment 2004-04-26 Michael Gogins <gogins@pipeline.com> * Added scoreRESET to enable multiple renderings with one Csound API instance. 2004-04-08 John ffitch <jpff@codemist.co.uk> * InOut/widgets.cpp (fl_knob): Added retuirn to initerror call (fl_button): 2004-04-06 John ffitch <jpff@codemist.co.uk> * InOut/FL_graph.cpp (draw): Initialise win_h 2004-04-05 John ffitch <jpff@codemist.co.uk> * H/csound.h: rtplay__ needs to have void* argument * OOps/midirecv.c (csoundDefaultMidiOpen): Needs void* argument * Top/csound.c: mainRESET needs an argument * Engine/linevent.c (newevent): needs csound argument 2004-03-14 John ffitch <jpff@codemist.co.uk> * OOps/fout.c (infile_act): renamed from infile to avoid name clash with linsndfile support 2004-03-11 John ffitch <jpff@codemist.co.uk> * InOut/libsnd.c (sfopenout): Added test.au as a default name 2004-03-03 John ffitch <jpff@codemist.co.uk> * Engine/scxtract.c (scxtract): Added call to sread_init() as suggested by Anthony Kozar 2004-02-29 Steven Yi <stevenyi@csounds.com> * InOut/rtpa.c: modifed code to use PortAudio device 1 by default if none given. Messages are now given to user if defaulting to device 1 or what device user has selected. * Top/main.c: changed strcmp to strncmp when looking for dac or devaudio to allow use of --sched when using on linux and selecting PortAudio devices (i.e. dac1, devaudio3) 2004-02-28 Steven Yi <stevenyi@csounds.com> * Engine/entry2.c: Added reverbx_set and reverbx back in as well as opcode entries for nreverb/reverb2 2004-02-28 John D. Ramsdell <ramsdell@mitre.org> * Makefile.am: Removed _SOURCES vars from conditionals and made plugins libs begin with "lib" so that this automake file works with older version of automake. * configure.ac: Removed AC_PROG_RANLIB and added $srcdir to include so that VPATH works. 2004-02-25 Michael Gogins <gogins@pipeline.com> Modified sources to #ifdef for HAVE_LIBSNDFILE as defined by configure.ac, not _SNDFILE_. Removed jpff_glue.c as its function is now performed by csound.c. Deleted load_opcodes.c after merging it with dl_opcodes.c. 2004-02-22 Michael Gogins <gogins@pipeline.com> New configure.ac, which is a modified version of John Ramsdell's configure.ac. Thanks to John for providing a framework, implementing the required tests, and enabling me to understand the online documentation. All new Makefile.am, which puts all source configuration in one file for all targets. Renamed some "main.c" files to prevent naming conflicts caused by having a single Makefile.am. Moved some opcodes from Opcodes back to OOps due to tangled dependencies. Plugin opcodes are loaded from the directory pointed to by the OPCODEDIR environment variable. The --shared-lib flag is still effective. Enabled PortAudio in Csound 5 together with libsndfile, and changed PortAudio support from v18 to v19. Renamed libanal.a to libustub.a and moved as much code as possible from analysis and utility program "main" files to ustub.c. 2004-02-20 John ffitch <jpff@codemist.co.uk> * Opcodes/grain.c (ags): Use memcpy rather than a loop to copy back 2004-01-29 John ffitch <jpff@codemist.co.uk> * Engine/insert.c (ingoto): Check that we are in i-rate case 2004-01-13 John ffitch <jpff@cs.bath.ac.uk> * Opcodes/sfont.c: casts in many debug statements * Opcodes/mandolin.c (mandolin, mandolinset): Use ENVIRON* argument to Delayline functions 2004-01-01 John ffitch <jpff@codemist.co.uk> * Opcodes/pluck.c (filter3Set): Need to initialise ->x1 and ->x2 to zero * Opcodes/flanger.c (wguide2, wguide1): Avoid frequencies below 5Hz 2003-11-30 Steven Yi <stevenyi@csounds.com> * Engine/insert.c (orcompact): Added calls to deinitialize i-time opcodes 2003-11-29 Steven Yi <stevenyi@csounds.com> * H/cs.h: all thing except compability macros moved out to csoundCore.h * H/csoundCore.h: contains everything except compability macros * Top/csound.c: edited to use ENVIRON, #include csoundCore.h instead of cs.h (macros were getting in the way of compiling), still needs to be reconciled with main.c::csoundCompile before being usable 2003-11-25 John ffitch <jpff@codemist.co.uk> * OOps/vbap_zak.c (vbap_zak_moving_init): Fix zastart/zkstart * Opcodes/bowedbar.c (make_DLineN): Envionment as argument * Opcodes/scansynx.c (listget): Added environment as argument and in calls * H/csdl.h (perferror): Point via p->h.insdshead->csound-> and name changes * H/cs.h (GLOBALS_): Added _ to names in many places * Top/dl_opcodes.c (csoundLoadExternals): resetter function needs environment as argument * Top/jpff_glue.c (csoundReset): Added argument of environment 2003-11-22 John ffitch <jpff@codemist.co.uk> * Opcodes/grain.c (ags): Check gcount against 1 rather than 0.1 2003-11-07 John D. Ramsdell <ramsdell@mitre.org> * Top/getstring.c (init_getstring): The default location for the csound.xmg file is passed in by defining XMGDIR to be a directory string. 2003-11-05 John <jpff@codemist.co.uk> * util2/sndinfo/main.c (main): * util2/dnoise.dir/srconv.c (main): * util2/dnoise.dir/dnoise.c (main): Initialise e0dbfs in main as it is now in O structure 2003-11-05 John ffitch <jpff@codemist.co.uk> * Opcodes/ugens6.c: reverb was not declared in opcode table 2003-11-04 John D. Ramsdell <ramsdell@mitre.org> * configure.in: Added AM_INIT_AUTOMAKE, AM_PROG_CC_STDC, and code that adds -Wall when using GCC. 2003-11-02 John D. Ramsdell <ramsdell@mitre.org> * AUTHORS, INSTALL, NEWS: Added empty files to be filled in when we comply with the GNU Coding Standards. 2003-11-1 Steven Y. Yi <stevenyi@csounds.com> * rdorch.c: fixed printf statement in synterr() to use %c instead of %f 2003-10-29 John D. Ramsdell <ramsdell@mitre.org> * csound.spec.in: Added an RPM spec for Csound. 2003-10-16 John ffitch <jpff@codemist.co.uk> * H/csdl.h (getstring): * Engine/oload.c: and initialise * H/cs.h (GLOBALS_): Added auxalloc and getstring 2003-10-14 John ffitch <jpff@codemist.co.uk> * Top/main.c (mainRESET): Cannot call rtclose if no rtaudio 2003-10-13 John D. Ramsdell <ramsdell@mitre.org> * uggab.c (anterpol): Made loop expression unambiguous. * ugens4.c: Int constants changed to unsigned long, as they do not fit as ints. 2003-07-24 John ffitch <jpff@codemist.co.uk> * widgets.cpp (fl_slider_bank): Remove extern decl of zkstart/zklast * H/csdl.h: * H/cs.h: * Engine/oload.c: * Opcodes/ugrw1.c: Moved zkstart/zklast to gloal structure 2003-06-18 John ffitch <jpff@cs.bath.ac.uk> * H/ugens6.h: Added revlpsum and revlpsiz fields * Opcodes/ugens6.c (rvbset): Make reverbinit called internally to reverb to avoiud static array. 2003-06-16 John ffitch <jpff@codemist.co.uk> * dl_opcodes.c (csoundLoadExternals): Added support for RESET function in modules. 2003-06-04 John ffitch <jpff@codemist.co.uk> * wave.c (wavWriteHdr): peakdata.chunkDataSize needs lenlong call 2003-05-20 John ffitch <jpff@codemist.co.uk> * biquad.c (bqrez): Make mode positive integer 2003-05-12 John ffitch <jpff@cs.bath.ac.uk> * Added Copyright/LGPL to all files 2003-05-06 John ffitch <jpff@cs.bath.ac.uk> * entry2.c: schedwhen should have arguments kSkkm (first two were inverted) 2003-04-13 John ffitch <jpff@codemist.co.uk> * vpvoc.c (vpvset): Fixed typo of <- instead of <= 2003-03-12 John <jpff@codemist.co.uk> * diskin.h (struct): inbuf array needs to be longest of SNDINEWBUFSIZ and SNDINEWBUFSIZ_24 2003-03-08 John ffitch <jpff@codemist.co.uk> * modal4.c (agogobel): Need to set amp/freq in performance part as well as init (vibraphn): Amplitude of vibraophone needs setting at perf time. (marimba): ditto * marimba.h: vibraphn.h: Added first field * fgens.c (hfgens): In allocating table numbers do not overwrite any existing table 2003-03-04 John ffitch <jpff@codemist.co.uk> * one_file.c (readOptions): Ignore white space before tags (createScore, createOrchestra, createMIDI, createMIDI2) (createSample, createFile, read_unified_file): 2003-02-27 John ffitch <jpff@cs.bath.ac.uk> * pstream.c (adsyn_frame): The memset should be 64bit 2003-02-19 John ffitch <jpff@codemist.co.uk> * version.h (VERSION): 4.23f02 * sread.c (getpfld): Reconstruct extending of curmem, especially so as to correct the frstbp chain pointers 2003-02-16 John <jpff@codemist.co.uk> * version.h (VERSION): 4.23f01 * sread.c (sread_init): new function to separate include files from sections (sread): Removed resetting of str and the unwinding after section ends * scsort.c (scsort): Call sread-init 2003-02-02 John <jpff@codemist.co.uk> * cs.h: Changed types of xtratim to int and of relesing and actflg to char 2003-01-27 John ffitch <jpff@codemist.co.uk> * dcblockr.c (dcblockrset): Check that filter is stable 2002-12-21 John <jpff@codemist.co.uk> * VERSION 4.23 * biquad.c (bqrez): Replaced to do other cases 2002-12-18 John ffitch <jpff@codemist.co.uk> * widgets.cpp: Windows needs strstrea rather than strstream 2002-12-16 John ffitch <jpff@xenakis.codemist.co.uk> * entry1.c: Added fprints fprintks and prints opcodes * aops.c: * entry2.c: removed "ink" and "outk" * biquad.c (vco): Changed parameter range of pw to 0-1 * midiops2.h (MIDIINBUFMAX): Upped buffer size, and simplified code * insert.c (subinstrset): Code moved so "too many p-fields" initerror call does not result in a crash or other errors. 2002-12-15 John ffitch <jpff@xenakis.codemist.co.uk> * otran.c (otran): Fencepost error in nulling extension of instrtxtp array 2002-12-07 John <jpff@cage.codemist.co.uk> * winsound.rc: Added dither box to Extras (seems to have got lost somewhere) * ugens1.c (adsrset1): Need to test <=0 for length rather than zero (fixes madsr) 2002-12-04 John ffitch <jpff@xenakis.codemist.co.uk> * musmon.c (gettempo): Result should be 60/betsiz rather than betsiz 2002-12-03 John ffitch <jpff@xenakis.codemist.co.uk> * fgens.c (ftgen): Allow negative fcodes in string case (1,23,28) * insert.c (insert_event): insert here * schedule.c: Removed insert_event * midiops2.c (midiin): Replaced (initc7,initc14,initc21): Check that channel exists * namedins.c (strsav_create, strsav_string, strsav_destroy): New code * linevent.c (sensLine): Check that there is a Linefd (event_set): revised to fix some bugs, including crashes that occur when real-time audio, or schedule opcodes are used 2002-11-30 John <jpff@codemist.co.uk> * biquad.c (bqrezset, bqrez): New filter 2002-11-24 John ffitch <jpff@codemist.co.uk> * insert.c (deact): revised (beatexpire, timexpire): use revised deact (subinstrset, subinstr, xinset, xoutset) rewritten * insert.h: structure OPCOD_IOBUFS * cs.h: New structure INSTRNAME (Istvan) * rtlinux.c: replaced dspfd with dspfd_in and dspfd_out in various places. This might allow full-duplex operation on some cards (Istvan) * cs.h (rtin_dev, rtout_dev): define * oload.c: Initialise rtin_dev and rtout_dev 2002-11-21 John ffitch <jpff@codemist.co.uk> * oscbnk.c (vco2init): replaced to fix bugs in setting default parameters * express.c: Use printf rather than putstrg * otran.c: Removed putstrg from here as not used * mididevice.c: new code from Istvan for real-time MIDI input under Win32 * rtalsa.c: New code from Istvan 2002-11-16 John <jpff@xenakis> * util2/mixer/xtrct.c (ExtractSound): removed incorrect declaration of samples which stopped extraction except from start (main): Called init-getstring 2002-11-14 John ffitch <jpff@cage> * modal4.c (agogobelset1): * midiout.c (kvar_out_on_set1): removed deprecated code * argdecode.c (usage): Corrected typo in message 425 2002-11-13 John ffitch <jpff@xenakis> * flanger.c (wguide2set): Should have checked arg1 and looked at arg2 * vdelay.c: * ugsc.c: * ugmoss.c: * ugens7.c: * ugens4.c: * ugens3.c: * sndwarp.c: * pitch.c: * oscils.c: * oscbnk.c * grain.c: * flanger.c: * biquad.c: Use macros all over * cs.h (XINARG1, XINARG2, XINARG3, XINARG4): New macros to look at x flags for first 4 arguments (so we can straighten this out) 2002-11-06 John <jpff@codemist.co.uk> * jpff_glue.c: Only declare/use playopen_ etc if RTAUDIO is defined 2002-11-04 John ffitch <jpff@cage> * sdif2adsyn.c (main): Minor changes to variables and initialisation 2002-11-02 John ffitch <jpff@cage> * soundin.c (soundin): Code changed system address, so need a local array for r. 2002-10-30 John ffitch <jpff@xenakis> * lowpassr.c (lowprx): Use k field, fixing bug (lowpr_setx): Initialise k and also okr/okf which were not (lowpr, lowpr_set): Same * lowpassr.h: Added k as field to LOWPRX and LOWPR * fgens.c (gen08): Minor fixes to stop compiler warnings (gen01raw): return after error (gen18): ditto * midirecv.c (m_chanmsg): Deal with case when msb=1 and lsb is not known 2002-10-28 John <jpff@cage> * fgens.c (gen01raw, gen01): Same * oscbnk.c (oscbnk_flen_setup): Moved function so will compile on 68000 * sfont.c (SfPlay_set, SfPlayMono_set, SfInstrPlay_set) (SfInstrPlayMono_set): use ioffset and other minor changes * sfont.h: * entry1.c: Added additional option arg to sfont opcodes * sfont.c (SfPlay_set): Changes from Steven Yi to bring in line with SfPlayMono 2002-10-28 John ffitch <jpff@xenakis> * fgens.c (ftRESET): fence post error in freeing flist * cwin.cpp (cwin_exit): Call csoundReset * main.c (mainRESET): Changed order of resets * memalloc.c (all_free): Reset apsize as well 2002-10-20 John <jpff@cage> * control.c (readvalues): removed \n from the read from the Tcl/Tk process 2002-10-15 John ffitch <jpff@cage> * VERSION 4.22 * soundio.c (floatran_noscl): New code (floatrecv_noscl): ditto (iotranset): Use it (iotranset): twice 2002-10-14 John ffitch <jpff@xenakis> * uggab.c (resony): Use the local buffer so as not to overwrite (rsnsety): Initialise buffer * uggab.h: Added buffer field to RESONY 2002-10-14 John ffitch <jpff@xenakis> * ugens5.c (areson): Ensure areson can use same answer variable as input 2002-10-13 John <jpff@codemist.co.uk> * swrite.c (swrite): * sort.c (sort): * sread.c (sread, getop): * musmon.c (playevents): Add q score event * entry2.c: Added mute opcode * pitch.c (mute_inst): New function * pitch.h: Added MUTE structure * otran.c (tranRESET): Free instrumentName structure * cs.h: Added muted field to INSTRTXT which is a short and aids padding! (GLOBALS_): Added instrumentName to globals 2002-10-12 John <jpff@codemist.co.uk> * insert.c (insert): Added code to pad parameters with zero if too few provided. 2002-10-09 John <jpff@codemist.co.uk> * uggab.c (posckk, poscaa, poscka, poscak): replace poscil * entry1.c: Added poscil as _kk, _ka, _ak, _aa opcode * fgens.c (fgens): Allow non power-of-two table sizes (negative lenth) (gen10): use rem rather than mask so allows non-power-of-two * memalloc.c (all_free): call rlsmemfiles * diskin.c (newsndinset): Set length right at beginnin (sreadinew): Add WAV to list of types with known header info 2002-10-08 John ffitch <jpff@codemist.co.uk> * wave.c (wavReWriteHdr): * soundio.c (sfopenout): * sndinfo.c (sndinfo): * diskin.c (newsndinset, soundinew): * aiff.c (is_aiff_formtype): * aifc.c (aifcReWriteHdr): Changed non-ANSI tell to call to lseek for completeness (aifcReadHeader): Ditto (is_aifc_formtype): Ditto (aifcReWriteHdr): Use SEEK_SET instead of 0 which could be wrong * FL_graph.cpp: and the rest of the winFLTK support. May merge later. * winFLTK.c: New code to replace winX11.c using FLTK rather than raw X 2002-10-07 John ffitch <jpff@codemist.co.uk> * memalloc.c (all_free): and here * memfiles.c (rlsmemfiles): Add nulling of memfiles for reentrance * oscbnk.c: many changes in vco2 (and related) code (Istvan) * oscbnk.h: similarly to oscbnk.c, all vco2 stuff was replaced by new version * entry2.c: replaced entry for "vco2init" 2002-10-06 John <jpff@codemist.co.uk> * soundin.c (sndinset): Patch from RWD to reopen input; still looks wrong 2002-10-03 John <jpff@codemist.co.uk> * rtcoreaudio.c: * mw_menu.c: * midirecv.c: * cscore_main.c: Improved deprecated declarations 2002-09-28 John <jpff@codemist.co.uk> * insert.h: Added 8 to args in XOUT (Istvan) * fgens.c (ftRESET): call vco2_tables_destroy() * oscbnk.c: added vco2 and related opcodes (Istvan) * oscbnk.h: New structures for vco2 (Istvan) * diskin.c (newsndinset): Fix related to skip time going beyond file end * ugmoss.c (vcomb): Changes from Pete Moss (valpass): Ditto 2002-09-26 John <jpff@codemist.co.uk> * butter.c (butter_filter): Deal with underflow on pentiums which gets seriously lost (RWD's idea) 2002-09-25 John <jpff@codemist.co.uk> * uggab.c (loopseg): Wrap segments (lpshold): Ditto and other fixes 2002-09-22 Istvan Varga <jpff@codemist.co.uk> * linevent.c: Added global_kcounter instead of kcounter 2002-09-21 John ffitch <jpff@codemist.co.uk> * cs.h (GLOBALS_): Added global forms of ksmps etc * oload.c: Added initialisation * insert.h: New typedef INSTRNAME, OPCOD_IOBUFS, UOPCODE, XIN, XOUT, SETKSMPS * jpff_glue.c (csoundMessageS): New function like csoundMessageV but to stdout * main.c (install_signal_handler): Leave SIGALRM alone if FLTK in use (dribble_printf): Make it dribble, and use csoundMessageS to use stdout 2002-09-21 Istvan Varga <jpff@codemist.co.uk> * cs.h (OPCODE, ENDOP): Added these and renumber * disprep.c (printv): print (int) p1 instead of insno (works better with user defined opcodes) * entry2.c: Added oscilikt, osciliktp and oscilikts * jpff_glue.c (MakeXYin): Arguments should be MYFLT * oscbnk.h: Added OSCKT and OSCKTP structures * oscbnk.c: various optimisations in oscbnk, grain2, and grain3 minor bug fix in oscbnk new opcodes oscilikt, oscilikts, and osciliktp bug fix in error checking code of all oscilikt opcodes 2002-09-20 John ffitch <jpff@codemist.co.uk> * soundin.c (soundin): Generalise to <24 channels * soundio.h: Change r1 to r[0] etc in SOUNDIN 2002-09-18 John ffitch <jpff@codemist.co.uk> * fgens.c (ftRESET): Free table space as well * rdorch.c (splitline): Generation of temporary labels was wrong in then/else 2002-09-17 John ffitch <jpff@codemist.co.uk> * musmon.c (cleanup): Only close scfp if not already closed * express.c (express): Need to treat a(k) as a special case as well as i(k) 2002-09-16 John ffitch <jpff@codemist.co.uk> * cwin.cpp (CArg::OnOrchestra): Promote use of unified files 2002-09-08 John <jpff@codemist.co.uk> * express.c (express): Silly error of && replaced by || in precedence of | and # * ugmoss.c: Rounded conversions in and/or/xor/not 2002-08-30 John <jpff@codemist.co.uk> * cwin.cpp (Run): Set O and cglob from O_ and cglob_ * soundio.c: recopen and playopen changed to use float rather than MYFLT (sfopenin): Cast sr to (float) in call of recopen (sfopenout): and in recplay 2002-08-25 John <jpff@codemist.co.uk> * soundin.c (soundin): Use an array for outputs rather than case statement. Generalises but possibly slower 2002-08-24 John <jpff@codemist.co.uk> * pvsanal.c (pvsynthset): Check size of buffers as well as existence (pvsanalset): Ditto 2002-08-21 John ffitch <jpff@codemist.co.uk> * VERSION 4.21 * cmath.c (ipow): Added normalisation and check for NaN (kpow): Check (apow): Check more complex here 2002-08-20 John ffitch <jpff@codemist.co.uk> * fgens.c: Code for ftload, ftloadk, ftsave and ftsavek * entry2.c: Added ftload and ftsave 2002-07-21 John <jpff@codemist.co.uk> * aops.c: added ink, outk, invalue, and outvalue opcodes * rdorch.c: added 'z' output type 2002-07-18 John <jpff@codemist.co.uk> * Incorporated the API code which meant minor changes in ustub.h, winX11.c, oload.c, one_file.c, cs.h, cwindow.h, rt*.c, and other places. main.c in all anal directory modified. 2002-07-18 John ffitch <jpff@xenakis.codemist.co.uk> * rdorch.c: * otran.c: * insert.c (ingoto, kngoto, subinstrset,subinstr): New code from matt * insert.h (SUBINSR): new structure * soundio.c (longtran): fixed RWD bug that could result in overflows in some cases with positive out of range samples) * cs.h: removed definitions of "dv32768" variable that is no longer needed * cvanal.c (takeFFT): * hrtferX.c (hrtferxk): * grain4.c (grand, grainsetv4): bug in random code with incorrect scaling * oload.c (oload): removed code related to dv32768 * pvanal.c (takeFFTs): * ugens3.c (adsyn): use dbfs_to_float instead of dv32768 * ugens4.c: removed declaration of short_to_dbfs as it is not needed(Istvan) (plukset, krand, arand, rhset, randh, riset, randi): fixed a large number of RWD bugs, all related to 0dbfs scaling of 16 bit random numbers (completely wrong); replaced all occurrences of dv32768 with DV32768, and removed all DBFS code 2002-07-14 John <jpff@xenakis.codemist.co.uk> * midiops.c (mctlset, maftset): fixed bugs in initialisation code (Istvan) 2002-07-13 John <jpff@cage.codemist.co.uk> * soundin.c (dbfs_init): printing to stderr so as not to confuse -o stdout 2002-07-12 John <jpff@cage.codemist.co.uk> * musmon.c: Printing of amplitudes done with new function print_maxamp including colour printing.. (Istvan) * ugens2.c (tabli): Fixed bug in no-wrap case (tabl3): Ditto * ugensa.c (newpulse, fogset): Ditto * ugens7.c (newpulse): Newpulse only if not iskip (fofset0): Skip lots of initialisation if iskip * ugensa.h (struct): * ugens7.h: Added iskip argument to FOFS and FOGS * pvoc.c: * midisend.c: * main.c (set_rt_priority): * dpwelib.h: FreeBSD case * aops.c (rtclock): Include <unistd.h> in Linux case * LINUXaudio.c (setsndparms): FreeBSD code 2002-07-10 John <jpff@cage.codemist.co.uk> * oload.c (oload): Fencepost error in when to enlarge strsets vector * anal/convol/makef: * anal/convol/main.c: New files * anal/makef (cvl): Include compilation of cvanal stand-alone 2002-07-09 John <jpff@cage.codemist.co.uk> * soundio.c (audwrt4): #ifdef'ed out as not used 2002-07-04 John ffitch <jpff@xenakis.codemist.co.uk> * sread.c (sget1): Make failure to include an include file into a hard error using scorerr * rdorch.c (rdorchfile, rdorchfile): Allow {{ }} long strings (splitline): * sread.c (getscochar): Trap $ without a name (thanks to Maurizio) * ugens5.c: Make lprdadr flexible rather than 20 long (lpcRESET, lprdset, lpslotset, lpitpset): 2002-07-03 John <jpff@cage.codemist.co.uk> * ugens6.c (a_k_set): New function 2002-07-02 John <jpff@cage.codemist.co.uk> * dl_opcodes.c (csoundLoadAllOpcodes): Early exit if no libraries to load 2002-06-29 John <jpff@cage.codemist.co.uk> * util2/envext/envext.c (main): * util2/mixer/extract.c (main): * util2/mixer/xtrct.c (main): * util2/mixer/mixer.c (main): * util2/scale.dir/scale.c (main): * util2/dnoise.dir/dnoise.c (main): * util2/dnoise.dir/srconv.c (main): Initialise dbfs stuff 2002-06-28 John <jpff@cage.codemist.co.uk> * windin.c (xyinset): * wave-terrain.c (scanhinit, scantinit): * ugsc.c (resonzset): * ugrw2.c (krsnset): Return after initerror * ugrw1.c (zir): initerror->warning * uggab.c (rsnsety): * ugens5.c (rsnset, rsnsetx): * ugens1.c (evxset): * spectra.c (spdspset, spfilset): * schedule.c (lfoset): * scansynx.c (scsnux_init, scsnux_init, scsnsx_init): * scansyn.c (scsnu_init, scsns_init): * pitch.c (pinkset): * midiops.c (cpstmid, chctlset): * midiops2.c (midic7set): Return after initerror * follow.c (flwset): initerror replaced by warning as it can carry on here * disprep.c (fftset): Return after initerror 2002-06-27 John <jpff@codemist.co.uk> * dumpf.c (kdmpset, kdmp2set, kdmp3set, kdmp4set, krdset) (krd2set, krd3set, krd4set): Return after initerror 2002-06-24 John <jpff@cs.bath.ac.uk> * entry1.c: Changes arguments of vco to "xxikppovo" 2002-06-22 John <jpff@cage.codemist.co.uk> * ustub.h (perferror): Added dummy definition * vpvoc.c (ktableseg, ktablexseg, voscili): * vdelay.c (vdelay, vdelay3, vdelayxw, vdelayxs, vdelayxws) (vdelayxq, vdelayxwq): * ugmoss.c (vcomb, valpass): * uggab.c (vibrato, vibr): * ugens9.c (convolve): * ugens8.c (pvoc): * ugens7.c (fof): * ugens6.c (delay, delayr, delayw, deltap, deltapi, deltapn) (deltap3, deltapx, deltapxw, comb, alpass, reverb, pan): * ugens4.c (buzz, gbuzz, pluck): * ugens3.c (foscil, foscili, adsyn): * ugens2.c (ktable, tablefn, ktabli, ktabl3, tabli, tabl3, kosc1) (kosc1i, osciln, koscil, osckk, oscka, oscak, oscaa, koscli) (osckki, osckai, oscaki, oscaai, koscl3, osckk3, oscka3, oscak3) (oscaa3): * spectra.c (noctdft, specdisp, specptrk, specsum, specaddm) (specdiff, specscal, spechist, specfilt): * spat3s.c (spat3d, spat3di): * spat3d.c (spat3d, spat3di): * space.c (space, spdist): * soundin.c (soundin): * sndwarp.c (sndwarp, sndwarpst): * pvinterp.c (pvbufread, pvinterp, pvcross): * pvadd.c (pvadd): * pitch.c (pitch, adsynt, hsboscil, pitchamdf, kphsorbnk) (phsorbnk, Fosckk, Foscak, Foscka, Foscaa, trnseg): * oscils.c (tablexkt): * oscbnk.c (oscbnk, grain2, grain3, rnd31k, rnd31a): * nlfilt.c (nlfilt): * hrtferX.c (hrtferxk): * grain.c (ags): * grain4.c (graingenv4): * disprep.c (kdsplay, kdspfft, tempest): * biquad.c (vco): initerror->perferror (nestedap): Ditto 2002-06-20 John ffitch <jpff@xenakis.codemist.co.uk> * ugens1.c (linseg, kxpseg, expseg, knvlpx, envlpx): Should use perferror rather than initerror, and return 2002-06-17 John <jpff@cage.codemist.co.uk> * Removed tabs and trailing spaces throughout (again) 2002-06-15 John <jpff@cage.codemist.co.uk> * csdl.h: New file to be used in dynamic libraries * dl_opcodes.c (csoundLoadAllOpcodes): New code for Linux to load dynamic libraries. * main.c (create_opcodlst): Call csoundLoadAllOpcodes in any case * argdecode.c (decode_long): make static, and add opcode-lib= option 2002-06-13 <jpff@cs.bath.ac.uk> * scansynx.c (scsnsmapx): New code 2002-06-10 John <jpff@cage.codemist.co.uk> * oload.c: Initialisation of tran_0dbfs was in wrong place * window.c: Initialise exitFn to NULL (dispexit): More checking -- to deal with case when no exitFn * one_file.c (deleteOrch): make global * main.c (remove_plname): make global (was static) (remove_scnam): ditto * entry2.c: Initialisation method for linevent 2002-06-01 John <jpff@cage.codemist.co.uk> * VERSION 4.20 * midiops.c (pchmidib): Same for pitchbend_value expansion * linevent.c (RTLineset): Local copy of Linepine to avoid OSX compiler bug * rdscor.c (flushline): Get local copy of scfp as mac OSX compiler has a bug in getc/macro expansion (scanflt): Ditto (dumpline): Ditto (rdscor): Ditto * wave.c (write_wavpeak): different scale if 0DBFS * vpvoc.c (vpvset): different scale if 0DBFS * ugens8.c (pvset): different scale if 0DBFS * ugens4.c: (arand, krandh, randh, krandi, randi): different scale if 0DBFS * ugens3.c (adsyn, adsyn): different scale if 0DBFS * soundio.c: (shortran, longtran, floatran, int24ptran, shortrecv, longrecv) (floatrecv): different scale if 0DBFS * soundin.c: (getsndin, soundin): different scale if 0DBFS * rdorch.c (argtyp, argtyp): different scale if 0DBFS * pvxanal.c (chan_split): different scale if 0DBFS * pvinterp.c (pvinterpset, pvcrossset): different scale if 0DBFS * pvanal.c (pvanal): different scale if 0DBFS * pstream.c (pvx_loadfile): different scale if 0DBFS * pitch.c: different scale if 0DBFS * otran.c (tranRESET, otran, plgndx): different scale if 0DBFS * oload.c: (oloadRESET, oload): different scale if 0DBFS * main.c: (MAIN): different scale if 0DBFS * lpanal.c (lpanal): different scale if 0DBFS * hrtferX.c (hrtferxk): different scale if 0DBFS * hetro.c (hetro, writesdif): different scale if 0DBFS * grain4.c (grainsetv4, grand): different scale if 0DBFS * diskin.c: (sreadinew, sndwrt1, sndwrtu) (sndwrt2rev, sndwrt2, sndwrt3, sndwrt3rev, sndwrt4rev, sndwrt4): different scale if 0DBFS * cvanal.c (takeFFT): different scale if 0DBFS * aops.c (dbfsamp): different scale if 0DBFS (ampdbfs, aampdbfs): * aiff.c (write_aiffpeak): scale peak chunk * physutil.h: dbfs_to_float * cs.h: Declare e0dbfs, dbfs_to_float tran_0dbfs in cglob 2002-05-30 John <jpff@cage.codemist.co.uk> * linevent.c: Changes from matt * opcode.h: new file * opcode.c: Internal reorganisation from matt * entry2.c: New opcodes midinoteoff, midinoteonkey, midinoteoncps, midinoteonoct, midinoteonpch, midipolyaftertouch, midicontrolchange, midiprogramchange, midichannelaftertouch, midipitchbend, mididefault * midiinterop.c: * midiinterop.h: New code, from Michael Gogins with some changes 2002-05-21 John <jpff@cage.codemist.co.uk> * midirecv.c (m_chanmsg): reset aftertouch (m_chanmsg): Use mapping array (FMidiOpen): Additional check for null channel * midiops.c (midichn, pgmassign): New code * entry2.c: new opcodes midichn, pgmassign, scantable, scanhammer * wave-terrain.c (scanhinit): New code (scantinit, scantPerf): Also new code 2002-05-21 John ffitch <jpff@xenakis.codemist.co.uk> * filopen.c (catpath): use characters rather than strings * pvfileio.c (pvoc_openfile): added search of SADIR if not a full path and not in current directory 2002-05-17 John ffitch <jpff@xensakis.codemist.co.uk> * oscils.c (tablexkt): Function corrected in cubic interpolation case, and strings updated * midirecv.c (m_chinsno): Missing argument in printf added (FMidiOpen): Allow Format 1 with single track 2002-05-15 John ffitch <jpff@cage.codemist.co.uk> * clfilt.c: New version with more cases 2002-05-05 John <jpff@codemist.co.uk> * physmod.c (clarinset): p->v_time should be initialised (clarinset): amp is not know at init time so do it all on first cycle 2002-04-30 John <jpff@codemist.co.uk> * entry2.c: Added clfilt opcode * fft.c (fftRESET): New function to clear lroot * disprep.c (disprepRESET): New function to clear fftcoefs 2002-04-28 John <jpff@codemist.co.uk> * entry2.c: Added xscanmap opcode * scansynx.h (struct PSCSNMAPX): New struct * scansynx.c (scsnmapx_init, scsnmapx): New code for xscanmap (scsnux_hammer): Add XALL and correct code 2002-04-27 John <jpff@codemist.co.uk> * argdecode.c (argdecodeRESET): New function to reset static stdinassgn * main.c (mainRESET): Added argdecodeRESET * fgens.c (gen30): Replaced with new version from Istvan 2002-04-21 John <jpff@codemist.co.uk> * sndinfUG.c (filepeak): Ensure channel is properly rounded * pvfileio.c (pvoc_getframes): Add setting of rc to nframes in bytereverse case * midiout.c (release_set): No need to check MIDIoutDone * main.c (MAIN): Check for null scorename or empty string * dnoise.c (dnoise): various changes to mill_macintosh stuff * argdecode.c: Message 1704 was wrong in source * aifc.c: * aiff.h: Change name of ApplicationSpecificChunk to AIFFAppSpecificChunk (avoiding mac problems 2002-04-17 John ffitch <jpff@codemist.co.uk> * otran.c (insprep): Assignment to ngotos was unnecessary 2002-04-04 John <jpff@codemist.co.uk> * diskin.c (sndwrtf): 32/64 float problem fixed (Istvan) (sndwrtfrev): Ditto 2002-04-01 John <jpff@codemist.co.uk> * pitch.c (Fosckk, Foscak, Foscka, Foscaa): New experimental code for oscil without power-of-two 2002-03-31 John <jpff@codemist.co.uk> * everywhere: glob -> cglob as it clashes on MacOSX 2002-03-29 John <jpff@codemist.co.uk> * sread.c (sget1): Must not call flushlin after #include 2002-03-28 John <jpff@codemist.co.uk> * VERSION 4.19 * midirecv.c (m_chanmsg): Removed code relating to non-functioning sysex 2002-03-26 John <jpff@codemist.co.uk> * soundin.c (getsndin): Various incorrect MYFLT changed to float (getsndin): twice 2002-03-24 John <jpff@codemist.co.uk> * biquad.c (vcoset): Changes from Hans (vco): * vbap_sixteen.c (vbap_SIXTEEN): removed references to p->counter as never given a value * vbap_four.c (vbap_FOUR_moving): Correct typo 2002-03-23 John <jpff@codemist.co.uk> * oscbnk.c (grain2): Whole function replaced (istvan) 2002-03-19 John <jpff@codemist.co.uk> * fgens.c (gen33,gen34): New gens 2002-03-18 John <jpff@codemist.co.uk> * entry2.c: Make second argument of vcomb and valpass an x-rate * fgens.c: Interpolation in gen18 * ugmoss.c: Revised code from pete moss 2002-03-13 John <jpff@codemist.co.uk> * entry2.c: Added terrain opcode * wave-terrain.h: * wave-terrain.c: New file 2002-03-12 John <jpff@codemist.co.uk> * midiops2.c (midic7): * insert.c (turnoff): rename curip to lcurip to avoid macro problems * cmath.c: holdrand moved to glob structure * ugens3.c: All over loscal -> LOSCAL * cs.h (LOSCAL): Defined as a constant 2002-03-11 John <jpff@codemist.co.uk> * argdecode.c (longusage): New function (decode_long): Complete all options 2002-03-10 John <jpff@codemist.co.uk> * pitch.c (isense): Now works in unix case * vbap_zak.c (vbap_zak_moving, vbap_zak): Off by one? (vbap_zak_init): Initialisation of gains vectors was wrong * vbap_eight.c (vbap_EIGHT_init): Change malloc to auxalloc, and adjust structure. Also use 'natural' output addresses (vbap_EIGHT_moving_init): Ditto * Ditto for vbap_four and vbap_sixteen 2002-03-09 John <jpff@codemist.co.uk> * cs.h: Define GLOBALS (onept, log10d20): made macros * main.c: Deploy a globals structure 2002-02-26 John ffitch <jpff@weir> * rdorch.c (getoptxt): Another fix in z,y,Z type arguments which affected event opcode (matt) * musmon.c (musmon): Correct editing error in ~MacClassic case 2002-02-21 John ffitch <jpff@cs.bath.ac.uk> * sfont.c (fill_SfPointers): Add a skip for unknown chunks 2002-02-19 John <jpff@codemist.co.uk> * argdecode.c (argdecode): Changed -- to -O and started to add --long options 2002-02-17 John <jpff@codemist.co.uk> * sread.c (getscochar, sread): Adjust str if inputs changes * argdecode.c (argdecode): ignore --sched option * main.c (set_rt_priority): New code for Linux scheduling (Istvan) 2002-02-16 John <jpff@codemist.co.uk> * rdorch.c (getoptxt): Allow name translation on answerless opcodes * musmon.c (musmon): * main.c (MAIN): Added BETA message if appropriate * rdorch.c (getoptxt): Allow more x-rate arguments (why not?) * soundio.c (sfopenout): Typo in->out in PIPE code, and added modification of AIFC type to IRCAM 2002-02-15 John <jpff@codemist.co.uk> * fgens.c (gen12): Change name from gen22 at Gabriel's request * ugens4.c (pluck): Wrong error message (X_1478->X_1480) * sfheader.c (readheader): Clear the hdr structure before use * cwin.cpp (cwin_exit): Call _exit rather than exit * musmon.c (musmon): Change to setting of O.inbufsamps, now from O.oMaxLag 2002-02-14 John <jpff@codemist.co.uk> * VERSION 4.18 * cwin.cpp (OnMIDI): Added dialog and new class to deal with MIDI Not yet complete * ugmoss.c (dconv): i was not initialised * rdorch.c (splitline): C-comment fails if */ is at beginning of a line 2002-02-13 John <jpff@codemist.co.uk> * rtwin32.c: Fixes from RWD to separate in and out devices * rdorch.c (rdorchfile): * sread.c (sread): Changes so nesting of #include is unlimited 2002-02-12 John <jpff@codemist.co.uk> * pvdlg.cpp (DoDataExchange): Remove incorrect frame-size test * ugens4.c (riset): Typo (p->rand<1) should be (p->rand<<1) (riset): Also an else missing (riset): Rewrite clock/old initialisation 2002-01-31 <jpff@codemist.co.uk> * sfont.c (ChangeByteOrder): reverse bytes in MACOSX, and a number of bugs fixed in this one function * entry2.c: Added oscils, lphasor, tablexkt opcodes * oscils.c, oscils.h: new files 2002-01-30 <jpff@codemist.co.uk> * oscbnk.c: small changes all over * oscbnk.h: Some fields removed * spat3d.c (spat3d_init_wall): Revisions from Istvan (spat3d_wall_perf): and many others * spat3d.h: New fields 2002-01-26 <jpff@codemist.co.uk> * cs.h (PMAX): Increased to 1000, which will waste some space..... * oload.h (GVBAS): Redefine as VBAS + PMAX as in comment * fgens.c (FTPMAX): Increased to 150 * insert.c (orcompact): Call doadr if exixts * cscrorfns.c, express.c, fgens.c, insert.c, main.c, memalloc.c, musmon.c, oload.c, otran.c, rdorch.c, soundin.c, ugens3.c, ugens5.c, ugrw1.c: Made RESET code into mainstream * sfont.c (SoundFontLoad): Arcane bug fix in threaded activity * window.c (dispkill): Protect against no kill fn * getstring.c (init_getstring): SSOUND fix * argdecode.c (usage): In reentrant case do not die * musmon.c (musmon): External MIDI again Make kcnt externally visible * midirecv.c (csoundDefaultMidiOpen): New code for SSOUND (sensMidi): Allow user-defined MIDI input in SSOUND * memalloc.c (mfree): Check is all is NULL first (Michael) * main.c: Main main into MAIN and define macros for it to simplify going around * filopen.c (die): IN SSOUND case throw message * fgens.c (ftRESET): Revised for SSOUND (Michael) (gen22): Renamed from gen18 as that was misleading! * cscorfns.c (cscoreRESET): Fixes from Michael Gogins * cs.h: Added deinit field to OPDS and OENTRY 2002-01-22 <jpff@codemist.co.uk> * filopen.c: undef tell macro before using <unix.h> on mac * sndinfUG.c (filelen): Use aydsize field of p (getsndinfo): and set this field (getsndinfo): New code to look at -i file on command line * sndinfUG.h (struct): Added audsize to structures * sysdep.h (SYS5): Define in macintosh case * soundio.c (iotranset): Added check for rtplay in AE_FLOAT case * main.c (main): mill_macintosh -> mac_classic * linevent.c (RTLineset): mac_classic case needs setvbuf call (RTclose): similar * cs.h (POLL_EVENTS): Corrected mac optional stuff 2002-01-20 <jpff@codemist.co.uk> * sread.c (operate): Added bitwise operations (getscochar): Added bit operations to [], possibly wrong precedence? * gets.r: Added new strings and corrections * rdorch.c (getoptxt): Decoding or y z and Z arguments changed (intyperr): Additional argument for expected type 2002-01-13 <jpff@codemist.co.uk> * ugmoss.c (not_k, not_a): New code * fgens.c (hfgens): (fgens): Remove message about increasing number of tables * scansynx.c (scsnux_init): Add range check 2002-01-11 <jpff@codemist.co.uk> * ugens6.c (cmbset): Initialise p->coef to zero 2002-01-08 <jpff@codemist.co.uk> * entry2.c: Added opcode vcomb, valpass and ftmorf * ugmoss.h: New structures for new code * ugmoss.c (dconv): Code revised and optimised (Pete) (and_kk, and_kk, and_aa, and_ak, and_ka, or_kk, or_aa, or_ak) (or_ka, xor_kk, xor_aa, xor_ak, xor_ka): New functions for bit arithmetic (vcombset, vcomb, valpass, ftmorfset, ftmorf): New code * fgens.c (gen18): New GEN from Pete Moss 2002-01-06 <jpff@codemist.co.uk> * VERSION 4.17 * fgens.c (ftRESET): clear ftevt as well (ftgen): Allow gens 23 and 28 in ftgen opcode with strings * util2/mixer/extract.c (main): * util2/mixer/xtrct.c (main): * util2/mixer/mixer.c (main): * sysdep.h: * dpwelib.h: * pvoc.c: * pvanal.c (pvanal): * musmon.c (musmon): * main.c (main): * lpanal.c: * linevent.c: * filopen.c (isfullpath): * dsputil.c: * midirecv.c: Removed ZPC options 2002-01-05 <jpff@codemist.co.uk> * rdorch.c (getoptxt): Gabriel's (?) typo corrected * aops.c (ftchnls): added code for same * entry1.c: added opcode ftchnls 2002-01-01 <jpff@codemist.co.uk> * aops.c (cpsoctinit): * fgens.c (gen11): * physmod.c (BowTabl_lookup): * ugens7.c (newpulse): * ugensa.c (newpulse): * ugsc.c (phaser2): Use intpow function * ugens4.c (buzz): Minor optimisation (gbuzz): also minor optimisations (gbuzz): Use version of pow for integers, as should be faster 2001-12-31 <jpff@codemist.co.uk> * insert.c (infoff): Revised code from Gabriel for delaying off event during release * fgens.c (gen32): New gen (Istvan) 2001-12-27 <jpff@codemist.co.uk> * schedule.c (ktriginstr): From re to make initialisation in score order 2001-12-25 <jpff@codemist.co.uk> * scansyn.c: pinterp was plain wrong 2001-12-22 <jpff@codemist.co.uk> * entry2.c: Added k-rate active opcode * scansyn.c (scsnu_init): Space was wrong size in PHASE_INTERP != 3 case. * entry2.c: Added event opcode (is it needed?) * linevent.c (eventOpcode): New code from matt * musmon.c (playevents): Revised code from rasmus 2001-12-21 <jpff@codemist.co.uk> * musmon.c (playevents): Fixed another memory leak (re) (playevents): and reorganisation (sensevents): Same fixes 2001-12-19 <jpff@codemist.co.uk> * entry1.c: parsing of tablew was wrong in that it failed to check k- and a-rate versions. Same for tablewkt * main.c: Include <string.h> * scansyn.c (listadd): The list of instances was not used properly. 2001-12-16 <jpff@codemist.co.uk> * spat3d.c (spat3di): Check for depth should be against maxdep not mindep * otran.c (otran): Reworked default sr/kr/ksmps code * oload.c: Initialise esr etc from trans_sr etc so defaults work 2001-12-14 <jpff@codemist.co.uk> * pvanal.c (pvanal): * lpanal.c (lpanal): * hetro.c (filedump, writesdif): * fout.c (outfile_set, koutfile_set, fiopen, kinfile_set) (i_infile): * sfont.c (SoundFontLoad): Removed code which changed access options for sfont files and others as it seems totally wrong to me. 2001-12-12 <jpff@codemist.co.uk> * musmon.c (sensevents): Free memory in schedule case (playevents): Ditto 2001-12-11 <jpff@codemist.co.uk> * sfont.c (SoundFontLoad): In access stuff after looking in SSDIR and SFDIR the check should be on pathnam. Still not sure why it does this! 2001-12-09 <jpff@codemist.co.uk> * VERSION 4.16 2001-12-08 <jpff@codemist.co.uk> * main.c (signal_to_string): Not for OSX 2001-12-07 <jpff@codemist.co.uk> * fgens.c (besseli): #define out * pvxanal.c (besseli): use this version 2001-12-06 <jpff@cs.bath.ac.uk> * musmon.c (fillbuffer): Fix to allow scheduled events (matt) 2001-12-05 <jpff@codemist.co.uk> * fgens.c (besseli): Do all calculation in doubles as the MYFLTs were a delusion. * pvxanal.c (pvxanal): Check for all versions of .pvx wrt case * ugens1.c (klnseg): Rewrite to avoid rounding error, but at a cost 2001-12-04 <jpff@cs.bath.ac.uk> * cwin.cpp (cwin_args): Remove zapping of O.outformat * ugens8.c: corrected reading of pvocex files for multiple notes (RWD) * soundio.c: Added floating noscasler and better checking 2001-12-01 <jpff@codemist.co.uk> * sread.c (sread): Added x to score language * ugens1.c (xdsrset): Make last segment very long * pvlook.c (pvlook): Added calls to POLL_EVENTS * vpvoc.c (vpvoc): initerror should be perferror * ugrw1.c (zkr): Call warning rather than perferror * uggab.c (trig): * ugensa.c (fog): * ugens7.c (fof): return needed after perferror * ugens5.c (lpread): initerror should be perferror (lpinterpol): initerror should be perferror (lpread): return needed after perferror * singwave.c (make_Modulatr, make_SingWave): Returns after perferror and also make make_Modulatr return a 1 if it failed * ugens4.c (pluck): * ugens1.c (knvlpx): * pitch.c (macset): * physmod.c (clarinset, fluteset, bowedset, brassset): * modal4.c (make_Modal4, marimbaset, vibraphnset, agogobelset): * mandolin.c (mandolinset): return needed after perferror * fm4op.c (make_FM4Op, FM4Op_loadWaves, tubebellset, rhodeset) (wurleyset, heavymetset, b3set, FMVoiceset, percfluteset): Returns after perferror and also make FM4Op_loadWaves return a 1 if it failed. * aops.c (cpstun_i, cpstun, inz): return needed after perferror * ugens1.c (adsrset1): Change test for empty segment to <= 0 from < 2001-11-21 <jpff@codemist.co.uk> * winEPS.c: Minor fix for Irix6.5 * musmon.c: Reorganisation from matt to allow external calling 2001-11-20 <jpff@codemist.co.uk> * soundio.c: Arg to open should not have b option 2001-11-19 <jpff@codemist.co.uk> * fgens.c: New gens 30 and 31 (Istvan) * soundin.c (sndgetset): Count was off-by-one in skipping * cvanal.c (takeFFT): Do not normalise raw or IRCAM formats 2001-11-18 <jpff@codemist.co.uk> * oscbnk.c (grain2set): New code (grain2, grain3set, grain3, rnd31set, rnd31i, rnd31k): New code (Istvan) * ugens6.c (deltap3): As below * vdelay.c (vdelay3): Optimisations from Istvan * *ALL OVER* introduce mac_classic and mills_macintosh macros * winEPS.c (PS_MakeGraph): Deal file file directory separator * soundio.c (sfopenout): Simplify last case * rtmacintosh.c (rtclose): Remove code marked HACK * pvoc.c: Use sysdep.h rather than special code * pvfileio.c: change write(files[ofd]->fd,(const char*)&... to write(files[ofd]->fd,(char*)&.... to compile on Mac * getstring.c (getstring): More cautious test for strings 2001-11-16 John ffitch <jpff@weir> * ugsc.c (svf): if provided Q is too small force to 1 (svf): Optimise code 2001-11-14 John ffitch <jpff@weir> * soundio.c (sfopenout): Added IRCAM format to 3:2000 case 2001-11-11 <jpff@codemist.co.uk> * sfont.c (SoundFontLoad): Extensive rewrite so it looks in multiple directories. * filopen.c: make ssdirpath and sfdirpath external 2001-11-10 John ffitch <jpff@weir> * biquad.c (moogvcf): check max is acceptable; if zero make 1 2001-11-07 <jpff@codemist.co.uk> * ugrw1.c (zakRESET): New function (Gabriel) * main.c (mainRESET): Added zakRESET * sfont.c: Corrected various constants * ugsc.c (resonr): Improved speed by using immediate variables rather than indirect. (resonz): ditto 2001-11-04 <jpff@codemist.co.uk> * sread.c (sread): Remove call to extend_nxp after label again as it was wrong. Allow salcblk to do this safely 2001-10-29 <jpff@codemist.co.uk> * biquad.c (rezzy): Protect filter if rez is zero * sread.c (getpfld): if ( = ) should have been if ( == ) (getpfld): twice 2001-10-22 <jpff@codemist.co.uk> * sread.c (sget1): Apparent off-by-one error in macro args fixed (expand_nxp): Should be mcalloc rather than mmalloc (salcinit): Ditto 2001-10-20 <jpff@codemist.co.uk> * sfont.c (SoundFontLoad): Improved error message when failing to open 2001-10-13 <jpff@codemist.co.uk> * pvfileio.c (pvoc_updateheader): Change variable pos to signed 2001-10-07 <jpff@codemist.co.uk> * cwin.cpp: Added BUTTON_DAC and supporting functions * oscbnk.h (OSCBNK_PHS2INT): Revised definition to improve phase calc (Ivan) 2001-10-06 <jpff@codemist.co.uk> * fgens.c: Extend fgen table to 42 (gen24, gen40, gen41, gen42): New code * uggab.c (ikRangeRand, aRangeRand, randomi_set, krandomi) (randomi, randomh_set, krandomh, randomh, random3_set, random3) (random3a): New Code * entry2.c: Added opcode cuserrnd and function urd * uggab.c (ikDiscreteUserRand, aDiscreteUserRand) (ikContinuousUserRand, aContinuousUserRand): New code 2001-10-01 <jpff@codemist.co.uk> * uggab.c (jitters_set, jitter_set, jitter2_set): Added initialisation of p->phs * pvread.c (pvreadset): * ugens8.c (pvset): Added additional checks (RWD) 2001-09-29 <jpff@codemist.co.uk> * VERSION 4.15 * getstring.c (getstring): Added a second argument to be the default string (init_getstring): Allow null db * aops.c (cpstun_i, cpstun): New functions * oscbnk.h: * oscbnk.c: New code * entry2.c: Added oscbnk * spat3d.c (spat3d): Corrected mindep to maxdep (Istvan) * uggab.c (jitter2_set, jitter2, jitter_set, jitter, jitters_set) (jitters, jittersa): New code from Gabriel * uggab.h: Added JITTER, JITTER2 and JITTERS * cmath.c (seedrand): Added holdrand to remember last random number (for vibrato) * entry2.c: Added vibrato and vibr; jitter, jitter2, jspline * uggab.c (vibrato_set, vibrato, vibr_set, vibr): New code from Gabriel * uggab.h: Added VIBRATO and VIBR 2001-09-02 <jpff@codemist.co.uk> * schedule.c (triginset): Added code from re to enable proper i-time operation (ktriginstr): and enable deferred-action instrument turnoff 2001-08-31 John ffitch <jpff@weir> * biquad.c (biquada): New code * entry1.c: Added biquada opcode 2001-08-26 <jpff@codemist.co.uk> * cwin.rc: Correct layout * ugens1.c (adsrset1): Clear out space if not skipping init * musmon.c (gettempo): New function * midiops.h (struct GTEMPO): * entry2.c: Add tempoval opcode 2001-08-25 <jpff@codemist.co.uk> * pvanal.c (pvanal): Allow .pvx, .Pvx etc * soundio.c (int24ptran): Need to output 0/1/2 or 1/2/3 depending on endianness * argdecode.c: Add declaration of readOptions * vdelay.c (reverbx_set): The division by esr was not assigned * entry1.c: Entry for soundin had 4 too few m's 2001-08-20 <jpff@codemist.co.uk> * pvxanal.c (pvxanal): Add total_sampsread * main.c (main): Call init_pvsys to be sure 2001-08-19 <jpff@codemist.co.uk> * VERSION 4.13 (yes i know should have been 4.14) * uggab.c (lpshold, loopseg, loopseg_set): New code * mxfft.c: * pvxanal.c: * pvsanal.c: * pstream.c * pvfileio.c: New code * memalloc.c: changes to avoid potential memory leaks * memfiles.c (find_memfile): New function (add_memfil): new function * sndinfUG.c (filelen): Handle pvoxex files (filepeak): Handle peak-chunks in all formats (anal_filelen): New function * ugens8.h: Added fields frInc and chans to PVOC structure * ugens8.c: Support for pvocex (pvset): Ditto (pvoc): Concern about memory leak (pvx_loadfile): New function * pvread.c (pvocex_loadfile): New function Support for pvocex files (pvreadset): Ditto * pvanal.c: Added pvstream stuff * entry2.c: Added opcodes =_f, pvsanal, pvsynth, pvsadsyn, pvscross, pvsfread, pvsmaska, pvsftw, pvsftr, pvsinfo * rdorch.c (argtyp): Allow f type, and simplify code (getoptxt): Ditto (intyperr): Ditto * otran.c: Added pvstreaming; include pstream.h, new variables lclpcnt and lclnxtpcnt (otran): Initialise lblnxtpcnt (otran): set in ip structure (insprep): Initialise lplnxtcpcnt (lclnamset): Recognise f variables (lcloffndx): ditto * cs.h: filename array larger in MEMFIL new field lblpcnt in INSTRTXT 2001-08-17 <jpff@codemist.co.uk> * soundio.c: * midirecv.c: * linevent.c: Added MACOSX case 2001-08-14 <jpff@codemist.co.uk> * entry1.c: Added deltapx and deltapxw opcodes * ugens6.h: Structures for deltap * ugens6.c (tapxset, deltapx, deltapxw): New functions * vdelay.c: patches from Istvan * entry2.c: Added spat3d. spat3di and spat3dt * spat3d.h: * spat3d.c: New code 2001-08-13 <jpff@codemist.co.uk> * bbcut.h: * bbcut.c: New code * entry2.c: Added bbcut opcodes 2001-08-08 J P Fitch <jpff@maths.bath.ac.uk> * midirecv.c (sensMidi): Stupid typing error lost MIDI on Mac (Thanks to matt pointing this out) 2001-08-01 <jpff@codemist.co.uk> * oload.c (oload): Changed test for integer overflow to unsigned short * express.c: * otran.c: Removed (commented out) various messages about extending pools etc 2001-07-14 John ffitch <jpff@weir> * ugens4.h: New field in GBUZZ to remember last * ugens4.c (gbuzz): Remember last value to get sign of small denom case right (gbzset): Initial last to +1 2001-07-01 <jpff@codemist.co.uk> * makedb.c: * getstring.c: * Makefile: Changed extension from .txt to .xmg to avoid confusions 2001-06-18 <jpff@codemist.co.uk> * soundin.c (sndgetset): (sndinset): Use the field * soundio.h: Added a datapos field to SOUNDIN * lowpassr.h: Added data for recalculation avoidance * lowpassr.c (lowpr): Recalculate coefficients only if there has been a change (lowprx): Ditto 2001-06-14 <jpff@cage.codemist.co.uk> * wave.c: * soundio.h: * soundio.c: * soundin.c (getstrformat, getsizformat, bytrev3, sndgetset) * sndinfUG.c (filelen, getsndinfo): * sfheader.c (readheader): 24bit support * diskin.c (sngetset, newsndinset, soundinew, sndwrt3) (sndwrt3rev, sndwrtfrev, sndo1set, sndo1set): 24bit support and bug fixes * cwin.cpp (class CArg, OnInitDialog): * cvanal.c (takeFFT): * argdecode.c (argdecode): * aiff.c (aiffReadHeader): Added 24bit support (write_aiffpeak): Ditto 2001-06-06 J P Fitch <jpff@maths.bath.ac.uk> * fout.c (infile_set): Bug fix from Gabriel 2001-05-26 <jpff@cage.codemist.co.uk> * ugens8.c (pvset): Remember value of mfp which seemed to be missing 2001-05-24 <jpff@cage.codemist.co.uk> * soundin.c: Add n-channel support message, and change t0 input from upto 24 channels. * soundio.h: Changes to SOUNDIN structure to match * english-strings: new string 1556 2001-05-20 <jpff@cage.codemist.co.uk> * vpvoc.c (vpvset): * ugens9.c (cvset): * ugens5.c (lprdset): * ugens3.c (adset): * soundin.c (sndgetset): * sndinfUG.c (getsndinfo): * pvread.c (pvreadset): * pvinterp.c (pvbufreadset, pvinterpset): * pvadd.c (pvaddset): * diskin.c (newsndinset, sndo1set): * OSC-sock.c (osc_send_set): * ugens8.c (pvset): Fence post. Need to check <= to use strset. 2001-05-18 <jpff@cage.codemist.co.uk> * fgens.c (gen01raw): No need to check p->channel greater than ALLCHNLS with new value of that variable * cs.h (ALLCHNLS): redefined as 0x7fff which is maximum positive 2001-05-15 <jpff@cage.codemist.co.uk> * dnoise.c: Merge back macintosh changes * babo.c (bround): changed name to avoid macintosh problems 2001-05-12 <jpff@broom.codemist.co.uk> * perf.c (InitSioux): Make title string a Pascal string 2001-05-09 <jpff@cage.codemist.co.uk> * pvanal.c (pvanal): Added -H option to control window type (Hamming/hanning) (takeFFTs): Use window type from variable WindowType 2001-05-05 <jpff@cage.codemist.co.uk> * VERSION 4.13 * dnoise on macintosh fixed etc * argdecode.c (argdecode): Added -@ option to read command line from a file, using readOptions from csd format 2001-05-04 <jpff@cage.codemist.co.uk> * linevent.c (sensLine): read may have got more than one line. Fix due to Timo Thomas 2001-05-03 <jpff@cage.codemist.co.uk> * memfiles.c (LoadFile): Remove unused argument foo (ldmemfile): and in call * pvoc.c (PVReadFile): Remove function as seems unused 2001-05-01 <jpff@cage.codemist.co.uk> * soundio.c (sfopenout): Added /dev/dsp as a synonym for dac on GNU/Linux 2001-04-18 <jpff@cage.codemist.co.uk> * vdelay.c (vdelay): Ensure delay line is 1 longer for safety 2001-04-14 <jpff@cage.codemist.co.uk> * pitch.h (struct PFUN): and structure * pitch.c (pfun): New function * entry2.c: Added p() function 2001-04-08 <jpff@cage.codemist.co.uk> * insert.c: Declaration of opcodlst was wrong; make OENTRY* * vdelay.c (reverbx_set): Rewrote memory allocation to avoid nested auxch as that does not work (reverbx): and change usage in here 2001-04-07 <jpff@cage.codemist.co.uk> * vdelay.c (reverbx_set): Increase size of auxalloc call as it was too small. 2001-04-03 <jpff@cage.codemist.co.uk> * one_file.c (readOptions): Move the argv++ to after the tracing; and then remove totally as it is wrong 2001-03-25 <jpff@cage.codemist.co.uk> * VERSION 4.12 * hetro.c (hetro): Need %lf in case 'M' as it is double (thanks to Jim Croson) 2001-03-20 J P Fitch <jpff@maths.bath.ac.uk> * vdelay.c (vdelayxw,vdelayxws,vdelayxwq): Modifications from Ivan 2001-03-18 <jpff@cage.codemist.co.uk> * rtwin32.c (recopen): Typing error (OUT instead of IN) corrected (thanks to Bobby McNulty Junior) 2001-03-06 <jpff@cage.codemist.co.uk> * vdelay.c: Added opcodes * entry1.c: Added opcodes vdelayxwq, vdelayxws, vdelayxw, vdelayxq, vdelayxs and vdelayx * soundio.h: * sfheader.h: Ircam format should be float (not MYFLT) 2001-03-04 <jpff@cage.codemist.co.uk> * uggab.c (mirror): A return added in xlow >= xhigh case 2001-02-28 <jpff@cage.codemist.co.uk> * midiops.c (imidiaft, maftset, midiaft): New code for polyaft opcode * entry1.c: Added polyaft opcode * ugmoss.c: New file * ugmoss.h: New file * entry2.c: Added dconv opcode 2001-02-24 <jpff@cage.codemist.co.uk> * pitch.c (maca): Ensure that it can be used with overlapping answer and argument variable (mac): Ditto * sread.c (expand_nxp): New function to expand space, and called from a number of places some new. * vdelay.c (reverbx_set): Correct level problem in reverb2 * uggab.c (sum): Ensure that it can be used with overlapping answer and argument variable (product): Ditto 2001-02-21 John ffitch <jpff@weir> * rdorch.c (rdorchfile): * sread.c (sget1): Allow escaped # in macro body 2001-02-18 <jpff@cage.codemist.co.uk> * swrite.c: Allow sign after exponential (thanks to Paul Isaacson) 2001-02-17 <jpff@cage.codemist.co.uk> * ugens6.c (delay): Allow input signal to be the same as output signal (log001): Make a #define constant rather than a variable 2001-02-14 <jpff@cage.codemist.co.uk> * vdelay.c (reverbx): Copy the input into the temp buffer for the combs so input and output variables can be the same. 2001-02-13 <jpff@cage.codemist.tc> * main.c (signal_to_string): Renamed sig2str as signal_to_string to avoid possible name clashes 2001-02-13 <jpff@wol.codemist.tc> * one_file.c: Define L_tmpnam in Windows case as was too small. Also put the extensions back 2001-02-07 <jpff@cage.codemist.tc> * one_file.c: Changed calls to tmpnam so they do not add the .orc or other extension as that seems to kill Windows2K 2001-02-06 <jpff@cage.codemist.tc> * one_file.c (blank_buffer): Failed to increment i!! Thanks Gabriel. 2001-02-04 <jpff@cage.codemist.tc> * VERSION 4.11 * pitch.h (struct): New field noinsert * pitch.c (waveset): Correct case when pointers meet 2001-02-03 <jpff@cage.codemist.tc> * main.c (main): and use it * one_file.c (read_unified_file): Change argument to be char ** 2001-01-31 <jpff@cage.codemist.tc> * pitch.c (wavesetset): Make length test for <=1 incase of MIDI use 2001-01-27 <jpff@cage.codemist.tc> * util2/dnoise.dir/dnoise.c (main): Some messages corrected 2001-01-26 <jpff@cage.codemist.tc> * one_file.c (read_unified_file): remove strcpy as there was no guarantee of sufficient space 2001-01-21 <jpff@cage.codemist.tc> * lpanal.c (gauss): Removed false code based on assumption of pivot. 2001-01-20 <jpff@cage.codemist.tc> * entry2.c: Added barriage opcode * pitch.c (wavesetset): New function (waveset): New function and opcode 2001-01-12 John ffitch <jpff@weir> * aifc.c (aifcReadHeader): General confusions fixed I hope (thanks RWD and Jim Crosson) * cwin.cpp (DisplayText): New function for flashtext 2001-01-11 John ffitch <jpff@weir> * soundio.c (sfopenin, sfopenout): "devaudio" has 8 characters not 7! * entry1.c: rtclock_i should not have had an argument but ftlen_i should 2001-01-06 <jpff@cage.codemist.tc> * nsliders.tk (settext): New code to display text boxes (deltext): and to delete them * control.c (textflash): New function to display text windows * control.h (struct): New TXTWIN structure 2001-01-05 <jpff@cage.codemist.tc> * VERSION 4.10 * soundio.c (sfopenout): Allow devaudio# and dac# as realtime players. 2001-01-02 <jpff@cage.codemist.tc> * physmod.c: Comment out DLineA_clear as not used * hrtferX.c (hrtferxk): Make crossfade unused as it created clicks * express.c (copystring): New function -- like strdup but uses mmalloc (express): use copystring rather than fixed size arguments 2000-12-31 <jpff@cage.codemist.tc> * util2/mixer/mixer.c (main): make default output have .wav or .aif tag as in main system 2000-12-30 <jpff@cage.codemist.tc> * util2/dnoise.dir/: new utility to remove noise from samples * entry1.c: Added tbvcf opcode * biquad.c (tbvcfset, tbvcf): New code from Hans 2000-12-29 <jpff@cage.codemist.tc> * entry2.c: Change name of opcode to "sensekey" * entry1.c: Change vco to have optional arguments * rdorch.c (splitline): A little more cautious in /* ... */ comments wrt newlines. (splitline): and fix some unclear bug by rewriting 2000-12-23 <jpff@cage.codemist.tc> * entry2.c: Added keyhit as an opcode * entry1.c: rtclock opcode as _i and _k * aops.c (rtclock): Support for reading rt-clock * ugens4.c (rndset): Allow seed from clock is >1 (rhset, riset): Ditto * entry2.c: Entry for sense was wrong (needs 2 rather than 3 as no init) 2000-12-20 <jpff@cage.codemist.tc> * entry1.c: Added additional optional argument to comb and alpass * ugens6.c (cmbset): Allow delay in samples for comb and alpass * ugens6.h (COMB): Add insmps optional argument to COMB 2000-12-18 <jpff@cage.codemist.tc> * vbap_zak.c (vbap_zak_control, vbap_zak_moving_control): * vbap_sixteen.c (vbap_SIXTEEN_control) (vbap_SIXTEEN_moving_control): * vbap_eight.c (vbap_EIGHT_control, vbap_EIGHT_moving_control): * vbap_four.c (vbap_FOUR_control, vbap_FOUR_moving_control): It was possible for these to overwrite; loop now starts at 1 * sfheader.c (writeheader): * midirecv.c: * linevent.c (RTLineset): Minor preprocessing error * cs.h: Set _macintosh when necessary 2000-12-17 <jpff@cage> * entry2.c: New opcode lpf18 * pitch.h (struct LPF18): * pitch.c (lpf18set, lpf18db): New code for LPF with 18dB falloff. 2000-12-15 <jpff@cage> * swrite.c: Replaced fltout by fprintf -- still not sure about this! * pitch.c (ksense): Added use of _kbhit and _getch for Windows/DOS * pvdlg.cpp (DoDataExchange): Two cases were plain wrong! 2000-12-14 <jpff@cage> * lpanal.c: Some general code tidying 2000-12-11 <jpff@cage> * many files: standardise on _macintosh flag 2000-12-08 <jpff@cage> * argdecode.c (argdecode): Set utility title in mac * soundio.c (audwrt4): Skip code for now (audwrtrev4): Ditto * soundin.c (getsndin): from matt -- only set gain if positive 2000-12-08 J P Fitch <jpff@maths.bath.ac.uk> * aops.c (dbfsamp): (ampdbfs): (aampdbfs): New code for full scale dB 2000-12-08 <jpff@cage> * argdecode.c (argdecode): Added call to create_opcodlst to ensure opcode list is made. * main.c (create_opcodlst): Cannot be static as needed elsewhere, like opcodes 2000-12-07 <jpff@cage> * sfont.c (fill_SfPointers): Added check for sfont format, and new X_1555 2000-12-06 <jpff@cage> * entry2.c: Added varicol opcode * pitch.c (varicolset): (varicol): New code for variable coloured noise. * pitch.h (struct): New structure for variable coloured noise 2000-12-05 <jpff@wol> * Cwin.cpp (OnSliders): Display sliders 1 rather than zero 2000-12-03 <jpff@cage> * VERSION 4.09: released * pluck.c: * wavegde.c: Rewrite significant parts; in particular remove general filter for 3 point FIR which is all that is used 2000-11-27 <jpff@cage> * aiff.c (aiffReadHeader): Str X_65 had arguments in wrong order in printf 2000-11-26 <jpff@cage> * pluck.c (pluckExcite): Move pickup point from here (pluckGetSamps): To here 2000-11-25 <jpff@cage> * wavegde.c (error): String 259 was wrong * pluck.c (pluckPluck): Change spurious floating point constants to FL() or integer. 2000-11-24 <jpff@cage> * uggab.c (lposc_set): Change from Gabriel/Rasmus * ugens3.c (loscil3): Added check for exact end of loop (loscil): (loscil): (loscil3): on advice from Hedman 2000-11-21 <jpff@cage> * fgens.c: Declare gen16 and add to table (gen16): New function 2000-11-19 <jpff@cage> * sftype.h: * sf.h: Corrected MSVC pack command * pitch.h: NSEG and TRANSEG structures * pitch.c (trnset, trnseg, ktrnseg): New code for transeg opcode * entry2.c: transeg opcode 2000-11-18 <jpff@cage> * ugens1.c (xsgset): Fixed potential bug in xsgset with reusing vector * sf.h: Added pack(1) for macintosh 2000-11-12 <jpff@cage> * sfont.c (filter_string): new function to remove unprintable characters which kill xterms etc 2000-11-06 <jpff@cage> * sfheader.c (readheader): Inadvertent change of AUDIO_ENCODING_FLOAT to AUDIO_ENCODING_MYFLT (writeheader): and again 2000-10-25 <jpff@cage> * entry2.c: setctrl allowed string argument * nsliders.tk: New function, setlab * control.c (ocontrol): Added case 4 to set label to slider 2000-10-16 <jpff@cage> * one_file.c (checkVersion): New function to allow version checking in .csd files (read_unified_file): And call it 2000-10-14 <jpff@cage> * ugens4.c (BIPOLAR): New constant (krand): (arand): (krandh): (randh): (krandi): (randi): Make 31-bit PRNG give bipolar results. * entry2.c: Added babo opcode * babo.c: * babo.h: New code [Note special copyright terms] from Nicola * ustub.h: Add peakchunks * oload.c (instance): * otran.c (insprep): * oload.h (LABELIM): Changed MINSHORT to MIN_SHORT to avoid silly problems 2000-10-11 <jpff@cage> * aiff.c (aiffWriteHdr): (aiffReWriteHdr): * wave.c (wavWriteHdr): Do not write PEAK if not wanted (wavReWriteHdr): Ditto * argdecode.c (argdecode): Case K for peak chunks * main.c (main): Add peakchunk variable 2000-10-08 <jpff@cage> * BeAudio.c: * Makefile.be: * argdecode.c: * cs.h: * main.c: * midirecv.c: * midisend.c: * rtBe.c: * sysdep.h: * vbap.c: * winBe.c: BeOS patches from Jens Kilian 2000-10-01 <jpff@cage> * one_file.c (readOptions): Added // and /* */ comments * rtlinux.c: Changed some floats to MYFLT (thanks to Nicola Bernardini) 2000-09-30 <jpff@cage> * vdelay.c: Simplified constants for cc_time and ca_time; comment out the original nreverb code * entry2.c: Made reverbx the nreverb code as it is a strict superset 2000-09-27 <jpff@cage> * vdelay.c (reverbx_set): (reverbx): New code, replacing vreverb code. * entry2.c: Added reverbx from re (replacing vreverb) 2000-09-25 J P Fitch <jpff@maths.bath.ac.uk> * wave.c (wavReWriteHdr): One case of MYFLOAT should have been float (Nicola B.) 2000-09-24 <jpff@cage> * entry2.c: Added vreverb opcode * vdelay.c (vreverb_set): New code (vreverb): New code * vdelay.h (VREV): new struct * pitch.c (ksense): New code to read keyboard input * main.c (create_opcodlst): New function to create entry table from bits. (main): and use it * rdorch.c: Changed opcodlst to * from [] * oload.c: * otran.c: * opcode.c: * schedule.c * oload.c: Add declarations of opcodlst and oplstend as really here * entry1.c: * entry2.c: Replace entry.c 2000-09-22 <jpff@cage> * pitch.c (ksense): Added CWIN version of keysensing 2000-09-21 John Fitch <jpff@lansky> * VERSION 4.08 * musmon.c (musmon): * main.c (main): Change banner to indicate 64bit version 2000-09-19 John Fitch <jpff@wol> * CSliders.cpp: New code for buttons and checks * CSliders.h: Ditto * Cwin.cpp: and the same * control.c (check_set): (check): (button_set): (button): Added for Windows 2000-09-17 <jpff@cage> * dumpf.c (nkread): Reading needs to take account of MYFLT * entry.c: Added button and checkbox opcodes * control.c (check_set): (check): (button_set): (button): New functions; also reorganise code for starting and reading * nsliders.tk: Added title. and pack -after for sliders. Should allow placement of buttons * pitch.c (impulse,impulse_set): Code for mpulse opcode 2000-09-16 <jpff@cage.codemist.tc> * entry.c: Added impulse opcode (mpulse) 2000-08-27 John ffitch <jpff@weir> * phisem.c (bambooset): Shake_damp needs to be set; maybe on others as well? (wuterset): Ditto (sleighset): Ditto (guiroset): Ditto (tambourset): Ditto 2000-08-18 <jpff@cage> * Rename window.h to cwindow.h to avoid Windows problem. Change in many files including makefiles * ALL: FLOAT -> MYFLT to avoid problems with Windows * hetro.c: * soundio.c: * pitch.c: * aifc.c: * aiff.c: * aops.c: * argdecode.c: * biquad.c: * bowedbar.c: * butter.c: * cmath.c: * cross2.c: * cs.h: * cscorfns.c: * cvanal.c: * dam.c: * dcblockr.c: * diskin.c: * disprep.c: * dsputil.c: * dsputil.h: * dumpf.c: * extract.c: * fft.c: * fgens.c: * flanger.c: * fm4op.c: * follow.c: * fout.c: * grain.c: * grain4.c: * hrtferX.c: * insert.c: * interpol.c: * linevent.c: * locsig.c: * lowpassr.c: * lpanal.c: * lptrkfns.c: * mandolin.c: * midiops.c: * midiops2.c: * midiops3.c: * midiout.c: * midirecv.c: * modal4.c: * moog1.c: * moog1.h: * musmon.c: * musmon.c: * nlfilt.c: * oload.c: * otran.c: * phisem.c: * physmod.c: * physutil.h: * pluck.c: * ptrigtbl.h: * pvadd.c: * pvanal.c: * pvinterp.c: * pvocext.c: * pvread.c: * rdscor.c: * repluck.c: * revsets.h: * scansyn.c: * schedule.c: * sfont.c: * shaker.c: * singwave.c: * sndinfo.c: * sndwarp.c: * soundin.c: * soundio.h: * space.c: * spectra.c: * sread.c: * sysdep.h: * twarp.c: * ugens1.c: * ugens2.c: * ugens3.c: * ugens4.c: * ugens5.c: * ugens6.c: * ugens7.c: * ugens8.c: * ugens9.c: * ugensa.c: * uggab.c: * ugrw1.c: * ugrw2.c: * ugsc.c: * vbap.c: * vbap.h: * vbap_eight.c: * vbap_four.c: * vbap_sixteen.c: * vbap_zak.c: * vdelay.c: * vpvoc.c: * wavegde.c: * winEPS.c: * wincwin.c: * windin.c: * window.c: Deal with floating constants and in a few places corrected confusions between float and FLOAT ***** SPELL-CHECKED TO HERE ***** 2000-08-17 <jpff@cage> * soundio.c: flinbufp and floutbufp shoudl be float (not FLOAT) * pitch.c (GardnerPink_init): Variable float -> FLOAT * fout.c (infile_float): Sort out confusion between float and FLOAT * ugens1.h (struct EXPSEG2): float -> FLOAT 2000-08-15 <jpff@cage> * anal/adsyn/makef (OBJS): Include sdif code * sdif-mem.c: * sdif.c: * sdif.h: * sdif-mem.h: New file (SDIF again) * text.h (X_MAXNUM): Increase to 1551 * Hetro.c: added SDIF stuff 2000-08-14 <jpff@cage> * midisend.c: Added FreeBSD code for soundcard * argdecode.c (usage): Error message number changed for dithering to 1537. 2000-08-13 <jpff@cage> * entry.c: Add optinal argument to guiro -- a bug fix * sread.c (sget1): Typing error ommits c== in c=='_', twice 2000-08-07 <jpff@cage> * VERSION 4.07 * midiops.c (mctlset): Change default value to lo setting 2000-08-06 <jpff@cage> * entry.c: Added opcodes cabasa, "crunch", "sekere", "sandpaper", "stix", "guiro", "tambourine", "bamboo", "waterdrip", "sleighbells" * phisem.c: * phisem.h: New files for phisem instruments from STK 3.1 2000-08-05 <jpff@cage> * vbap.c (choose_ls_triplets): Move array connections to malloced space as rather too big for some architectures. * vdelay.c (nreverb): Set time to 0.001 instead of zero which gives inf values. Also test for <=0 rather than just negative. Also change error message 356 (reverb2_play): Ditto 2000-08-02 <jpff@cage> * main.c (install_signal_handler): Added support for OS/2 2000-07-30 <jpff@cage> * soundin.c (sreadin): Added WAV to code for AIFF/AIFC 2000-07-25 <jpff@cage> * swrite.c (fpnum): Allow E and e format in numbers 2000-07-22 <jpff@cage> * bowedbar.c: File file from STK3.1 * bowedbar.h: File file from STK3.1 * entry.c: Added wgbowedbar opcode 2000-07-17 <jpff@cage> * modal4.c (vibraphnset): Strike position was not set at all (agogobelset): Strike position now used, and modified gains * fm4op.c: All over changed ADSR parameters to STK3.1 values 2000-07-16 <jpff@cage> * physutil.c (ADSR_setAllTimes): New function to keep in step with STK3.1 * modal4.c (agogobelset): Change filter gains to value in STK3.1 (marimbaset): Ditto 2000-07-14 <jpff@cage> * aiff.c (aiffReadHeader): Added missing argument to message 2000-07-13 <jpff@cage> * filopen.c (sssfinit): Editing error corrected ## -> # * physmod.c (bowedset): Instantiated teh length/2 code as in later STK 2000-07-02 John Fitch <jpff@wol> * pvlook.c: Added code to log output from Windows * pvlookdlg.cpp: Added dialog info for output 2000-07-01 John Fitch <jpff@lansky> * pvdlg.cpp (DoDataExchange): Check for illegal hopsize was backwards 2000-07-01 <jpff@cage> * sread.c (getscochar): * rdorch.c (rdorchfile): Patch (in part) from Istvan Varga for _ in macro names more safely 2000-06-26 <jpff@cage> * entry.c: Added clip opcode * one_file.c (createSample): New function to read base64 encoded samples (read_base64): New function to allow multiple use (deleteSamp): Delete samples created (read_unified_file): Added <CsSampleB filename=%d> option and <CsFileB filename=%s> (createFile): Create file locally if safe from Base64 2000-06-23 <jpff@cage> * util1/sortex/xmain.c (fopen_path): * util1/sortex/smain.c (fopen_path): $s should be %s twice 2000-06-19 <jpff@cage> * rdorch.c (rdorchfile): * sread.c (sget1): Allow _ as a part of a macro name * one_file.c (createMIDI2): Added Base64 encoded MIDI files (read_unified_file): and direct to it 2000-05-28 <jpff@cage> * VERSION 4.06 * entry.c: Added trigseq and seqtime opcodes 2000-05-26 <jpff@cage> * pitch.c: Added pinkish code. * pitch.h (struct): Added PINKISH structure * entry.c: Added pinkish opcode (re) 2000-05-25 <jpff@cage> * entry.c: Added opcodes sfplay3, sfplay3m, sfinstr3, sfinstr3m * sfont.c etc: many changes. Lots of ANSI corrections and layout 2000-05-14 <jpff@cage> * entry.c: control and setctrl for Tcl/Tk and renamed for CWin * sliders.tk: New file (needs serch paths?) * control.c: Added Tcl/Tk version of sliders 2000-05-13 <jpff@cage> * getstring.c (init_getstring): Removed unnecessary new name variable, as also wrong! 2000-05-10 <jpff@cage> * aops.c (inall): Change to read a single numbered channel only 2000-05-09 <jpff@cage> * vbap.h: Added zak opcoes, increased channels to 64 * vbap_zak.c: New file * entry.c: Added vbap_zak opcodes 2000-05-08 <jpff@cage> * schedule.c: Change to triggering on negative triggers etc * midirecv.c: (MidiOpen): (MidiOpen): Added OS2 support * main.c (main): Added OS2 support 2000-05-07 <jpff@cage> * soundio.c (audwrite_norm): (audwrite): Make Heartbeat==3 use title bar in CWIN case * fgens.c (gen23): Use fopenin rather than fopen (gen28): Ditto * filopen.c (fopenin): Like openin, but also looks in INCDIR * vpvoc.c: Check that there is a segment table * aops.c (outz): New opcode to link XAK to output (inz): and input to zak * cs.h (MAXCHNLS): Change max number of channels to larger number 256 * aops.c (inn): New function for below (in16): (in32): (inall): New opcodes for larger numbers of channels * entry.c: Added opcodes inx, in32 and inc 2000-05-02 <jpff@cage> * makefile (CSRCH): Added vbap.c vbap_four.c vbap_eight.c vbap_sixteen.c * vbap.c: * vbap_four.c: * vbap_eight.c: * vbap_sixteen.c: * vbap.h: New files for VBAP opcodes * entry.c: Added vbap opcodes 2000-04-26 <jpff@cage> * entry.c: Change madsr to call madsrset as below * ugens1.c (adsrset1): Only set xtra time if in MIDI context. Rename function from adsrset (adsrset): New function to use above (madsrset): Ditto 2000-04-23 <jpff@cage> * rdorch.c (getoptxt): Decode out->outx/outX * aops.c (outn): new function to handle multi-channel outouts (outx): (outX): Use for 16 and 32 (outch): New code to write to numbered channel (outall): Write all channels of any number * aops.h: New structures OUTX and OUTCH * entry.c: New opcodes outx, out32 and outch 2000-04-22 <jpff@cage> * sread.c (getpfld): Check for curmem overflow in the loops (yeak!) 2000-04-21 <jpff@cage> * sftype.h: * sf.h: Added PACKED and pack() attributes 2000-04-16 <jpff@cage> * entry.c: Added additional argument to scans * scansyn.c (scsns_init): Made oscil_interp a selectable variable, defaulting to 4 (scsns_play): And at play time * scansyn.h (struct): Added variables to select interpolation scheme 2000-04-10 John Fitch <jpff@cage> * VERSION 4.05 released * fout.c (outfile_int_head): (close_files): * soundio.c (sfcloseout): (audwrite_norm): (audwrite): * wave.c (write_wavpeak): (wavReWriteHdr): * aifc.c (aifcReWriteHdr): * aiff.c (aiffReWriteHdr): Added verbose argument to control peak message 2000-04-04 <jpff@cage> * winX11.c (DrawGraph): Patch to deal with large graphs (David Ogborn) 2000-04-04 J P Fitch <jpff@maths.bath.ac.uk> * fgens.c (gen23): Corrected deferred case 2000-04-03 <jpff@cage> * fgens.c: patched from David Ogborn 2000-04-03 J P Fitch <jpff@maths.bath.ac.uk> * diskin.c (sreadinew): More peak stuff (sngetset): Ditto 2000-04-03 <jpff@cage> * util1/sortex/xmain.c (dies): Define this function * util1/sortex/smain.c (dies): Define this function 2000-04-02 <jpff@cage> * musmon.c (playevents): remove calls to write peak chunk as done elsewhere * soundio.c (audwrite_norm): Added normalisation stuff for WAVE floats (audwrtrev4): Same here (audwrt4): Abd fir none bytereversing version (sfopenout): FLOATS and LONGS now similar Call non-reversing fixups correctly 2000-03-31 <jpff@cage> * soundin.c: Changes all over to take account of gain stuff * sndinfo.c (sndinfo): Small change in case no data * sread.c (sread): Check can open file * one_file.c (read_unified_file): Check file was opned OK (createScore): Ditto * wave.c (wavWriteHdr): many changes to set correct variable-header length etc (RWD) (wavReWriteHdr): Ditto * aiff.c (aiffWriteHdr): Incorporate Peak chunk fully (aiffReWriteHdr): ditto (aiffReadHeader): ditto (aiffReadHeader): ditto (write_aiffpeak): Correct code (all RWD) * aifc.c: Extensive incorporation of Peak chuncks and other such (RWD) 2000-03-26 John ffitch <jpff@maths.bath.ac.uk> * entry.c: Added opcodes scsnu,scsns, sfload, sfpreset, sfplay, sfplaym, sfplist, sfilist, sfpassign, sfinstrm, sfinstr * sf.h, sftype.h sfenum.h: * sfont.c: New files 2000-03-26 John <jpff@cage> * midiops3.c: * midiops3.h: Change char to unsigned char throughout 2000-03-25 John <jpff@cage> * scansyn.[ch]: New file implementing scanned synthesis * rdorch.c (lblfound): realloc forgot to multiply by sizeof(LBLREQ) (lblrequest): Did not extend in this case. * main.c (main): Added general signal handler to call exit so can do temporary clean-up 2000-03-22 John <jpff@cage> * musmon.c (musmon): Remove extraneous fclose(scfp) 2000-03-21 John ffitch <jpff@maths.bath.ac.uk> * soundio.c (bytetran): Add optional dithering of output * main.c: Added declaration of dither_output * argdecode.c: Added -Z option, and new string 1485 2000-03-17 John ffitch <jpff@maths.bath.ac.uk> * VERSION 4.04 (Linux only: no notes) * ugens5.c (atone): output could destroy input before it was used. (atonex): Ditto 2000-02-22 John ffitch <jpff@maths.bath.ac.uk> * otran.c (otran): Calculation of tran_kr was wrong 2000-02-20 John ffitch <jpff@montague> * VERSION 4.03 * ugens4.c (krand): Added support for a base value (arand): (krandh): (randh): (krandi): (randi): * aiff.c (aiffReadHeader): If no loop in sample, pretend loops whole sample (experimental at present) * sfheader.c: Move definition of maxpos etc to this file * sndinfo.c: Change size of arrays to MAXCHNLS 2000-02-15 John ffitch <jpff@montague> * soundio.h: New structures for peaks * wave.c (write_wavpeak): * aiff.c (write_aiffpeak): New function * musmon.c (playevents): Call functions to write peak chunk * grain.c (agsset): Clear buffer if reusing 2000-02-13 John ffitch <jpff@montague> * wave.c (wavReadHeader): Started support for WAV loops * wave.h: Added smpl and SampleLoop structures * schedule.c (lfoa): Calculation of inc was wrong 2000-02-12 John ffitch <jpff@montague> * ugens3.c (losset): Default base freq to middle C if missing * entry.c: follow2 opcode * follow.c (envset): (envext): New code * follow.h (struct ENV): New structure 2000-02-07 John Fitch <jpff@wol> * one_file.c (mytmpnam): New function in WIN32 case * cs.h: Use mytmpnam of WIN32 systems 2000-02-06 John Fitch <jpff@lansky> * util2/scale.dir/scale.c (main): Added code for M and P options (FindAndReportMax): Make return a value of maximum 2000-02-04 J P Fitch <jpff@maths.bath.ac.uk> * util2/pvlook/pvl_main.c: Add #include for <stdio.h> 2000-02-03 John ffitch <jpff@montague> * pvanal.c (pvanal): Set trfil to stdout in code rather than in initialisation. * midirecv.c (FMidiOpen): Set mfp to stdin in the open code rather than in initialisation. * getstring.c (init_getstring): #endif was one wrong line which broke CSTRINGS mechanism 2000-01-29 John ffitch <jpff@montague> * VERSION 4.02 * sread.c (ifa): Need tp set prvp2 in . and + cases, as well a ^ 2000-01-13 John ffitch <jpff@weir> * diskin.c, insert.c, memfiles.c, midirecv.c, pvanal.c * rtaudio.c, rtdirectX.c, rtwin32.c, wincwin.c, window.c, winwat.c Change IGNORE to IGN to please Windows 2000-01-07 John ffitch <jpff@weir> * musmon.c (musmon): Close the scfp file (sorted score) so it can be deleted. 2000-01-06 John ffitch <jpff@weir> * insert.c (kperf): Removed check for interaction in instr loop 2000-01-05 John ffitch <jpff@weir> * rtwin32.c: Change type of indev to HWAVEIN as it should have been * schedule.c (queue_event): Added cast to float for insno * cwin.cpp (OnHScroll): Incorrect & changed to && (AfterSizeChange): Ditto * cs.h (POLL_EVENTS): Error in cwin case? * ugrw1.c (tablew): Incorrect & changed to && (ktablew): Ditto 1999-12-05 John ffitch <jpff@montague> * fgens.c (gen23): Allow for negative numbers in reading, and initilaise p in open case. * insert.c (kperf): On Windows and Mac/BeOs silences were too long, possibly upto 127 cycles too long. 1999-11-27 John ffitch <jpff@montague> * midiops3.c: Throughout slider code ensure min++ is obeyed after the assignment (undefined in ANSI C) 1999-11-23 <jpff@wol> * Cwin.cpp (cwin_exit): Use special code rather than AwaitInput, using wait_for_char variable (cwin_exit): Ditto (OnChar): Set wait_for_char every time 1999-11-21 John ffitch <jpff@montague> * VERSION 4.01 * uggab.c (resony): Read flag field for log or linear separation * uggab.h: New field in RESONY structure * entry.c: Change in arguments to resony * schedule.c (queue_event): New function to schedule score events into future (schedule): Call insert_event or queue_event depending on when; note midi will only work on now events (kschedule): Same fix. 1999-11-20 John Fitch <jpff@wol> * wincwin.c (DrawGraph): Add call to cwin_paint back * cwin.cpp (cwin_show): If picture in ontop do not redraw 1999-11-20 John ffitch <jpff@montague> * all_strings, english-strings: Make version number print in x.xx format (237) * space.c (space): Use local variables rather than p->ch1 etc (RK) 1999-11-18 John ffitch <jpff@montague> * pvinterp.c (pvbufreadset): * pvread.c (pvreadset): Change test to less than 128 for small frame size (RK) 1999-11-18 John Fitch <jpff@montague> * argdecode.c (usage): Added message for -t0 and also error string 425 1999-11-07 John ffitch <jpff@montague> * VERSION 4.00 -- Version for CD-ROM * midirecv.c: Added AMIGA loading of <sgtty.h> * musmon.c (musmon): Only complain about no score if also no line events. * main.c (main): In normal use use a temporary for scorename and playscore; if -t0 use score.srt * argdecode.c (argdecode): usurp -t0 to mean keep tempraries 1999-11-02 John ffitch <jpff@montague> * flanger.c (wguide2): Separate a- and k- rate cases, for speed against mixing (wguide1): Ditto * english-strings: Added error message 424 1999-10-31 John ffitch <jpff@montague> * VERSION 3.591 * shaker.c (shakerset): Do not crash is number of beans is zero * fgens.c (gen21): Ensure a scale of zero is make 1 if argument is missing * midirecv.c (MidiOpen): Misplaced #endif moved (<nicb@axnet.it>) 1999-10-25 John ffitch <jpff@montague> * otran.c (insprep): Remove reassignment to nlabels, so it will act as a maximum. 1999-10-24 John ffitch <jpff@montague> * rdorch.c (skiporchar): New function to skip to end of line, string or file * fgens.c (besseli): Make besseli a double->double function (gen20): rewrite kaiser case for effeciency and accuracy * cmath.h: Make besseli a double->double function * ugens6.c (delwset): Remove nulling of last_delayr (delrset): Check for first-delayr rather than last-delatr (Groh) 1999-10-16 John ffitch <jpff@montague> * one_file.c (createScore): (createOrchestra): Use fputs rather than fprintf as should not interpret formats 1999-10-11 John ffitch <jpff@montague> * VERSION 3.59 * one_file.c (deleteScore): no longer static (same for sconame) * main.c (main): If no score given generate f0 86400 score, and arrange to delete at end 1999-10-10 John ffitch <jpff@lansky> * main.c (main): Rearrange order of code to allow MIDI initialisation * one_file.c (my_fgets): New function to deal with PC/Unix/Mac files equally. * entry.c: Added ktableseg for tutorials * midiop2.c: * midiops3.h: Separate SLIDER* structs and code * entry.c: Correct structs for sliders 1999-10-09 John ffitch <jpff@montague> * otran.c (constndx): Initial poolcount set to 1 for SSTRCOD * vpvoc.c (vpvset): If a table is given use it rather than remembered table[x]seg * vpvoc.h (struct): New field in VPVOC structure for optional argument to set table from f ops * one_file.c (createMIDI): Skip to newline after reading a MIDI file (read_unified_file): Set O.FMidiin if a MIDI file was given 1999-10-05 John ffitch <jpff@montague> * linevent.c: If event is e no not complain about number of args * insert.c (MIDIinsert): Deal with pset in MIDI case (MIDIinsert): No error if psetdata set * one_file.c (read_unified_file): Only change Midi file if read (createMIDI): set flag * ugens1.h: Extra field xtra in LINSEG and EXPSEG * ugens1.c (mxdsrset): Added additional argument to length of release (lsgset): Set xtra to -1 (adsrset): Deal with additional release (lsgrset): Set to -1 (klnsegr): (linsegr): (xsgrset): (expsegr): (kxpsegr): More of same change 1999-10-02 John ffitch <jpff@montague> * biquad.c: * entry.c: removed "nlalp" pending clarification of IPR 1999-09-26 John ffitch <jpff@montague> * ugens5.c (tonset): Initialise constants more carefully (tonsetx): The same (tone): The same (tonex): The same (atone): The same (atonex): The same * ugens1.c (klnseg): Rewritten to be same as linseg wrt new segments 1999-09-25 John ffitch <jpff@montague> * nlfilt.c (nlfilt): Protect L field * cross2.c (Xsynthset): Stop changing ovlp and take new field (Xsynth): Use new field * windin.c (xyinset): Protect a number of fields * grain.c (ags): Stop p->kglen being overwritten * vdelay.c (nreverb): Ensure p->hdif and p->time are not overwritten * repluck.c (wgpsetin): Ensure p->plk is not changed * otran.c (constndx): Removed attempt to have unique constants as it breaks otherthings, not understood 1999-09-22 John ffitch <jpff@montague> * ugsc.c (phaser1set): Fix array limitations (phaser2set): Similar 1999-09-22 John ffitch <jpff@montague> * entry.c: Added phaser1, phaser2 and lowpass2 * ugsc.c (phaser1): (phaser2): (lp2): New code 1999-09-12 John ffitch <jpff@montague> * entry.c: Adjust args to wguide1/wguid2 * aops.c (powoftwoa): New function (logbasetwoa): New function 1999-09-09 John ffitch <jpff@montague> * express.c (express): Added a^p case whicg was missing * entry.c: removed opcodes from entry as well * ugrw1.c: remove deprecated instime[sk] * dumpf.c: Remove depricated names 1999-09-08 John ffitch <jpff@montague> * biquad.c (nlalp): (nlalp_set): New functions * biquad.h (struct NLALP): New structure * entry.c: Added nlalp 1999-09-07 John ffitch <jpff@montague> * musmon.c (musmon): Change commented-out test to O.Linein 1999-09-05 John ffitch <jpff@montague> * schedule.c: New code for schedkwhen * musmon.c (playevents): * insert.c (kperf): Look for orcevents as well * cs.h: Added OrcEvts field to OPARMS * entry.c: Add schedkwhen * ugens2.c (kphsor): Make phs a double, and consequent changes (phsor): phase and incr double, and consequents * ugens2.h: Make curphs double rather than FLOAT * uggab.c (posc): (kposc): (posc3): (kposc3): Allow negative freq * cwin.cpp (cwin_args): Set FMidiin when teh profile has one * ugens4.c (pluck): Error check for kcps exceeding sample rate * fgens.c (fgens): Typing error == instead of = 1999-08-30 John ffitch <jpff@montague> * otran.c (constndx): Sharing constants leads to problems so make each one unique 1999-08-29 John ffitch <jpff@montague> * pitch.c (pitch): Slight code shifting (re) * pitch.c (phsorbnk): New code for new opcode 1999-08-27 John ffitch <jpff@montague> * VERSION 3.58 * entry.c: New opcode pitchamdf * pitch.c (pitchamdfset): (medianvalue): (pitchamdf): New functions 1999-08-25 John ffitch <jpff@montague> * midiops.h: Removed MIDIVAL and MIDISCL as they are really MIDIKMB * midiops.c (midibset): Initialise prvbend as it was random (pitchbend_value): reinstate null check * entry.c: New opcodes adsynt and hsboscil * pitch.c (adsyntset): (adsynt): (hsboscset): (hsboscil): New functions * pitch.h (struct ADSYNT, HSBOSC): New structs 1999-08-23 John ffitch <jpff@montague> * repluck.c (streson): Change sign of output sample * one_file.c (eat_to_eol): New function to handle comments in <> context. (readOptions): Alow empty lines * sread.c (ifa): in case3 with warpin check for i or f opcodes 1999-08-20 John ffitch <jpff@montague> * ugensa.c (fogset): * ugens7.c (fofset0): Only allocate space if phs is positive; may allow legato * dumpf.c (krdset): (krd2set): (krd3set): (krd4set): openout shoudl have been openin * midisend.c: Define __RPCASYNC_H__ for VC++ v6 (Michael Gogins) * sread.c (sget1): * rdorch.c (rdorchfile): Deal with spaces in macro definitions (re) * one_file.c (read_unified_file): Close unf file before return 1999-08-05 John ffitch <jpff@maths.bath.ac.uk> * wincwin.c (MakeXYin): (ReadXYin): Rewritten to use whole screen 1999-08-04 John ffitch <jpff@maths.bath.ac.uk> * sread.c (sget1): * rdorch.c (rdorchfile): Make number of arguments flexible in macros 1999-08-02 John ffitch <jpff@maths.bath.ac.uk> * VERSION 3.57 * pitch.c (cpuperc): New function to set cpu load (maxalloc): Ditto (prealloc): Ditto * cs.h: Added cpuload field to INSTRTXT 1999-08-02 J P Fitch <jpff@maths.bath.ac.uk> * argdecode.c (argdecode): variable outformch made static (argdecode): Make it a warning rather than an error to have two values * main.c (main): [rasmus ekman] the default sampel size was set before the .csd decode. Now moved to after 1999-08-01 John Fitch <jpff@lansky> * physmod.c (DLineA_tick): Test for wrapround was wrong 1999-08-01 John Fitch <jpff@montague> * vdelay.h: Added nreverb header to this fiel and remove nreverb.h * modal4.c (marimbaset): multiple strikes controlled by optional arguments * entry.c: marimba gains two optional arguments * modal4.c (marimbaset): Triple strike could not happen; fixed. Also made messages look at message level 1999-07-31 John ffitch <jpff@lansky> * argdecode.c (argdecode): Make utility decode table driven, and add pvlook * util2/pvlook/pvl_main.c: New file to call pvlook * pvlook.c: New file (from Richard Karpen) changed to utility 1999-07-30 John ffitch <jpff@montague> * ugens6.c (delrset): (delwset): (tapset): Added FIFO * ugens6.h: Added delay FIFO to DELAYR 1999-07-29 John Fitch <jpff@lansky> * diskin.c: Reconstructed after matt * insert.c: Reworked all POLLEVENTS stuff after matt * sndinfUG.c: New file for interrogation of snd files * entry.c: Added filelen, filenchnls, filesr and filepeak opcodes * musmon.c (playevents): Simplification of calls to POLLEVENTS * fout.c: mark non ANSI stuff as not on macintosh * one_file.c (macgetstring): Renamed function from getstring * argdecode.c (argdecode): -P option for Macintosh 1999-07-26 John Fitch <jpff@montague> * aops.c (init_powers): (init_logs): (powoftwo_set): (logbasetwo_set): (powoftwo): (logbasetwo): New functions for fast 2^ and log_2 * sread.c (sget1): Change test to >MARGS rather than >=MARGS * cscormai.c (main): Call init_getstring * natben.c: New file (for cscormai.c really, but could be used elsewhere) 1999-07-26 John ffitch <jpff@lansky> * fgens.c (gen23): Added deferred allocation by counting first (fgens): Admit gen23 for deferred (hfgens): Ditto * ugens1.c (xsgset2): New function (expseg2): New function * entry.c: Added expsega 1999-07-25 John Fitch <jpff@lansky> * rdorch.c (getoptxt): DIVZ case was confused with peak case; changed tag to 0xfffc * entry.c: Ditto * insert.c (beatexpire): Count deallocation (timexpire): Ditto 1999-07-25 John ffitch <jpff@weir> * entry: Added active opcode * pitch.c (instcount): New function to recover active count * insert.c (insert,MIDIinsert): Count new activation (deact): and uncount * cs.h: Added active filed to INSTRTXT * ugens4.c (buzz): (gbuzz): Take absolute value on khd and suppress warning 1999-07-20 John Fitch <jpff@maths.bath.ac.uk> * rtwin32.c: Reworking by RWD after NT experience 1999-07-20 J P Fitch <jpff@maths.bath.ac.uk> * pitch.c (clockset): Got clocks wrong in setup -- all mapped to clock 0 1999-07-19 John ffitch <jpff@montague> * RELEASED VERSION 3.56 * one_file.c (blank_buffer): new function to allow blank lines in gap * fout.c: New file * fout.h: New file 1999-07-18 John Fitch <jpff@lansky> * winX11.c (ExitGraph): Ignore any errors 1999-07-18 John ffitch <jpff@montague> * sread.c (getscochar): Allowed @ in arithmetic part, and @@ for guard. Gives next power of 2 up, between 1 and 0x40000000 Also corrected ~ case 1999-07-10 John ffitch <jpff@montague> * uggab.c (fold): New function (after Gabriel, but optimised) (fold_set): * entry.c: Added resony, fold opcodes * uggab.c (rsnsety): (resony): New functions (after Gabriel to remove restriction) * uggab.h (struct): New structures for resony and fold 1999-07-08 John ffitch <jpff@weir> * insert.c (insert): Added psetdata handling on insert 1999-06-27 <jpff@wol> * Cwin.cpp (class CSenv): Dialog to set SSDIR etc (CArg): Remember last env in registry, and reset in non-null * winsound.rc: New Dialog for setting environment 1999-06-26 <jpff@wol> * getstring.c (init_getstring): Ensure name is remembered in Winsound * Cwin.cpp (OnEditOrch): Change to NOWAIT spawn of editor (OnEditScore): Ditto (cwin_exit): Interrupt playing if character typed 1999-06-26 John Fitch <jpff@lansky> * follow.c (follow): Read off end of input; change to post increment 1999-06-20 John ffitch <jpff@montague> * VERSION 3.55 released * util1/scot/main.c (main): * util2/mixer/extract.c (main): * util2/mixer/mixer.c (main): * lpanal.c (lpanal): * sndinfo.c: * pvanal.c: Accept -j * getstring.c (init_getstring): Look for environment variable CSSTRNGS as well * argdecode.c (argdecode): Skip -j option * main.c (main): init_getstring needs arguments * getstring.c (init_getstring): Check for a -j command line parameter to change strings database. Messy! 1999-06-15 J P Fitch <jpff@maths.bath.ac.uk> * cwin.cpp (OnExtras): Set Beatmode as well as Cmdtempo when needed 1999-06-05 John ffitch <montague> * aops.c: editting error, LIB1 rather than LIBA in asin to log10 (thanks Nicola) 1999-06-04 John Fitch <jpff@maths.bath.ac.uk> * getstring.c (init_getstring): Change error string 1999-05-30 John ffitch <jpff@montague> * mandolin.c (mandolin): Rescale sound to get amplitude correct (infoTick): allDone was not initialised * mandolin.c (mandolinset): Added 50Hz as lowest frequency for Mandolin 1999-05-29 John Fitch <jpff@lansky> * rdorch.c (getoptxt): Allow Z as an argument type for a list strating with a kvar, and alternating with avar 1999-05-29 John ffitch <jpff@montague> * ugens3.c (loscil3): There was no multiply by the amplitude. 1999-05-28 John ffitch <jpff@weir> * cwin.cpp (cwin_args): Do not add .wav/.aif if dac/devaudio 1999-05-27 John Fitch <jpff@lansky> * text.h: New message * pitch.c (mac, macset): Added new opcode * ugsc.h: * ugsc.c: New files * entry.c: Added opcodes svfilter, hilbert, resonr, resonz. mac 1999-05-24 John Fitch <jpff@lansky> * ugens4.c (buzz): Report knh <=0 once once per note (gbuzz): Same * ugens4.h: New field reported in BUZZ/GBUZZ to suppress excess messages 1999-05-20 J P Fitch <jpff@maths.bath.ac.uk> * ugens1.c (linseg): (linsegr): (klnsegr): (kxpsegr): (expsegr): (klnseg): Test for out of count was wrong -- replaced by <= 1999-05-17 J P Fitch <jpff@maths.bath.ac.uk> * VERSION 3.54 released * getstring.c: New file * cs.h: #include text.h * makedb.c: New file to build strings database 1999-05-10 John ffitch <jpff@montague> * ALL FILES nearly: Added STR macro to strings in preparation for localisation. Later changed to Str 'cos of Irix4 * text.h: new file for localisation. 1999-04-27 John Fitch <jpff@lansky> * uggab.c (product): New code * entry.c: New opcode product 1999-04-27 J P Fitch <jpff@maths.bath.ac.uk> * entry.c: Rename nsamp to nsamp_i so it can be used! 1999-04-18 John ffitch <jpff@wol> * main.c (main): Check for .csd and .CSD as DOS messes endings 1999-04-17 John ffitch <jpff@weir> * biquad.c (biquad): Optimise by using local variables more (pareq): The same (rezzy): The same (moogvcf): Same 1999-04-10 John ffitch <jpff@weir> * fgens.c (fgens): Added 0.5 to avoid rounding problems * musmon.c (playevents): * linevent.c: Accept e event 1999-04-09 John ffitch <jpff@weir> * entry.c: Added sum opcode * uggab.c (sum): Added new function * biquad.c (pareq): Changes /2 to *0.5, and stopped recalculation of sqrt 1999-04-06 John ffitch <jpff@weir> * rdorch.c (getoptxt): Gabriel changes for y and z argument types 1999-04-05 John ffitch <jpff@weir> * fm4op.c (FM4Op_loadWaves): Initialise w_time array to zero 1999-04-02 John ffitch <jpff@weir> * cwin.cpp (cwin_args): Add .wav or .aif if no . in name * soundio.c (sfopenout): Default name to test.wav test.aif or test depending on filetyp * rdorch.c (rdorchfile): Check for argument being too long * argdecode.c (argdecode): Section brackets neded in case 'o' due to #ifdef badly used. 1999-04-01 John ffitch <jpff@weir> * pvread.c (pvreadset): Correct error mesage to say PVREAD rather than PVOC 1999-03-31 John ffitch <jpff@weir> * biquad.c (vco): * vpvoc.c (voscili): * ugens7.c: * ugens4.c: * ugens3.c: * pvadd.c (pvadd): * spectra.c: * grain.c (ags): * disprep.c (tempeset): * ugensa.c: * ugens2.c: PMASK -> PHMASK for clarity, avoiding Solaris problem and consistency with Barry's sources. 1999-03-25 John ffitch <jpff@montague> * soundio.c (sfopenout): Piped output must be raw or IRCAM format. Force AIFF and WAv to IRCAM 1999-03-23 John ffitch <jpff@montague> * cmath.c (irate randoms): All improved coding to minor effect 1999-03-21 John ffitch <jpff@montague> * VERSION 3.53 * sread.c (getscochar): Accept ~ to indicate a random number * entry.c: Added pitch opcode * pitch.h: * pitch.c: New file * physmod.c (flute): Code improvements to save reading variables inside nsmps loop. 1999-03-20 John ffitch <jpff@montague> * sysdep.h (tell): Define tell is SYS5 case as it seems to be rare 1999-03-19 J P Fitch <jpff@maths.bath.ac.uk> * entry.c: use 0xffd for peak opcode * rdorch.c (getoptxt): Use code 0xffd for discrimination on first argument (and not answer) 1999-03-19 John ffitch <jpff@montague> * soundin.c (soundin): * diskin.c (soundinew): only do code after filend in ngoto is strictly positive 1999-03-14 John Fitch <jpff@lansky> * midiops.c (cpsmidi): Remove pitchbend stuff from cpsmidi * entry.c: Size field in aftouch was wrong 1999-03-11 J P Fitch <jpff@maths.bath.ac.uk> * sread.c (stof): NeXT fix confusing ramps 1999-03-11 John Fitch <jpff@lansky> * physmod.c (clarinset): (fluteset): (bowedset): (brassset): Assume 50Hz lowest freq if not given 1999-03-10 John Fitch <jpff@maths.bath.ac.uk> * physmod.c (fluteset): Assume intital amplitude is maximum to avoid a problem with zero. Do not understand this yet, but something to do with ADSR AttackRate. 1999-03-09 John ffitch <jpff@montague> * entry.c: opcode envlpxr had wrong structure, so could have crashed 1999-03-05 John Fitch <jpff@lansky> * mandolin.c (mandolinset): Allow for skipping initialisation, and add error check. * shaker.h: File not transferred to PC leading to crashes 1999-02-21 John ffitch <jpff@montague> * entry.c: Change names ondur/ondur2 to the more natural noteondur/noteondur2 Also chanctrl base opcode was missing * aops.c (ftlen): Change to call ftnp2find so any deferred table is loaded before giving teh length. 1999-02-20 John Fitch <jpff@lansky> * ustub.h: Added declaration of currevent * vdelay.c (vdelay3): Setting of v0 could be wrong (possibly?) * pvadd.c (pvaddset): * pvinterp.c (pvcrossset): (pvbufreadset): (pvinterpset): * ugens9.c (cvset): * ugens5.c (lprdset): * ugens3.c (adset): * soundin.c (sndgetset): * diskin.c (newsndinset): Added support for string arguments in score (GAB) * rtnext.c: New file * Makefile: * diskin.c: * entry.c: * linevent.c: * midirecv.c: * sfheader.c: * soundin.c: * soundio.c: * soundio.h: * sread.c: * ugens2.c: Added NeXT code 1999-02-18 J P Fitch <jpff@maths.bath.ac.uk> * entry.c: The ftsr opcode got lost * biquad.c (nestedapset): New code (nestedap): New code (lorenzset): New code (lorenz): New code * biquad.h: Added NESTEDAP and LORENZ struct 1999-02-14 John ffitch <jpff@montague> VERSION 3.52 * dumpf.c: Added readk code * dumpf.h: Added KREAD structures * entry.c: Added readk, readk2, readk3 and readk4 * ugens6.c (deltap): Safer test for tap point (deltapi): Ditto (deltapn): Ditto (deltap3): Ditto * swrite.c (pfout): (expramp): Allow () as alternatives to {} * sread.c (operate): Added % and ^ to arithmetic operations (getscochar): Ditto * uggab.h: Add structs for poscil and lposcil * uggab.c: Add code for poscil and lposcil and cubic forms * entry.c: Added poscil and lposcil, poscil3 and lposcil3 * follow.c (follow): Make it follow max abs value rather than max and min separately. Recode for speed as well. (flwset): Recoding for speed later 1999-02-13 John Fitch <jpff@montague> * sread.c (getscochar): Typing error strlen(b+1)=>strlen(b)+1 1999-02-13 John ffitch <jpff@weir> * ugens5.c (rsnsetx): Test for new buffer was wrong (tonsetx): Ditto 1999-02-12 John ffitch <jpff@montague> * ugrw1.c: Deprecated itable* opcodes * modal4.c: Added deprecated message to agogobel * entry.c: Changed all iout* to outi*, kout* to outk* ion/ioff -> noteon/noteoff. midic#/imidi# unified ctrl#/ictrl# unified itable* -> tablei* with deprecated version with message 1999-02-11 John ffitch <jpff@montague> * entry.c: Changes islider# to slider#_i, similar for slider# and dummy entry. ilimit removed for limit_i etc, itableleng itimes/k 1999-02-09 John ffitch <jpff@montague> * ugens5.c (tonsetx): Only create buffer of states if initialising and buffer not present. Should remove some clicks. (rsnsetx): Same change 1999-02-08 J P Fitch <jpff@maths.bath.ac.uk> * aiff.c (aiffReadHeader): Recognise Name, Author, Copyright and Annotation chunks 1999-02-07 John Fitch <jpff@lansky> * oload.h: LABELIM needs to reference nlabels rather than NLABELS * otran.c (insprep): Ensure that goto list is long enough, not just expanded -- probably not necessary * rdorch.c (rdorchfile): Need to extend srclin array as well as linadr array when run out of lines. 1999-02-06 John ffitch <jpff@montague> * entry.c: Change distort1 to appoo at HM's suggestion 1999-02-05 John ffitch <jpff@montague> * aiff.c (aiffReadHeader): Skip unknown chunks * biquad.c (biquadset): If reinit field is not zero skip initialisation * entry.c: Added optional extra arg to biquad to control reinit 1999-01-31 John ffitch <jpff@weir> * VERSION 3.511 * rtaudio.c: split into platform specific bits, and Makefile changed for this. * midiops.c (pitchbend_value): Remove subtraction (and comment) as now handled in midirecv.c * entry.c: all 3 midip_k opcodes shoudl have thread of 3 * distort1 should have thread of 4 not 5 * physmod.c (fluteset): Length of deay line set wrong if optional last argument omitted 1999-01-27 J P Fitch <jpff@maths.bath.ac.uk> * ugens1.c (adsrset): Length incorrectly set in MIDI subcase. * diskin.c (newsndinset): Function replaced from matt 1999-01-26 John ffitch <jpff@weir> * sndwarp.c (sndwarp): New line from RK to handle rounding oddity (sndwarpst): Ditto 1999-01-26 J P Fitch <jpff@maths.bath.ac.uk> * rdorch.c (fopen_path): Correct typing error of $s instead of %s 1999-01-26 J P Fitch <jpff@lansky> * biquad.c * butter.c * cmath.c * dsputil.c * dsputil.h * filter.c * locsig.c * lpanal.c * modal4.c * oload.c * pvinterp.c * space.c * spectra.c * ugens8.c * vpvoc.c * wavegde.c * ugens3.c * fgens.c * prototype.h: Removed variable pi and twopi and used macros instead. In places improved code (ie use TWOPI rather than 2.0*pi) and in spectra.c corrected constants 1999-01-25 John ffitch <jpff@weir> * express.c (express): Deal with ^ when second argument is c k or i 1999-01-24 John Fitch <jpff@montague> * VERSION 3.51 * rdorch.c (rdorchfile): Change treatment of \ line continuations 1999-01-24 John Fitch <jpff@lansky> * main.c (main): If argdecode returns zero then exit as all done 1999-01-24 John ffitch <jpff@weir> * one_file.c (readOptions): Lines starting ; or # treated as comments. Also options starting ; or # end line * follow.c (follow): Improved coding, removing divison etc 1999-01-23 John ffitch <jpff@montague> * entry.c: Added xadsr and mxadsr opcodes * ugens1.c (adsrset): Added release stuff for MIDI case (xdsrset): New function (mxdsrset): New function 1999-01-23 John ffitch <jpff@weir> * one_file.c: Changed some printing to _DEBUG only * main.c (main): Check for empty score string as well as null in .csd case * ugens1.c (adsrset): Calculation of length remaining corrected * cwin.cpp (OnOrchestra): Look for .csd files as well 1999-01-22 J P Fitch <jpff@montague> * one_file.c (readOptions): Check for \r as well as \n as terminator 1999-01-19 John ffitch <jpff@montague> * sread.c (sget1): Allow /* */comments in scores * rdorch.c (splitline): Correct /* */ comments * ugens2.c (koscl3): Bug in reading table fixed 1999-01-17 John Fitch <jpff@montague> * argdeccode.c: Take account of AE_24INT in part * soundio.h: Added AE_24INT * cmath.c (ipow, apow, kpow): * cmath.h: (POW) rename pow filed to powerOf to avoid Mac problem * physmod.c (bowed): All code for setting frequency and betaratio was wrong; re-writen. 1999-01-16 John ffitch <jpff@montague> * entry.c: Added envlpxr opcode which was missing 1999-01-15 John ffitch <jpff@montague> * physmod.c (bowed): Set slope field as was missing 1999-01-13 J P Fitch <jpff@montague> * VERSION 3.50 * otran.c (otran): Zeroing instrument table started in wrong place (insprep): Reset ngotos and nlabels at start of function 1999-01-12 John ffitch <jpff@montague> * vdelay.c (deltapn): Added deltapn 1999-01-10 John ffitch <jpff@montague> * biquad.c and biquad.h: Added pareq opcode * ugens6.c (deltap3): New function * ugens2.c: Cubic interpolating versions of foscl, loscil and table * entry.c: Change parameter of foscil(i) to xkxxkio * ugens3.h (FOSC): Added new fields for below * ugens3.c (foscili): (foscil): Make more parameters a-rate possibly * entry.c: Added p parameter to moodvcf * biquad.h (MOOGVCF): and max field * biquad.c (moogvcf): Added max scaling 1999-01-04 John Fitch <jpff@lansky> * entry.c: slider (MIDI) opcodes added * midiops3.h: * midiops3.c: New files * entry.c: Added Gabriel Maldonado's slider opcodes 1999-01-04 John Fitch <jpff@montague> * ugens2.c (koscl3): (osckk3): (oscka3): (oscak3): (oscaa3): New code for oscilators with cubic interpolation * entry.c: Added oscil3 family of opcodes 1998-12-29 John Fitch <jpff@lansky> * ugens1.c (adsrset): Adjust ADSR for sustain too short etc 1998-12-25 John ffitch <jpff@weir> * aops.c: Added mod?? functions * entry.c: Added mod?? opcodes * express.c (express): Added % operator as mod, somewhat odd as a float. * entry.c: octmidib had flag wrong (editing error I suspect) * midiops.c (icpsmidib_i): (octmidib_i): (pchmidib_i): New functions * entry.c: *midib in i context needs new functions so it is initialised * cs.h: Remove posbend field as not used now. * midirecv.c (m_chanmsg): Remove posbend field (m_chinsno): Send pchbend field * midiops.c (pitchbend_value): Use pchbend field rather than posbend 1998-12-20 John Fitch <jpff@lansky> * version.h; VERSION 3.494 * main.c (main): Decode .csoundrc file * argdecode.c: New file with argdecode funcion * main.c (main): Call argdecode rather than in line * one_file.c (readOptions): Implement reading of options, calling argdecode * schedule.c (lfok): Phase calculation for sine was wromg (schedule): Added code to kill stragglers on reinit (schedwatch): Clear list when done (kschedule): Ditto 1998-12-19 John Fitch <jpff@lansky> * schedule.c (kschedule): Argument count in call to insert_event was wrong by one 1998-12-12 John Fitch <jpff@lansky> * entry.c: New opcode streson * repluck.c (stresonset,streson): New functions * repluck.h: New structure STRES 1998-12-01 John ffitch <jpff@weir> * rdorch.c (lexerr): Variable mm had incorrect initialisation (re) 1998-11-24 John ffitch <jpff@montague> * physmod.c (bowedset): Set 'unknown state' values to -1 as the value of zero could be found in the product. 1998-11-21 John ffitch <jpff@montague> * ugens4.c (arand): Correct a typing error which gave noise in short rand vresion. 1998-11-20 John Fitch <jpff@lansky> * aiff.c, cvanal.c, filopen.c, hetro.c, insert.c, linevent.c: * lpanal.c, main.c, memalloc.c, memfiles.c, midirecv.c, midisend.c: * musmon.c, mw_menu.c, one_file.c, otran.c, pvanal.c, pvoc.c: * rdorch.c, rtaudio.c, sfheader.c, sndinfo.c, soundio.c, wave.c: * windin.c, dpwelib.h, scot.h, sysdep.h, cs.h: Changed __MWERKS__ for macintosh so as not to confuse the BeOS port 1998-11-18 John ffitch <jpff@wol> * PVDLG.CPP (DoDataExchange): Confusion over hopsize and frame ince sorted out * Cwin.cpp (OnExtras): Move saving of profile into tested area so m_midiselector is valid (rasmus ekman) 1998-11-16 John ffitch <jpff@montague> * express.c (express): Start to add ^ to expressions for pow 1998-11-14 John Fitch <jpff@lansky> * VERSION 4.392 * aiff.c (aiffReadHeader): Make message understand n-channels * wave.c (wavReadHeader): Added line giving file name as helps sndinfo. Also extended to multi-channel * rdorch.c (getorchar): Ignore ^Z from a file so as not to upset MS-DOS files * ugens4.c: Incorporate new 31bit rand into old opcodes with selector * ugens4.h (struct): Added new field to RAND RANDI and RANDH to select which PRNG 1998-11-14 John ffitch <jpff@montague> * rdorch.c (getoptxt): Use linopnum to check size as flag rather than many calls to strcmp (getoptxt): Change wrong out[sqho] to a warning and patch * entry.c: Added dummy pow (I had forgotten) * rdorch.c (getoptxt): Added pow to list of translation opcodes 1998-11-09 John Fitch <jpff@lansky> * entry.c: Added opcodes rand2, rand2h and rand2i * ugens4.c: New set of random operators based on 31 bit Park Miller PRNG using Linus Schrage's method for a better version 1998-11-09 John ffitch <jpff@montague> * midirecv.c: Many changes in LINUX code 1998-11-08 John ffitch <jpff@weir> * rdorch.c (getoptxt): Added filter2, and fixed bug in intrpol (should be ntrpol). * dumpf.c (old_kdmpset, old_kdmp2set, old_kdmp3set, old_kdmp4set): New functions for kdmpset etc with warning * entry.c: New opcode midion (same as kon), and rename kon2 as midion2. Added dump for kdump etc. kfilter2 and filter2 as filter2_z * midiout.c (kvar_out_on_set1): New function, same as kvar_out_on_set except prints message asking to use midion. 1998-11-07 John ffitch <jpff@montague> * midiout.h (struct): Many new structures * midiops2.h (MIDIIN): New struct * oload.h: New type PCTL_INIT * entry.c: Added opcodes pctrlinit and dpctrlinit (GAB) midiin, midiout kon2 nrpn cpstmid * oload.c (instance): Channel searching (GAB?) (ctlinit): New function * midisend.c: Changes to LINUX code * midiout.c (iout_on): (iout_off): (iout_on_dur_set): (moscil): (kvar_out_on): (out_controller): (out_aftertouch): (out_poly_aftertouch): (out_progchange): (out_controller14): (out_pitch_bend): Channel has 1 subtracted (GAB) * midiout.c (xtratim): Extend only more required * midiops.c (aftouch): (imidictl): (midictl): (pchmidib): (octmidib): (cpsmidi): (icpsmidib): (kcpsmidib): (ipchbend): (kpchbend): Use MIDI_VALUE or pitchbend_value * midiops.c (massign): Additional code to check instr exists * midiops.c (MIDI_VALUE): (pitchbend_value): Added new macros to check null case 1998-11-03 John ffitch <jpff@weir> * vdelay.c (vdelay): At last someone [Ed Hall] has sorted out this confused comparison (vdelay): and again * ugens6.c (comb): Alpha exponential problem [Ed Hall] * sread.c (salcblk): * otran.c (otran): Alpha alighment again [Ed Hall] * opcode.c (list_opcodes): Deal with setting n in a beter and portable way [Ed Hall] * oload.c (oload): On alpha need to ensure alignment [Ed Hall] * insert.c (showallocs): On Alpha print in %p format [Ed Hall] * soundio.c (audwrite_norm): * linevent.c: * aiff.c: Added LINUX to non-options (was MAC only) [Ed Hall)] 1998-11-02 John ffitch <jpff@montague> * ugens1.c (adsrset): segsrem set one too high I think. 1998-11-01 John ffitch <jpff@montague> * hetro.c (TWOPI): Correct constant from 6.28308530 to 6.28318530 1998-10-29 John ffitch <jpff@montague> * linevent.c: * soundio.c: * rtaudio.c: pipe etc renaming for LINUX as well as SGI 1998-10-25 John ffitch <jpff@wol> * schedule.h: * schedule.c: New files 1998-10-25 John ffitch <jpff@weir> * insert.c: Make tieflag visible for schedule (showallocs): Make visible externally 1998-10-22 John ffitch <jpff@weir> * entry.c: Added schedule and schedwhen 1998-10-20 John ffitch <jpff@lansky> * version.h: VERSION 3.49 1998-10-20 John ffitch <jpff@wol> * entry.c: Added envlpr opcode * ugens1.c (evrset): (knvlpxr): (envlpxr): New functions * ugens1.h (struct ENVLPR): Replaced definition as was not used anyway 1998-10-19 John Fitch <jpff@lansky> * entry.c: ntrpol incorrectly specified **************** Send to Matt and Dave ********************** 1998-10-18 John ffitch <jpff@weir> * entry.c: Added madsr opcode, uses linsegr and adsr code 1998-10-18 John ffitch <jpff@wol> * sread.c (getpfld): Allow {} and ~ characters in scores (ifa): ^ refers to previous event of any instrument; needs new variable which is set to -1 and reinitialialed at sections etc * swrite.c (pfout): Added {} as calls to expramp and ~ to randramp (expramp): New function (randramp): New function 1998-10-17 John ffitch <jpff@wol> * entry.c: Added opcodes biquad, moogvcf and rezzy * biquad.c: * biquad.h: New files * musmon.c (musmon): Change name CsMidiOpen to MacMidiOpen * midisend.c: Support for MAC * midirecv.c: MAC declaration of MacSensMidi (m_chanmsg): Now global (m_chn_init): Now global (sensMidi): Code for MAC * main.c (main): Minor changes for MWERKS (dribble_printf): New MAC version * aifc.c (aifcReadHeader): Changes for Matt 1998-10-13 John ffitch <jpff@wol> * version.h: VERSION 3.49 1998-10-11 John ffitch <jpff@wol> * entry.c: New opcode adsr * ugens1.c (adsrset): Added adsr opcode to link to linseg 1998-10-11 John ffitch <jpff@weir> * swrite.c (swrite): Avoid extra space at end of score components 1998-10-11 John ffitch <jpff@wol> * cs.h: Mke size field in OENTRY a short again!! * swrite.c (swrite): REemoved some extra code in Unix sources * Pvread.h (struct PVREAD): Make fftBuf of type AUXCH * Pvread.c (pvreadset): Fill in fftBuf as a dynamic structure with auxmalloc (pvread): And in its single place of use 1998-10-07 John ffitch <jpff@weir> * ugens8.h (PVFRAMSIZE): Increased to 8196 and consequent changes * cs.h: Make size field in OENTRY an int 1998-10-06 John ffitch <jpff@weir> * fgens.c (gen23): New table generator * entry.c: Added wguide1 and wguide2 * aiff.h (Float32Name): Change at Matt's suggestion * main.c (main): Call fflush in case 'V' * soundin.c (sndgetset): Remember curr_func_sr in gen struct * fgens.c (gen01raw): Added memory of curr_func_sr 1998-10-05 John ffitch <jpff@weir> * aops.c (ftsr): Put ftsr back! * entry.c: rename to ntrpol 1998-09-19 <jpff@wol> * entry.c: Added intrpol_X opcodes and trig * uggab.c: * uggab.h: New files * rdorch.c (getoptxt): Translate mirror and wrap in _i context 1998-09-16 <jpff@wol> * ugens5.c (tonsetx): New function after Maldonado (tonex): Ditto (atonex): Ditto (rsnsetx): Ditto (resonx): Ditto * entry.c: Added opcodes tonex atonex resonx * ugens5.h: Added TONEX and RESONX structures 1998-08-25 John ffitch <jpff@weir> * musmon.c (musmon): Load orchestra before opening MIDI file 1998-08-24 John ffitch <jpff@weir> * entry.c: Entry for specptrk not in agreement with manual specdisp shudl have last argument optional 1998-08-23 John ffitch <jpff@weir> * oload.c (oload): NULL out new part of strsets when extending 1998-08-22 John ffitch <jpff@weir> * ugens4.c (rhset): Correctiosn to older version (buzz): Change the error on knh<=0 to warning and assume 1 1998-08-21 John ffitch <jpff@weir> * spectra.h: * spectra:c Added spectrum opcode * rdorch.c: Allow w op s,.. opcodes * fgens.c (GENUL): Added this function to stand for unknown gens * entry.c: Add spectrum opcode 1998-08-20 John ffitch <jpff@weir> * entry.c: Rename kport -> portk etc * wincwin.c: Remove tracing * sread.c (sget1): Another attempt at the interaction between \ and comments * entry.c: ktableseg and ktablexseg renamed as tableseg and tablexseg * midirecv.c (MidiOpen): Ensure m_chnbp array is NULLed and re-layout * soundio.c: * soundin.c: * sndinfo.c: * main.c: * diskin.c: * aifc.c: Change string AIFC to AIFF-C for consistency * midirecv.c (m_chanmsg): Add PROGRAM_TYPE case as was missing * opcode.c: In full case try to maintain better layout * lowpassr.c: Various adjustments * opcode.c: Change to 3 columns 1998-08-19 John ffitch <jpff@weir> * sread.c (sread): Correct typing error od 1.1 to 1.0 (ifa): Only warp p3 in i case 1998-08-18 John ffitch <jpff@weir> * ugens5.c (reson): Save value of asig at end (areson): ditto 1998-08-15 John ffitch <jpff@weir> * vpvoc.c (vpvset): * ugens9.c (cvset): * ugens8.c (pvset): * ugens5.c (lprdset): * ugens3.c (adset): * pvread.c (pvreadset): * pvinterp.c (pvbufreadset): * pvadd.c (pvaddset): * diskin.c (newsndinset): Allow strset in opening * oload.h (STRSMAX): Reduce this to 8 as it grows * oload.c (oload): Make strsmax a variable and expand table as required 1998-08-07 John ffitch <jpff@weir> * lowpassr.h * lowpassr.c: New code * entry.c: Added opcodes lowres, lowresx and vlowres * oload.c (instance): Deal with strset and pset specially * otran.c: Make ngotos visible * soundin.c (sndgetset): Treat strsets in opening a file * soundio.c (sfopenout): Treat output null as /dev/null * sfheader.c (rewriteheader): Support for /dev/null selection * cwin.cpp (set_up_argv): Allocate 1 longer to argv as it was bust 1998-08-06 John ffitch <jpff@weir> * otran.c: Make nlabel visible externally * oload.c (oload): Try copying string in STRSET (instance): Make nlabels into an extern and allocate lopds dynamically. * otran.c (otran): Deal with strset specially 1998-08-05 John ffitch <jpff@weir> * musmon.c (beep): On CWIN use system function Beep 1998-08-04 John ffitch <jpff@weir> * midirecv.c (m_chinsno): Check diasslowed instr 0 * sread.c (getscochar): * rdorch.c (getorchar): Map '\r' to '\n' * midirecv.c (m_chanmsg): Chsange O.SusPThresh to non zero * cs.h: Remove O.SusPThresh field * cwin.cpp (class CSextras): Remove m_pedal and all references 1998-08-03 John ffitch <jpff@weir> * rdorch.c (LENMAX): Reduce LENMAX to 100 as rather too generous 1998-08-02 John ffitch <jpff@weir> * RELEASE VERSION 3.484 1998-08-01 John ffitch <jpff@weir> * sread.c (sread): Introduce warp_factor for local time warping -- multiple scales etc. Defaults to 1.0, reset at section. Uses v * rdorch.c (lexerr): * sread.c (scorerr): Initialise mm * soundio.c: Changes to reporting in sfopenin/out * aifc.c (aifcWriteHdr): Argument order in memcpy wrong 1998-07-31 John ffitch <jpff@weir> * rdorch.c (splitline): Use realloc rather than alloc and copy for extending groups (twice) 1998-07-29 John ffitch <jpff@weir> * entry.c: Change addxx to add_xx etc * express.c (express): Another place where ki should be i_k Also change tags to _xx * flanger.c (flanger): Fix a JPff error in flanger 1998-07-28 John ffitch <jpff@weir> * entry.c: Last argument to flanger shoudl be v (optional 0.5 default) * sread.c (sget1): Use fopen_path function * rdorch.c (fopen_path): New function to use pathnames in include -- and elsewhere perhaps (rdorchfile): Use function 1998-07-26 John ffitch <jpff@weir> * sread.c (scorerr): New function for score errors in macros etc (getscochar): Give it an argument to say if we are expanding $ and [ 1998-07-25 John ffitch <jpff@weir> * lpanal.c (alpol): Removed reclaration of arrays a and x from alpol as it was inside the loop! * cwin.cpp (cwin_ensure_screen): Make it into a int function for new POLL_EVENTS() * aifc.c: New File * aiff.c (is_aiff_formtype): New function * aiff.h: AIFC-32 float support (MWERK only??) * windin.c (xyin): MWERKS version * wave.c (wavResetFrameSize): New fn for MWERKS * soundio.c: * sfheader.c: * sndinfo.c: MWERKS and AIFC support * rtaudio.c: MWEKS support all over * main.c: MWERKS suport and changes for AIFC * wavegde.c: * sysdep.h: * pvinterp.c: * pvanal.c: * otran.c (insprep): * musmon.c: * midirecv.c: * memfiles.c: * memalloc.c (memdie): * lpanal.c (lpanal): * linevent.c: * insert.c (kperf): * hetro.c (hetro): Added MWERK support * fgens.c: fmax renamed maxfnum 'cos of MWERKS name conflict * ftgen.h (MAXFNUM): Chane of name from fmax * filopen.c: * DPWELIB.H: MWERKS support * cvanal.c (cvanal): Add MWEKS to SYMANTEC if defined * cs.h (POLL_EVENTS): Make -i in cases when not used * butter.c: Added MWERKS support 1998-07-24 John ffitch <jpff@weir> * opcode.c (list_opcodes): Comparison stops at _ by copying strings * sread.c (sget1): heck #include file opened * rdorch.c: Use linepos rather than the broken atbol (rdorchfile): Check that #include file can be opened 1998-07-23 John ffitch <jpff@weir> * rdorch.c: * sread.c: Allow digits in macro names in both definition and use, by isdigit when not first chararcter 1998-07-22 John ffitch <jpff@weir> * soundin.c (sndgetset): Bug fix from Matt 1998-07-21 John ffitch <jpff@weir> * rdorch.c (getoptxt): Translate to divz_..; and for oscil(i_.. * entry.c: Put _ in divz opcodes and oscil(i) 1998-07-20 John ffitch <jpff@weir> * entry.c: Make gauss etc using the translate flag * rdorch.c (getoptxt): Us a flag of 0xffff to indicate ned for name translation. Move various midi ops to this syste 1998-07-19 John ffitch <jpff@weir> * main.c: Removed all references to Scot * fgens.c: Changed GEN01 to GEN1 in error messages etc. (gen20): Replaced large declared arrays with mmalloc'ed space which extends. * physmod.c (JetTabl_lookup): Remove fictious JetTable class, as it did not use the provious value. (flute): Change arguements to JetTabl_looup * flute.h: Added lastJet field Remove JetTabl field as not used * physmod.c (flute): Reorganise flute, setting of frequency when changed only etc. Sounds better. (fluteset): Minor initialisations of lastFreq and lastJet. 1998-07-18 John ffitch <jpff@weir> * physmod.c (DLineA_setDelay): Check that it is initialised; also fix serious typo in initialisation skip. * otran.c (otran): I had missed changing string "r=" to "=_r" Also check string has second char of _ rather than first of r * sread.c: New variable (flushing) to indicate when not to deal with [] things in scores (getscochar): Use it (flushlin): And set it 1998-07-17 John ffitch <jpff@weir> * physmod.c: For all physical models in theis file, if lowestfreq is negative, skip initialisation. (clarinet, flute, bowed, brass) 1998-07-13 John ffitch <jpff@weir> * flanger.h: * flanger.c: New file * entry.c: Added flanger entry * fgens.c (fgens): It cleared new part of table one too soon (hfgens): Ditto twice [Thanks Matt] 1998-07-11 John ffitch <jpff@weir> * otran.c (otran): It checked against MAXINSNO rather than maxinsno and so wiped out all instrs over 200! * fgens.c (gen01raw): Check against ALLCHNS-1 rather than 4 for channel count. (gen04): Suspected editing error as it went off end of the array. Moved an assignment outside loop. Should check old code. * winsound.rc: Change OK button to Render * ugens4.c (rhset): If seed provided is greated that 1 use it directly rather than scaling. * entry.c: Many function renames from axxx -> xxx_a etc * express.c (express): Make functions have _k at end rather than k at start. Fixes name polution problems. 1998-07-10 John ffitch <jpff@weir> * sfheader.h: Remove readopensf macro as not used anywhere! 1998-06-27 <jpff@montague> * otran.c (otran): Mistype of MAXINSNO instead of maxinsno 1998-06-25 John ffitch <jpff@wol> * entry.c: Removed voscili * vpvoc.c: 1998-06-24 John ffitch <jpff@wol> * entry.c: Removed extra argument in shaker opcode 1998-06-24 J P Fitch <jpff@maths.bath.ac.uk> * shaker.h: Removed numtimes from structure as not used. 1998-06-23 J P Fitch <jpff@maths.bath.ac.uk> * version.h: VERSION 3.483 * entry.c: Arguments for aftouch were wrong; made 2 optional * otran.c (otran): Allow STRSET in header blk 1998-06-15 J P Fitch <jpff@maths.bath.ac.uk> * diskin.c (newsndinset): Bug fix from Matt * soundin.c (sndgetset): Bug fix from Matt 1998-06-02 <jpff@wol> * version.h: VERSION 3.482 1998-05-29 <jpff@wol> * Fgens.c (ftresdisp): Only call display if not already displayed displayed new variable. Many tables were getting displayed twice. May be better ways to do this though (fgens): Initialised this variable 1998-05-20 John ffitch <jpff@weir> * linevent.c (sensLine): If n negative Linend was wrongly set 1998-05-17 <jpff@wol> * rdorch.c (rdorchfile): Make stray # into a warning rather than error (getorchar): Remember when at start of line (rdorchfile): Only check # when at beginning of line 1998-05-15 John ffitch <jpff@wol> * sread.c (sread): Correct 'b' case of character in score which is unwanted. * wincwin.c (DrawGraph): Remove call to cwin_paint which was causing each graph to nbe drawn twice 1998-05-14 John ffitch <jpff@wol> * Cwin.cpp (cwin_args): Set o.outbufsamps from oMaxLag from profile. (OnExtras): Set value to half m_buffer. * pvdlg.cpp (Cpvdlg): Editing errors had left LPC in the initialisations * ugens5.c (tone): (atone): (areson): Coding improvements * soundio.c: Remove incorrect sol support (actually elsewhere) * rtaudio.c: Added solaris support from Sweden * winX11.c: Added casrs to (Window) in various unnecssary places * solarisAudio.h: * solarisAudio.c: New files * cs.h (VARGMAX): Increase to 801 as I cannot see how to make dynmaic yet. 1998-05-11 John ffitch <jpff@wol> * sread.c (getop): Include 'c' as valid score opcode 1998-05-09 John ffitch <jpff@weir> * FLUTE.H: lastamp field defined * sread.c (sread): Introduce 'c' as score option to reset a clock base, declare variable, and add top2 fields 1998-05-08 John ffitch <jpff@weir> * PHYSMOD.C (flute): Reset maxPressure aas a result of k-rate amp 1998-05-02 <jpff@wol> * rdorch.c: Changes to record names of files and macros and line numbers; new function lexerr to decode all this. 1998-04-28 John ffitch <jpff@weir> * main.c (main): Allow SET SFOUTYP=IRCAM, and -J option to set it. * soundio.h (TYP_IRCAM): Define new constant 1998-04-27 J P Fitch <jpff@maths.bath.ac.uk> * otran.c (otran): Need to NULL realloced proportion of instrtxtp array. 1998-04-22 J P Fitch <jpff@maths.bath.ac.uk> * version.h: Version 3.481 * dcblockr.h: * dcblockr.c: New file * entry.c: Added dcblock opcode 1998-04-21 John ffitch <jpff@weir> * cross2.c (Xsynthset): The treatment of the base of the buffer would lead to problems with second use or memory recovery. Do not change base. 1998-04-16 J P Fitch <jpff@maths.bath.ac.uk> * rtaudio.c (rtclose): Use *pcurp2 * musmon.c: Make new variable pcurp2 for WIN32 case. * ugensa.c (newpulse): Extra line setting ovp->formphs added at suggestion of rasmus.ekman 1998-04-15 John ffitch <jpff@weir> * VERSION 3.48 Tue Apr 14 12:41:54 1998 <jpff@montague> * oload.c: Remove second declaration of gbloffbas as reduntant. 1998-04-12 John ffitch <jpff@weir> * util1/sortex/xmain.c (synterr): Added definition * util1/sortex/smain.c (synterr): Added definition of synterr * shaker.h: New field, freq, for below. * shaker.c (shaker): Take acount of frequency argument by calling the filter. * soundio.c (audwrite_norm): Heartbeat formats 1 (as before), 2 (string if .s) and 3 (time in output). (audwrite): The same * main.c (main): Accept a digit after -H for various styles of reporting 1998-04-12 John Fitch <jpff@lansky> * space.h: * locsig.h: * locsig.c: * space.c: New files * entry.c: Added new opcodes for location/space * fgens.c: Added gen28 to tables (fgens): Defer allocation for gen28 as well (hfgens): Same 1998-04-10 <jpff@wol> * linevent.c (RTLineset): Allow pipes as input to -L * entry.c: Added printk2 opcode * ugrw1.c (printk2set): (printk2): New functions for new opcode * ugrw1.h (struct): PRINTK2 added * linevent.c (RTLineset): Set no buffering if no fcntl function case * rtaudio.c (rtplay): Coding changes to stop re-evaluations [Windows version] Many changes to record for Windows and closing 1998-04-08 <jpff@wol> * ugensa.c (newpulse): Change to *fund!=0 case [Ekman] * ugens7.c (fof): Treat fractions of grain properly in fof2 case [Ekman] * entry.c: asin, acos and atan renamed sininv, cosinv and taninv Also rename atan2 as taninv2 1998-04-05 John ffitch <jpff@weir> * entry.c: Aded atan2 operations * aops.c: Added atan2 operations 1998-04-05 <jpff@wol> * sread.c (getscochar): Add /* */ comments in scores * rdorch.c (copy_arglist): New function to copy argument definition from fixed buffer to new space (getoptxt): Use fixed nxtarglist and copy (getoptxt): Optional arguments are special case * diskin.c (newsndinset): Round error fix from Matt. 1998-04-04 <jpff@wol> * rdorch.c (rdorchfile): Moved allocation of ARGSPACE to place where orchestra size is known. (rdorchfile): Extend ortext area as needed. 1998-04-03 <jpff@wol> * rdorch.c (getoptxt): Try to extend ARGSPACE array with realloc * cwin.cpp (OnMouseMove): Remember mouse position on movement * wincwin.c (MakeXYin): Implement (ReadXYin): Implement 1998-04-02 <jpff@wol> * sread.c: Many changes to add macros and repeats 1998-03-27 <jpff@wol> * pvadd.c: New file * pvadd.h: New file * entry.c: Add pvadd opcode 1998-03-26 J P Fitch <jpff@maths.bath.ac.uk> * filopen.c (WR_OPTS): Correct order so Microsoft format is seen before WIN32 (which is really Watcom I guess) 1998-03-24 <jpff@wol> * rdorch.c (splitline): Added support for C-style comments 1998-03-23 <jpff@wol> * rdorch.c: Major changes to add macro facility, #include also 1998-03-16 <jpff@wol> * midirecv.c (m_chanmsg): Change insalloc to instrtxtp->instance * oload.c: Remove declaration of insalloc * insert.c (insdealloc): Removed reference to insalloc array as never initialised. Use instance field of instrtxtp instead 1998-03-15 <jpff@wol> * physmod.c (bowed): DlineL_setDelat was not set if no vibrato 1998-03-14 <jpff@wol> * physutil.c (DLineL_setDelay): Add check for delay too big * physmod.c (fluteset): Remove calls to OnePole and DCBlock clear * physutil.c (DCBlock_clear): remove (OnePole_clear): Remove * physutil.h: Remove lastOutput from OnePole and DCBlock * AIFF.C (aiffReadHeader): SEEK_CUR -> SEEK_SET (aiffReadHeader): twice 1998-03-13 <jpff@wol> * FILOPEN.C: Add WR_OPTS case for MSVC 1998-03-06 <jpff@wol> * Cwin.cpp (OnExtras): Set O.FMidiin when a midi file is specified (OnMidifile): Add *.mf midi files to types recognised 1998-03-04 J P Fitch <jpff@maths.bath.ac.uk> * physmod.c (clarinset): (fluteset): (bowedset): (brassset): Cannot be sure frequency given, so reorganise initialisation of frequency, including moving code to the performance function 1998-03-01 <jpff@wol> * cwin.cpp (cwin_exit): Use cwin_full_program_name for repeat use rather than plain winsound; hence does not have to be in search path * otran.c (otran): and use argument * rdorch.c (getoptxt): Give function an argument for reinit 1998-02-27 <jpff@wol> * lptrkfns.c (TWOPI): Replace variables by #defines * cross2.c (getmag): max was not intitalised so could have random results. * vdelay.c (multitap_set): max was not intitalised so could have random results. 1998-02-25 <jpff@wol> * physmod.c (bowed): When checking to see if betaRatio has changed one needs to incorporate frequency. Made lastbeta field into product of beta and freq (bowedset) Consequence of above 1998-02-22 <masjpf@WOL> * soundio.c (sfopenin): Added | syntax in -i files (sfopenout): and -o files (sfclosein): Deal with pipes in closing (sfcloseout): and the other kind 1998-02-21 John Fitch <jpff@lansky> * soundin.c (sreadin): Denormalise floating WAV files * rtaudio.c (getWaveOutDevices): New Function (getWaveOutName): New Function (playopen): Allow menu selection if device * midisend.c (openMIDIout): Replace NULL be 0 twice for ignored arguments (openMIDIout): Firest argument to sscanf missing! * dpwelib.h: Add _MSC_VER as well as SYS5 for strchr etc * soundio.c (audwrite_norm): New function for normalised floats (sfopenout): And arrange to call it * hetro.c (hetro): * sndinfo.c (sndinfo): exit onlt for non-CWIN * lpanal.c (lpanal): Use return in CWIN rather than exit (lpanal): Again * pvanal.c (pvanal): Use exit if in CWIN variant * ugens3.c: Moved declaration of isintab to top * wave.c: Many changes for completing floating samples * memalloc.c (memreset): Correct typing error 1998-02-17 J P Fitch <jpff@maths.bath.ac.uk> * entry.c: Added nreverb opcode, and make reverb2 the same * nreverb.h: New file * vdelay.c (nreverb): New function (nreverb_set): New function (reverb2_play): (reverb2_set): Removed (well #defined out) 1998-02-05 John Fitch <jpff@lansky> * rdorch.c (getoptxt): Add 'h' case 1998-02-01 John Fitch <jpff@lansky> * VERSION.H: 3.473 * shaker.c (shaker): Change type of shake to float * shaker.h: Removed shake_times as not used. Also change some longs to int. 1998-01-19 John Fitch <jpff@lansky> * VERSION.H: 3.47 * hetro.c: Make hmax a short so gets written correctly. 1998-01-07 John Fitch <jpff@lansky> * fm4op.c (hammondB3): Only reset frequencies if there is a modulation, and do it inside main loop 1998-01-06 John Fitch <jpff@lansky> * aops.c: Added tan, asin, acos, sinh, cosh, tanh, log10 support * entry.c: Added functions tan, asin, acos, sinh, cosh, tanh, log10 1998-01-02 John Fitch <jpff@lansky> * entry.c: Added entries for tablekt and tableikt having found them in ugens2.c 1997-12-31 John Fitch <jpff@lansky> * mandolin.c (mandolin): Arrange frequency is at k rate (mandolinset): If no lowest frequency need to multiply by 0.9 -- minimum suggested detune. * mandolin.c: NEW FILE * physutil.c (ADSR_setReleaseRate): (ADSR_setDecayRate): (ADSR_setAttackRate): Correction by NORM_RATE was missing. * fm4op.c (FM4Alg4_tick): Corrected mistaken use of wave[0] 4 times. * shaker.h: * singwave.h: * moog1.h: * fm4op.h: * shaker.c: * singwave.c: * moog1.c: * fm40op.c: NEW FILE 1997-12-28 John Fitch <jpff@lansky> * fgens.c (fgens): Apparent 'hole' at 300 tables. Fix this? * filter.c (FPMAX): Change name from FMAX as that is used elsewhere 1997-12-26 John Fitch <jpff@lansky> * ugensa.h: Make riphs field unsigned as Watcom gave false negative anser! * ugens2.c (kosc1): Will not compile with Symantec PowerC so remove optimisations (koscil): Ditto 1997-12-24 John Fitch <jpff@lansky> * sread.c (getpfld): Allow E and e in numbers 1997-12-23 J P Fitch <jpff@maths.bath.ac.uk> * entry.c: Added atan in three forms * aops.c: Added atan function. 1997-12-20 John Fitch <jpff@lansky> * wincwin.c (MakeGraph): Remove caption and call to cwin_show (DrawGraph): Added call to cwin_show * cwin.cpp (class CGrapicsWindow): Add methods for Next and Prev Added vectors to remember old graphs (Clear): Copy old picture to the vectors if not already saved. (Next): Next function to cycle through graphs (Prev): And previous graph Altered menus etc to fit, and calls from main window 1997-12-19 John Fitch <jpff@lansky> * rtaudio.c (playopen): Select win_dev in WIN32 if in range, else zero. Declare win_dev. * soundio.c (sfopenin): Accept devaudio# and adc# as valid RT audio in WIN32 situation. 1997-12-17 John Fitch <jpff@lansky> * vibraphn.h: * marimba.h: * modal4.h: * modal4.c: New File, for marimba, vibraphone and agogobel 1997-12-15 John Fitch <jpff@lansky> * fgens.c (gen01raw): Added check that length actually exceeded 1997-12-10 John Fitch <jpff@lansky> * util2/exports/het_import.c (main): And again * util2/exports/het_export.c (main): Deal with header Sat Dec 06 16:44:29 1997 John Fitch <jpff@weir> * ugens3.c (adsyn): Get pointer to partials (adset): Read header and allocate space via aux * ugens3.h (ADSYN): Make ptlptrs into an aux structure * hetro.c (filedump): Write a header of number of partials 1997-11-24 John Fitch <jpff@lansky> * sread.c (sget1): Deal with \ escapes 1997-11-23 John Fitch <jpff@lansky> * soundin.c (sndgetset): Prepare for AIFC (newsndinset): Ditto (sndo1set): Ditto * soundio.c (sfcloseout): Add TYP_AIFC in preparation (sfopenin): Ditto (sfopenout): Ditto (sfopenout): Ditto * aiff.h: Added CommChunk3 definition * soundio.h (TYP_AIFC): Define new constant * cs.h: Added maxamps field to AIFFDAT structure 1997-11-20 J P Fitch <jpff@maths.bath.ac.uk> * wave.c (wavReadHeader): Allow floats in input of WAV (wavWriteHdr): Allow floats in writing headers. * main.c (main): Allow WAV format floats 1997-11-18 John Fitch <jpff@lansky> * fgens.c: Increased number of gens to 27; added gen25 and gen27. 1997-11-15 John Fitch <jpff@lansky> * entry.c: Added opcode wgclar, wgflute, wgbow, wgbrass, marimba, vibes, agogobel, shaker, fmbell, fmrhode, fmwurlie, fmmetal, fmb3, fmvoice, fmpercfl * clarinet.h: * flute.h: * bowed.h: * brass.h: * physmod.c: * physutil.h: * physutil.c: New File * rdorch.c: Make lblreq into a dynamic object (rdorchfile): Alloc space to lblreq and initialise lblmax (lblrequest): Rewrite to use arrary access (lblfound): Rewrite to allow gro (lblchk): And again 1997-11-09 John Fitch <jpff@lansky> * sread.c (ifa): Allow ^n in second field of score (getpfld): Admit ^ in scores 1997-11-01 John Fitch <jpff@lansky> * makefile: * Makefile: * cross2.c: * all_files: Rename cross.c as cross2.c for consistency 1997-10-30 John Fitch <jpff@lansky> * midisend.c: Further revision on LINUX version In SGI case ensure only one call to write (for 2 or 3 bytes) for each MIDI output call. * main.c: Added LINUX-specific forward declarations (main): -Q option in LINUX 1997-10-28 John Fitch <jpff@lansky> * midisend.c: Various LINUX changes * ugens1.c (xsgrset): Setting of relestim was missing 1997-10-27 John Fitch <jpff@lansky> * midiops2.c (TRUE): Protect definition in case already exists 1997-10-26 John Fitch <jpff@lansky> * midisend.c: Added LINUX code * ugens1.c (lsgset): Allocation of segment space only checked for NULL and not being long enough (the common bug!) -- by inspection (lsgset): Wrote off end of SEG list. * SGIplay.c (play_on): Argument format to ANSI (play_set): Ditto ... and other functions * midiops2.c (initc7): Added void type (initc14): Ditto (initc21): Ditto * vpvoc.c (vpvset): Declaration of ldmemfil corrected * pvread.c (pvreadset): Declaration of ldmemfil corrected * pvinterp.c (pvbufreadset): Many %d -> %ld * scxtract.c (scxtract): Make functiomn type explicit * pvanal.c (takeFFTs): Correct format %d -> %ld * ugens7.c: Forward declaration of newpulse made ANSI * ugens4.c: Forward declarations of rand15 and rand16 made ANSI * ugens2.c (ptblchk): Added void type * ugens1.c (lsgset): Remopve variable d as not used * midirecv.c (m_chanmsg): Unwrapped ambiguous code * insert.c (MIDIinsert): Removed m_chnbp as not used * express.c (express): Added cast to char* * otran.c (constndx): Added cast to float* in case of C++ compiler * ugrw1.c (itablew): Declaration on ktablew (tableng): %f in format should be %p, or argument dereferenced (itableng): Ditto (tablegpw): Ditto (printksset): Remove false \c and \p cases (zawm): Unwrapped undefined code * fgens.c: Argument type in declaration of gen01raw * entry.c: Use sndwarpgetset * sndwarp.c (sndwarpset): Remove sndwarpset as not used * repluck.c (wgpsetin): Correct no-pluck case, and some code reorganisation to save space flapping 1997-10-15 John Fitch <jpff@lansky> * aops.c (cps2pch): Corrected a rounding error in table case. (cpsxpch): Ditto 1997-10-12 John Fitch <jpff@lansky> * ugens4.h: * ugens4.c: * ugens3.h: * ugens3.c: * entry.c: Remove doscil and poscil 1997-10-10 J P Fitch <jpff@maths.bath.ac.uk> * aops.h (struct XENH): Correct argument order to fit documentation * cross.c (Xsynthset): Need to check that previous buffer is big enough (same bug as was in grain) (Xsynth): Re-construct due to JPff errors (Xsynth): Wrapping of n was at odd place?? 1997-09-30 John Fitch <jpff@lansky> * ugens2.c (itblchk): Replace NULL by 0 for types Wed Sep 24 15:10:38 1997 J P ffitch <jpff@maths.bath.ac.uk> * midirecv.c: Prototype for midNotesOff * musmon.c: Need a prototype for xturnon * zroots.c, laguer.c, nrutil.c: Removed, Code moved into filter.c Tue Sep 16 07:54:37 1997 John ffitch <jpff@weir> * wavegde.c pluck.c filter.c zroots.c complex.c laguer.c nrutil.c: New files for plucked string and filter opcodes * cmath.c (seedrand): If seed of the random number is given as zero, seed from clock. * entry.c: Added new opcodes wgpluck, filter2, kfilter2, and zfilter2 * repluck.c: * repluck.h (struct): Rename WGPLUCK to WGPLUCK2 * entry.c: Renamed wgpluk to wgpluck2, and renamed structure * midirecv.c (m_chinsno): Remove test for maxinsno as there is no such thing really! * ugens2.c (ftkrchk): Moved return to end so all routes return a value. * rdorch.c (rdorchfile): Revise as MACRO now claimed by ADI Thu Sep 11 16:31:41 1997 John ffitch <jpff@weir> * cwin.cpp (OnGShow): Remove code related to backtrace as irrelevent (OnStop): Added stop and continue menu items as also as ^S-^Q These changes allow scrolling etc Wed Sep 10 11:49:53 1997 John ffitch <jpff@weir> * ugrw1.c (ftkrchkw): This function did not return any value in one case. Make it return 1 * otran.c (otran): Make sure ksmps is integer * ugrw1.c (timesr): (timesr): (instimes): (printkset): (printk): (printk): (printksset): (printks): Changed 1/ekr to onedkr to save division (zkset): Change value 0 for a float* to NULL as that is what is meant (zakinit): Do this twice more, (and for declarations) (zaset): Also for zastart Mon Sep 08 20:12:58 1997 John ffitch <jpff@weir> * ugens3.c: Prototype for turnoff * hrtferX.c: Removed function round as not used Fri Sep 05 11:44:30 1997 John ffitch <jpff@weir> * ugrw1.c (peakk): Changed abs to fabs which is clearly what is needed. Use of abs changes to int and then back. (Whittle code) (peaka): Ditto Thu Sep 04 11:54:26 1997 John ffitch <jpff@weir> * ugrw1.c (printksset): Tidyup string decode to make it compatable with C wrt \ character. Still needs work. * otran.c (otran): Allocate instrtxtp dynamically and allow to grow with mrealloc. Removes restricton on largest instrument number. * musmon.c (playevents): * midirecv.c (m_chinsno): (m_chn_init): * oload.c (oload): New variable maxinsno replaces constant Wed Sep 03 10:55:46 1997 John ffitch <jpff@weir> * fgens.c (hfgens): If automatic numbering, it did not always allocate space in table * rdorch.c (getoptxt): Count 'm' in defaults section to remove error in ftgen * insert.c (MIDIinsert): Remove aging and overlap stuff * cs.h: Removed olap and age fields in INSDS * midiops.c: Removed midiolap and midiage * entry,c: Removed octdown and noctdft opcodes, also midiolap and midiage * spectra.c: Removed code for octdown as it is ADI proprietry Fri Aug 29 15:25:59 1997 John ffitch <jpff@weir> * util2/mixer/mixer.c (main): * cwin.cpp (class CArg): * wave.c (wavReadHeader): * soundio.c (iotranset): * soundin.c (sndo1set etc): * main.c (main): * LINUXaudio.c (setsndparms): * soundio.h (AE_UNCH): Renamed from AE_BYTE to AE_UNCH Thu Aug 28 12:27:48 1997 John ffitch <jpff@weir> * rtaudio.c (playopen): New variable ntmp as multiple use of ndev was causing problems. * dpwelib.h: * dsputil.c: Removed nested comments * repluck.c: New file * entry.c: Added wgpluck and repluck opcodes Wed Aug 27 14:35:52 1997 John ffitch <jpff@weir> * ugens5.c: Reorder code so RESET might work Declare DumpPoles instead of DumpPolesF, and comment out call! Tue Aug 26 11:35:48 1997 John ffitch <jpff@weir> * cross.c: Incorporated fhtfun.c into cross.c * fhtfun.c: REMOVE file * UTIL2/scale.dir/scale.c: Declarations of functions * midiops2.c: New file * entry.c: Added midicontroller message stuff * midiops2.h: New file * grain4.c (graingenv4): Code tidy on *xx++ type code (envv4): Change way of commenting out to #ifdef never 1997-08-20 John Fitch <jpff@lansky> * midisend.c (send_midi_message): (note_on): (note_off): (control_change): (after_touch): (program_change): (pitch_bend): (poly_after_touch): Wrote WIN32 code for these as calls to midiOutShortMsg (openMIDIout): Open device 0 only for now * midioops.h (MD_CHANPRESS, etc): MIDI opcodes * midiout.c: Added calls to openMIDIout in each initialisation function. May seem expensive but is minimal disturbance. 1997-08-18 John Fitch <jpff@lansky> * SENT TO DAVE * midisend.c: Totally new file 1997-08-17 John Fitch <jpff@lansky> * pvanal.c (pvanal): * lpanal.c (lpanal): * cvanal.c (cvanal): * hetro.c (filedump): Ensure analysis file is read-write. Some systems seem to get this wrong * rtaudio.c (playopen): If more than 1 possible output in WIN32 then allow user to choise which. Also added some more checking (rtplay): Remove called to waveOutUnprepareHeader and waveOutPrepareHeader as they seem unnecessary (according to GAB) (rtclose): Change strategy for wrap-up * midiout.h: New file (Gabriel M) * midiout.c: New file (Gabriel M) * entry.c: Added MIDI output opcodes 1997-08-11 John Fitch <jpff@lansky> * rdorch.c: Added type 'h' to argument type -- needed in MIDI 1997-08-06 John Fitch <jpff@lansky> * ugens1.h: Define struct EXXPSEG * ugens1.c (xsgrset): Rewrite function 1997-08-05 John Fitch <jpff@lansky> * otran.c: Remove txtcpy in favour of memcpy, and define macro 1997-08-01 John Fitch <jpff@lansky> * dam.h: New file * dam.c: New file * makefile (dam.u): Added dam target * entry.c: Added dam opcode 1997-07-13 John Fitch <jpff@lansky> * cross.c: New File * fhtfun.c: New File (support for cross) * ugens2.c (oscnset): New function (osciln): New function (for osciln opcode) * ugens2.h: New structure OSCILN * entry.c: Declarations for cross2 opcode Also osciln opcode * soundio.h (IOBUFSAMPS): Larger default buffers for Windows95 1997-07-07 John Fitch <jpff@lansky> * ugens1.h: New fields in EXPSEG * entry.c: Added expsegr * ugens1.c (xsgrset): (kxpsegr): (expsegr): New functions * ugens3.h: New structure DOSC * oload.c (instance): Set chanel if MIDI * insert.c (insert): Add check for MIDI instruments from score 1997-07-05 John Fitch <jpff@lansky> * ugens3.c (dosset, doscil): New functions * entry.c: Added doscil opcode * soundin.c (sndwrt1): (sndwrtu): (sndwrt2rev): (sndwrt2): (sndwrt4rev): (sndwrt4): (sndwrtf): New functions * soundio.h: New structs SNDCOM, SNDOUT and SNDOUTS * soundin.c (sndo1set): New function (soundout): New function (sndo2set): (soundouts): New but null functions * soundio.h (SNDOUTSMPS): New constant * midiops.c (ipchbend): New function (kbndset): New function (kpchbend): New function * entry.c: Added ipchbend and kpchbend, modify pchbend Added soundout. Also soundouts but I think it is a failure Sun Jun 22 11:54:43 1997 John Fitch <jpff@lansky> * midirecv.c: Many changes and new functions for revised MIDI code * cs.h: New struct DPARM, DKLST and DPEXCL * ugens1.c (klnseg): Rewrite (lsgset): Rewrite (linseg): Rewrite * ugens1.h: Defien SEG type/struct * oload.c (oload): Define dvensmps * ugens1.h: Add new fields to LINSEG for releases * rdorch.c (rdorchfile): Added MACRo support Tue Jun 17 15:48:29 1997 John Fitch <jpff@maths.bath.ac.uk> * entry.c: Added linsegr opcode Mon Jun 16 21:50:39 1997 John Fitch <jpff@lansky> * rdorch.c (rdorchfile): Treat \ ... \n as ignorable Fri Jun 13 21:34:01 1997 John Fitch <jpff@lansky> * entry.c: Added turnon opcode Tue Jun 10 09:02:58 1997 John Fitch <jpff@lansky> * midiops.c (ichanctl): (chctlset): (chanctl): New functions * midiops.h: Added CHANCTL structure * entry.c: Added chanctrl opcodes Mon Jun 9 21:43:27 1997 John Fitch <jpff@lansky> * entry.c: Added extra optional argument to [ik]midictrl * midiops.c (mctlset): Added scaling * midiops.h: Changed MIDICTL to lo and hi from sc and base * midiops.c (imidictl): (midictl): Added scaling * midiops.h: Added MIDIMAP structure * entry.c: Added optonal arguments to veloc * midiops.c (veloc): Added scaling to veloc Removed f128 in favour of a constant Sat Jun 7 20:06:53 1997 John Fitch <jpff@lansky> * entry.c: Added ftlptim opcode * ugens4.c (posset): New function (poscil): New function * ugens4.h: POSC structure * entry.c: Added rnd and birnd in i and k formats Added poscil * aops.c (rnd1): (birnd1): New functions for direct use in orchestras Fri Jun 6 09:20:31 1997 John Fitch <jpff@lansky> * cs.h: Added posbend field to MCHNBLK Thu Jun 5 21:48:00 1997 John Fitch <jpff@lansky> * cs.h: Added mdepends field to INSTRTXT Wed Jun 4 11:46:03 1997 John Fitch <jpff@lansky> * aiff.c (aiffReadHeader): initialised markersp to NULL Tue May 27 08:17:57 1997 John Fitch <jpff@lansky> * cs.h: Added #defines for VSET etc * oload.h (struct): Lots of new structures for Vprogs and the like * midiops.h: Added MASSIGN and CTLINIT structures Sun May 25 17:22:09 1997 John Fitch <jpff@lansky> * ftgen.h: New file * entry.c: Entry for ftgen opcode * fgens.c (hfgens): New code (ftgen): New code; together for ftgen opcode Sat May 24 18:36:41 1997 John Fitch <jpff@lansky> * cs.h: Added fno to FUNC Tue May 20 10:29:02 1997 John Fitch <jpff@lansky> * ugens7.c (harmset): New function (BV) (harmon): Ditto * entry.c: Entry for harmon * ugens7.h (struct): Added HARMON struct Mon May 19 21:51:31 1997 John Fitch <jpff@lansky> * ugensa.c (newpulse): Changes abs to fabs as that is clearly what is needed. Mon May 19 12:20:51 1997 John Fitch <jpff@maths.bath.ac.uk> * winX11.c: Added include of <stdio.h> Mon May 19 08:50:44 1997 John Fitch <jpff@lansky> * rdscor.c (scanflt): treat comments when reading a number Sat May 17 17:31:47 1997 John Fitch <jpff@lansky> * cscormai.c (scfopen): Move this function from rdscor.c as only used in stand-alone cscore * rdscor.c: Delete scfopen function Fri May 16 10:01:41 1997 John Fitch <jpff@lansky> * memalloc.c (memdie): Made function void type * ugens5.c: Added int type to currentLPCSlot, and moved to top of file * midirecv.c: Added int type to sexcnt * winX11.c: Added int type for winstance Sat May 10 23:44:12 1997 John Fitch <jpff@lansky> * ugrw1.c: Change name of times function to timesr to avoid problems with Mac * entry.c: Change name of times function to timesr to avoid problems with Mac Wed May 7 21:04:55 1997 John Fitch <jpff@lansky> * butter.c (butter_filter): Changed declaration on n to long for consistency. Sun May 4 08:58:44 1997 John Fitch <jpff@lansky> * version.h: NEW VERSION 3.46 * fgens.c (fgens): Expand the number of tables available dynamically. Declare fmax etc (gen04): (ftfind): (ftfindp): (ftnp2find): FMAX->fmax * rtaudio.c (RTwavclose): New function to close on early exit (playopen): Minor revisions to Win95, including CWIN->_WIN32 (rtplay): Change _WIN32 way of playing buffers (rtclose): Change _WIN32 close down * prototyp.h: Add argument to getoptxt if RESET * soundin.c (soundinreset): New function protected by RESET (sndinset): Reset file position if already open (soundin): Check initialisation (soundinew): Check initialisation * sndwarp.c (sndwarp): (sndwarpst): Check initialisation * rdorch.c (orchreset): New function protected by RESET (getoptxt): Added argument if RESET and use it for reseting * memalloc.c (memreset): New function protected by RESET * fgens.c (ftreset): New function protected by RESET; code tidying * cscorfns.c (cscorereset): New function protected by RESET Also some code shuffling Sat May 3 19:38:45 1997 John Fitch <jpff@lansky> * spectra.c (koctdown): (octdown): (noctdft): (spdspset): (specdisp): (specptrk): (specsum): (specaddm): (spdifset): (specdiff): (spsclset): (specscal): (sphstset): (spechist): (spfilset): (specfilt): Check initialisations * musmon.c (musreset): New function protected by RESET * disprep.c (kdsplay): (kdspfft): (dspfft): (tempest): Check initialisation * otran.c (tranreset): New function protected by RESET * oload.c (oloadreset): New function protected by RESET * ugens3.c (foscil): (foscili): (adsyn): Check initialisations * ugens4.c (buzz): (gbuzz): (pluck): Check initialisation * ugens5.c (lpcreset): New function protected by RESET (lpinterpol): (lpread): Check initialisation * wave.c (wavReadHeader): Set hdrsize to include non-data chunks * grain4.c (graingenv4): Check initialisation * ugens9.c (convolve): Check initialisation * insert.c (insertreset): New function, protected by RESET (insert): Only print new alloc message if messages 2 set (initerror): Check there is an ids (perferror): and a pds * grain.c (ags): Check initialisation (ags): Check for zero density * express.c (expreset): New function, protected by RESET macro * hrtferX.c (hrtferxk): Check initialisation * ugens2.c (ktable): (table): (ktabli): (tabli): (kosc1): (kosc1i): (koscil): (osckk): (oscka): (oscak): (oscaa): (koscli): (osckki): (osckai): (oscaki): (oscaai): Check initialisation * ugens7.c (fof): Check initialisation * ugens6.c (delay): (delayr): (delayw): (deltap): (deltapi): (comb): (alpass): (reverb): (pan): Check initialisation * ugens8.c (pvoc): Check initialisation * sread.c (pcopy): Another place where fabs is needs in case of negative p3 in score. * nlfilt.c (nlfilt): Check initialisation * ugens1.c: Remove register declarations (klnseg): (linseg): (kxpseg): (expseg): (knvlpx): (envlpx): Check for initialisations * vdelay.c (vdelay): (multitap_play): (reverb2_play): Check for initialisation * pvinterp.c (pvbufread): (pvinterp): (pvcross): Check they are initialised * vpvoc.c (ktableseg):(ktablexseg): (voscili): (vpvoc): Check they are initialised * winX11.c (myXprintLines): ANSIfied function * pvoc.c: * dsputil.c: Removed FLOATARG as it is a mistaken idea * pvoc.h: * dsputil.h: Removed non ANSI stuff, and the horrid FLOATARG * aoscilx.c (aoscilxplay): Check opcode is initialised * follow.c (flwset): Check that length given is not zero (RWD suggestion but moved to init function) Sun Apr 27 13:06:00 1997 John Fitch <jpff@lansky> * cscormai.c (main): Added dribble initialisation (dribble_printf): New function (err_printf): New function * Makefile, makefile: Added new files * all_files: Added new files * ugensa.h: New file * ugensa.c: New file for FOG * entry.c: Add opcode fog Sun Mar 23 18:08:01 1997 John Fitch <jpff@lansky> * otran.c (otran): Revise check for consistent sr/kr=ksmps (otran): Check for finishing inside an instrument Fri Mar 21 21:21:22 1997 John Fitch <jpff@lansky> * entry.c: Added diskin opcode * soundin.c: New code for diskin opcode (Matt Ingalls) * diskin.h: New file * cs.h (DFLT_SR): Change to 44100 (DFLT_KR): Change to 4410 (DFLT_KSMPS): Remains 10 (!) * ugens2.c: Changes to table stuff (Whittle) Thu Mar 20 22:17:00 1997 John Fitch <jpff@lansky> * entry.c: Put Whittle opcodes back * fgens.c (ftfindp): New function (Whittle) Wed Mar 19 13:25:43 1997 John Fitch <jpff@lansky> * otran.c (otran): Set initial tran_{sr,kr,ksmps} to -1 and correct in otran. Sun Mar 16 12:26:50 1997 John Fitch <jpff@lansky> * ugens8.c (pvoc): Simplify initialisation when specwp greater than zero. (Richard Karpen) Sat Mar 8 15:30:34 1997 John Fitch <jpff@lansky> * hrtferX.c: Declaration of bytrevhost * main.c: Added #include <ctype.h> for isdigit Fri Mar 7 13:16:37 1997 John Fitch <jpff@maths.bath.ac.uk> * main.c (err_printf): Same error as before -- code in wrong order. No idea how it got undone. * rtaudio.c (playopen): Comment out line about BitsPerSample on advice Fri Mar 7 09:54:31 1997 John Fitch <jpff@lansky> * opcode.c (list_opcodes): Use mmalloc/mfree rather than malloc/free (list_opcodes): Reorganize argument to mmalloc as well Thu Mar 6 21:43:31 1997 John Fitch <jpff@lansky> * entry.c: Added entry for soundin2 * soundin.c (soundin2): New function, implements soundin2 (sndinset): Initialisation for soundin2 added * soundio.h: Added new fields to SOUNDIN structure for soundin2 Wed Mar 5 10:59:32 1997 John Fitch <jpff@lansky> * hrtferX.c (hrtferxkSet): Reverse bytes after reading HRTFcompact if necessary (as shown by byrevhost) * Makefile (CSRCS): CSRC7 was missing from CSRCS! * makefile (CSRCS): CSRC7 was missing from CSRCS! Tue Mar 4 14:24:47 1997 John Fitch <jpff@maths.bath.ac.uk> * opcode.c (list_opcodes): The malloc did not get enough memory -- needed multiplication by the sizeof thingy Tue Feb 25 10:33:22 1997 John Fitch <jpff@lansky> * aops.c: Removed register declarations * wave.c: Removed various register declarations * swrite.c (fltout): Reinstated multiplication by precmult for LINUX only. This is still wrong way to do it! Tue Feb 18 08:57:08 1997 John Fitch <jpff@lansky> * sread.c: Remove register declarations throughout (stof): Replace body by call to strtod for simplicity and shorter code. (Experimental I guess) Sun Feb 16 15:49:57 1997 John Fitch <jpff@lansky> * sread.c (ifa): Take absoulte value of previous p3 when reading a score, in order to deal with portamento etc Fri Feb 14 21:49:51 1997 John Fitch <jpff@lansky> * midirecv.c (m_chanmsg): Further midi chages to controllers from Mike Berry Thu Feb 13 21:01:42 1997 John Fitch <jpff@lansky> * midiops.h: sc and base fields in MIDICTRL and irange field in MIDIVAL * midiops.c (midibset): New function from Mike Berry (cpsmidib): Allow scaled pitchbend (octmidib): Ditto (pchmidib): Ditto (mctlset): Deal with controller 0 * rdorch.c (getoptxt): Add code from Mile Berry to fix bug that prevented an opcode with only optional arguments from properly loading defaults * entry.c: Declared midisetb Added optional argument to ipchmidib, ioctmidib, icpsmidib, kpchmidib, koctmidib, kcpsmidib, imidictrl, kmidictrl. Needed initialisation for some Fri Feb 7 08:15:28 1997 John Fitch <jpff@lansky> * ugens7.c (fof): In penultimate line removed * in *ar++ as it does not do anything, and I think it is spurious. Also remove register declarayions all over Wed Feb 5 17:53:54 1997 John Fitch <jpff@lansky> * ugens7.c (newpulse): Corrected code (JPff mistake) Mon Feb 3 09:48:32 1997 John Fitch <jpff@lansky> * version.h (SUBVER): CHANGE VERSION NUMBER TO 3.45 * swrite.c (fltout): Remove precmult as it does nothing and increase precision by one digit * sndwarp.c (sndwarpstgetset): New code from Richard Karpen (sndwarpstset): Ditto (sndwarpst): Ditto * fgens.c (ftfindp): Remove Whittle code Sun Feb 2 12:22:01 1997 John Fitch <jpff@lansky> * util2/mixer/mixer.c (main): Moved line assigning to O.filetyp to before AIFF/WAV sanity checks (MixSound): Second argument to audtran was size when shoudl have been length Sat Feb 1 16:43:33 1997 John Fitch <jpff@lansky> * swrite.c (fltout): Work in doubles internally (RK), but then replaced by fprintf anyway?? * ugens2.c: Remove Whittle code * ugens2.h: Remove Whittle code * main.c (main): Add -z0 and -z1 * Remove ugrw* from makefiles * entry.c: Remove Whittle opcodes Tue Jan 28 07:54:58 1997 John Fitch <jpff@lansky> * entry.c: Add fof2 opcode * ugens7.c (fofset0): Rename fofset and add argument to distinguish fof and fof2 initialisation ; also set fmtmod field in fof call only (fofset): Call fofset0 with true (fofset2): Call fofset0 with false (fof): fof and fof2 cases differ at start of loop (newpulse): Deal with fof2 case at end * ugens7.h: Add glissbas and sampct fields to OVRLAP and foftype field to FOFS * opcode.c: New file * prototyp.h: Added declaration of list_opcodes * main.c (main): Add -z option to list opcodes Sun Jan 26 14:02:06 1997 John Fitch <jpff@lansky> * cmath.c (auniform): Add new function for completeness (ikuniform): Ditto * ugens2.c: Changes to table stuff (Whittle) * ugens2.h: Added pfn field to TABLE for Whittle * ugrw1.c: New file (Whittle) * ugrw2.c: New file (Whittle) * prototyp.h: Added declaration of ftfindp * fgens.c (ftfindp): New function (Whittle) * ugens2.c: Remove register declarations Fri Jan 24 18:52:01 1997 John Fitch <jpff@lansky> * cmath.c: Removed register declarations throughout; also some improved layout of comments Mon Jan 20 08:48:56 1997 John Fitch <jpff@lansky> * lpanal.c (lpanal): Return after exit for compiler (lpanal): Only declare polyReal and polyImag if used * linevent.c (sensLine): Comment out unused variables * ieee80.c: Remove nested comment * hetro.c (hetro): Add a return after exit to keep compilers quiet * fft.c: Remove nested comments in 3 places, and a print statement * aiff.c (aiffReadHeader): Comment out unused vaiables * main.c (main): By use of %n arrange that a numeric argument can be follwed directly by another argument. Wed Jan 15 20:39:12 1997 John Fitch <jpff@lansky> * window.c (DummyRFn): Made it return zero rather than 1 as there does not seem to be an error here. Thanks Marc! Sat Jan 11 16:53:59 1997 John Fitch <jpff@lansky> * vdelay.h: Added istod field to VDEL struct * entry.c: Add optional istod argument to vdelay * vdelay.c (vdelset): Skip initialisation if istod set * ugens6.c: Removed register declarations * vdelay.h (struct): Added istor field to STVB * vdelay.c (reverb2_set): Skip initialisation if istor set and have buffers. * entry.c: Added optional istor argument to reverb2 * butter.c (bbutset): (butset): Skip initialisation if istor non-zero * butter.h (struct): Added istor filed to BFIL and BBFIL * entry.c: Added optional extra argument to all butterworth filters Tue Jan 7 10:32:09 1997 John Fitch <jpff@lansky> * version.h (SUBVER): CHANGE VERSION NUMBER TO 3.44 in Windows * winsound.rc: Added postscript and Oldformat fields to DIALOG_1 and DIALOG_LPC respectively. Some reshuffling to make it fit * cwin.cpp (class CArg): Added m_postscript member (class CArg): and afx command (CArg): Set m_postscript from profile (OnInitDialog): Set initial value of Postscript (cwin_args): Set O.postscript after dialog * lpcdlg.cpp (class Clpcdlg): Added oldf to constructor, and m_oldf to the members. (class Clpcdlg): New afx OnOldFormat (Clpcdlg): Use oldf in constructor (lpanal_dialog): Oldf stuff Mon Jan 6 10:25:31 1997 John Fitch <jpff@lansky> * version.h (SUBVER): CHANGE VERSION NUMBER TO 3.44 * aops.c (cpsxpch): Added table form of cpsxpch and cps2pch * lpanal.c (lpanal): Various fixes after new code. Sun Jan 5 23:17:19 1997 John Fitch <jpff@lansky> * ugens5.c (lpslotset): New function (lpitpset): New function (lpinterpol): New function : other changes throughout * ugens5.h: New field in LPREAD * (struct): New structures * lpc.h (LP_MAGIC2): New definition * lpanal.c: Incorporated Marc Reseibois' alternative format. Many changes all over Sat Jan 4 19:25:23 1997 John Fitch <jpff@lansky> * oload.c: Added postscript filed to initialisation of O structure * main.c (main): Remove O initialisation as in wrong place Fri Jan 3 14:39:30 1997 John Fitch <jpff@maths.bath.ac.uk> * Files sent to Mills College Thu Jan 2 17:29:17 1997 John Fitch <jpff@lansky> * main.c: Make scorename a global for winEPS Add initialisation of O fields * winEPS.c: New file for Encapsulated PostScript output * cs.h: Added postscript field * window.c (display): (dispexit): (dispset): Call Postscript stuff * main.c (main): Added -G option fopr Postscript printing * hrtferX.c: New code for 3D sound * entry.c: Added hrtfer opcode Mon Dec 30 16:13:40 1996 John Fitch <jpff@lansky> * entry.c: Added opcodes "sndwarp", "ktableseg", "ktablexseg", "voscili", "vpvoc", "pvread", "pvcross", "pvbufread", "pvinterp" * pvinterp.c: * pvread.c: * vpvoc.c: * sndwarp.c: New files added, from Richard Karpen, with some optimisations. Sun Dec 29 13:15:57 1996 John Fitch <jpff@lansky> * aops.c (cps2pch): New function for ET tuning (cpsxpch): Remove attempt at optional arguments * entry.c: Added cps2pch for ET tunings * linevent.c: (sensLine): Use strtod to read floating argument rather than use longs. Untested! Fri Dec 27 14:42:53 1996 John Fitch <jpff@lansky> * util2/exports/het_export.c (err_printf): Define it (dribble_printf): Define it * util2/exports/pv_export.c (err_printf): Define it (mfree): Define it Fri Dec 20 17:45:34 1996 John Fitch <jpff@lansky> * rtaudio.c (rtclose): Modify close down for arbitrary buffers * ugens3.c (adset): Change length of filnam to MAXNAME * ugens5.c: Change length of lpfilnam to MAXNAME * ugens9.c (cvset): Change length of cvfilnam to MAXNAME * ugens8.c: Change length of pvfilnam to MAXNAME * cs.h (MAXNAME): Defined here * filopen.c (isfullpath): In PC case (and Atari) check for a: type names as well as / (MAXNAME): removed from this file Mon Dec 02 15:23:53 1996 <jpff@maths.bath.ac.uk> * AOPS.c (cpsxpch): New function of equal temprament not 12/octave * AOPS.h (XENH): Structure for tuning Fri Nov 27 14:49:00 1996 John Fitch <jpff@ardindrean> * rdscor.c (rdscor): Added comments after 'e' Tue Nov 26 16:40:26 1996 <jpff@maths.bath.ac.uk> * cwin.cpp: Added NONSTOP feature and a button to control it Mon Nov 04 15:38:40 1996 John Fitch <jpff@ardindrean> * FILOPEN.C (openin): If the file does not exist but SFDIR does it fails to notice a non-existent file. Remove an else! Mon Oct 28 10:13:55 1996 John Fitch <jpff@ardindrean> * RDORCH.C (synterr): Remove register declarations; so new layout Thu Oct 24 15:36:34 1996 <jpff@maths.bath.ac.uk> * VDELAY.c (vdelset): Only zero buffer if not new (multitap_set): Ditto (multitap_play): Remove division for assignment Mon Oct 21 21:08:52 1996 <jpff@maths.bath.ac.uk> * version.h: (SUBVER): CHANGE VERSION NUMBER TO 3.43 * rtaudio.c (playopen): Fixed allocation of buffer in CWIN case (rtplay): Use quadruple bufering correctly Thu Oct 17 18:44:10 1996 John Fitch <jpff@ardindrean> * VDELAY.c (multitap_set): Fixed the regular bug in allocation of buffer. Thu Oct 17 17:34:15 1996 <jpff@maths.bath.ac.uk> * butter.c: New variable pidsr, set in both setters and used for pi/esr Thu Oct 17 16:26:20 1996 John Fitch <jpff@Ardindrean> * CMATH.c: Many code tidying operation -- all minor Wed Oct 09 16:27:49 1996 John Fitch <jpff@ardindrean> * rtaudio.c (playopen): Allocate each buffer with its own GlobalAlloc/GlobalLock Tue Oct 08 16:10:24 1996 John Fitch <jpff@ardindrean> * LPCDLG.CPP (class Clpcdlg): Added graphics selection -- most of code was there but not visible! Tue Oct 08 15:29:09 1996 John Fitch <jpff@ardindrean> * CWIN.CPP (OnOrchestra): Change title of dialog window and hide read-only button (OnScore): Change title of dialog window and hide read-only button (OnSoundfile): Change title of dialog window Mon Sep 30 14:06:52 1996 <jpff@ardindrean> * grain4.c (graingenv4): Took array access out of loop with direct increments and similar use of local names Fri Sep 13 10:45:09 1996 John Fitch <jpff@lansky> * vdelay.c (vdelset): Bracket expression to get binding right (vdelset): Check size of buffer as well as existence (cf grain) (vdelay): Ensure max delay is at least 1 (vdelset): Clear at least one slot Thu Aug 15 05:36:11 1996 John Fitch <jpff@lansky> * version.h (SUBVER): CHANGE VERSION NUMBER TO 3.42 * memalloc.c (mcalloc): If calls for 0 bytes do not give an error * memalloc.c (memdie): Add argument to print size of failure (mfree): Use 0 argument for free (mrealloc): In CWIN set negative (mrealloc): Add argument in general case (mmalloc): Add argument in general case (mcalloc): Add argument in general case Mon Jul 22 08:49:44 1996 John Fitch <jpff@lansky> * fgens.c (gen21): Argument for Weibull ignore p6 so shuffle them down. (gen21): Check for at least 1 argument first, and treat the other two specials in the switch; saves code and very little cost. * cmath.c (exprand): I think algorithm was wrong in assuming lambda always 1. Allowed range and lambda (biexprand): Code had lambda as always 1; make parameter 1/lambda (pcauchrand): Code was plain wrong * fgens.c (gen21): Add range to exponential distribution as well as spread. * cmath.h: Change prototype * cmath.c (unifrand): Add argument so as to give a range. Sat Jul 20 18:55:39 1996 John Fitch <jpff@lansky> * cmath.c (cauchrand): Limit answers to [-1,1]. Despite theory of 99.9% I get some outside. (pcauchrand): The same range limiting. * fgens.c (gen21): For type 7 and 8 (Cauchy) it asked for an additional argument, and ignored the usual one. As it was undocumented fixed to one argument Tue Jul 16 09:29:48 1996 John Fitch <jpff@lansky> * cwin.cpp (OnInitDialog): Format buttons started at _8 rather than _U8. * version.h (SUBVER): CHANGE VERSION NUMBER TO 3.41 * rtaudio.c (rtplay): Triple buffering system (playopen): Create 3 buffers from one GlobalAlloc call (rtclose): Flush buffers before Reset. [All CWIN case] Mon Jul 15 11:31:02 1996 John Fitch <jpff@lansky> * rtaudio.c (rtplay): Remove the memcpy and cycle buffers. Get WHDR_DONE correct and other simplifications. Sun Jul 14 12:35:14 1996 John Fitch <jpff@lansky> * rtaudio.c: Added draft Windows Multimedia support (playopen): Ditto (rtplay): Ditto (rtclose): Ditto Tue Jul 9 21:25:27 1996 John Fitch <jpff@lansky> * util2/mixer/xtrct.c: Change name of variable time to stime cos the Irix6.2 system complains. Fri Jul 5 20:51:58 1996 John Fitch <jpff@lansky> * all_files: SGIplay.c was missing Sun Jun 16 20:58:01 1996 John Fitch <jpff@lansky> * soundio.c (sfcloseout): Make datasize into unsigned long (especially for 68K) Wed Jun 12 08:09:35 1996 John Fitch <jpff@lansky> * wave.c (wavReadHeader): Add cast to (void*) 'cos Mac compiler complained * Transferred files to MAC Mon Jun 10 08:59:57 1996 John Fitch <jpff@lansky> * version.h (SUBVER): CHANGE VERSION NUMBER TO 3.40 * wincwin.c: Include <string.h> and add variaous ignoring of arguments. (DrawGraph): Add cwin_paint() call * util2/exports/lpc_export.c: * util2/exports/het_import.c: Include <stdlib.h> which had been missed * ugens9.c: * ugens8.c: Move inclusion of <math.h> earlier to avoid an arcane VC problem * filopen.c: Add _WIN32 to definitions of RD_OPTS and WR_OPTS (openin): After open the test should be >=0 * fgens.c (gen20): Remove register storage class from array as upsets VC and does no good anyway * pvanal.c (pvanal): * lpanal.c (lpanal): * hetro.c (hetro): * cvanal.c (cvanal): * fgens.c (gen01raw): Check on negative return from sndgetset as consequence of previous change * soundin.c (sndgetset): Change function to return -1 on failure instead of 0 as that does not rely on zero being in use for stdin (SAsndgetset): Also return -1 on failure Sun Jun 9 16:31:48 1996 John Fitch <jpff@lansky> * sysdep.h: Add _WIN32 support * pvoc.c: Add _WIN32 support * main.c (main): Add _WIN32 (main): and again for SYS5 * scot.c (efindword): Change type to void * scot.h: Change type of efindword to void * dsputil.c (hypot): Define hypot as _hypot for Visual C++ * vdelay.c (reverb2_play): Change return type to void * midirecv.c (MidiOpen): Add _WIN32 to SYMANTEC Add _WIN32 to list of o/s which to not load ioctl.h (MidiOpen): Add _WIN32 to non SYS5 list (MidiOpen): Add _WIN32 to systems without ioctl * wave.c (wavReWriteHdr): Value check on result of lseek was wrong. (wavReadHeader): Add code to skip odd chunks in reading a header * dpwelib.h: Add _WIN32 to systems which include <stdlib.h> * linevent.c (RTclose): Add _WIN32 to list of systems which do not know about fcntl (RTLineset): Ditto * dumpf.c (kdmpset): Change test on openout to <0 (kdmp2set): Ditto (kdmp3set): Ditto (kdmp4set): Ditto Sat Jun 8 16:11:56 1996 John Fitch <jpff@lansky> * cmath.c (gaussrand): Change floating value for n to an integer Mon Jun 3 08:35:11 1996 John Fitch <jpff@lansky> * lpanal.c (lpanal): Allocate coef and cc dynamically * hetdlg.cpp (DoDataExchange): Remove limit of 50 in number of harmonics * hetro.c (hetro): Allocate MAGS and FREQS dynamically (hetro): Allow more than HMAX harmonics (filedump): Allocate mags and freqs dynamically Sun Jun 2 12:53:06 1996 John Fitch <jpff@lansky> * cwin.cpp (cwin_almost_ensure_screen): (cwin_ensure_screen): (cwin_poll_window_manager): (CMainWindow): Change GetSystemTime -> GetLocalTime * memalloc.c (mfree): New function (all_free): Do not free NULL pointers * prototyp.h: Declare mfree * wguide.c (wgpset): * sread.c (sfree): * sndinfo.c (sndinfo): * rdorch.c (rdorchfile): (splitline): * pvoc.c (PVFree): * otran.c (otran): (insprep): * oload.c (oload): * memfiles.c (rlsmemfiles): * insert.c (orcompact): * hetro.c (hetro): (filedump): * fgens.c (fgens): (gn1314): (ftalloc): * cscorfns.c (filclose): * auxfd.c (auxalloc): (auxchfree): * aiff.c (aiffReadHeader): change free -> mfree Thu May 2 21:37:23 1996 John Fitch <jpff@lansky> * version.h (SUBVER): CHANGE VERSION NUMBER TO 3.39 * butter.c (ROOT2): Define ROOTS as a macro rather than recalculate it for each k-rate * memalloc.c: CWIN only -- allow a flexible number of allocs by reallocing the array. Thu Apr 18 11:00:11 1996 John Fitch <jpff@lansky> * grain.c (ags): Optimisations in many places to save recalculation and memory fetches. Moves some stuff out of inner loop. * grain.h (struct): Changed type of PGRA.pr to float Thu Mar 28 08:35:43 1996 John Fitch <jpff@lansky> * version.h (SUBVER): CHANGE VERSION NUMBER TO 3.38 * main.c (main): Add date of compilation to banner * musmon.c (musmon): Add date of compilation to banner * musmon.c (musmon): Removed test for !O.RTevents as it seems to stop score tables being read in MIDI case. Thu Mar 21 09:29:42 1996 John Fitch <jpff@xenakis> * main.c (main): Add LATTICE to SYNANTEC to avoid a setlinebuf * midirecv.c: Add LATTICE to options with PC stuff * linevent.c (RTLineset): Add LATTICE to options when do not use fcntl etc Tue Mar 5 23:13:51 1996 John Fitch <jpff@lansky> * sread.c (copylin): Change EOF to EOL in structure. Mends bug about bad characters. Sat Feb 24 14:56:31 1996 John Fitch <jpff@lansky> * otran.c (putop): Correct typing error of \t instead of \n Sun Feb 18 11:37:15 1996 John Fitch <jpff@lansky> * version.h (SUBVER): CHANGE VERSION NUMBER TO 3.37 * rdscor.c (scanflt): Use fscanf rather than read floats character at a time. Not sure that this is necessarily a good thing. * hetro.c (hetro): Added a check that -hn has n>=1 (David Whelan) Sat Feb 17 11:53:57 1996 John Fitch <jpff@lansky> * musmon.c (musmon): Close dribble file at end * auxfd.c (fdchprint): * express.c (putoklist) (putokens): * midirecv.c (sensFMidi): * musmon.c: * otran.c: * rdorch.c: * rdscor.c (dumpline): * winascii.c (DrawAscii): use putc to dribble file as well * version.h: NEW FILE to carry version numbers only * cs.h: include version.h * swrite.c: * sort.c: * pvoc.c: * ieee80.c: Include cs.h to declare dribble stuff * util2/scale.dir/scale.c: * util2/mixer/xtrct.c: * util2/mixer/mixer.c: Added -- option and change all printf/stderr printing to new style * cs.h: Add extern declaration of dribble * lpanal.c (lpanal): * pvanal.c (pvanal): * hetro.c (hetro): Added -- option to log Fri Feb 16 07:37:55 1996 John Fitch <jpff@lansky> * util2/sndinfo/main.c (main): ANSIfy and add dribble stuff * util2/mixer/xtrct.c: * util2/envext/envext.c: * util1/sortex/smain.c: * util1/sortex/xmain.c: * anal/pvoc/main.c: * anal/lpc/main.c: * anal/adsyn/main.c: Added functions dribble_printf and err_printf Thu Feb 15 10:13:40 1996 John Fitch <jpff@lansky> * DECaudio.c * DECplay.c * blaster.c * cvanal.c * hetro.c * ieee80.c * linevent.c * lpanal.c * main.c * memalloc.c * midirecv.c * musmon.c * otran.c * pvanal.c * pvoc.c * rdorch.c * rtaudio.c * sfheader.c * sort.c * spectra.c * sread.c * swrite.c * twarp.c * wave.c * winSGI.c * winbor.c * winfg.c * winwat.c: fprintf(stderr,...) -> err_printf(...) * main.c (dribble_printf): New function to write to stdout and dribble. (err_printf): dito for stderr. * cs.h: Macro printf to dribble_printf and declare it. * main.c (endif): Make -- option for a log/dribble file. Declare dribble variable. Mon Feb 12 08:53:29 1996 John Fitch <jpff@lansky> * musmon.c (musmon): Added guard to opening O.playscore as at least Linux barfs (thabks to Richard Furse). Thu Feb 1 09:41:00 1996 John Fitch <jpff@lansky> * lpanal.c (gauss): Change all *(b+..) of b[...] for clarity (alpol): Calcular error at end more simply -- less arithmetic but some danger of overflow (but I think not) Mon Jan 29 09:51:34 1996 John Fitch <jpff@lansky> * lpanal.c (lpanal, alpol): Allocate array x once in lpanal rather than on every call of alpol. (gauss): Similar for aold Sun Jan 28 15:50:00 1996 John Fitch <jpff@lansky> * lpanal.c (alpol): Optimise a pow(..., 2.0) to a product * mw_menu.c (dlgUtilLpAnal): Set mark in box for Verbose and Graphics boxs (dlgUtilPvAnal): The same. (dlgFileOpen): Allow direct editing of orc and sco file names. Also requires change in Csound.rsrc (dlgUtilLpAnal): Added a Debug option and corrected verbose to give -v1 Mon Jan 22 08:53:45 1996 John Fitch <jpff@lansky> * Csound.rsrc: (Mac only) added titles to dialogs and fixed mini-typo in dialog linking Sun Jan 21 20:15:40 1996 John Fitch <jpff@lansky> * musmon.c (musmon): Remove call to RTclose as atexit does it * linevent.c (RTLineset): Use atexit to arrange call to RTclose Sun Jan 14 21:25:06 1996 John Fitch <jpff@lansky> * sysdep.h: * soundio.c: * pvoc.c: * otran.c: * mw_menu.c: * midirecv.c: * memfiles.c: * main.c: * linevent.c: * filopen.c: * dpwelib.h: * cs.h: Changed THINK_C to SYMANTEC as need to modify their library as bug in I/O. Sun Jan 7 14:49:44 1996 John Fitch <jpff@lansky> * Change type of cscore to void for consistency Thu Jan 4 08:15:53 1996 John Fitch <jpff@lansky> * grain4.c (graingenv4): Changed a 1.0* to a float for speed * cs.h (SUBVER): CHANGE VERSION NUMBER TO 3.36 * grain.c (agsset): Added a size check in the decision to get a new buffer. Wed Jan 3 07:46:39 1996 John Fitch <jpff@lansky> * winX11.c (ExitGraph): Added a check to the CSNOSTOP environment variable to avoid the final wait for click. Mon Jan 1 18:56:08 1996 John Fitch <jpff@lansky> * main.c (endif): Need an exit(0) after call to cvanal Thu Dec 28 16:55:27 1995 John Fitch <jpff@lansky> * util2/mixer/mixer.c (MixSound): In output buffer step by number of channels * util2/mixer/mixer.c: Added prototypes and includes Wed Dec 27 21:16:29 1995 John Fitch <jpff@lansky> * util2/mixer/mixer.c (InitScaleTable): Deal with same x values in table in different way. * util2/mixer/mixer.c (MixSound): Add code to handle stereo etc inputs correctly, with additional field in structure. Mon Dec 25 14:38:20 1995 John Fitch <jpff@lansky> * util2/mixer/mixer.c (main): Added AE_BYTE format (bytetran): New function Fri Dec 22 10:14:06 1995 John Fitch <jpff@lansky> * grain4.c (grainsetv4): Various spelling corrections and minor optimisations. Also changes exit(1) to initerror calls and return. Tue Dec 19 09:34:52 1995 John Fitch <jpff@lansky> * cs.h: Upped VERSION to 3.35 * grain4.c: NEW FILE for granular synthesis * entry.c: Added buthp, butlp, butbp, butbr as synonyms for butterXX, and convle and an abbreviation for convolve. Added grain4 operator * cs.h: Added a next field in MEMFIL to relax memfiles.c * memfiles.c (rlsmemfiles): Adjust to delete from the revised structure (ldmemfile): Follow list of MEMFILs while looking for file Sat Dec 16 14:35:22 1995 John Fitch <jpff@lansky> * mw_menu.c: Added utilities dialogs, and other stuff. * pvanal.c (takeFFTs): Added POLL_EVENTS at end of loop * lpanal.c (lpanal): Added call to POLL_EVENTS at end of loop for Mac and PC. * winsound.ico, dream.ico: Changed to have screen background Sun Dec 3 09:35:05 1995 John Fitch <jpff@lansky> * soundio.c (audwrite): For macintosh make heartbeat use the metronome cursor. * rdscor.c (rdscor): Close score file at EOF. Sat Dec 2 18:04:03 1995 John Fitch <jpff@lansky> * main.c (main): Correct the check for WAV+format and AIFF+format Tue Nov 21 07:22:20 1995 John Fitch <jpff@lansky> * soundio.h: (solaris) include <multimedia/audio_device.h> * soundio.c: (solaris) define audiofd variable (sfopenout): (solaris) write header specially * sfheader.c: Solaris support, include <unistd.h> (readheader): No need for ininfop, and do rewind (solaris) (writeheader): Solaris has different checks for devaudio when opening. * rtaudio.c: Add solaris support * rdorch.c: Include <unistd.h> for solaris * midirecv.c: Add Solaris support * makefile: Added Solaris2.4 library stuff Mon Oct 30 07:16:41 1995 John Fitch <jpff@lansky> * cwin.h: Remove referrences to Greek. Sun Oct 29 10:27:53 1995 John Fitch <jpff@lansky> * winsound.rc: Modified Dialog_1 for unsigned 8bit and reshape Made file names wider, and reposition on screen * cs.h (SUBVER): Increased to 34 * wave.c (wavWriteHdr): Set len0 filed to databytes+36 as suggested by Mohr (wavReWriteHdr): Set len0 to 8 bytes less than end -- seems odd (wavReadHeader): Force BYTE format * soundio.c (iotranset): Set up BYTE format, twice (bytetran): New function for unsigned 8-bit samples (bzerotran): New function ditto (byterecv): New function ditto * soundin.c (getstrformat): Add AE_BYTE format (getsizformat): formatsiz longer for new format, and test against AE_LAST (sndgetset): Add AE_BYTE (getsndin): BYTE format again, in all and select channel forms (soundin): BYTE format * rtaudio.c: Includes and defines for LINUX (recopen): Open for LINUX (playopen): Open and set volume for LINUX (rtrecord): Get LINUX bytes (rtplay): Write LINUX bytes (rtclose): and LINUX close * midirecv.c: Add #defines for LINUX * makefile: Comment on options for LINUX * soundio.h (AE_BYTE): Defined for unsigned 8bit (AE_LAST): Defined for checking purposes * main.c (main): Added -8 option for unsigned 8bit samples. (main): In WAV format must be -8 or -s format (main): Add -V for volume option (LINUX only) (usage): and extend message tp reflect all this * cs.h: Added Volume field to OPARMS structure for LINUX only Mon Oct 23 09:53:37 1995 John Fitch <jpff@lansky> * cs.h (SUBVER): Up subversion number to 33 * cwin.cpp (cwin_args): Set play_on_exit to false unless it is a WAV format. (CDialog): Add OnPlay method * dialogs.h: Add check box for play on exit * winsound.rc: Add Check box for play_on_exit Sun Oct 22 21:31:06 1995 John Fitch <jpff@lansky> * cwin.cpp (cwin_exit): Added code to play sound file on exit and a flag set. No link to set flag yet. Tue Oct 17 22:37:08 1995 John Fitch <jpff@lansky> * main.c (main): Add printing of Version number at start; may revise this. Mon Oct 16 21:07:23 1995 John Fitch <jpff@lansky> * pvdlg.cpp (Cpvdlg::Cpvdlg): Initialise input and output from registry (pvanal_dialog): Write file names back to registry * lpcdlg.cpp (Clpcdlg::Clpcdlg): Initialise input and output from registry (lpanal_dialog): Write file names back to registry * hetdlg.cpp (Chetdlg::Chetdlg): Initialise input and output from registry (hetro_dialog): Write file names back to registry * cvdlg.cpp (Ccvdlg::Ccvdlg): Initialise input and output from registry (cvanal_dialog): Write file names back to registry Mon Oct 16 06:06:57 1995 John Fitch <jpff@lansky> * cwin.cpp: Remove declaration of CTheApp class * cwin.h: Move delaration of CTheApp class to C++ section and get external reference to theApp * cwin.cpp: Generally remove Symbol fonts and Greek (CArg::CArg): Initialise from the registry (cwin_args): Write values back to registry (CArg): Declare csound_section (CArg::OnExtras): Initialize and save in registry (CArg::OnInitDialog): Initialise butons as in registry (CSextras::DoDataExchange): Use DDX to initialise check boxes rather than methods * wave.c (wavWriteHdr): Improved comments Sun Oct 1 16:43:18 1995 John Fitch <jpff@lansky> * WINDOWS Version: Now can distribute cwin.cpp and associated files Sun Sep 24 09:44:59 1995 John Fitch <jpff@lansky> * DOS VERSION: Renames cspent.* to csound.* and change the project accordingly. Wed Sep 20 21:33:40 1995 John Fitch <jpff@lansky> * oload.c (oload): In test for inconsistent sr/kr!=ksmps add extra printing to look for possible MAC bug. Sat Aug 12 15:38:36 1995 John Fitch <jpff@maths.bath.ac.uk> * memfiles.c (RD_OPTS): Extra cases for DOSGCC, LATTICE and the rest (LoadFile): IGNORE foo argument, and use RD_OPTS as arg to open Sun Jul 30 10:20:57 1995 John Fitch <jpff@maths.bath.ac.uk> * oload.c (oload): Mac specific STasks -> POLL_EVENTS * winascii.c (MakeAscii): Add second (unused) argument so agrees with design (DrawAscii): POLL_EVENTS in the loop (not mac only STasks) * rdorch.c: For SUN computers need to define SEEK_SET etc as their compiler is not true ANSI (splitline): Mac specific STasks -> POLL_EVENTS * scsort.c: include cs.h for POLL_EVENTS (scsort): Now a void function, and Mac specific STasks -> POLL_EVENTS * otran.c (insprep): Remove unused variable newlabs (insprep): Remove unused variable newlarg (insprep): Mac only STasks -> POLL_EVENTS (constndx): Remove old (commented out) code to read numbers as the scanf version seems more secure. * insert.c (kperf): Layout (kperf): Changed Mac specific STasks to POLL_EVENTS for generality (rireturn): Explicit IGNORE of argument to keep compiler quiet (reinit): Add explicit cast to keep type system sweet * cs.h: Include <stdlib.h> : __ZTC__ -> __ZPC__ and WATCOMC support : LATTICE C support incorporated from Atari : Declare structures only if in C (not C++) Declare POLL_EVENTS as STasks in Mac, nothing in C, and leave in WINDOWS; for CWIN need to macro fprintf and printf to window-writing versions Sat Jul 29 15:22:05 1995 John Fitch <jpff@lansky> * soundio.h: ANSI only prototypes * filopen.c: Declare soundfile_pointer if on MetroWerks compiler (sssfinit): Add __MWERKS__ to THINK_C (isfullpath): Add __MWERKS__ to THINK_C (catpath): Add __MWERKS__ to THINK_C (unquote): Add __MWERKS__ to THINK_C : Definition of RD_OPTS and WR_OPTS for MetroWerks Define O_BINARY if not done already and use in teh RD/WR OPTS (openout): Not defined for MWERKS, and totally new version, and define tell * soundio.c (audwrite): POLL_EVENTS after heartbeat (sfopenout): For Mac direct output is in AE_SHORT format (sfopenout): Add Mac Headers and Creator (Mac only!) (chartran): Add cast to long as appropriate * sfheader.c (readheader): MetroWerks support (for powerPc) (readheader): Remove unused variable n (readheader): Tidy up #if...#elif... structure (readheader): Do a SEEK to end before closing file to get size, rather than use calculated value, and better general case (writeheader): Add casts in call to write (writeheader): Support fotr Mac file type moved elsewhere Sat Jul 15 15:11:47 1995 John Fitch <jpff@lansky> * pvanal.c: ANSI prototypes only __ZTC__ -> __ZPC__ so Mac compiles (pvanal): Now an int valued function, and calls dialog in WINDOWS case (pvanal): Added -V and -v options for tracing, and print PV data if verbose is set (quit): Change usage message for -v and -V (takeFFTs): IGNORE outputPVH argument (takeFFTs): Do not print simple messages is verbose is set (takeFFTs): but print it later in detail (PrintBuf): Print trace to the trace file * pvoc.c: __ZTC__ -> __ZPC__ * ustub.h: __ZTC__ -> __ZPC__ * musmon.c (musmon): __ZTC__ -> __ZPC__ (musmon): Added calls to POLL_EVENTS all over the place (musmon): If LINEin in use call RTClose as part of clean up (playevents): Call POLL_EVENTS in the loop * lpanal.c: __ZTC__ -> __ZPC__ (lpanal): Now a int valued function, returning non zero for success (lpanal): Remove unused variable nsamps (lpanal): Call dialog system for WINDOWS (lpanal): __ZTC__ -> __ZPC__ (lpanal): Remove unused variable fp2 * linevent.c: Declare stdmode to save old mode of tty (RTLineset): __ZTC__ -> __ZPC__ (RTLineset): Remember old tty mode in stdmode (UNIX only) (RTclose): If output was to tty restore the mode in UNIX cases [Last two fix bug about disapprearing Xterms] (sensLine): ANSI header * sysdep.h: __ZTC__ -> __ZPC__ * dsputil.c: Change __ZTC__ to __ZPC_ and add support for WATCOMC (Rect2Polar): Remove unused variable pha (MakeHalfWin): Removed unused variable a,b and i * dpwelib.h: Change __ZTC__ to __ZPC__ as it interferes with Macintosh compiler * midirecv.c: __ZTC__ -> __ZPC__ (MidiOpen): IGNORE arg if not SGI (m_timcod_QF): IGNORE arguments (m_song_pos): IGNORE arguments (m_song_sel): IGNORE arguments * main.c: __ZTC__ -> __ZPC__ : for Windows declare dialog functions, and rename main to cwin_main (main): add POLL_EVENTS and for Windows call cwin_atexit to free space; call dialog system (main): WATCOM C support (dialog_arguments): WINDOWS only call dialog for arguments Tue Jun 11 11:30:15 1995 John Fitch <jpff@maths.bath.ac.uk> * memalloc.c (all_free): WINDOWS only function to return all space controlled by at_exit; record up to 1024 blocks (mcalloc): Record space (WINDOWS only) (mmalloc): Record space (WINDOWS only) (mrealloc): Record space (WINDOWS only) Sun Jul 9 16:51:13 1995 John Fitch <jpff@lansky> * hetro.c (hetro): Make it a int function rather than void, and add dialog support for Windows (hetro): POLL_EVENTS() added, and also some debugging code Thu Jun 8 08:49:11 1995 John Fitch <jpff@lansky> * ugens9.c: Correct prototype for writeFromCircBuf * ugens3.c (losset): Proper ANSI prototype for ftnp2find * wave.c (wavReadHeader): IGNORE fname argument * winwat.c (my_term): IGNORE argument (MakeGraph): IGNORE arguments (DrawGraph): Remove unused variables ma,mi and c (DrawGraph): and nx and ny (KillGraph): IGNORE argument (MakeXYin): IGNORE arguments (ReadXYin): IGNORE argument * winfg.c (MakeGraph): Add some debugging as it sometimes get screen wrong * disprep.c (tempeset): Comment out unused variables coef and log001 (tempest): Remove unused xscale variable * ugens8.c: Remove unused variables fzero and fone (pvset): Remove unused variables cp and pvp (pvoc): Remove unused variables nsmps and samp * vdelay.c (ESR): Extra brackets (reverb2_play): Remove unused variable temp, and shorten some warnings (for 286!) Sun Jun 4 13:40:29 1995 John Fitch <jpff@lansky> * scot.c: ANSIfied all declarations * scot.h: and the same * prototyp.h: Change hetro, lpanal, pvanal and cvanal into returning int so the dialogs can indicate success; declare macro IGNORE for general use, and for CWIN declare all_free function * ieee80.c (myUlongToDouble): Layout (myDoubleToUlong): Layout * window.c: ANSI prototypes (DummyFn2): IGNORE arguments (DummyFn1): IGNORE arguments (RdXYDummy): IGNORE arguments (dispinit): The functions assigned are now differentiated as their type differ (dispkill): ANSI format (display): ANSI format * fft.c (FFT2torlpacked): Removed unused variable mm (FFT2realpacked): Removed unused variable mm (FFT2rawpacked): Removed unused variable i Sat Jun 3 17:29:39 1995 John Fitch <jpff@lansky> * express.c (express): Remove unused variable p Sun May 14 18:15:18 1995 John Fitch <jpff@lansky> * dumpf.c (nkdump): Increase precision of output from %4.2 to %6.4 in two places Sat May 13 10:19:24 1995 John Fitch <jpff@lansky> * aiff.c: various debugging statements added, all commented out. Thu Apr 27 15:47:36 1995 John Fitch <jpff@lansky> * sndinfo.c (sndinfo): Add POLL_EVENTS at the start of the function (not sure it is necessary?) * cvanal.c (cvanal): Added support for cvanal_dialog in Windows (quit): Return 1 rather than zero in exit. (takeFFT): Added call to POLL_EVENTS() twice (cvanal): Return 1 as value (true) * blaster.c: In dmaChannel structure use shorts instead of ints (SB_DMA2): Remove macro for DMA2 as now table driven (sb_wait): Count down check so to avoid a hang (sbplay): Mask Channel down to 2 bits (not necessary but clean) Sun Feb 26 1995 John Fitch <jpff@maths.bath.ac.uk> * winSGI.c (Graphable): ANSI void added (drawAxes): and again * window.h: ANSI format prototypes only * winX11.c: ANSI prototypes only (myXwinWait): ANSI declaration (myXwait): ANSI declaration (myXWaitForExpose): ANSI declaration (Graphable): ANSI declaration (MakeWindow): ANSI declaration (MakeGraph): ANSI declaration (MakeXYin): ANSI declaration (DrawGraph): ANSI declaration (ReadXYin): ANSI declaration (KillWin): ANSI declaration (KillGraph): ANSI declaration (KillXYin): ANSI declaration (ExitGraph): ANSI declarationoa