Programmeren
Shortcuts
Er zijn een aantal toetsenbordcombinaties die nuttig zijn om te onthouden. In het geval van MacOS gebruik je cmd, in het geval van Windows & Linux ctrl
- cmd/ctrl + Enter -> uitvoeren van de code
- cmd/ctrl + . (dat is een punt) -> stop de code
- cmd/ctrl + M -> laat de volume-meters zien
- cmd/ctrl + D -> laat de help-file zien van een geselecteerde UGen
- cmd/ctrl + shift + P -> leeg de console
Uitvoeren van de code
Als je op cmd/ctrl + enter drukt wordt de regel code waar op dat moment je cursor staat uitgevoerd. Als je meerdere regels code in een keer wil uitvoeren moet je die regels selecteren. Er is ook een manier om dat makkelijker te doen, als de regels code die je wilt uitvoeren omsloten zijn door ( ) worden deze regels uitgevoerd als je ergens binnen deze regels staat met je cursor en cmd/ctrl + enter drukt.
Sommetjes & console
Net als in elke andere programmeertaal kan je getallen bij elkaar optellen, van elkaar aftrekken, vermenigvuldigen en delen. Houd er wel rekening mee dat Supercollider geen voorrangsregels kent zoals we die in andere talen en uit de wiskunde kennen. Vermenigvuldigen gaat dus niet voor optellen. Zet altijd haakjes om expressies heen als er verwarring kan ontstaan.
1 + 2 * 3;
//je zou 7 verwachten maar SC berekent dit als (1 + 2) * 3
Typ de volgende code in en druk op cmd/ctrl+enter:
1 + 2;
Je zult nu zien dat het resultaat in het post window verschijnt. In het post window verschijnt altijd het resultaat van de laatst uitgevoerde regel code. Als je de volgende code uitvoert zul je zien dat alleen het laatste antwoord, 2, in het postwindow verschijnt:
(
1-2;
3/4;
5%3;
)
Wil je nu toch dat de andere resultaten ook zichtbaar zijn dan moet je .postln
achter de code zetten:
(
1-2.postln;
3/4.postln;
5%3.postln;
)
Commentaar
Net als bij JavaScript zet je commentaar bij je code door het gebruik van een dubbele forward slash
//dit is commentaar
Meerdere regels commentaar gaat ook op dezelfde manier als bij JavaScript:
/* dit is commentaar
dit ook
*/
"en dit niet meer".postln;
Variabelen
Er zijn twee manieren om globale variabelen te definiรซren binnen Supercollider. Je kunt de letters a t/m z gebruiken. Dit is voornamelijk handig bij prototyping maar bij grotere stukken code wordt je code er snel onleesbaar door dus dat wordt afgeraden. Daarnaast is bijvoorbeeld de letter s al in gebruik om de server mee aan te sturen.
Een betere manier om globale variabelen te declareren is door de tilde ~ te gebruiken voor een woord:
~som = 3 + 5;
~som.postln;
Binnen een blok, functie of synthdef kun je met variabelen werken als je ze eerst declareert:
(
var sampleRate=44100;
sampleRate.postln;
)