Skip to content

Commit bc79016

Browse files
committed
Merge remote-tracking branch 'origin/dev' into translations
2 parents e66a9aa + 28336d2 commit bc79016

File tree

2,448 files changed

+15366
-477784
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,448 files changed

+15366
-477784
lines changed

.github/workflows/build.yml

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ jobs:
156156
CC: ${{ matrix.cc }}
157157
QT_INSTALL_LOCATION: ${{env.Qt6_DIR}}
158158
run: |
159-
./linux-config.sh
159+
./linux-config.sh --config ${{ matrix.build_type }}
160160
if: matrix.os == 'ubuntu-latest'
161161

162162
# Run Configuration Config on Mac
@@ -166,7 +166,7 @@ jobs:
166166
CC: ${{ matrix.cc }}
167167
QT_INSTALL_LOCATION: ${{env.Qt6_DIR}}
168168
run: |
169-
./mac-config.sh
169+
./mac-config.sh --config ${{ matrix.build_type }}
170170
if: matrix.os == 'macos-latest'
171171

172172
# Run Configuration Config on Windows
@@ -181,9 +181,38 @@ jobs:
181181
if: matrix.os == 'windows-latest'
182182

183183
# Finally: Build
184-
- name: Do build
185-
working-directory: ${{github.workspace}}/app/build
186-
run: cmake --build . --config ${{ matrix.build_type }}
184+
- name: Build Linux
185+
working-directory: ${{github.workspace}}/app
186+
run: ./linux-build-gui.sh
187+
if: matrix.os == 'ubuntu-latest'
188+
189+
- name: Build Mac
190+
working-directory: ${{github.workspace}}/app
191+
run: ./mac-build-gui.sh
192+
if: matrix.os == 'macos-latest'
193+
194+
- name: Build Windows
195+
working-directory: ${{github.workspace}}/app
196+
shell: cmd
197+
run: win-build-gui.bat ${{ matrix.build_type }}
198+
if: matrix.os == 'windows-latest'
199+
200+
# Build Tau server
201+
- name: Build Tau Server (Linux)
202+
working-directory: ${{github.workspace}}/app
203+
run: ./linux-post-tau-prod-release.sh
204+
if: matrix.os == 'ubuntu-latest'
205+
206+
- name: Build Tau Server (Mac)
207+
working-directory: ${{github.workspace}}/app
208+
run: ./mac-post-tau-prod-release.sh
209+
if: matrix.os == 'macos-latest'
210+
211+
- name: Build Tau Server (Windows)
212+
working-directory: ${{github.workspace}}/app
213+
shell: cmd
214+
run: win-post-tau-prod-release.bat
215+
if: matrix.os == 'windows-latest'
187216

188217
- name: BEAM Tests Windows
189218
shell: cmd

BUILD-LINUX.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ few dependencies:
5858
### 1.1 Debian
5959
The following is a rough list of Debian packages that are needed that can serve as a starting position:
6060
```bash
61-
sudo apt-get install -y build-essential git libssl-dev ruby-dev elixir erlang-dev erlang-xmerl qttools5-dev qttools5-dev-tools libqt5svg5-dev libqt5opengl5-dev supercollider-server sc3-plugins-server alsa-utils jackd2 libjack-jackd2-dev libjack-jackd2-0 libasound2-dev librtmidi-dev pulseaudio-module-jack cmake ninja-build
61+
sudo apt-get install -y build-essential git libssl-dev ruby-dev elixir erlang-dev erlang-xmerl qttools5-dev qttools5-dev-tools libqt5svg5-dev libqt5opengl5-dev supercollider-server sc3-plugins-server alsa-utils jackd2 libjack-jackd2-dev libjack-jackd2-0 libasound2-dev pulseaudio-module-jack cmake ninja-build
6262
```
6363

6464
*Note:* The main repositories may not have a recent enough version of

BUILD-RASPBERRY-PI.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ etc., you can fetch, build and start Sonic Pi with the following:
1111
```
1212
git clone https://github.com/sonic-pi-net/sonic-pi.git
1313
cd sonic-pi/app
14-
sudo ./pi-setup.sh
14+
./pi-setup.sh
1515
./pi-install-elixir.sh
1616
```
1717

@@ -84,12 +84,10 @@ cd ~/Development/sonic-pi
8484

8585
## 2. Fetch the Development Dependencies
8686

87-
Now we're ready to fetch all the development dependencies. You can do
88-
this by running the following script with `sudo` (this is necessary as
89-
it calls `apt-get` to install your packages)
87+
Now we're ready to fetch all the development dependencies.
9088

9189
```
92-
sudo ./app/pi-setup.sh
90+
./app/pi-setup.sh
9391
```
9492

9593
The versions of Erlang and Elixir installed by default are not currently

CHANGELOG.md

Lines changed: 27 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# History
2+
* [v4.0.1 'Verknüpfen'](#v4.0.1), 12th July 2022
23
* [v4.0.0 'Link'](#v4.0.0), 6th July, 2022
34
* [v3.3.1 'Beamer'](#v3.3.1), 1st Feb, 2021
45
* [v3.3 'Beam'](#v3.3), 28th Jan, 2021
@@ -24,6 +25,18 @@
2425
* [v2.0.1](#v2.0.1), 9th Sept, 2014
2526
* [v2.0 'Phoenix'](#v2.0), 2nd Sept, 2014
2627

28+
<a name="v4.0.1"></a>
29+
30+
## Version 4.0.1 'Verknüpfen'
31+
12th July 2022
32+
<!-- [(view commits)](https://github.com/sonic-pi-net/sonic-pi/commits/v4.0.1): -->
33+
34+
This is a bugfix release addressing a startup issue for a number of users with non-ASCII characters within audio harware information on macOS.
35+
36+
We also sadly say goodbye to Core Team member Hanno Zulla who did amazing work with Linux packaging - especially getting Sonic Pi into Debian. Hanno also spearheaded the translation work setting up the crowdsourced translation system which has now enabled Sonic Pi to be translated into over 50 languages. Thank-you so much Hanno - we wish you success and happiness in all you do going forwards.
37+
38+
This release also includes Italian and Polish translation updates.
39+
2740
<a name="v4.0.0"></a>
2841

2942
## Version 4.0.0 'Link'
@@ -32,79 +45,24 @@
3245

3346
Get ready to Jam with v4 of Sonic Pi.
3447

35-
In this release, the internal timing algorithms have been completely
36-
refactored to enable them to link to a new global metronome. The GUI now
37-
features a new metronome panel which will let you dynamically _change
38-
the BPM_ of your code _whilst it is running_. You can also use the new
39-
"Tap Tempo" button to click out a tempo and Sonic Pi will automatically
40-
shift to play in time with your taps. Additionally, you can link the
41-
metronome with other versions of Sonic Pi running on other computers
42-
connected to the same network (wifi or ethernet). This means it is now
43-
possible to gather some laptops together to form an ensemble or turn a
44-
whole classroom of computers into an orchestra of live coders - and for
45-
everyone to be in time with each other. You can even dynamically change
46-
the BPM for _everyone on the network_ whilst code is _running on
47-
everyone's computers independently_ and everything _maintains
48-
synchronised_ and _in time_. It's a real jam.
49-
50-
Finally, you're not limited to syncing tempo with other copies of Sonic
51-
Pi. The new global metronome is built on top of a wonderful piece of
52-
technology called [Link](https://www.ableton.com/en/link/) which was
53-
developed and open sourced by [Ableton](https://www.ableton.com) who
54-
also make [Live](https://www.ableton.com/en/live/) and
55-
[Push](https://www.ableton.com/en/push/), both widely used by
56-
professional musicians and also automatically sync using
57-
Link. Additionally there are also over
58-
[200 other apps or hardware products](https://www.ableton.com/en/link/products/)
59-
that also sync with Link. Sonic Pi can therefore now automatically jam
60-
with any of these with just a click of a button. It's so exciting to
61-
imagine the new kinds of bands and collaborations that are going to be
62-
possible with this new timing system.
63-
64-
There's also a large number of other improvements and fixes within this
65-
release that together combine to form the most powerful and exciting
66-
release of Sonic Pi yet. See below for a full breakdown of visible
67-
changes.
68-
69-
This release would not have been possible without the huge number of
70-
fabulous contributors that have been involved. Key contributions have
71-
been a huge refactoring of our GUI by Chris Maughan, the wrapping of
72-
Link as an Erlang NIF by Luis Lloret and the tireless and constant
73-
attention to detail by Ethan Crawford. Thanks so much to you all. Thanks
74-
also to José Valim for financially supporting development during a
75-
tricky period. José is the creator of the programming language Elixir
76-
which is now integrated into the internals of Sonic Pi. Elixir opens up
77-
a rich world of exciting opportunities within Sonic Pi which we have
78-
already started exploring with earnest. Expect exciting things for the
79-
future and consider becoming a
80-
[Patreon supporter](https://patreon.com/samaaron) to automatically get
81-
access to all upcoming BETAs.....
82-
83-
Finally, we would love for you all to extend a warm welcome to the latest
84-
member of the Sonic Pi Core Team: Lily Foster. She brings a huge depth of
85-
Linux knowledge to the team and we're terrifically excited to have her on board.
48+
In this release, the internal timing algorithms have been completely refactored to enable them to link to a new global metronome. The GUI now features a new metronome panel which will let you dynamically _change the BPM_ of your code _whilst it is running_. You can also use the new "Tap Tempo" button to click out a tempo and Sonic Pi will automatically shift to play in time with your taps. Additionally, you can link the metronome with other versions of Sonic Pi running on other computers connected to the same network (wifi or ethernet). This means it is now possible to gather some laptops together to form an ensemble or turn a whole classroom of computers into an orchestra of live coders - and for everyone to be in time with each other. You can even dynamically change the BPM for _everyone on the network_ whilst code is _running on everyone's computers independently_ and everything _maintains synchronised_ and _in time_. It's a real jam.
49+
50+
Finally, you're not limited to syncing tempo with other copies of Sonic Pi. The new global metronome is built on top of a wonderful piece of technology called [Link](https://www.ableton.com/en/link/) which was developed and open sourced by [Ableton](https://www.ableton.com) who also make [Live](https://www.ableton.com/en/live/) and [Push](https://www.ableton.com/en/push/), both widely used by professional musicians and also automatically sync using Link. Additionally there are also over [200 other apps or hardware products](https://www.ableton.com/en/link/products/) that also sync with Link. Sonic Pi can therefore now automatically jam with any of these with just a click of a button. It's so exciting to imagine the new kinds of bands and collaborations that are going to be possible with this new timing system.
51+
52+
There's also a large number of other improvements and fixes within this release that together combine to form the most powerful and exciting release of Sonic Pi yet. See below for a full breakdown of visible changes.
53+
54+
This release would not have been possible without the huge number of fabulous contributors that have been involved. Key contributions have been a huge refactoring of our GUI by Chris Maughan, the wrapping of Link as an Erlang NIF by Luis Lloret and the tireless and constant attention to detail by Ethan Crawford. Thanks so much to you all. Thanks also to José Valim for financially supporting development during a tricky period. José is the creator of the programming language Elixir which is now integrated into the internals of Sonic Pi. Elixir opens up a rich world of exciting opportunities within Sonic Pi which we have already started exploring with earnest. Expect exciting things for the future and consider becoming a [Patreon supporter](https://patreon.com/samaaron) to automatically get access to all upcoming BETAs.....
55+
56+
Finally, we would love for you all to extend a warm welcome to the latest member of the Sonic Pi Core Team: Lily Foster. She brings a huge depth of Linux knowledge to the team and we're terrifically excited to have her on board.
8657

8758
Now, go and get your Live Coded Jam On!
8859

8960

9061
### Breaking Changes
91-
* The default BPM is now set to the new global Link metronome. This is
92-
set to 60 by default, so on the surface the behaviour will appear
93-
identical. However, if you change the Link metronome BPM using the GUI
94-
or the new fn `set_link_bpm!` it will change the BPM for all threads
95-
dynamically. Previous behaviour (a static BPM of 60 unlinked to the
96-
global metronome) can be obtained by starting your code with `use_bpm 60`.
97-
* Previously it was possible that the `onset:` option for `sample`
98-
silently ignored the last onset of a given sample. This has now been
99-
fixed. Some samples may therefore have an additional onset index which
100-
won't affect any code using earlier indexes but will affect code which
101-
uses indexes larger than the number of onsets (and therefore relying
102-
on the index wrapping behaviour).
103-
* The Minecraft Pi Edition API has been removed (all `mc_`
104-
fns). Minecraft Pi Edition appears to no longer ship on Raspberry Pi
105-
OS and the Pi Edition API is not the same as the standard Minecraft
106-
API.
107-
62+
* The default BPM is now set to the new global Link metronome. This is set to 60 by default, so on the surface the behaviour will appear identical. However, if you change the Link metronome BPM using the GUI or the new fn `set_link_bpm!` it will change the BPM for all threads dynamically. Previous behaviour (a static BPM of 60 unlinked to the global metronome) can be obtained by starting your code with `use_bpm 60`.
63+
* Previously it was possible that the `onset:` option for `sample` silently ignored the last onset of a given sample. This has now been fixed. Some samples may therefore have an additional onset index which won't affect any code using earlier indexes but will affect code which uses indexes larger than the number of onsets (and therefore relying on the index wrapping behaviour).
64+
* The Minecraft Pi Edition API has been removed (all `mc_` fns). Minecraft Pi Edition appears to no longer ship on Raspberry Pi OS and the Pi Edition API is not the same as the standard Minecraft API.
65+
* The main mixer settings have been modified to reduce load on the limiter in common scenaries with the GUI volume slider set to a high position. This caused distortion and other unwanted audio issues. This change should be an improvement for most users - however if you wish to return to the old behaviour, you can run the following at the start of your session: `set_mixer_control! pre_amp: 1, amp: 1`.
10866

10967
### New
11068
* Support for [Ableton Link](https://www.ableton.com/link/). This enables you to synchronise the tempo of Sonic Pi running on multiple computers connected on the same network. It will also enable automatic BPM synchronisation with music production tools such as Ableton Live, VJ tools such as Resolume, DJ hardware such as the MPC and many compatible iPad music apps. For a full list see: https://www.ableton.com/link/products/,,
@@ -117,6 +75,7 @@ Now, go and get your Live Coded Jam On!
11775
* `load_synthdefs` now loads both directories and single files (by dispatching to `load_synthdef` where necessary).
11876

11977

78+
12079
### Synths & FX
12180
* New synth `:winwood_lead` - a lead synth inspired by the Winwood songs from the early 80s.
12281
* New synth `:bass_foundation` - a soft bass synth inspired by the sounds of the 80s.

CONTRIBUTORS.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -247,22 +247,23 @@ In addition to the Sonic Pi Core Team, we would like to extend our
247247
thanks to the following developers who have donated their time and
248248
effort to help grow and improve the Sonic Pi code base:
249249

250-
* [Sam Aaron](https://github.com/sonic-pi-net/sonic-pi/commits?author=samaaron) (5241)
250+
251+
* [Sam Aaron](https://github.com/sonic-pi-net/sonic-pi/commits?author=samaaron) (5256)
251252
* [Ethan Crawford](https://github.com/sonic-pi-net/sonic-pi/commits?author=ethancrawford) (304)
252253
* [Hanno Zulla](https://github.com/sonic-pi-net/sonic-pi/commits?author=hzulla) (198)
253254
* [Joseph Wilk](https://github.com/sonic-pi-net/sonic-pi/commits?author=josephwilk) (160)
254255
* [Jeremy Weatherford](https://github.com/sonic-pi-net/sonic-pi/commits?author=jweather) (123)
255256
* [Xavier Riley](https://github.com/sonic-pi-net/sonic-pi/commits?author=xavriley) (110)
257+
* [Robin Newman](https://github.com/sonic-pi-net/sonic-pi/commits?author=rbnpi) (84)
258+
* [SunderB](https://github.com/sonic-pi-net/sonic-pi/commits?author=SunderB) (82)
256259
* [Łukasz Siwiński](https://github.com/sonic-pi-net/sonic-pi/commits?author=hopbit) (82)
257-
* [Robin Newman](https://github.com/sonic-pi-net/sonic-pi/commits?author=rbnpi) (81)
258-
* [SunderB](https://github.com/sonic-pi-net/sonic-pi/commits?author=SunderB) (79)
259260
* [Adrian Cheater](https://github.com/sonic-pi-net/sonic-pi/commits?author=factoid) (70)
260-
* [Emlyn Corrin](https://github.com/sonic-pi-net/sonic-pi/commits?author=emlyn) (68)
261+
* [Emlyn Corrin](https://github.com/sonic-pi-net/sonic-pi/commits?author=emlyn) (69)
261262
* [Chris Maughan](https://github.com/sonic-pi-net/sonic-pi/commits?author=cmaughan) (66)
262263
* [Luis Lloret](https://github.com/sonic-pi-net/sonic-pi/commits?author=llloret) (41)
263264
* [Martin Keegan](https://github.com/sonic-pi-net/sonic-pi/commits?author=mk270) (41)
264-
* [Nicolas Dermine](https://github.com/sonic-pi-net/sonic-pi/commits?author=nicoder) (40)
265-
* [Lily Foster](https://github.com/sonic-pi-net/sonic-pi/commits?author=lilyinstarlight) (36)
265+
* [Nicolas Dermine](https://github.com/sonic-pi-net/sonic-pi/commits?author=nicoder) (41)
266+
* [Lily Foster](https://github.com/sonic-pi-net/sonic-pi/commits?author=lilyinstarlight) (39)
266267
* [Kenichi Kanai](https://github.com/sonic-pi-net/sonic-pi/commits?author=kn1kn1) (28)
267268
* [Nikolaus Gradwohl](https://github.com/sonic-pi-net/sonic-pi/commits?author=ngradwohl) (26)
268269
* [Ricardo Pozo](https://github.com/sonic-pi-net/sonic-pi/commits?author=thraex41) (23)
@@ -335,6 +336,7 @@ effort to help grow and improve the Sonic Pi code base:
335336
* [Theodore Tsirpanis](https://github.com/sonic-pi-net/sonic-pi/commits?author=) (2)
336337
* [Will Stephenson](https://github.com/sonic-pi-net/sonic-pi/commits?author=wstephenson) (2)
337338
* [William W. Wu](https://github.com/sonic-pi-net/sonic-pi/commits?author=willy-vvu) (2)
339+
* [Adam Weiler](https://github.com/sonic-pi-net/sonic-pi/commits?author=dam-weiler) (1)
338340
* [Adlai](https://github.com/sonic-pi-net/sonic-pi/commits?author=adlai) (1)
339341
* [Alejandro Sánchez Medina](https://github.com/sonic-pi-net/sonic-pi/commits?author=) (1)
340342
* [Alex McLean](https://github.com/sonic-pi-net/sonic-pi/commits?author=yaxu) (1)
@@ -527,6 +529,7 @@ The following volunteers have generously helped to translate Sonic Pi into addit
527529
* Timo Dankert (7)
528530
* Yang Wanjun (7)
529531
* Alaa alden Aldroubi (6)
532+
* Davide Anzaldi (6)
530533
* G. Martin Butz (6)
531534
* Mark Lei (6)
532535
* Matthieu Ottaviani (6)
@@ -626,7 +629,6 @@ The following volunteers have generously helped to translate Sonic Pi into addit
626629
* ChiakiQ (2)
627630
* CurlingTongs (2)
628631
* Dan Hanley (2)
629-
* Davide Anzaldi (2)
630632
* Diego Ramos (2)
631633
* Dimitris Panokostas (2)
632634
* Duarte Botelho (2)
@@ -674,6 +676,7 @@ The following volunteers have generously helped to translate Sonic Pi into addit
674676
* Martin-Zack Mekkaoui (2)
675677
* Mathieu H (2)
676678
* Michael Peters (2)
679+
* Michal Slaski (2)
677680
* Moru (2)
678681
* Nicholas Pellizer (2)
679682
* Nicolas Cosson (2)

CORETEAM.html

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -69,24 +69,7 @@ <h1> Sonic Pi Core Team </h1>
6969

7070
</td>
7171
</tr>
72-
<tr>
73-
<td>
74-
75-
<table>
76-
<tr>
77-
<td> <a href="http://www.hanno.de"><img height="100dx" width="100dx" src=":/images/coreteam/hannozulla.png"></a> </td>
78-
<td>
79-
<font size="5" ><span style="color:white; background-color:deeppink;">Hanno Zulla</span></font>
80-
<a href="https://twitter.com/hzulla">Twitter</a> | <a href="https://github.com/hzulla">GitHub</a>
81-
<p>
82-
Linux whizz &amp; friend of i18n. Helping to bring Sonic Pi to your native tongue &amp; to your Debian desktop.
83-
</p>
84-
</td>
85-
</tr>
86-
</table>
8772

88-
</td>
89-
</tr>
9073

9174
<tr>
9275
<td>
@@ -238,4 +221,23 @@ <h1>Past Members</h1>
238221

239222
</td>
240223
</tr>
224+
225+
<tr>
226+
<td>
227+
228+
<table>
229+
<tr>
230+
<td> <a href="http://www.hanno.de"><img height="100dx" width="100dx" src=":/images/coreteam/hannozulla.png"></a> </td>
231+
<td>
232+
<font size="5" ><span style="color:white; background-color:deeppink;">Hanno Zulla</span></font>
233+
<a href="https://twitter.com/hzulla">Twitter</a> | <a href="https://github.com/hzulla">GitHub</a>
234+
<p>
235+
Linux whizz &amp; friend of i18n. Helping to bring Sonic Pi to your native tongue &amp; to your Debian desktop.
236+
</p>
237+
</td>
238+
</tr>
239+
</table>
240+
241+
</td>
242+
</tr>
241243
</table>

app/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.13)
22

33
option(USE_SYSTEM_LIBS "Build using system libraries instead of vcpkg libraries" OFF)
44

5-
message(STATUS " CMakeLists: Sonic Pi")
5+
message(STATUS "CMakeLists: Sonic Pi")
66

77
# Sonic Pi Requires a C++ 17 Compiler to build it
88
set(CMAKE_CXX_STANDARD 17)
@@ -44,6 +44,7 @@ include(cmake/common.cmake)
4444

4545
configure_file(${APP_ROOT}/cmake/config.h.cmake ${CMAKE_BINARY_DIR}/config.h)
4646

47+
add_subdirectory(external)
4748
add_subdirectory(api)
4849
add_subdirectory(api-tests)
4950
add_subdirectory(gui)

0 commit comments

Comments
 (0)