v1.0.5 (build 1) -> Compatible ONLY with Csound 5.10+. -> Doubles version for intel Mac now available. v1.0.4 (build 1) -> Fully Max5 compatible. -> "WARNING" messages will not be posted if message output is disabled. -> If a double-quoted element in an "event" message has spaces in it, [csound~] will preserve those double-quotes when passing the message to Csound. If a string element in an "event" message has a forward/backward slash, it will be double-quoted before passing to Csound. -> Fixed bug causing rare crashes related to Csound posting to Max window. -> Added "loadsamp" message to load samples into pre-existing or non-existent tables. -> Added "rsidx" and "wsidx" messages to read and write Csound table values. -> Added "readbuf" and "writebuf" messages for reading/writing MSP buffers. -> Upon receiving a "bang" or "start" message, if DSP is not active, [csound~] will automatically perform one k-cycle in order to force loading of tables that are set to load at time 0. -> Double-clicking on the [csound~] object opens the current csd/orc/sco files in the default editor for those types of files. v1.0.3 -> Added "bypass" message. "bypass 1" enables bypass mode and "bypass 0" disables bypass mode. When bypass mode is enabled, audio arriving at [csound~]'s inlets will be copied to their respective outlets. If there is an active Csound performance, it will not be performed while in bypass mode, thus saving CPU cycles. -> Added "tempo" message. It accepts a float argument that sets the playback speed when playing recorded events. "tempo 1.0" means playback at original speed. "tempo" messages are not recorded. -> (WinXP) Fixed crashes when sending "start" or "bang" after sending a "csound" message that contains files that can't be found. Now, when the "csound" message is received, all csd/orc/sco files are are searched for. If they are not found, then sending "bang" or "start" will do nothing. -> (WinXP) Only two binaries included in zip file (csound~_double.mxe and csound~_float.mxe). These binaries are compatible with Csound_5.03 through Csound_5.06. They should also be compatible with upcoming releases (fingers crossed). v1.0.2 -> Fixed deadlock bug that occurs when starting/restarting a Csound performance while [csound~] is receiving "control" messages. -> Added ability to use chnset opcode instead of outvalue opcode. Declaring output channels (with the chn_k opcode) is required for chnset to work with [csound~]. Declaring input channels is not required for chnget. -> Writing/Reading a recording to/from a file now occurs in a separate thread. -> Fixed endian issues when reading recordings made on different architectures. -> (WinXP) csound~.mxe size has increased due to static linking of the VC8 C runtime library. This will prevent the "error 14001" problem that some people have experienced. -> Changed dependance on pthreadVC2.dll to pthreadGC2.dll (which just so happens to be distributed with Csound5). This means you don't have to insall pthreadVC2.dll anymore (yay). v1.0.1 -> Fixed hanging problem when attempting to read a sequence file that doesn't exist. -> Fixed memory corruption when unable to allocate more memory during recording or reading/writing a sequence file. 2007_03_05 (aka v1.0) -> Any tabs contained in Csound messages printed to the Max window are now replaced with space chars. This will prevent the char that looks like a box from being printed. -> The current directory is now (re)set before looking for a csd/orc/sco file when the "csound" message is received. -> Fixed binary file writing for WinXP. -> Updated csound~.sln/vcproj to VC8 (Visual C++ 2005 Express Edition). They will not load in earlier versions of Visual C++. 2007_02_25 -> Added "overdrive" message. "overdrive 1" enables overdrive mode; outvalue pairs are output as soon as they are received from Csound. "overdrive 0" disables overdrive mode; outvalue pairs are output every 50ms. -> Fixed memory leak when saving sequences to file. 2007_02_18 -> If a csd/orc/sco file specified in the "csound" message is not found using fopen(), the Max function locatefile_extended() is used. This will allow csd/orc/sco files to be located within Max's search path. -> Added magic # to beginning of saved sequence files. This will prevent users from loading files that are not csound~ sequences. 2007_02_04 -> Fixed problem of csd/orc files not being able to load when located on a secondary or external drive. -> Hanging MIDI notes are now flushed when recording/playback of sequences is stopped. 2007_01_26 -> Added "write" and "read" messages to save and load sequences of MIDI and event data. Data is in binary format. 2006_11_15 -> Recompiled csound~ to be compatible with Csound5.04. 2006_11_05 -> Recompiled csound~ to fix compatibility issues with Csound5.03.1 2006_10_16 -> The opcode chnget can now be used instead of invalue. chnget is useful for querying at i-rate and k-rate, whereas invalue can only query at k-rate. 2006_09_01 -> (MacOSX) Compiled a version of csound~ compatible with MaxMSP 4.6. -> Recompiled WinXP versions to work with Csound 5.02 and 5.03. The 2006_09_01 build is incompatible with Csound 5.01 or earlier. 2006_08_18 -> Replaced RedBlack Tree code with a hash table to store invalue/outvalue names and values. This will not change the way you used invalue/outvalue feature. It may improve performance for low k-rate values. 2006_06_15 -> If message output is not enabled, then the command line string passed to csoundCompile() will not be printed to the window. -> Added messages "recordStart/recordStop/playStart/playStop". These messages control the newly added sequencer which can record all MIDI events, "control" message events, and "event" message events. It can also play them back. This feature is intended mainly for non-realtime rendering. Adding "-oSomeFileName.aif" to the "csound" command will enable non-realtime rendering and if there are any recorded events, they will be played back during the rendering. This feature has not been fully tested and should not be considered complete. Other than this entry in the change log, there is no documentation. If you haven't talked to me about it, then you probably shouldn't use it. 2006_06_13 -> Fixed command line parsing so that flags that look like negative numbers (e.g. "-3") are processed correctly. -> If rendering to a file and reading from a MIDI file, if the "-T" flag is not present, then it is added so that the rendering thread exits when the end of the MIDI file is reached. 2006_04_24: -> Fixed "control" message handling of integer arguments. Previously, messages such as "control gain 100" were not handled correctly because 100 is not a float (i.e. does not have a period to denote it as a float). 2006_04_09: -> Fixed crash when csound~ is exited before a performance has finished. 2006_03_18: -> If using 64bit csound~ on WinXP, Csound 5.01 (or later) is required. -> Added the "noscale" flag. It's used to bypass audio data scaling to/from Csound. 2006_03_15: -> Added another outlet that sends a bang whenever a csd/orc is successfully compiled. It's a useful feature if you have MIDI control opcodes that need to be initialized from the Max environment. -> Added messages "m", "c", and "e" which are equivalent to "midi", "control", and "event", respectively. These new messages are intended to save screen space. 2006_03_14: -> If neither -d or -g is present in the "csound" message, then csound~ will add -g to allow the user to see the ASCII representation of tables. Either -d or -g must be present to prevent crashing. -> Added bang method which acts like the "start" message. Added for compatibility with Ingalls' csound~ patches. 2006_03_11: The following changes were made in order to add features that were in Matt Ingalls' version of csound~. -> Renamed dmp.csound~ to csound~. -> Added second optional integer argument to specify # of output signals. If no arguments are supplied, then there are 2 input/output signals. If 1 argument is supplied, then that argument specifies the # of input/output signals. If 2 arguments are supplied, the first is the # of input signals and second is the # output signals. -> After "start" message is received, if the # of Csound audio channels != the # of input or output signals for the external, a warning is displayed. -> Added "printout" message which works exactly like "message" message. -> If csound~ has not received a "path" message to set the current directory, relative pathnames in the "csound" will be relative to the directory that contains the patch that contains csound~. -> Added the "sfdir" message. The "sfdir" has one argument which should be the pathname to a directory. That directory will be used to set the SFDIR, SSDIR, SADIR, INCDIR, and CSSTRNGS global environment variables. By default, these env variables are set to the defualt directory (see above). At the moment, I don't know what the INCDIR and CSSTRNGS variables are for, but they were set in Ingalls' csound~ so I set them just in case. 2006_03_07: -> Changed behavior of "start" message. When "start" is passed to [dmp.csound~], the current directory is reset to the directory that was given as part of the last "path" message. If "path" has not been received yet, then nothing is done. This should fix the problem where other instances of [dmp.csound~] have a different directory saved as the current directory.