ChucK v 1.2.1.3
Oct 5, 2009
MacOS X UB
(added) initial/experimental support for file I/O (finally)
(thanks to Andrew Schran, Martin Robinson)
- (added) new class: IO, FileIO
see examples/io/:
read-int.ck
read-str.ck
readline.ck - using readline
write.ck - write using <=
write2.ck - write using .write()
- (added) IO input via =>
- (added) IO output via <= (the "back-chuck")
example: fio <= x <= " " <= y <= "\n";
- (added) new syntax for checking if/while/for/until with IO objects
e.g., while( fio => i ) { ... }
- (added) StdOut/StdErr objects:
"chout" (pronounced "shout")
"cherr" (pronounced "Cher")
- (added) Hid.open() now can accept a device name parameter
- (added) analysis/tracking examples are now back
(thanks to Kassen for looking into this)
- (fixed) calling overloaded functions with most specific match
e.g., Specific extends General:
fun void foo( General obj ) { }
fun void foo( Specific obj ) { }
foo( obj $ Specific ); // should call foo( Specific )
(thanks to Robert Poor for reporting, to Kassen, David Rush,
Michael Heuer, and Andrew C. Smith for follow-up)
- (fixed) STK instruments control changes reports range issues as
"control value exceeds nominal range"; previously printed
hard-coded values that were potentially misleading
(thanks to Kassen for reporting)
- (fixed) all oscillators now produce audio for negative frequencies
(thanks to Luke Dahl)
- (fixed) incorrect UGen disconnect (thanks Kassen for reporting)
- (fixed) type checker now validates if/while/for/until types
- (fixed) linux compilation (for gcc 4.x)
- (fixed) complilation on OS X Snow Leopard
ChucK v 1.2.1.2
May 31, 2009
MacOS X UB
1.2.1.2
- (added) dynamic, resizable arrays
.size( int ) resizes array; .size() returns current size()
<< operator appends new elements into array
.popBack() pops the last element of the array, reducing size by 1
.clear() zero's out elements of the array
(see examples/array/
array_dyanmic.ck
array_resize.ck)
- (added) new UAna: FeatureCollector
turns UAna input into a single feature vector, upon .upchuck()
new UAna: Flip
turns audio samples into frames in the UAna domain
new UAna: pilF
turns UAna frames into audio samples, via overlap add
new UAna: AutoCorr
computes the autocorrelation of UAna input
new UAna: XCorr
computes the cross correlation of the first two UAna input
- (added) UGen.isConnectedTo( Ugen ) // is connected to another ugen?
- (added) UAna.isUpConnectedTo( UAna ) // is connected to another uana via =^?
- (added) int Shred.done() // is the shred done?
int Shred.running() // is the shred running?
- (added) int Math.ensurePow2( int )
- (added) Math.INFINITY, Math.FLOAT_MAX, Math.FLOAT_MIN_MAG, Math.INT_MAX
- (added) TriOsc.width(), PulseOsc.width(), SawOsc.width(), SqrOsc.width()
- (added) Std.system(string) is now disabled by default, to enable: specify
the --caution-to-the-wind command line flag, for example:
%> chuck --caution-to-the-wind --loop
- (removed) SqrOsc.width( float ), width is always .5
- (fixed) it's now (again) possible to multiply connect
two UGen's
- (fixed) OS X only: sudden-motion-sensor HID no longer
introduces audio dropouts below peak CPU usage
due to added centralized polling;
added static Hid.globalPollRate( dur ) to control
the central SMS polling's rate
- (fixed) Windows only: implementation of array via STL vector::reserve()
has been replaced with a more compatible approach (see chuck_oo.cpp)
- (fixed) dac amplitude no longer halved!
NOTE: this increases the gain from before by
a factor of 2, or roughly 6 dB!! BEWARE!!
- (fixed) corrected order of shred/ugen dealloc in VM destructor,
preventing a potential crash during shutdown
- (fixed) UAna can now upchuck() at now==0
- (fixed) STK Chorus UGen now has reasonable defaults
.max( dur, float ) for initializing to delay/depth limits
.baseDelay( dur ) sets current base delay
- (fixed) dur +=> now no longer crashes
- (fixed) ADSR now returns attackTime, decayTime, and releaseTime that corresponds
to the duration-based setting functions (internally multiplied by SR)
(thanks Eduard)
- (fixed) STK Mandolin no longer plays without explicit noteOn
- (fixed) unsporked Shred instances now given id == 0 (thanks Kassen)
- (fixed) typos in ugen_xxx.cpp and chuck-specific rtaudio.cpp (/moudi)
ChucK v 1.2.0.8
Mar 25, 2007
MacOS X UB
--
1.2.0.8
- (added) command line argument support
e.g. %> chuck foo.ck:1:hello bar:2.5:"with space"
also works with OTF commands
e.g. %> chuck + foo:1:yo
also works with Machine.add( ... )
e.g. // code
Machine.add( "foo:1:2:yo" );
(see examples/basic/args.ck for accessing from code)
- (added) OS X: watchdog enabled
win32: watchdog implemented and enabled
(combats chuck infinite empty loop implosion)
- (added) OTF server/listener now ON by default...
to enable, specify --loop or --server
to disable, specify --standalone
- (added) new UGens:
--------
Dynamics: dynamics processor (compressor, expander, etc.)
(author Matt Hoffman and Graham Coleman)
(see examples/special/)
GenX: classic + new lookup table functions base class
(author Dan Trueman, ported from RTCMix)
(see examples/special/)
float .lookup( float ) : lookup table value
float[] .coeffs( float[] ) : load the table
Gen5 (extends GenX)
Gen7 (extends GenX)
Gen9 (extends GenX)
Gen10 (extends GenX)
Gen17 (extends GenX)
CurveTable (extends GenX)
WarpTable (extends GenX)
LiSa: (Li)ve (Sa)mpling!
(author Dan Trueman, partly based on Dan's munger~)
--------
- (added) (prototype) string catenation
(for now will leak memory! use wisely!!!)
e.g. // expression
"a" + "b"
"a" + 45
"a" + 5.1
"postfix" +=> str;
- (added) string escape sequences
\0 \n \t \a \" \b \f \r \v \\
\nnn (3 digit octal ascii)
- (added) new Objects:
--------
StringTokenizer: uh string tokenizer (by whitespace)
(use to be hidden PRC object)
see examples/string/token.ck
ConsoleInput: interim console input (until file I/O)
(use to be hidden Skot object)
see examples/string/readline.ck
--------
- (api) API additions
-------- (also see API modifications below)
ADSR: dur attackTime()
dur decayTime()
dur releaseTime()
WvOut: void closeFile()
Hid: void openTiltSensor()
int read( int, int, HidMsg )
HidMsg: int isWheelMotion()
(support for mouse scroll wheels)
int key
(cross-platform USB HID Keyboard Usage code)
int ascii
(ASCII value of key, where appropriate)
--------
- (api) API modifications (sorry!)
--------
ADSR: float attackTime( float ) -> dur attackTime( dur )
float decayTime( float ) -> dur decayTime( dur )
float releaseTime( float ) -> dur releaseTime( dur )
--------
- (api) deprecated --> new classes
--------------------------
HidIn --> Hid
- (fixed) adc.last() now returns correct value (was returning 0)
- (fixed) array is now subclass of Object
- (fixed) accessing null array no longer crashes (instead: exception)
- (fixed) allow: 0 length float arrays
- (fixed) check for negative array size
- (fixed) accessing null map no longer crashes (instead: exception)
- (fixed) connecting null UGen references no longer crashes
- (fixed) trivial (null == null) no longer evaluated as string
- (fixed) strict (x,y) => z type checking
- (fixed) UGens no longer able to make duplicate connections
- (fixed) && now terminates early if an operand evaluates to 0
|| terminates early if an operand evaluates to 1
- (fixed) bug accessing static members of built-in classes
- (fixed) OscSend.startMsg no longer silently fails when
using a single string message specification
- (fixed) Math.atan2 now accepts the proper arguments
- (fixed) increased OTF command network fail-safe measures
- (fixed) STK BlitSquare now produces correct frequency
(applied fix from STK release)
- (fixed) no longer spontaneously crashes when HidIn and
other event based input mechanisms are firing rapidly
- (fixed) using non-static variables from inside static functions
- (fixed) variables must be declared before being used
ChucK v 1.2.0.7
Sep 20, 2006
MacOS X UB
--
1.2.0.7
- (api) deprecated --> new classes
--------------------------
sinosc --> SinOsc
triosc --> TriOsc
sqrosc --> SqrOsc
sawosc --> SawOsc
pulseosc --> PulseOsc
phasor --> Phasor
osc --> Osc
noise --> Noise
cnoise --> CNoise
impulse --> Impulse
step --> Step
halfrect --> HalfRect
fullrect --> FullRect
gain --> Gain
zerox --> ZeroX
delayp --> DelayP
sndbuf --> SndBuf
pan2 --> Pan2
mix2 --> Mix2
onepole --> OnePole
onezero --> OneZero
polezero --> PoleZero
twopole --> TwoPole
twozero --> TwoZero
biquad --> BiQuad
**** --> ****
std --> Std
math --> Math
machine --> Machine
--------------------------
- (added) --deprecate:X flag
X can be stop, warn, or ignore - default is warn
- (added) STK BiQuad get functions pfreq, prad, zfreq, zrad
- (added) ADSR functions:
void .set( dur a, dur d, float s, dur r );
void .set( float a, float d, float s, float r );
- (added) new UGens (adapted from SC3 Server, Pure Data, CSound)
--------------------------
LPF : resonant lowpass filter (2nd order butterworth)
HPF : resonant highpass filter (2nd order butterworth)
BPF : bandpass filter (2nd order butterworth)
BRF : bandreject filter (2nd order butterworth)
ResonZ : resonant filter (BiQuad with equal-gain zeros)
FilterBasic : base class to above filters
--------------------------
- (added) new HidIn static variables for HidMsg message and device types
- (added) HidMsg fields to determine device type and number
- (added) HidMsg functions with capitalization rather than underscores
(underscored functions deprecated)
- (added) .period for all oscillators
- (fixed) floating point denormals no longer cause potentially
massive CPU usage on intel processors, this includes
BiQuad, OnePole, TwoPole, PoleZero, JCRev, PRCRev, NRev
- (fixed) STK Echo.max no longer gives incorrect warnings
- (fixed) linux makefiles now respects CC/CFLAGS/CXX (Cedric Krier)
- (fixed) SinOsc/TriOsc/PulseOsc/SqrOsc/Phasor.sync now unified:
.sync == 0 : sync frequency to input
.sync == 1 : sync phase to input
.sync == 2 : fm synth
|
NOTE: the above changes may break/affect existing patches
using TriOsc, PulseOsc, or SqrOsc
- (fixed) TriOsc/PulseOsc/SqrOsc phase consistent with convention
- (fixed) ADSR now handles keyOff() before sustain state
- (fixed) ADSR now correctly inherits Envelope
You must sign-in to post your comment:
You can signin with your 440Software account (MacMusic, PcMusic, 440TV, 440Forums, 440Software, ...) or via FaceBook, Twitter or Google.