Sonic Pi v2.2 Release Notes

  • Thursday 18th December, 2014 (view commits)

    ๐Ÿš€ This release brings a number of nice enhancements. However the main ๐Ÿ”‹ feature is the accurate timing for triggering FX. This means you can now reliably use FX for accurate rhythmic purposes such as wobbling, slicing and echoes.

    ๐Ÿ’ฅ Breaking Changes

    • use_sample_pack_as now uses a double underscore __ as a separator between the user-specified alias and the sample name.

    API Changes

    • ๐Ÿš€ Teach synth args to take prefixed maps: play 50, {amp: 0.5}, {release: 2}, amp: 2
    • ๐Ÿ–จ Don't round Floats when user specifically prints them to log with puts
    • with_fx FX synths are now triggered using virtual time rather than real time. This means that FX can now be used for rhythmical purposes.
    • Work on new RingArray datastructure. This is essentially an array that wraps its indexes so you can use indexes larger than the array size.
    • ๐Ÿ†• New fn ring - (ring 1, 2, 3) creates a new ring array.
    • ๐Ÿ†• New fn knit - (knit :a1, 2, :c1, 1) returns (ring :a1, :a1, :c1)
    • ๐Ÿ†• New fn bools - (bools 1, 0, 1) returns (ring true, false, true)
    • ๐Ÿ†• New fn range - (range 70, 100, 10) returns (ring 70, 80, 90, 100)
    • ๐Ÿ†• New fn sample_loaded? - to detect whether a specific sample has been loaded

    Synths & FX

    • ๐Ÿ›  Fixed regression in :tb303 synth - sound is reverted to v2.0 behaviour
    • ๐Ÿ†• New Synth - :square - Pure square wave

    GUI

    • Help system now autodocks on close
    • Preferences are now remembered across sessions
    • On Raspberry Pi, previous volume and audio output options are forced on boot.

    ๐Ÿ†• New Samples

    • bd_tek - Bass drum

    ๐Ÿ› Bug fixes

    • one_in now returns false if num is < 1
    • Ensure live_loop's no-sleep detector works within nested with_fx blocks
    • chord now returns a ring.