[ANN] bach 0.7.4 released

Discussions, advice, bug reports and much more about the "bach" environment.
Post Reply
danieleghisi
Site Admin
Posts: 1349
Joined: Fri Dec 03, 2010 1:25 pm

[ANN] bach 0.7.4 released

Post by danieleghisi » Sat May 17, 2014 6:55 pm

Dear all,

the version 0.7.4 of bach is online.
In spite of the little changing number, this release features a big number of bug fixes and a certain number of new objects and abstractions.

New objects include: bach.readsdif. bach.writesdif (implementing the conversion between SDIF files and lllls), bach.float2rat (approximating floats with rationals), bach.tonnetz (a graphical U/I object to display and edit the pitches lattice called Tonnetz), bach.reducefunction, bach.integrate, bach.derive, and finally two "bonus objects": bach.hypercomment and bach.wordcloud (used in the documentation and now available for everybody).

New abstractions include: bach.cross (vector product), bach.keychain, bach.mc2r, bach.r2mc (ratio to midicents conversions), bach.quantiles, bach.mapchord (to modify individual chord gathered syntax), bach.path2llll, bach.reduce.

Among all the new features, let us just cite: LilyPond export, and PDF export through LilyPond (if LilyPond is installed), new "by" attribute for bach.sort (to sort depending on a given element), new editing capabilities added to bach.tree, new "circular" attribute for bach.step (to force circular lecture), new "pen mode" to draw functions "by hand" in slot windows (alt + click & drag), new "lambda" mode in bach.iter (to decide whether or not a sublist should be entered).

Notice that starting from this release, "maxdepth 0" and "mindepth 0" have no longer the special meaning of "all levels", and are deprecated (although still functional in some objects). You should substitute them with "maxdepth -1" and "mindepth 1" (which are the new default values). This means that, for instance [bach.iter @maxdepth 0] will only spit the entire list once.

As usual, refer to the History.txt file to have a list of all the changes, included the ones which might break compatibility with older patches.

Have fun!
Daniele

Post Reply