| Under the maintenance of Porres, Kwan and Barber: 

cyclone 0.3

Summary: Cyclone 0.3 represents the major overhaul in cyclone and includes: 1) objects updated to the last Max 7 version (7.3.5); 2) Many new objects; 3)Numerous bug fixes; 4) Completely rewritten documentation. See details below!

A) Restoring the original cyclone's goal of Max/MSP compatibility in the project's 'readme'.

B) Restoring the 'cyclone' library. By default, this contains only the objects that used to be in the 'nettles' library, but the cyclone library also loads cyclone's path so you can load the other objects that are compiled as separate binaries or abstraction (you can now also create a [cyclone] external object that loads the library). There's a separate option on how to compile cyclone as a single library (see 'readme' for more details).

C) Readded the "threaded" behaviour in [coll] but without the extra 2nd "threaded" argument introduced to [coll] in cyclone 0.2 because it breaks Max/MSP compatibility - the second argument now sets a functionality that was introduced in Max 4.0.8 for not searching for a file. The threaded feature is now set as an extra "attribute" (@threaded 0/1) and the threaded behaviour is now the default.

D) 40 New objects, including:

2 Abstractions: [buffer~] and [number~]

38 Compiled externals: [acosh], [asinh], [atanh], [atodb], [atodb~], [bitsafe~], [cross~], [dbtoa], [dbtoa~], [degrade~], [downsamp~], [equals~] **, [gate~], [greaterthan~] **, [greaterthaneq~] **, [join], [lessthan~] **, [lessthaneq~] **, [listfunnel], [loadmess], [modulo~] **, [notequals~] **, [pak], [phaseshift~], [plusequals~] **, [pong], [rdiv] **, [rdiv~] **, [rminus] **, [rminus~] **, [round], [round~], [scale], [scale~], [selector~], [thresh~], [trunc~] and [unjoin].

** These are alphanumeric versions of the objects in the cyclone sub-library, which contains non-alphanumeric objects: ==~ - !=~ - <~ - <=~ - >~ - >=~ - !-~ - !/~ - %~ - +=~

E) Updated objects (61 Objects affected), including:

- 7 objects that were updated to include only missing functionalities from Max 4 - as some functionalities introduced after Max 4.0 were never reflected into cyclone. Since cyclone has long been considered a Max 4 compatible library, such missing functionalities may also be considered as "bugs" rather than updates:
	- [anal] - Max size increased to 16384
	- [substitute] - 1st only mode
	- [mousestate] - mode 1 and 2
	- [onebang] - 'stop' method / input for anything / right outlet
	- [slide~] - reset / slide_up / slide_down methods
	- [funbuff] - clipboard operations
	- [vectral~] - size / clear messages

- 54 objects that were updated to current Max's version; +=~ (alias of [plusequals~]) - [acos~] - [acosh~] - [asin~] - [atanh~] - [average~] - [bitand~], [bitnot~], [bitor~], [bitshift~], [bitxor~], [buffir~], [capture] *, [cartopol], [change~], [coll] *, [count~], [counter], [curve~], [cycle~], [decode], [delay~], [deltaclip~], [fromsymbol], [funnel], [linedrive], [matrix~], [maximum], [midiformat], [midiparse], [minimum], [minmax~], [mousefilter], [mtr], [offer], [overdrive~], [peak], [play~], [poltocar], [pong~], [record~], [scope~], [snapshot~], [spike~], [spray], [sustain], [table], [tosymbol], [trapezoid~], [triangle~], [trough], [uzi] *, [wave~] and [zl] *.

     * *Objects that also required updates from Max 4: [capture] - input for anythings; 
       [coll] - renumber2 method / 2nd argument; [uzi] - 2nd argument; 
       [zl] - sort method.

- 1 object partially updated; [comment], a fully compatible object for versions 6+ won't be possible and currently [comment] is partially compliant to Max 5.

F) Assorted Fixes (65 Objects affected), including:

- 33 objects that were also updated :
	- [comment] - improved the issue of not rendering the same in different platforms (still buggy), added inlet and methods, fixed behaviour in a subpatch (made it visible).
	- [mousefilter] - it wasn't filtering on the click moment
	- [average~] - fixed argument to actually set maximum size, change size clears the buffer
	- [bitand~] - fixed for 64 bits & fixing the secondary inlet behaviour
	- [bitor~] - fixed for 64 bit & fixing the secondary inlet behaviour
	- [bitxor~] - fixed for 64 bit & fixing the secondary inlet behaviour
	- [bitnot~] - fixed for 64 bits
	- [bitshift~] - fixed for 64 bits
	- [offer] - y values are only int
	- [funbuff] - no output on 2nd inlet for find method / floats converted to int on input / set shouldn't clear contents / got rid of useless "reduce" and inexisting method
	- [slide~] - fixed the output reaching the target 
	- [coll] - (not ready yet) input order, 3rd outlet bang, insert message 
	- [counter] - fixed starting value / 4th inlet bang behaviour / setmin message / current and ancient mode / maximum count value / min-max args in any order / state method in all inlets / behaviour when max < min
	- [mtr] - input for anythings
	- [sustain] - input methods, order of flushing noteoffs
	- [funnel] - fixed the bang method
	- [uzi] - fixed the default arg
	- [curve~] - fixed factor (argument/3rd inlet) & max truplets
	- [scope~] - several bug fixes (ike many default values; subpatch freeze bug; x/y mode: 		crash/freeze in 64bits and lines instead of points - aded y mode only, added drawstyle, 		added properties windows!
	- [count~] - fixed the min message, set message and 2nd inlet 
	- [spike~] - fixed the time resolution (it was off by one sample)
	- [linedrive] - default args, clip output values
	- [+=~] - fixed the float input bug / outputs 0 when signal not connected
	- [pong~] - wrapping bug fix 
	- [buffir~] - fixed weird behaviour on 64 bits
	- [record~] - fixed the output, the reset/append messages and number of channels
	- [cycle~] - fixed the DSP reset, made the cosine table symmetric & some bugs with wrapping through the table
	- [matrix~] - fixed list input bug (was updating gain arg) 
	- [minmax~] - fixed the way it is reset and no signal input behaviour
	- [wave~] - fixed number of channels	
	- [play~]  - fixed number of channels
	- [table]  - "write" and method flags method (still has known issues). 
	- [zl]  - numerous bug fixes, big ones are: size management, and fixes in modes group, len, sub & nth

- 32 objects that did not need updates:
	- [!/] - div by 0 is now 0
	- [pow~] - nan/inf output become 0
	- [cartopol~] - fixed the behaviour for no input for 1st inlet
	- [poltocar~] - fixed the behaviour for no input for 1st inlet
	- [buddy] - fixed the bang method
	- [bondo] - fixed the symbol method/selector
	- [cycle] - fixed the symbol method/selector
	- [capture~] - fixed data display
	- [rampsmooth~] - fixed the bug where it was extrapolating the value for 1 sample, allowed the update of ramp values while the ramp is still running.
	- [kink~] - fixed restrains for argument
	- [rand~] - neg input becomes 0, workaround to allow max freq input = sample rate;
	- [click~] - max setable size to 256
	- [index~] - fixed the input channel clipping
	- [line~] - max pair to 128
	- [past] - bugs with list behaviour
	- [sprintf] - added missing 'symout' argument, fixed behaviour without arguments, not allowing bangs in secondary inlets, fixed the output for %ld and negative inputs, plus other minor improvements.
	- [pv] - got rid of annoying error with [send] sharing the same name, made it instantiate without arguments
	- [train~] - now when width is "0" it has a pulse of 1 sample, and a pulse of "n-1" samples for width = 1 / also improved the way phase onset actually works
	- [poke~] -  fixed to automatic redrawing
	- [allpass~] - default max delay to 10ms - / corrected the filter formula -allow blow ups
	- [comb~] - default max delay to 10ms / allowing blowups / corrected the filter formula
	- [teeth~] - newly written object based on the new rewrite of [comb~], adding full compatibility/functionality to the external and fixing bugs - this object was introduced in alpha57 as an abstraction by porres and made into a compiled object in 0.2beta2
	- [lookup~] - max table size is array's size, added linear interpolation
	- [onepole~] - default args
	- [thresh] - fixed input message types and errors
	- [append] - fixed useless inlet bug, bang behaviour and symbol input
	- [prepend] - fixed useless inlet bug, bang behaviour
	- [seq] - start message needed to restart sequence (still has known bugs to be fixed)
	- [sampstoms~] - float input now reflects on signal output
	- [mstosamps~] - float input now reflects on signal output
	- [asin] - removed protection against nan (was unchecked)
	- [acos] - removed protection against nan (was unchecked)

G) Objects' names to lowcase by default and avoiding nameclash [17 Objects affected]: [line~], [scope~], [uzi], [borax], [bucket], [decode], [histo], [peak], [trough], [clip], [pow~], [clip~], [snapshot~], [table], [mousestate], [togedge] and [append]

H) Fixing proper input types for signal objects (mostly not allowing float input in main signal input), 64 objects affected: non-alphanumeric objects **, [acos~], [acosh~], [allpass~], [asin~], [asinh~], [atan~], [atan2~], [atanh~], [avg~], [bitand~], [bitor~], [bitxor~], [buffir~], [capture~], [cartopol~], [click~], [clip~], [comb~], [cosh~], [cosx~], [curve~], [delay~], [delta~], [deltaclip~], [edge~], [frameaccum~], [framedelta~], [index~], [kink~], [lookup~], [lores~], [matrix~], [minmax~], [maximum~], [minimum~], [onepole~], [peakamp~], [phasewrap~], [pink~], [poltocar~], [pow~], [rampsmooth~], [reson~], [sah~], [sinh~], [sinx~], [slide~], [spike~], [svf~], [tanh~], [tanx~], [vectral~], [wave~] and [zerox~]

** non-alphanumeric objects are: ==~ - !=~ - <~ - <=~ - >~ - >=~ - !-~ - !/~ - %~ - +=~

I) Other objects removed/included: Replaced the [output~] abstraction by an extra named [out~], borrowed from the "else" library. Another object borrowed from "else" is [setdsp~]. Objects [abs~] and [log~] were deleted because now vanilla also has these objects with the exact same function/behaviour, so they became redundanct.

J) Completely rewritten and redesigned documentation, solving numerous issues/mistakes (still in progress)

| Under the maintenance of Fred Jan Kraan: 

0.2beta3
  * coll: removed threaded behaviour as it has impact on the windows distribution 

0.2beta2
  * coll: added .DLL dependencies so the threaded version works in windows
  * teeth~: replaced porres' abstraction for a compiled binary version

0.2beta1
  * coll: substituting it for pd-l2ork's version, with threaded functionality and argument
  * scope~: Added 'resize' and 'grbg' methods
  * frameaccum~: added wrap-mode 
  * matrix~: changed default ramp for non-binary mode
  * delay~: added clear message

0.1.alpha57 
  * fixed "bits " message for bitand~, bitor~ and bitxor~ (bug #1186, svn r17418), 
  * fixed crash on "set " message for count~ (svn r17394), 
  * added 'pause', 'resum' and 'stop' messages to Line~ (svn r17398), 
  * fixed poltocar~ phase polarity (svn r17483), 
  * fixed rand~ argument (bug #1177), 
  * Bucket: added a new max 4 mode, which loads values different (svn revision 17484)
  * changed in arsic/vefl.c the call of garray_getfloatarray to garray_getfloatwords and the calling code in buffir~, cycle~, index~, lookup~, peek~, play~, poke~, record~ and wave~ perform methods (svn r17482, r17393 r17397), 
  * fixed the file handling in funbuff (bug #1188, svn r17419), 
  * fixed the seed argument in decide, and made normal behaviour more random, 
  * updated build_counter to 57, 
  * updated cyclone-meta.pd, 
  * updated help-patches and added 'always in sync' output~.pd and dspSwitch.pd (svn r17422, r17471), 
  * fixed issue in slide~ with incorrect down-slide when specifying a low-value up-slide (svn r17475), 
  * changed the rampsmooth~ ramp to linear as specified in the documentation (svn r17474), 
  * checked and improved sah~ help-patch (svn r17473), 
  * added 'separate' message to coll object (svn r17418), 
  * fixed offset argument in cycle~ (svn r17479), 
  * fixed internal path for comment (bug #215, svn r17480, r17481), 
  * added max4.6 second argument (svn r17484), 
  * changed the nettles library object to operate outside the cyclone library object (svn r17485), 
  * fixed help for the nettles and load with declare (replacing import) (svn r17486), 
  * added teeth~ abstraction (svn r17488), 
  * fixed the rampsmooth~ inlets (svn r17490), 
  * removed the logpost(version) at 'all' level to improve < 0.43 compatibility (svn r17591), 
  * added new build system files (expected to replace the native build system) (svn r17492). 
  * Added examples to cyclone cartopol~ and poltocar~ help patches (svn r17493), 
  * Fixed [lookup~] behaviour (svn r17495).

| Under the maintenance of Hans-Christoph Steiner (Late Pd Extended era): 

0.1.alpha56 - available in the last pd extended version (0.43.4) - found as "cyclone-v0-0extended" when searching for externals (in Pd Vanilla 0.47+):
  * fixed inversed phase output of cartopol~ (but not poltocar~ ruining the pair)
  * added all-lower-case aliases to objects with capital letters cause this was possible since Max 3!

| Under the maintenance of Krzysztof Czaja, the original author: 

0.1.alpha55 -  available in most Pd-Extended versions up to Pd-Extended 0.42.5:
  * new class: overdrive~
  * seq:
    . new incompatible message 'tempo': 1-based coef, does not start playback
    . fix for double-to-float-pair calc in 'scoretime' and 'goto'
  * abs~: performance fix
  * slide~, rampsmooth~: bashing denormals

0.1.alpha54
  * comment: fixing namespace bug, reducing traffic
  * testmess: optionally filling message with symbols (numbers in hex form
    or names of all registered classes)

0.1.alpha53:
  * matrix~: incompatible message 'set'
  * coll:
    . fixed descending order of 'sort' (a leaking sentinel bug)
    . ignoring negative indices in 'min' and 'max'
    . editor fixes (close by wm, dirty flag, title)
  * Table: reading from file, reading from editor, editor fixes
  * seq: editor fixes, editor bound to click (should bind to "open" too...)
  * prob, capture, capture~: viewer fixes

0.1.alpha52:
  * compatibility mode interface in maxmode object:
    messages 'set', 'get' (reply through the second outlet)
  * better handling of initial directory in open panels
  * relative path handling in 'cd' (library objects, seq, more to come)
  * remote reply to 'pwd' message of library objects (target argument required)
  * instead, left outlet of library objects sends return code from import
    (negative value indicates an error)
  * new class: matrix~
  * linedrive: more compatible in maxmode, bipolar otherwise
  * seq:
    . paused state fixes (state preserved in 'goto', proper delay in 'start')
    . 'goto' fix (works in idlemode)
    . more incompatible messages: 'scoretime', 'cd', 'pwd'

0.1.alpha51:
  * dummies loaded by maxmode, not cyclone
  * setting directory in creation argument replaced with 'cd' message
    to library objects (cyclone, maxmode, hammer and sickle)
  * 'pwd' message to library objects sends directory symbol to an outlet
  * creating cyclone and maxmode library objects possible without
    loading component libraries
  * prepend and Append:
    . bang handling, controlled by maxmode
    . restored max-like 'set' handling as default for objects with arguments
  * fix for parsing creation arguments in svf~
  * incompatible additions to seq: 'pause', 'continue', 'goto'

0.1.alpha50:
  * max-compatibility mode switch for cyclone
    . turned on by loading cyclone libs through "-lib maxmode"
    . affects max-compatibility of prepend and Append, controls
      compatibility warnings
      
 Changelog for Earlier Cyclone Versions (0.1.alpha1 to 0.1.alpha49) Unavailable...
