diff --git a/.gitignore b/.gitignore
index 128be7b2c97cb7a8d540d31a46e14acbfa249539..707a52a399f5845ddeaf5cc28a539b2782f780c4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -48,6 +48,7 @@ build32
install/windows/gui.wxs
install/windows/etc.wxs
install/windows/server.wxs
+install/windows/config.wxs
install/windows/etc
install/windows/app
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 89786bbd52bffa65c146689c5064b820edae3704..df343ea438ad5ae4242572b88df949883f416133 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,5 @@
# History
-* [v3.3 'To be named'](#v3.3), To be released...
+* [v3.3 'Beam'](#v3.3), 28th Jan, 2021
* [v3.2.2 'Tau3'](#v3.2.2), 5th April, 2020
* [v3.2.1 'Take Tau'](#v3.2.1), 3rd April, 2020
* [v3.2.0 'Tau'](#v3.2.0), 28th Feb, 2020
@@ -23,11 +23,64 @@
* [v2.0 'Phoenix'](#v2.0), 2nd Sept, 2014
-*To be released...*
+
+## Version 3.3.0 - 'Beam'
+28th Jan, 2021
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v3.3.0):
+
+Ten months of development, over 700 individual commits, loving
+contributions from many many people have gone into this new version of
+Sonic Pi. This release is also the result of a 3 month long community
+beta process which took place over on
+[Patreon](https://patreon.com/samaaron) where supporters got access
+to early releases and really helped polish and shape development. Huge
+thanks to everyone that has supported continued development. We're
+really excited and proud to share this new release with you all.
+
+In terms of significant changes, there have been many internal
+improvements, including a full rewrite of our MIDI subsystem. This
+shouldn't result in much change as a user (although some MIDI cue names
+might have changed slightly) but it really sets us up for some exciting
+developments in the future. We're essentially moving much more of the
+core input/output functionality of Sonic Pi into a special system called
+the BEAM and a language called [Erlang](https://www.erlang.org). This is
+a system that has a strong emphasis on low latency, low jitter and high
+concurrency which is exactly what the IO of a music system requires!
+We're so excited to see what we'll be able to achieve with this new
+approach that the BEAM features as the codename of this release.
+
+Another area that has seen a lot of love and attention is our strong
+focus on accessibility. We now have a much improved menu bar which
+essentially duplicates much of the functionality found in the
+preferences but in a format that's extremely easy to work with via a
+screen reader. We've also added a new context pane that displays the
+current line and character position as a direct result of a
+collaboration with Leiden University's accessibility group. There have
+already been numerous studies that are reporting success for blind and
+low-vision users of Sonic Pi - so we're confident we're on the right
+track with respect to accessibility. We're also not stopping here and are
+always looking for ways to lower the many barriers to entry for creative
+experiences with code for everyone.
+
+This is also the first release where we officially welcome Chris Maughan
+as the latest member of the Sonic Pi core team. Chris has made
+significant contributions over the last year including improvements to
+the scope and a complete reworking of our build process. I hope you join
+us in welcoming Chris to the team.
+
+Finally, we have official support for macOS Big Sur, some lovely new
+synths and FX, improved translations, support for advanced configuration
+(audio and colour theming), new Turkish scales and many, many bug fixes
+and improvements.
+
+We really hope you love this version of Sonic Pi as much as we do.
+
+Happy Live Coding!
### Breaking Changes
* MIDI port description names may be slightly different from previous versions. Precise matches on MIDI ports via `sync` and `get` will have to be updated accordingly.
+* Incoming MIDI cues now no longer include clock tick events. Optionally re-enabling these and new ways of working with incoming timing systems will feature in a future release.
### New
@@ -78,7 +131,7 @@
## Version 3.2.2 - 'Tau3'
*5th April, 2020*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v3.2.2):
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v3.2.2):
This is a minor bugfix and maintenance release.
@@ -94,7 +147,7 @@ This is a minor bugfix and maintenance release.
## Version 3.2.1 - 'Take Tau'
*3rd April, 2020*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v3.2.1):
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v3.2.1):
This release is another maintenance release with a primary focus on
increasing stability and reliability. There are therefore no major new
@@ -181,7 +234,7 @@ Now, go and get live coding!
## Version 3.2.0 - 'Tau'
*28th Feb, 2020*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v3.2.0):
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v3.2.0):
After a long 2 years without updates, we are threaded with excitement to
bring you Sonic Pi's first fully independent release. Sam Aaron's work
@@ -360,7 +413,7 @@ Now, go and make some noise with code!
## Version 3.1.0 - 'Sauna'
*23rd Jan, 2018*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v3.1.0):
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v3.1.0):
The major feature of this release is that it brings v3 functionality to
Windows. Windows now supports all the good stuff listed alongside
@@ -440,7 +493,7 @@ users!
## Version 3.0.1 - 'IOIO'
*28th July, 2017*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v3.0.1):
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v3.0.1):
This is a minor release addressing a few bugs and includes a small
number of modifications.
@@ -469,7 +522,7 @@ number of modifications.
## Version 3.0 - 'IO'
*18th July, 2017*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v3.0):
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v3.0):
This release is our most ambitious to date. The goal is to open up the
@@ -580,7 +633,7 @@ fully programmable music studio. Have fun live coding!
## Version 2.11.1 - 'Hack'
*16th Dec, 2016*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.11.1)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.11.1)
This is primarily a maintainance release containing a number of bug
fixes and minor tweaks. The feature set remains unchanged from `v2.11`.
@@ -637,7 +690,7 @@ used for Windows.
## Version 2.11 - 'Time Warp'
*3rd Nov, 2016*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.11.0)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.11.0)
This release is the biggest and most adventurous release yet. There are
as many (invisible) modifications and improvements to the internal
@@ -841,7 +894,7 @@ effort. Thanks to Hanno Zulla for making this possible.
## Version 2.10 - 'Cowbell'
*Friday 15th April, 2016*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.10.0)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.10.0)
_"I gotta have more cowbell!"_ - The Bruce Dickinson
@@ -1018,7 +1071,7 @@ Now go and get your live code on!
## Version 2.9 - 'Venster'
*Thursday 31st December, 2015*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.9.0)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.9.0)
Hot on the heels of the previous release comes `v2.9` codenamed
`Venster` (Dutch for window). This release has a specific focus on
@@ -1144,7 +1197,7 @@ Happy Live Coding!
## Version 2.8 - 'Karlsruhe'
*Friday 20th November, 2015*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.8.0)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.8.0)
This release, named after Karlsruhe, one of the home cities of live
coding, is mainly a maintenance release with a strong focus on both
@@ -1245,7 +1298,7 @@ cutoff envelopes on the sampler.
## Version 2.7 - 'Rerezzed'
*Thursday 10th September, 2015*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.7.0)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.7.0)
This release brings a substantial change to the random number
generator. This has the unfortunate side effect of breaking backwards
@@ -1363,7 +1416,7 @@ Have fun and happy live coding!
## Version 2.6 - 'Algorave'
*Thursday 30th July, 2015*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.6.0)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.6.0)
The laser beams sliced through the wafts of smoke as the subwoofer
@@ -1527,7 +1580,7 @@ Enjoy this release and happy [Algoraving!](http://algorave.com)
## Version 2.5 - 'Craft'
*Monday 13th April, 2015*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.5.0)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.5.0)
This release comes with support for
[Minecraft: Pi Edition](http://pi.minecraft.net) installed on the
@@ -1614,7 +1667,7 @@ most powerful text editor in use by wizard programmers today.
## Version 2.4 - 'Defrost'
*Wednesday 11th February, 2015*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.4.0)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.4.0)
A quick release following `v2.3` to address an issue with the GUI
freezing on specific CPUs. However, although this release has had a
@@ -1670,7 +1723,7 @@ fun!
## Version 2.3 - 'Bitcrush'
*Wednesday 28th January, 2015*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.3.0)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.3.0)
### Breaking Changes
@@ -1756,7 +1809,7 @@ fun!
## Version 2.2 - 'Slicer'
*Thursday 18th December, 2014*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.2.0)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.2.0)
This release brings a number of nice enhancements. However the main
feature is the accurate timing for triggering FX. This means you can now
@@ -1815,7 +1868,7 @@ and echoes.
## Version 2.1.1 - 'Firewall'
*Tuesday 25th November, 2014*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.1.1)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.1.1)
* Windows version no longer needs special firewall exceptions to run
* Added license information to info window
@@ -1826,7 +1879,7 @@ and echoes.
## Version 2.1 - 'Core'
*Friday 21st November, 2014*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.1.0)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.1.0)
The focus of release is very much on technical improvements, efficiency
and general polish.
@@ -1915,7 +1968,7 @@ Riley, Jeremy Weatherford and Joseph Wilk.
## Version 2.0.1
*Tuesday 9th September, 2014*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.0.1)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.0.1)
* Fix recording functionality
* Improve documentation content and layout
@@ -1935,7 +1988,7 @@ Riley, Jeremy Weatherford and Joseph Wilk.
## Version 2.0 - 'Phoenix'
*Tuesday 2nd September, 2014*
-[(view commits)](https://github.com/samaaron/sonic-pi/commits/v2.0.0)
+[(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v2.0.0)
* Complete rewrite since v1.0
* Support for Live Coding - redefining behaviour whilst music is playing
diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md
index ff8150687644efe62776ca799adab49925df1a54..7dc921a3c61ce9595b28d918656d6fc70c776a0f 100644
--- a/CONTRIBUTORS.md
+++ b/CONTRIBUTORS.md
@@ -225,20 +225,20 @@ thanks to the following developers who have donated their time and
effort to help grow and improve the Sonic Pi code base:
-* [Sam Aaron](https://github.com/samaaron/sonic-pi/commits?author=samaaron) (5508)
-* [Ethan Crawford](https://github.com/samaaron/sonic-pi/commits?author=ethancrawford) (255)
+* [Sam Aaron](https://github.com/samaaron/sonic-pi/commits?author=samaaron) (5546)
+* [Ethan Crawford](https://github.com/samaaron/sonic-pi/commits?author=ethancrawford) (259)
* [Joseph Wilk](https://github.com/samaaron/sonic-pi/commits?author=josephwilk) (160)
* [Hanno Zulla](https://github.com/samaaron/sonic-pi/commits?author=hzulla) (127)
* [Jeremy Weatherford](https://github.com/samaaron/sonic-pi/commits?author=jweather) (127)
* [Xavier Riley](https://github.com/samaaron/sonic-pi/commits?author=xavriley) (106)
* [Adrian Cheater](https://github.com/samaaron/sonic-pi/commits?author=factoid) (74)
+* [Robin Newman](https://github.com/samaaron/sonic-pi/commits?author=rbnpi) (64)
* [Emlyn Corrin](https://github.com/samaaron/sonic-pi/commits?author=emlyn) (62)
-* [Robin Newman](https://github.com/samaaron/sonic-pi/commits?author=rbnpi) (59)
-* [SunderB](https://github.com/samaaron/sonic-pi/commits?author=SunderB) (55)
+* [SunderB](https://github.com/samaaron/sonic-pi/commits?author=SunderB) (56)
* [Martin Keegan](https://github.com/samaaron/sonic-pi/commits?author=mk270) (48)
+* [Chris Maughan](https://github.com/samaaron/sonic-pi/commits?author=cmaughan) (44)
* [Luis Lloret](https://github.com/samaaron/sonic-pi/commits?author=llloret) (39)
* [Nicolas Dermine](https://github.com/samaaron/sonic-pi/commits?author=nicoder) (37)
-* [Chris Maughan](https://github.com/samaaron/sonic-pi/commits?author=cmaughan) (34)
* [Nikolaus Gradwohl](https://github.com/samaaron/sonic-pi/commits?author=ngradwohl) (30)
* [Richard Carlsson](https://github.com/samaaron/sonic-pi/commits?author=richcarl) (20)
* [Joseph Burnett](https://github.com/samaaron/sonic-pi/commits?author=josephburnett) (15)
@@ -377,26 +377,27 @@ The following volunteers have generously helped to translate Sonic Pi into addit
* Łukasz Siwiński (172)
* Kenichi Kanai (123)
* Hanno Zulla (119)
-* Sam Aaron (86)
+* Sam Aaron (87)
* Nico Staelens (83)
-* Nicolas Dermine (79)
+* Nicolas Dermine (80)
* Olivier Humbert (50)
* Cindy Dallaire (48)
* Pau Monfort (39)
* Olympia Brikis (37)
* Mircea Patrascu (32)
* Federico Pepe (31)
-* Petter Reinholdtsen (29)
+* Petter Reinholdtsen (30)
* Daria Szatan (26)
* Mauro João Salgado Figueira (23)
* Ricardo Pozo (23)
* Yann Pavlenko (22)
* Giovanni Mori (21)
* Ruben Tobalina (18)
+* Emlyn Corrin (16)
* Wolfgang Werner (14)
* Allan Nordhøy (13)
-* Emlyn Corrin (12)
* G. Martin Butz (12)
+* Nicolas Le Bellier (12)
* Álvaro Cáceres Muñoz (12)
* Hong Lees (11)
* Ole Friis Østergaard (11)
@@ -406,20 +407,20 @@ The following volunteers have generously helped to translate Sonic Pi into addit
* Tiago Morais Morgado (9)
* Yaron Shahrabani (9)
* Daniele Paradiso (8)
+* Kristjan Räts (8)
* Ole Erik Yrvin (8)
* Rekc@h (8)
* Yang Wanjun (8)
* Berkin Kadiroğlu (7)
* Eason Chang (7)
* Jan Lund (7)
-* Kristjan Räts (7)
-* Nicolas Le Bellier (7)
* Paulo Chiliguano (7)
* Rachid Ben Moussa (7)
* Surajnath Sidh (7)
* Theodore Tsirpanis (7)
* Timo Dankert (7)
* ssantos (7)
+* Bote Wang (6)
* Keiko Machiya (6)
* Mahmutcan İlhandağ (6)
* Matthieu Ottaviani (6)
@@ -447,7 +448,6 @@ The following volunteers have generously helped to translate Sonic Pi into addit
* Suleyman Poyraz (5)
* André Klöpfel (4)
* ArtyomIsFlash (4)
-* Bote Wang (4)
* Dahlia Sager (4)
* Diego Gurnari (4)
* Edson Cunha (4)
@@ -489,6 +489,7 @@ The following volunteers have generously helped to translate Sonic Pi into addit
* Rosdyana Kusuma (3)
* Sander Kesting (3)
* Sebastien van der Kwast (3)
+* Stefan (3)
* Sune Sylvest Nilausen (3)
* Tasos Protopapas (3)
* Tuomas Pyylampi (3)
@@ -538,6 +539,7 @@ The following volunteers have generously helped to translate Sonic Pi into addit
* Martin Solheim (2)
* Martin-Zack Mekkaoui (2)
* Mathieu H (2)
+* Michael Peters (2)
* Moru (2)
* Narek Torosyan (2)
* Nicolas Cosson (2)
@@ -555,7 +557,6 @@ The following volunteers have generously helped to translate Sonic Pi into addit
* Serge Stinckwich (2)
* Smite Chow (2)
* Song Li (2)
-* Stefan (2)
* Stefan Boeykens (2)
* Stefan Höhn (2)
* Sugahara Masayuki (2)
@@ -620,6 +621,7 @@ The following volunteers have generously helped to translate Sonic Pi into addit
* Diemesleno Souza Carvalho (1)
* Dim Kyriakoudis (1)
* Dinh Huy (1)
+* Elijah Grapes (1)
* Elizabeth Sherrock (1)
* Enrike Hurtado (1)
* Ethan Crawford (1)
@@ -631,6 +633,7 @@ The following volunteers have generously helped to translate Sonic Pi into addit
* Fredrik Forsberg (1)
* Gabriel Macedo (1)
* Gabriele Boddi (1)
+* Garen Hart (1)
* Gerardo Soares (1)
* Glauco Luiz Corrêa Basilio Dos (1)
* Guillaume Gautier (1)
@@ -662,6 +665,7 @@ The following volunteers have generously helped to translate Sonic Pi into addit
* Lee Yunseok (1)
* Leidy (1)
* Leonardo Mendes Miraglia (1)
+* Lorenzo Bloedow (1)
* Lu Lecocq (1)
* Luis Garcia (1)
* Luis Valdez (1)
@@ -669,6 +673,7 @@ The following volunteers have generously helped to translate Sonic Pi into addit
* Manuel Carcach (1)
* Marc Kohaupt (1)
* Marek freezy Víger (1)
+* Mark Lei (1)
* Martin Gondermann (1)
* Martín Aguilar (1)
* Mateusz Bielec (1)
@@ -739,6 +744,7 @@ The following volunteers have generously helped to translate Sonic Pi into addit
* leela (1)
* li-sky (1)
* wbk (1)
+* zmni (1)
* zxchen (1)
* Иван Лавриков (1)
* Максим Якимчук (1)
diff --git a/LICENSE.md b/LICENSE.md
index 9ad4a142a470f064673496bac631ea61e2735497..f84a6c5ff36b8b839c954e47f5db4ebc17d95d4b 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,11 +1,11 @@
# License
## Main Source
-(contents of [app/](https://github.com/samaaron/sonic-pi/tree/main/app) and [etc/synthdefs/](https://github.com/samaaron/sonic-pi/tree/main/etc/synthdefs) directories)
+(contents of [app/](https://github.com/sonic-pi-net/sonic-pi/tree/main/app) and [etc/synthdefs/](https://github.com/sonic-pi-net/sonic-pi/tree/main/etc/synthdefs) directories)
The MIT License (MIT)
-Copyright (c) 2012 - 2020 Samuel Aaron and contributors (sam@sonic-pi.net)
+Copyright (c) 2012 - 2021 Samuel Aaron and contributors (sam@sonic-pi.net)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@@ -34,10 +34,10 @@ The font used in the GUI is [Hack](http://sourcefoundry.org/hack/) released unde
## Docs, Tutorial and Examples
-(contents of [etc/doc/](https://github.com/samaaron/sonic-pi/tree/main/etc/doc) and [etc/examples](https://github.com/samaaron/sonic-pi/tree/main/etc/examples) directories)
+(contents of [etc/doc/](https://github.com/sonic-pi-net/sonic-pi/tree/main/etc/doc) and [etc/examples](https://github.com/sonic-pi-net/sonic-pi/tree/main/etc/examples) directories)
All the examples (in
-[etc/examples](https://github.com/samaaron/sonic-pi/tree/main/etc/examples))
+[etc/examples](https://github.com/sonic-pi-net/sonic-pi/tree/main/etc/examples))
and contents of the doc directory including the articles and the
tutorial are copyright by Sam Aaron unless a specific author is stated
with the comment `# coded by ...` in which case the copyright is
@@ -48,19 +48,19 @@ CC BY-SA 4.0 license:
## Samples
-(contents of [etc/samples/](https://github.com/samaaron/sonic-pi/tree/main/etc/samples))
+(contents of [etc/samples/](https://github.com/sonic-pi-net/sonic-pi/tree/main/etc/samples))
All the bundled samples are individually licensed under a
[CC0 1.0 Universal Public Domain Dedication](http://creativecommons.org/publicdomain/zero/1.0/). They
have all been obtained from [freesound.org](http://freesound.org) and
links to their sources can be found in the file
-[etc/samples/README.md](https://github.com/samaaron/sonic-pi/blob/main/etc/samples/README.md)
+[etc/samples/README.md](https://github.com/sonic-pi-net/sonic-pi/blob/main/etc/samples/README.md)
[http://creativecommons.org/publicdomain/zero/1.0/](http://creativecommons.org/publicdomain/zero/1.0/)
## Wavetables
-(contents of [etc/wavetables/](https://github.com/samaaron/sonic-pi/tree/main/etc/wavetables)
+(contents of [etc/wavetables/](https://github.com/sonic-pi-net/sonic-pi/tree/main/etc/wavetables)
All the bundled wavetable samples are individually licensed under a
[CC0 1.0 Universal Public Domain Dedication](http://creativecommons.org/publicdomain/zero/1.0/). They
@@ -77,10 +77,9 @@ relevant licenses:
### Unlinked software
* [Ruby](http://ruby-lang.org) - [Ruby License](https://www.ruby-lang.org/en/about/license.txt)
* [SuperCollider](http://supercollider.sourceforge.net) - [GNU General Public License v3](https://www.gnu.org/licenses/gpl-3.0.html)
-* [SoX](http://sox.sourceforge.net) - [GNU General Public License v2](https://www.gnu.org/licenses/gpl-2.0.html)
* [Erlang](http://erlang.org) - [Erlang Public License](https://www.erlang.org/EPLICENSE)
-* [osmid](https://github.com/llloret/osmid) - [MIT License](http://opensource.org/licenses/MIT)
-* osmid depends on [JUCE](http://juce.com) - [GNU General Public License v3](https://www.gnu.org/licenses/gpl-3.0.html) and [ISC License](https://www.isc.org/licenses/)
+* [sp_midi](https://github.com/llloret/sp_midi) - [MIT License](http://opensource.org/licenses/MIT)
+* [RtMidi](https://github.com/thestk/rtmidi) - [MIT License + sharing request](https://github.com/thestk/rtmidi/blob/master/LICENSE)
@@ -92,14 +91,13 @@ relevant licenses:
### Included Ruby Libraries for Server
-(contents of [app/server/vendor/](https://github.com/samaaron/sonic-pi/tree/main/app/server/vendor))
+(contents of [app/server/vendor/](https://github.com/sonic-pi-net/sonic-pi/tree/main/app/server/vendor))
* [ActiveSupport](https://github.com/rails/rails/tree/master/activesupport) - [MIT License](http://opensource.org/licenses/MIT)
* [Atomic](http://github.com/headius/ruby-atomic) - [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html)
* [Blankslate](https://github.com/masover/blankslate) - [MIT License](http://opensource.org/licenses/MIT)
* [Did You Mean](https://github.com/yuki24/did_you_mean) - [MIT License](http://opensource.org/licenses/MIT)
* [FFI](https://github.com/ffi/ffi) - [BSD 3-Clause License](http://opensource.org/licenses/BSD-3-Clause)
-* [Hamster](https://github.com/hamstergem/hamster) - [MIT License](http://opensource.org/licenses/MIT)
* [i81n](https://github.com/svenfuchs/i18n) - [MIT License](http://opensource.org/licenses/MIT)
* [Interception](https://github.com/ConradIrwin/interception) - [MIT License](http://opensource.org/licenses/MIT)
* [Kramdown](http://kramdown.gettalong.org) - [MIT License](http://opensource.org/licenses/MIT)
diff --git a/app/gui/qt/images/splash.png b/app/gui/qt/images/splash.png
index 38a28c21f9cdb40227c84818d427d7c8c9906dfb..f46d836b773678ed944d02f4d956c5dcd6c07e29 100644
Binary files a/app/gui/qt/images/splash.png and b/app/gui/qt/images/splash.png differ
diff --git a/app/gui/qt/images/splash2x.png b/app/gui/qt/images/splash2x.png
index 063b4efc2250e4851a141b02164ebab84fd4fd5d..c65ebf570ad06b132fdc7f5d3e6eb9ade1d8a82f 100644
Binary files a/app/gui/qt/images/splash2x.png and b/app/gui/qt/images/splash2x.png differ
diff --git a/app/gui/qt/images/splash@2x.png b/app/gui/qt/images/splash@2x.png
index 063b4efc2250e4851a141b02164ebab84fd4fd5d..c65ebf570ad06b132fdc7f5d3e6eb9ade1d8a82f 100644
Binary files a/app/gui/qt/images/splash@2x.png and b/app/gui/qt/images/splash@2x.png differ
diff --git a/app/gui/qt/lang/sonic-pi_et.ts b/app/gui/qt/lang/sonic-pi_et.ts
index ab151dab3133813f630645191c08cfe7d47f9026..ea7f3b4650f67cc6cd2da5df3bbf3f057a58185e 100644
--- a/app/gui/qt/lang/sonic-pi_et.ts
+++ b/app/gui/qt/lang/sonic-pi_et.ts
@@ -153,12 +153,12 @@ Vabandust, käivitumisel tuvastati kriitiline viga
-
+ Taanda koodipuhvrit
-
+ Joonda kood loetavuse parandamiseks
@@ -223,17 +223,17 @@ Vabandust, käivitumisel tuvastati kriitiline viga
-
+ Ostsilloskoop
-
+ Kontekst
-
+ Sämpli mängimine...
@@ -299,22 +299,22 @@ Vabandust, käivitumisel tuvastati kriitiline viga
-
+ Teabeakna peitmine...
-
+ Teabeakna kuvamine...
-
+ Abi peitmine...
-
+ Abi kuvamine...
@@ -324,52 +324,52 @@ Vabandust, käivitumisel tuvastati kriitiline viga
-
+ Värviteema:
-
+ Automaatlõpetamise kuvamine lubatud
-
+ Automaatlõpetamise kuva keelatud
-
+ Kontekstikuva lubatud
-
+ Kontekstikuva keelatud
-
+ Seadistuste peitmine...
-
+ Seadistuste kuvamine...
-
+ Välju
-
+ Alusta WAV faili salvestamist
-
+ Salvesta
@@ -379,12 +379,12 @@ Vabandust, käivitumisel tuvastati kriitiline viga
-
+ Sonic Pi teabe lülitamine
-
+ Kuva abi
@@ -394,7 +394,7 @@ Vabandust, käivitumisel tuvastati kriitiline viga
-
+ Kuva seadistused
@@ -404,92 +404,92 @@ Vabandust, käivitumisel tuvastati kriitiline viga
-
+ Kuva reanumbrid
-
+ Kuva koodi lõpetamine
-
+ Kuva koodi kontekst
-
+ Turvaline audiorežiim
-
+ Jõusta ajastusgarantiid
-
+ Luba välised süntesaatorid
-
+ Vaheta stereo
-
+ Jõusta mono
-
+ Luba sisenevad MIDI vihjed
-
+ Luba sisenev OSC
-
+ Luba OSC teistest arvutitest
-
+ Vihjete logimine
-
+ Süntesaatorite logimine
-
+ Tühjenda logi käitamisel
-
+ Koodipuhvri automaatjoondamine käitamisel
-
+ Logi autmaatkerimine
-
+ Otse
-
+ Kood
@@ -504,27 +504,27 @@ Vabandust, käivitumisel tuvastati kriitiline viga
-
+ Hele
-
+ Tume
-
+ Hele (pro)
-
+ Tume (pro)
-
+ Suur kontrast
@@ -534,7 +534,7 @@ Vabandust, käivitumisel tuvastati kriitiline viga
-
+ Värviteema
@@ -549,151 +549,151 @@ Vabandust, käivitumisel tuvastati kriitiline viga
-
+ MIDI sisendid
-
+ Ühendatud sisendid puuduvad
-
+ MIDI väljundid
-
+ Ühendatud väljundid puuduvad
-
+ MIDI vaikimisi väljundkanal
-
+ Kõik kanalid
-
+ 1
-
+ 2
-
+ 3
-
+ 4
-
+ 5
-
+ 6
-
+ 7
-
+ 8
-
+ 9
-
+ 10
-
+ 11
-
+ 12
-
+ 13
-
+ 14
-
+ 15
-
+ 16
-
+ Kohalikud IP aadressid
-
+ Siseneva OSC port
-
+ Vaade
-
+ Fookus toimetile
-
+ Vii fookus koodi toimetile
-
+ Fookus logidele
-
+ Vii fookus logipaanile
@@ -837,17 +837,17 @@ Laadi Sonic Pi %1
-
+ OSC vihjete pordi keelamine...
-
+ Välise OSC vihjepordi lubamine...
-
+ Sisemise OSC vihjepordi lubamine...
@@ -1277,18 +1277,19 @@ teistelt programmidelt ja hetkel võrku ühendatud arvutitelt.
-
+ Luba OSC teistest arvutitest
-
+ Lülitatult võimaldab Sonic Pi sul vahetada OSC sõnumeid teiste masinatega.
+ Väljalülitatult on OSC sõnumite vahetus võimalik ainult kohalikus masinas.
-
+ Luba sisenev OSC
@@ -1398,7 +1399,7 @@ otse vastu; neid saab saata midi_* funktsioonidega
-
+ Siseneva OSC port
@@ -1443,7 +1444,7 @@ otse vastu; neid saab saata midi_* funktsioonidega
- Koodi automaatne joondamine käivitamisel
+ Koodi automaatne joondamine käitamisel
@@ -1649,7 +1650,14 @@ Mirror Stereo - simple left/right composite wave, with left on top, right on bot
Mono - shows a combined view of the left and right channels (using RMS)
Spectrum - shows the sound frequencies as a spectrum, from low to high frequencies
Stereo - shows two independent scopes for left and right channels
-
+ Heli ostsilloskoobid on erinevate võimalustega ja
+neid saab kasutada nii koos kui ka eraldi:
+
+Lissajous - illustreerib vasaku ja parema kanali helide suhet
+Stereo peegel - lihtne vasak/parem komposiitlaine, millel vasak on üleval ja parem all
+Mono - kuvab vasaku ja parema kanali ruutkeskmistatud kombinatsiooni vaate
+Spekter - kuvab helisagedused spektrina, madalast kõrgeni
+Stereo - kuvab kaks sõltumatut ostsilloskoopi vasakule ja paremale kanalile
diff --git a/app/gui/qt/lang/sonic-pi_fr.ts b/app/gui/qt/lang/sonic-pi_fr.ts
index 574bb28b9682473b2a3f159d229e71dc4fa21e52..e3ce002db72cb6e5edb5558c147cc274eb37129c 100644
--- a/app/gui/qt/lang/sonic-pi_fr.ts
+++ b/app/gui/qt/lang/sonic-pi_fr.ts
@@ -108,7 +108,7 @@
- Domaine d'application
+ Oscilloscope
@@ -118,7 +118,7 @@
- Lecture d'un sample...
+ Lecture d'un échantillon...
@@ -258,12 +258,12 @@ Veuillez nous excuser, une erreur critique s'est produite pendant le démar
- Cache la zone A propos...
+ Cache À propos...
- Affiche la zone A propos...
+ Affiche À propos...
@@ -408,7 +408,7 @@ Veuillez nous excuser, une erreur critique s'est produite pendant le démar
- Montrer la zone Contexte du code
+ Montrer Contexte du code
@@ -543,7 +543,7 @@ Veuillez nous excuser, une erreur critique s'est produite pendant le démar
- Entrée MIDI
+ Entrées MIDI
@@ -672,7 +672,7 @@ Veuillez nous excuser, une erreur critique s'est produite pendant le démar
- Atteindre la zone contexte
+ Atteindre Contexte
@@ -823,72 +823,72 @@ Veuillez nous excuser, une erreur critique s'est produite pendant le démar
- Focus sur la zone Editeur
+ Focus sur Editeur
- Place le focus sur la zone éditeur de code
+ Place le focus sur l'éditeur de code
- Focus sur la zone Journaux
+ Focus sur Journaux
- Placer le focus sur la zone Journaux
+ Placer le focus sur Journaux
- Focus sur la zone Signaux (Cues)
+ Focus sur Signaux (Cues)
- Placer le focus sur la zone Signaux (Cues)
+ Placer le focus sur Signaux (Cues)
- Focus sur la zone Préférences
+ Focus sur Préférences
- Placer le focus sur la zone Préférences
+ Placer le focus sur Préférences
- Focus sur la zone gauche de l'aide
+ Focus sur la liste de l'aide
- Placer le focus sur la zone de gauche de l'aide
+ Placer le focus sur la liste de l'aide
- Focus sur la zone de détails de l'aide
+ Focus sur les détails de l'aide
- Placer le focus sur la zone de détails de l'aide
+ Placer le focus sur les détails de l'aide
- Focus sur la zone erreurs
+ Focus sur Erreurs
- Place le focus dans la zone Erreurs
+ Place le focus sur Erreurs
@@ -1112,7 +1112,7 @@ Obtenez Sonic Pi %1
- Entrée/Sortie
+ Entrée / Sortie
@@ -1706,7 +1706,7 @@ Cette vérification implique l'envoi d'informations anonymes à propos
- Est-ce que Sonic Pi fonctionne déjà ? Impossible d'ouvrir le port UDP.
+ Est-ce que Sonic Pi est déjà lancé ? Impossible d'ouvrir le port UDP.
diff --git a/app/gui/qt/mainwindow.cpp b/app/gui/qt/mainwindow.cpp
index 60821bcdeaa2e0b7342c7356e42ec5621e34daf4..551b86308d0ce126cd101a9120c226227f6777a7 100644
--- a/app/gui/qt/mainwindow.cpp
+++ b/app/gui/qt/mainwindow.cpp
@@ -128,7 +128,7 @@ MainWindow::MainWindow(QApplication &app, bool i18n, QSplashScreen* splash)
show_rec_icon_a = false;
restoreDocPane = false;
focusMode = false;
- version = "3.3-BETA-6";
+ version = "3.3.0";
latest_version = "";
version_num = 0;
latest_version_num = 0;
@@ -158,7 +158,7 @@ MainWindow::MainWindow(QApplication &app, bool i18n, QSplashScreen* splash)
// show an error dialogue to the user and then kill the app if any of
// the ports aren't available
initAndCheckPorts();
- startRubyServer();
+
std::cout << "[GUI] - hiding main window" << std::endl;
hide();
@@ -202,6 +202,8 @@ MainWindow::MainWindow(QApplication &app, bool i18n, QSplashScreen* splash)
sonicPiOSCServer->start();
}
+ startRubyServer();
+
QThreadPool::globalInstance()->setMaxThreadCount(3);
//get their user email address from settings
// user_token = new QLineEdit(this);
@@ -1274,6 +1276,8 @@ bool MainWindow::waitForServiceSync() {
msg.pushStr(guiID.toStdString());
msg.pushStr("QtClient/1/hello");
sendOSC(msg);
+ } else {
+ std::cout << "!";
}
}
if (!sonicPiOSCServer->isServerStarted()) {
diff --git a/app/server/erlang/sonic_pi_server/src/pi_server/pi_server_midi.erl b/app/server/erlang/sonic_pi_server/src/pi_server/pi_server_midi.erl
index 0d338e6283b4fb487f77394f2bbef759c06c4b49..71b9af4961ab60af83206bb1d71ebfa73937440e 100644
--- a/app/server/erlang/sonic_pi_server/src/pi_server/pi_server_midi.erl
+++ b/app/server/erlang/sonic_pi_server/src/pi_server/pi_server_midi.erl
@@ -108,6 +108,11 @@ loop(State) ->
%% # They quickly full up the Sonic Pi cue log.
%% # In the future it might be good to have this be optionally ignored
do_nothing;
+ {tau, midi, clock, _, _} ->
+ %% # Ignore incoming MIDI clock messages
+ %% # They quickly full up the Sonic Pi cue log.
+ %% # In the future it might be good to have this be optionally ignored
+ do_nothing;
{tau, midi, _Event, _Source, Args}=Event ->
Path = mk_tau_str(Event),
maps:get(cue_server, State) ! {midi_in, Path, Args}
diff --git a/app/server/ruby/bin/sonic-pi-server.rb b/app/server/ruby/bin/sonic-pi-server.rb
index d0d2edd64853ff99fba3d2e931b1bb4fa1b15f89..f2fa488c3865582b713a963a8fc097b65aa0422c 100755
--- a/app/server/ruby/bin/sonic-pi-server.rb
+++ b/app/server/ruby/bin/sonic-pi-server.rb
@@ -342,6 +342,7 @@ ws_out = Queue.new
begin
STDOUT.puts "Starting Server Runtime"
sp = klass.new sonic_pi_ports, ws_out, user_methods
+ STDOUT.puts "Server Runtime Initialised"
# read in init.rb if exists
if File.exists?(init_path)
@@ -464,6 +465,7 @@ register_api = lambda do |server|
server.add_method("/ping") do |args|
gui_id = args[0]
id = args[1]
+ STDOUT.puts "Received /ping, sending /ack to GUI"
gui.send("/ack", id)
end
diff --git a/app/server/ruby/lib/sonicpi/runtime.rb b/app/server/ruby/lib/sonicpi/runtime.rb
index a3c0d85c4054ecb0b26cf51e1e39376d4260c881..b5347d1c03c4728d9151b94116ab4ef7eab482ac 100644
--- a/app/server/ruby/lib/sonicpi/runtime.rb
+++ b/app/server/ruby/lib/sonicpi/runtime.rb
@@ -1332,7 +1332,7 @@ module SonicPi
end
@scsynth_clobber_args = @audio_settings.scsynth_opts_override
@scsynth_opts = @audio_settings.scsynth_opts
- @version = Version.new(3, 3, 0, "beta-6")
+ @version = Version.new(3, 3, 0)
@server_version = __server_version
@life_hooks = LifeCycleHooks.new
@msg_queue = msg_queue
diff --git a/etc/doc/lang/sonic-pi-tutorial-zh.po-2 b/etc/doc/lang/sonic-pi-tutorial-zh.po-2
index bc728affafb282969732d2b19cfdb621eb52caf8..2b381c41ef7546ce8ed545d721ce469fce0e33e7 100644
--- a/etc/doc/lang/sonic-pi-tutorial-zh.po-2
+++ b/etc/doc/lang/sonic-pi-tutorial-zh.po-2
@@ -4,16 +4,16 @@
msgid ""
msgstr ""
"Project-Id-Version: Sonic Pi\n"
-"PO-Revision-Date: 2018-08-07 06:35+0000\n"
-"Last-Translator: CaoYi <1783250036@qq.com>\n"
-"Language-Team: Chinese \n"
+"PO-Revision-Date: 2021-01-26 15:49+0000\n"
+"Last-Translator: Cattice <13553659594@163.com>\n"
+"Language-Team: Chinese (Simplified) \n"
"Language: zh\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-"X-Generator: Weblate 3.1.1\n"
+"X-Generator: Weblate 4.5-dev\n"
#: 01-Welcome-to-Sonic-Pi.md:1
msgid "1 Welcome to Sonic Pi"
@@ -387,7 +387,7 @@ msgstr "B. 编辑器控制"
msgid ""
"These orange buttons allow you to manipulate the code editor. The *Size +* and"
" *Size -* buttons allow you to make the text bigger and smaller."
-msgstr ""
+msgstr "这些橙色按钮允许你控制代码编辑器。“放大”和“缩小”按钮允许你控制文本的大小变得更大和更小"
#: 01.2-Exploring-the-Interface.md:35
msgid "C. Info and Help"
diff --git a/install/windows/install.bat b/install/windows/install.bat
index 4a4984dea1ba0a00d2b6b80323cfcc2674b9af3f..d47073a371318b4f91787279354d66bc88c1efc5 100644
--- a/install/windows/install.bat
+++ b/install/windows/install.bat
@@ -7,6 +7,7 @@ REM /I Ensures directories get copied properly
REM Pass 'Release' or 'Debug' on the command line
REM
REM
+cd %~dp0
@echo Remember to update version number in wix\sonic-pi.wxs!!
REM Clear previous MSI build artefacts if present
@@ -15,7 +16,7 @@ mkdir app
rmdir /S /Q etc
mkdir etc
-xcopy /Y /I /R /E ..\..\app\build\Release app\gui\qt\build\Release
+xcopy /Y /I /R /E ..\..\app\build\gui\qt\Release app\gui\qt\build\Release
xcopy /Y /I /R /E ..\..\app\gui\qt\theme app\gui\qt\theme
xcopy /Y /I /R /E ..\..\etc etc\
@@ -42,6 +43,8 @@ ruby prune.rb app/server/ruby/vendor
REM Now we have etc/app folders, generate the installer from them
del gui.wix
del etc.wix
+del config.wix
del *.wixobj
call wix\gen_wix.bat
call wix\gen_msi.bat
+cd %~dp0
diff --git a/install/windows/wix/LICENSE.rtf b/install/windows/wix/LICENSE.rtf
index 0c942d324eafe337054449d185118871f2830765..4626e42caa0f1532baaeea13ce5ed1d9912bb5e4 100644
Binary files a/install/windows/wix/LICENSE.rtf and b/install/windows/wix/LICENSE.rtf differ
diff --git a/install/windows/wix/sonic-pi.wxs b/install/windows/wix/sonic-pi.wxs
index 74bd7d7fbe6df314cc65733981d08c285f3bf795..d3118b6146b7ffd6578b9b17c140becc287babeb 100644
--- a/install/windows/wix/sonic-pi.wxs
+++ b/install/windows/wix/sonic-pi.wxs
@@ -1,7 +1,7 @@
-
+
diff --git a/prebuilt/macos/x64/erlang/dist_23.2/dist b/prebuilt/macos/x64/erlang/dist_23.2/dist
deleted file mode 120000
index 53c37a16608c014b2cf0bd2d5dfcafe953cdd857..0000000000000000000000000000000000000000
--- a/prebuilt/macos/x64/erlang/dist_23.2/dist
+++ /dev/null
@@ -1 +0,0 @@
-dist
\ No newline at end of file