-- | Plays standard waveforms: pure tone, triangle, square and sawtooth. module Waves where import Csound.Base main = dac $ do -- Creates a master volume slider. (gvol, vol) <- masterVolume -- We use a standard element to experiment with four classic waveforms. -- The return value of the widget is a function that takes a frequency -- and returns the signal. (gw, f) <- classicWaves "waves" 0 -- Let's create a simple instrument that uses the waveform. let instr x = fades 0.1 0.1 * f x -- Places elements on window aligned horizontally. panel $ hor [sca 0.1 gvol, gw] -- Triggrs the instrument with midi keyboard. return $ vol * instr 220