Demand ugens can now handle more than 32 channels, thanks Patrick Borgeat for the...
[supercollider.git] / build / ChangeLog
blob042a61353b453371e77e14b74003ecd7c68f8d98
1 Changes are listed below, grouped under each point release of SuperCollider.
3 Recent changes (will be SuperCollider v3.3.2)
4 =======================================
6 Headlines:
7 ----------
9 * 2009-09-03 add support for Mac OS 10.5 and greater 64-bit builds of plugins and scsynth
10 * 2009-07-xx iphone support by Axel Balley added - ab
11 * 2009-07-21 EnvirGui added, a gui for livecoding/editing environments - adc
12 * 2009-07-24 Server.plotTree method for visualising the groups and synths on the server - sw
13 * 2009-07-31 mac osx text-completion feature now includes sclang objects - ds
14 * 2009-08-01 sclang now has a flag (Platform.ideName) for which IDE is in use (scapp, scvim, scel, sced, jsceclipse...) so that the same class-library can be used with different IDEs, enabling IDE-specific code as necessary - ds
15 * 2009-08-16 add emergency escape route: if sclang is caught in an infinite loop, send it a USR1 signal to break out of it - ds
16 * 2009-09-12 String:findRegexp and other regular expressions now available on linux as well as mac - mb,ds
17 * 2009-09-20 simplify the Server recording interface. prepareForRecord is now optional (will be automatically invoked if you don't), and the server gui button is now just two-state "record" "stop" - ds
18 * 2009-10-04 support multichannel indices for Env:at - jr
19 * 2009-10-29 improve OSC message correctness: for convenience, sclang allows command names as symbols with no leading slash e.g. \g_new. To improve compliance with the OSC standard, the leading slash is now added to those symbols before dispatch - ds
20 * 2009-11-04 new SCAnimationView and update of deferredTaskInterval from 0.038 to 0.01667 - fo
21 * 2009-11-07 use nova-simd framework for performance improvements of unit generators - tb
22 * 2009-11-21 Event type note supports polyphonic sustain, lag and timingOffset, and responds correctly to free and release. Add grain event type. -jr
23 * 2009-11-28 windows: system "application support path", previously hardcoded as C:\SuperCollider, now settable by environment variable SC_SYSAPPSUP_PATH. Default setting for that env var (when using official wix bundle) will be [SC3INSTALLLOCATION] - ds
24 * 2009-12-15 sclang: 64bit safety - tb
25 * 2009-12-15 sclang: performance improvement of math ops - tb
26 * 2010-01-02 scsynth: use osc-compilant address patterns for server/lang communication - tb
29 Bugfixes:
30 ---------
32 * 2009-06-23 avoid memory corruption when unknown OSC type tags are received. Instead forward them to sclang - jr
33 * 2009-06-23 Fix server crash with negative buffer numbers. - jr
34 * 2009-07-20 factors(): no prime factors exist below the first prime - jr
35 * 2009-07-21 Loudness ugen now supports LocalBuf - nc
36 * 2009-07-23 Fix very nasty bug in Pbindf: if a key is an array, new values were written into the incoming event, instead of the outgoing event - jh
37 * 2009-07-28 catch unintialised value in sc_GetUserHomeDirectory(), fixing potential memory corruption if HOME not set - ds
38 * 2009-08-01 SpecCentroid, fix its reaction to silence (output zero instead of NaN) - ds
39 * 2009-08-01 NamedControl: single default value now returns instance, not array, default values are obtained in a consistent way - jr
40 * 2009-08-04 fix the CPU-usage issue when calling plain "./sclang" from the terminal on OSX (seems it was caused by a bug in how OSX handles poll() calls) - ds
41 * 2009-08-15 LinPan2: fix initialisation issue - panning was not correctly applied during the first calc block - ds
42 * 2009-09-13 fix PV_MagShift argument handling, so that the defaults mean no-change, matching the behaviour of PV_BinShift - ds
43 * 2009-09-20 warn about weirdness of Float:switch - ds
44 * 2009-09-30 prevent NaN output from SpecFlatness when input is silence - ds
45 * 2009-10-16 fix cropping issue in printing SuperCollider.app documents - cq
46 * 2009-10-17 many phase-vocoder (PV_) ugens previously didn't handle the DC/nyquist bins as expected. fixed most of these (PV_MagAbove, PV_MagBelow, PV_MagClip, PV_LocalMax, PV_BrickWall, PV_MagSquared, PV_BinWipe, PV_CopyPhase, PV_Max, PV_RandComb) - ds
47 * 2009-11-01 fix audio rate arg problem in PlayBuf - jp
48 * 2009-11-02 fix amplitude-convergence issue in Pan2, Balance2, LinPan2, XFade2, which could sometimes result in sound despite zero amp, as discovered by jh - ds
49 * 2009-11-03 fix unsafe implementation of methods that allow sending collections to buffers - jr
50 * 2009-11-04 fix signalRange for MouseX, MouseY and KeyState, so that the range message works now - jr
51 * 2009-12-14 fix uninitialised variable in Pulse (could sometimes cause small glitch on init), thanks to rhian lloyd - ds
52 * 2010-01-10 Demand ugens can now handle more than 32 channels, thanks Patrick Borgeat for the patch - ds
55 Other additions/improvements:
56 -----------------------------
58 * 2009-06-23 allow remote apps to send type chars - jr
59 * 2009-06-27 build 32bit sclang on x86_64 - tb
60 * 2009-07-xx efficiency improvements on some UGens - tb
61 * 2009-07-xx improve Quarks use of svn for smoother user experience - ds
62 * 2009-07-22 catch the case when a user tries to compile into a synthdef, a unary/binary operator that the server can't apply - jh
63 * 2009-08-29 String:toUpper and String:toLower - ds
64 * 2009-09-06 Boolean:while now throws an informative error, since Boolean:while has no particular use but is often used in error by beginners in code where Function:while is intended - ds
65 * 2009-09-12 method FunctionDef:makeEnvirFromArgs allows to create template events from a function - jr
66 * 2009-11-03 TwoWayIdentityDictionary has a removeAt method now - jr
67 * 2009-11-07 improved PyrSlot typesafety - tb
68 * 2009-11-23 menu system improvements in Windows IDE - mv
69 * 2009-12-13 tidyups for "sclang when on osx but not in sc.app" - ds
70 * 2009-12-13 added lincurve and curvelin methods for numbers and UGens - jr
71 * 2010-01-01 OSCresponder and OSCresponderNode respond equally to messages with or without preceding slash - jr
72 * 2010-01-04 sclang: deprecated Proutine - switch back to the original Prout
73 * 2010-01-06 UnitTest Quark improved, added script support - jr
77 SuperCollider v3.3.1, released 2009-06-19
78 =========================================
80 Headlines:
81 ----------
83 * 2009-05-11 SCWindow additions for visible, visible_, unminimize - cq
84 * 2009-05-17 server guis (on osx) now indicate which one is currently default - adc
85 * 2009-05-18 enabled control rate versions of Ball, TBall and Spring - mb
86 * 2009-05-18 LID support for setting "MSC" state as well as "LED" on devices - ds
87 * 2009-06-19 patched for compatibility with Safari 4, fixing a lockup issue when opening help docs - ar
89 Bugfixes:
90 ---------
92 * 2009-05-11 fix keyword addressing for the order: argument - jmc
93 * 2009-05-15 update libsndfile to 1.0.20 to fix security issues (overflow vulnerabilities) in libsndfile - ds
94 * 2009-05-20 fix bug #2790649, "very large SimpleNumber:series can crash sclang" - ds
95 * 2009-05-25 mac icons for document types .quark .scd .rtfd were omitted from the app bundle, now fixed - ds
96 * 2009-06-02 EnvGen: fix off by one block latency in envelope attacks and releases - jr
97 * 2009-06-12 bug fix for level indicator: critical and warning now display based on peak if it is shown rather than on value - sw
98 * 2009-06-12 mouse coordinates fix, deprecate SCUserView:mousePosition - sw
99 * 2009-06-17 some issues fixed in SCUserView - cq
100 * 2009-06-20 fix redirect for Stethoscope - adc
102 Other additions/improvements:
103 -----------------------------
105 * 2009-05-05 fixes/improvements to cocoabridge primitives - cq
106 * 2009-05-06 SCImage various minor improvements - cq
107 * 2009-05-16 optimisation for scrollview drawing, remove VIEWHACK - sw
108 * 2009-05-xx various documentation updates - various
109 * 2009-05-xx various improvements to ubuntu-debian packaging scripts - ds, am
110 * 2009-05-20 SynthDef:writeOnce now available as an instance method as well as a class method - ds
111 * 2009-06-11 sc.app gets a menu command for "Evaluate selection" - sw
112 * 2009-06-17 adjusted SCKnob to use relative mouse coordinates - jm
113 * 2009-06-17 small fix to SConstruct to allow for new Debian X11 location when compiling on linux - mb
114 * 2009-06-19 Blip ugen: prevent sound blowup by never letting numharm be less than 1 - fo
115 * 2009-06-20 SCPen: fillStroke changed default from draw(4) to draw(3) - fo
116 * 2009-06-21 Fold, Clip and Wrap can now modulate the low and high inputs.
118 SuperCollider v3.3, released 2009-04-30
119 =======================================
121 Headlines:
122 ----------
123 * 2008-04-08 scvim is now part of the distro - ds
124 * 2008-04-20 improvements to MIDI sysex handling - added sysex parsing directly in source - thanks to charles picasso
125 * 2008-07-12 scsynth on Mac can now use separate devices for audio input vs audio output. Thanks to Axel Balley for much of the work on this, also a bit by ds.
126 * 2008-07-12 PlayBuf, RecordBuf, BufWr, BufRd, ScopeOut - used to be limited to 16-channel audio maximum. Now can handle massively multichannel audio - ds
127 * 2008-07-19 Buffer:normalize method added - ds
128 * 2008-07-23 FFT and IFFT added option for zero-padding, by optional "framesize" argument - ds
129 * 2008-09-03 new VDiskIn ugen - jp
130 * 2008-10-08 SCImage for manipulating bitmap image objects (mac only) - ch
131 * 2008-10-09 LocalBuf system to allow synths to manage their own purely-local buffers - jr
132 * 2008-10-17 Added "-P" option to scsynth (accessible as s.options.restrictedPath) to allow restricting which paths scsynth is allowed to read/write - ds
133 * 2008-10-18 new PartConv ugen, performs efficient frequency-domain convolution - nc
134 * 2008-10-26 support on mac for "modal windows/sheets" (for user dialogs etc) - sw
135 * 2008-xx-xx various behind-the-scenes efficiency improvements, for a sleeker audio server that can do more on a given machine - various contributors
136 * 2008-11-01 add BEQSuite filter UGens (blackrain, jp)
137 * 2008-11-11 add Pfxb pattern - jr
138 * 2008-11-25 new EZPopUpMenu - jm
139 * 2008-11-29 Pitch ugen can now also track the pitch of control-rate signals - mb
140 * 2008-11-30 Drag and drop paths from Finder to Documents and SCViews - sw
141 * 2008-12-03 added PV_Div ugen for complex division - ds
142 * 2008-12-07 added PV_Conj ugen for complex conjugate - ds
143 * 2008-12-15 new ViewRedirect for easier cross-platform gui syntax. e.g. Window now redirects to SCWindow or JWindow. ds & jm
144 * 2008-12-15 revised and updated all SC Gui documentation. New gui introduction. New SCUserView subclassing tutorial. - jm
145 * 2008-12-15 the /done message for Buffer allocation/free/etc now also includes the buffer index - jt
146 * 2008-12-15 added methods to SCFreqScope for "special" SynthDef, and for visualising frequency responses - ds
147 * 2008-12-18 the main windows version of sc is now called "SuperCollider" rather than "PsyCollider" (although psycollider is the name of the code editor). SuperCollider on windows now has a different (better? who knows) installer, uses the main sc3 icon, and has some other tweaks that make it different from version 3.2 - ds
148 * 2008-12-19 new EZListView - jm
149 * 2009-01-02 sced (the gedit sc plugin) is now part of the distro - mb/artem
150 * 2009-01-06 SendReply UGen - jr
151 * 2009-01-06 VDiskIn sends file position to client - jr
152 * 2009-01-12 map audio to SynthDef controls. new OSC messages n_mapa and n_mapan. - jp, jr, rk
153 * 2009-01-13 relativeOrigin=true. SC's coordinate system in container views and user views are now by default relative.
154 * 2009-01-15 SCLevelIndicator view added - sw
155 * 2009-01-16 Scale and Tuning classes added - tw
156 * 2009-01-17 SuperColliderAU (scsynth as a Mac OSX "Audio Unit") added to main distribution - gr
157 * 2009-02-03 EZKnob revised and now part of distro - br, jm
158 * 2009-02-23 SystemActions refactored - jr
159 * 2009-02-23 SCMenuItem, SCMenuGroup, and SCMenuSeparator for user customisable menus - sw
160 * 2009-02-23 LFGauss UGen added - jr
161 * 2009-03-14 Added GeneralHID based patterns PhidKey and PhidSlot - mb
163 Bugfixes:
164 ---------
165 * 2008-05-20 fix for the special case when 0.2.asFraction beachballs the lang (bug id 1856972) - jr
166 * 2008-05-20 fix slight mistake in the defaults printed by scsynth on command-line (bug id 1953392) - ds
167 * 2008-07-24 Routine / AppClock fix setting the clock of the thread (bug id 2023852) - jr
168 * 2008-09-16 stability fixes to FFT and IFFT - ds
169 * 2008-09-27 fix TExpRand.ar - ds
170 * 2008-11-11 SystemSynthDefs.numChannels can now be set from the startup file - jr
171 * 2008-11-24 avoid FFT failure when buffer not allocated - jr
172 * 2008-11-29 resolved inconsistency in Server:waitForBoot - function is always executed in a Routine, whether or not the server is booted - ds
173 * 2008-12-07 FlowView setting inital margin and gap fixed (bug id 1986059) - jh
174 * 2008-12-07 OSCpathResponder fixed (bug id 2021481) - jh
175 * 2009-01-08 b_readChannel fixed (bug id 1938480) - mb
176 * 2009-01-08 MIDIIn.connect on Linux fixed (bug id 1986850) - mb
177 * 2009-01-09 Tabbing in SCTextView - sw
178 * 2008-08-23 fix for sclang crashing sometimes when compiling erroneous code (bug id 2022297) - rb
179 * 2009-01-18 SCScrollView relativeOrigin glitch fixed (bug id 2508451) - jr, sw
180 * 2009-01-28 Fixed QuartzComposer view bounds bug - sw
181 * 2009-02-21 NodeProxy handles groups more consistently - jr
182 * 2009-04-16 asFraction fix by JMcC - jr
184 Other additions/improvements:
185 -----------------------------
186 * 2008-03-22 added open Method and link handling to SCTextView - sw
187 * 2008-04-04 SoundFile:toCSV - ds
188 * 2008-04-29 buffer UGens now post a warning (rather than failing silently) if buffer channels doesn't match num ins/outs - ds
189 * 2008-07-14 Deprecated rendezvous in favour of zeroConf - sw
190 * 2008-09-xx various code improvements, including compiling for 64-bit linux - tb
191 * 2008-10-03 improvements to standalone build - jp
192 * 2008-10-03 SCEnvelopeView remembers drawing order. - sw
193 * 2008-10-05 Maintain initial offset when dragging on an Envelope View node. This avoids nodes jumping to a new position on mouse down. - sw
194 * 2008-10-05 Enabled gridOn, gridResolution, gridColor, timeCursorOn, timeCursorPosition, and timeCursorColor for SCSoundFileViews. - sw
195 * 2008-10-31 thisProcess.pid - sclang now can know what its process id is - ds
196 * 2008-11-21 support for LocalBuf in FFT UGens - jr
197 * 2008-11-27 SC3 will ignore ugens/class-files in folders named "ignore". Previously the name has been "test" - ignoring folders named "test" is now deprecated and will be removed - ds
198 * 2008-12-06 Added Main:recompile to allow recompiling from code (SC.app only so far) - sw
199 * 2008-12-08 Added custom drag label for SCView - sw
200 * 2008-12-15 Buffer's done osc reply now includes the bufnum - jt
201 * 2008-12-20 Help tree in help menu (OSX) - sw
202 * 2008-12-24 EZSLider and EZNumber now have an enclosing containers, as well labelPosition =\left, \right, or \stack modes - jm
203 * 2009-01-03 Help browser text is editable/executable (CocoaGUI) - sw
204 * 2009-01-04 Escape exits modal and fullscreen states (OSX) - sw
205 * 2009-01-08 interface change to ProxySpace.stop (now stops all proxies, just like free/end/clear) - jr
206 * 2009-01-08 improved Ndef implementation, stores values in an internal ProxySpace, Ndef takes server names for multiple servers. - jr
207 * 2009-01-08 improved ProxyMixer implementation, added NdefMixer. - adc
208 * 2009-01-11 Added class browser to help menu (OSX) - sw
209 * 2009-01-20 New Cocoa based SCTextField - sw
210 * 2009-01-28 More helpful error string for operation cannot be called from this Process - sw
211 * 2009-02-23 CocoaDialog takes allowsMultiple arg rather than maxItems - sw
214 SuperCollider v3.2, released 2008-02-21
215 =======================================
217 Headlines:
218 ----------
219 * 2007-11-xx new suite of machine listening ugens - Loudness, BeatTrack, Onsets, KeyTrack, SpecCentroid, SpecPcile, SpecFlatness - nc, ds
220 * 2008-01-06 FreeBSD compatibility - hb
221 * 2008-01-10 Quarks updating on OSX should now be easier for first-time users; commands are run in a separate terminal window - ds
222 * 2008-01-15 "Advanced find" in Mac interface - jt
223 * 2008-01-20 Buffer.copy changed to match other .copy methods - now copies language-side object rather than server buffer. Buffer.copyData can be used to copy data from one server buffer to another - jh
224 * 2008-01-20 - add volume controls to the Server and Server guis - jp
225 * 2008-01-xx Pattern library implementation changes, Pfx, Pbus, Pgroup etc. - rk, jr, jh
226 * 2008-01-26 TDuty outputs trigger first, not level. for backwards compatibility TDuty_old - jr
227 * 2008-02-03 moved the search location for "startup.rtf" on Mac - now searches in system, then user, "Application Support/SuperCollider" folders - ds
229 Bugfixes:
230 ---------
231 * 2007-11-16 bug fixes for MIDIIn in connect/disconnect methods. split MIDIOut.sysex into user method and primitive (breaks with previous implementation). default value for uid arg in MIDIOut.new. - mb
232 * 2007-11-18 fixed a bug in prTry / protect - jr
233 * 2007-11-27 lock avoided in nextTimeOnGrid
234 * 2007-12-12 Node-setn fixed when using integers as control indices - jr
235 * 2008-01-16 fixed Pen: bug with fillRect, fillOval and fillColor (bugtracker id 1837775) - jt
236 * 2008-01-20 CheckBadValues rate-checking was too restrictive - ds
237 * 2008-01-20 fix for Saw and Pulse's offset noise on first instantiation, thanks to hisao takagi - ds
238 * 2008-01-26 TDuty / Duty does not drift anymore - jr
239 * 2008-02-07 Fixed hang and incorrect background drawing in Cocoa scrollviews - sw
241 Other additions/improvements:
242 -----------------------------
243 * 2007-11-16 MIDIOut.connect and disconnect - mb
244 * 2007-11-18 added T2A UGen - jr
245 * 2007-11-18 Refactoring of Document class, including new CocoaDocument class to handle the Cocoa-specific (SuperCollider.app) document management - ds
246 * 2007-11-18 More macros available in the plugin API for UGen programmers: GET_BUF, SIMPLE_GET_BUF, FULLRATE, RGET, RPUT - ds
247 * 2007-11-20 UnixPlatform:arch method - jp
248 * 2007-11-20 FFTTrigger UGen - a ugen to create "fake" (empty) FFT chains - jp
249 * 2007-11-21 StartUp protects its added functions from each other - if one fails this no longer prevents others from running - ds
250 * 2007-11-25 added Pclutch and moved StreamClutch to common - jr
251 * 2007-11-27 Function:inEnvir added - jh
252 * 2007-12-12 added Collection.flatIf - jr
253 * 2007-12-15 added control rate functionality to NumRunningSynths - jr
254 * 2008-01-08 martin rumori's DiskIn bugfix and loop enhancement - jp
255 * 2008-01-10 String:runInTerminal method - ds
256 * 2008-01-11 poll now works for scalar ugens - jr
257 * 2008-01-15 Collection:maxIndex and Collection:minIndex - nc
258 * 2008-01-24 Server.options.rendezvous to (de)activate Rendezvous if desired - ds
259 * 2008-01-24 demand ugens accept audio rate inputs correctly - jr
260 * 2008-01-26 added Dbufwr ugen, for writing to buffers from a demand ugen chain  - jr
261 * 2008-01-27 Main:version and associated methods for programmatically determining which version SC is - ds
262 * 2008-02-03 Server:defaultRecDir class variable, to allow user to specify default rec location - ds
263 * 2008-02-07 SCScrollView and SCScrollTopView no longer fire their action when scrolled programatically - sw
266 SuperCollider v3.1.1, released 2007-11-16
267 =========================================
268 Bugfixes:
269 ---------
270 * 2007-11-09 re-organized the main help file - rb
271 * 2007-11-14 fix for .asStringPrec, to avoid crashes on intel systems for large precision values - jt
273 Other additions/improvements:
274 -----------------------------
275 * 2007-11-14 added a preprocessor to the interpreter - jr
276 * 2007-11-14 added a startup message specifying how to get help - rk
279 SuperCollider v3.1, released 2007-10-31
280 =======================================
281 (changes below are since 2007-09-22, for first ever point release)
283 Headlines:
284 ----------
285 * 2007-09-27 SparseArray class added - jr
286 * 2007-09-28 Help.gui added - ds
287 * 2007-10-01 FFT and IFFT rewrite - now using more efficient libs, also allows user to vary the overlap and the window type, also large-sized FFTs are possible - ds
288 * 2007-10-02 UnpackFFT and PackFFT added - these allow for flexible frequency-domain manipulations inside synths - ds
289 * 2007-10-04 Pkey and Pif added - hjh
290 * 2007-10-05 reformed Patterns - all patterns accept patterns as arguments - jr
291 * 2007-10-08 change to UGen plugin loading fixes the audio dropout issue that various users have experienced - rb
292 * 2007-10-08 GeneralHID crossplatform HID wrapper - mb
293 * 2007-xx-xx many improvements to Quarks package-management system. gui improvements, dependency-handling improvements, etc - various
294 * 2007-10-20 added a Glossary file - sw
295 * 2007-10-xx various new help files added, and many help files improved - various
296 * 2007-10-26 changed Cmd-? to Cmd-D in lieu of the default help menu shortcut in Leopard. Also changed Cmd-Shift-K (clear post window) to Cmd-Shift-C to avoid accidental recompiles. - rb
298 Other additions/improvements:
299 ---------------------------
300 * 2007-09-22 change log added, much rejoicing
301 * 2007-09-25 added packagesource.sh script to produce source code bundles - ds
302 * 2007-09-28 IdentityDictionary:doesNotUnderstand now warns if adding a pseudo-method which overrides a real method - jr
303 * 2007-09-28 String:openHTMLFile added - ds
304 * 2007-10-04 Integer:collect and Integer:collectAs methods added - ds/jr
305 * 2007-10-05 Dwhite:new and Dbrown:new have default values for lo and hi - jr
306 * 2007-10-10 SC no longer automatically writes data (synthdefs, archive.scxtar) to the application folder - instead writes to "app support". This fixes problems with running SC using an unprivileged user account - ds
307 * 2007-10-16 SequenceableCollection:median speed improvement, approx ten times faster in many cases - ds
308 * 2007-10-20 Object:deprecated and DeprecatedError added to allow for method deprecation - sw
309 * 2007-10-21 Amplitude : attackTime and releaseTime can be modulated now - jr
310 * 2007-10-25 Collection : histo method improved and moved from mathLib to common - jr
311 * 2007-10-30 improvements to cocoa Gui, including SCUserView improved to support layering and own draw hook - jt, sciss
312 * 2007-10-31 refactored Pbrown, added Pgbrown - jr
314 Bugfixes:
315 ---------
316 * 2007-09-29 takekos bug fixed (obscure issue with garbage collection in arrays) - jm
317 * 2007-10-01 fixed off by one bug in Dswitch and Dswitch1 that caused a server crash - jr
318 * 2007-10-09 fixed deadlock and other problems in NSAttributedStringAdditions.m - rb
319 * 2007-10-11 fixed inaccurate automatic determination of whether SC is running as standalone - ds
320 * 2007-10-14 .quark files now saved correctly as plain-text, not RTF - ds
321 * 2007-10-24 fixed a bug in Pbeta - jp