Although it's not as useful for performance or music-making, it is natural to play around with different ideas graphically. Soundscrape provides a few ways to interface in this manner.
SuperCollider provides an interface to control inputs via the position of the mouse. In Soundscrape, this is not yet implemented, although perhaps it will come out in the next release.
For full documentation on all graphical interface elements, see Graphical Elements.
Soundscrape implements a limited model for presenting the user with graphical input controls. Controls are contained within windows, and may be added or removed at will. At the moment, only slider bar controls are implemented, although more are planned. To create a window, use the gui-window procedure:
;; These two are the same: (gui-window "My control window" 50 80) (gui-window "My control window" :width 50 :height 80) ;; :width and :height default to 30 and 150, respectively. (gui-window "My control window")
Slider controls are created with the slider-control procedure, which takes a GUI window as the first argument. The other arguments, which control the bounds of the slider control, are optional. A method for control is implemented to allow a slider control to participate in a synthesis network.
(let ((w (gui-window "Sine controls"))) ;; a new window
(play (audio
sine
:frequency (control (slider-control
w
:lower 200 :upper 1000
:value 400 :warp 'exponential))
:mul (control (slider-control w :warp 'exponential)))))