
Greetings fellow ChucKists,
Yo!
Here is a (not so) quick summary/warning about upcoming changes in chuck-1.2.0.7, to be released probably next week.
- file i/o api's have been implemented (thanks to Martin Robinson), will be included soon but not in 1.2.0.7 Sorry about that.
Go Martin!
API deprecations. Our discussion more or less determined that it's best to unify the naming scheming now before things get further out of hand, particularly for UGen names and such. So the current solution deprecates the object names in question and provides more consistent naming. By default, when a deprecated name, such as 'sinosc', is encountered, a warning will be issued, such as 'line(1): deprecated: 'sinosc' --> use: 'SinOsc''. The behavior should be otherwise unchanged. In other words the program should still work as before. We've also added a --deprecate flag that allows you to stop, warn, or ignore upon encountering a deprecated item. The default is 'warn'.
This sounds like a pretty reasonable solution. So, for the next few releases, someone should be able to --deprecate:ignore to run their old code without any change in behavior.
A few more UGen's. From another discussion on list, also by popular demand, it seems convenient to have out-of-the-box filters, in addition to general 1st and 2nd order filters (OnePole/Zero, BiQuad, etc.). We've examined and plundered from Csound, SC, and PD source code, and chuckified a few UGen's. We are going to do this in installments, adding various UGens every release. In 1.2.0.7, They include:
Awesome!
We'd appreciate your feedback on these. For example: 1. api changes are in general, not reasons for group celebration. what can be done to further smooth the transition? 2. new naming optimal? 3. anything else
It's hard to tell what's optimal, and people dislike change in general, but I think deprecation is a good way to deal with it. Graham