Sam Aaron has released version 2.2 of Sonic Pi. This brings further improvements. The timing of fx synths is perfected, so that now they can be used to make rhythmical changes correctly, eg using the fx :slicer.
A new RingArray data structure is added, so that you can generate lists where the index accessign elements wraps around. New functions ring, knit, bools and range are associeted with generating these structures. One of the example programs I have put below makes extensive use of these.
There are improvements to the Graphical Interface: The help window which can be detached and increased in size, automatically re-docks if the floating window is closed. However the floating windows can be toggled on and off by the Help button, which is very useful, obviating the need to resize it all the time.
Prefences are now remembered accross sessions, such as text size, current workspace window, Studio and Debug options. On the Raspberry Pi the Audio output option and previous volume are forced on boot.
A new bass drum sample bd_tek is added, as is a new synth :square
One or two bugs are fixed.
I have two new programs which make use of features added in 2.2
First SlidingChordsandFrerejaques.rb which utilises the ability to define functions to generate named args for synths, and secondly ringfunctions.rb which generates some Boogie utilising the new ring functions.
I put these in Gist files over the last few days, and then can be accessed by clicking the links above. Comments in the program listings should enable you to see how they work.
New versions of Sonic Pi can be downloaded here (The Windows version for 2.2 is not yet available). The Raspberry Pi version for 2.2 can be manually down-loaded at present, but will appear in the Raspbian distribution shortly. The Mac version 2.2 can also be downloaded.