Sonic Pi v2.5 Release Notes
-
Monday 13th April, 2015 (view commits)
🚀 This release comes with support for Minecraft: Pi Edition installed on the Raspberry Pi. You can now create music with Minecraft visuals or even code up a synth score in Minecraft blocks and read and play the score 🚀 from Sonic Pi! Another exciting aspect of this release is much improved editor functionality for navigating around and manipulating code via keyboard shortcuts. This means that live coding just got a lot more fun. The keyboard shortcuts are based on the standard shortcuts provided by GNU Emacs - the oldest and most powerful text editor in use by wizard programmers today.
💥 Breaking Changes
- 0️⃣
invert_wave
now defaults to 1 everywhere. I found I always inverted the wave every time I used a synth/fx where wave inversion was key. This seemed like such a better default I've broken compatibility for it. Apologies if this has affected you. - The
flanger
FX now defaults the optional argstereo_invert_wave
to 1. - 📇 Renamed FX
ring
toring_mod
to reduce the potential for confusion with thering
datastructure. Tab
now indents current line or selection rather than inserting a useless tab character.
🆕 New
- 👌 Support for programming Minecraft Pi Edition.
- 🔀
sync
now accepts multiple cue ids and will sync on the first matching id. - 🆕 New fn
pitch_ratio
for converting a midi note to a frequency ratio. Useful for tuning samples. - 🆕 New fn
line
for creating a line from start to finish with a specific number of slices. - 🆕 New fn
spark
for displaying lists of numbers in a fancy text-graph (▁▃▅▇
) in the log. - On stop, amplitude of output slides down over 1s to silence for a smoother transition.
sample_duration
now scales result based on current BPM.range
now accepts optional args:inclusive:
andstep:
.
GUI
- 🌐 German translation of GUI and tutorial. Simply open Sonic Pi with a machine with a German localisation setting.
- Display GUI fully maximised when opening for first ever time.
- Workspace indexing now starts at 0 to match standard programming indexes.
- 🆕 New shortcuts -
M-<
andM->
for switching workspaces. - 👀 Many new Emacs-based code navigation and editing shortcuts. See the shortcut cheatsheet in the built-in tutorial for more information.
- Increase height of doc and error panes.
- 👌 Improve error pane colour scheme.
- Auto-align now trims whitespace from start and end of buffer.
- ➕ Add preference toggle to hide/show line numbers.
- 📚 Documentation now supports semantic formatting and highlighting.
- 📄 Docsystem tabs are now positioned at the bottom for better navigation.
- 🆕 New preference to hide/show line numbers in editor.
Synths & FX
- 🆕 New FX -
:pitch_shift
🐛 Bug Fixes
- 🛠 Fix OSC lib to properly encode multibyte chars such as UTF8
- 🛠 Fix sporadic issue on some platforms when trigging percussive sounds
within a
reverb
FX caused a serious audio overload. - Add missing fn metadata for
*_sample_bpm
- 🛠 Fix synth metadata for FX
:bpf
. - Fix arg metadata for
use_sample_pack_as
- 🖨 Rings now pretty print themselves as
(ring 1, 2, 3)
rather than[1, 2, 3]
. C-k
keyboard shortcut now copies text into the clipboard.- Scales and chords now return actual
ring
s rather thanring
-like things. - 👌 Improve Ring Mod FX arguments
- Exceptions created within
with_fx
are now raised correctly.
- 0️⃣