haskore-supercollider-0.1: Haskore back-end for SuperColliderSource codeContentsIndex
Haskore.Interface.SuperCollider.Play.Life
Contents
Install instruments
Install instruments on specific channels
Play music
Interactively play music on keyboard
Example music
Description

This is a module specialised to life performances.

You can create and install instruments in SuperCollider, obtain a handle and use that in your song.

The alternative way would be to upload an instrument whenever one tone shall be played. This is less efficient but simpler and certainly more flexbile.

Synopsis
type InstrumentUGen = UGen -> UGen -> UGen
installInstr :: (parameterTuple -> AttributeList, graph -> InstrumentUGen) -> String -> graph -> IO (Instrument parameterTuple)
installInstr0 :: String -> InstrumentUGen -> IO (Instrument ())
installInstr1 :: String -> (UGen -> InstrumentUGen) -> IO (Instrument Double)
installInstr2 :: String -> (UGen -> UGen -> InstrumentUGen) -> IO (Instrument (Double, Double))
type DrumUGen = UGen -> UGen
installDrum :: (parameterTuple -> AttributeList, graph -> DrumUGen) -> String -> graph -> IO (Drum parameterTuple)
installSoundChan :: SoundParameters params => String -> Sound params -> IO (Channel, NumberChannels)
installInstrChan :: (parameterTuple -> AttributeList, graph -> InstrumentUGen) -> String -> graph -> IO (Instrument parameterTuple)
installDrumChan :: (parameterTuple -> AttributeList, graph -> DrumUGen) -> String -> graph -> IO (Drum parameterTuple)
reset :: IO ()
playSound :: UGen -> IO ()
playMusic :: T DrumAttributes InstrumentAttributes -> IO ()
playMusicEffect :: UGen -> T DrumAttributes InstrumentAttributes -> IO ()
germanLatin1Keyboard :: [Char]
playKey :: Instrument () -> Char -> IO ()
playKeyboard :: Instrument () -> IO ()
example :: IO ()
exampleEffect :: IO ()
Install instruments
type InstrumentUGen = UGen -> UGen -> UGenSource
installInstr :: (parameterTuple -> AttributeList, graph -> InstrumentUGen) -> String -> graph -> IO (Instrument parameterTuple)Source
installInstr0 :: String -> InstrumentUGen -> IO (Instrument ())Source
installInstr1 :: String -> (UGen -> InstrumentUGen) -> IO (Instrument Double)Source
installInstr2 :: String -> (UGen -> UGen -> InstrumentUGen) -> IO (Instrument (Double, Double))Source
type DrumUGen = UGen -> UGenSource
installDrum :: (parameterTuple -> AttributeList, graph -> DrumUGen) -> String -> graph -> IO (Drum parameterTuple)Source
Install instruments on specific channels
installSoundChan :: SoundParameters params => String -> Sound params -> IO (Channel, NumberChannels)Source
installInstrChan :: (parameterTuple -> AttributeList, graph -> InstrumentUGen) -> String -> graph -> IO (Instrument parameterTuple)Source
installDrumChan :: (parameterTuple -> AttributeList, graph -> DrumUGen) -> String -> graph -> IO (Drum parameterTuple)Source
Play music
reset :: IO ()Source
playSound :: UGen -> IO ()Source
playMusic :: T DrumAttributes InstrumentAttributes -> IO ()Source
playMusicEffect :: UGen -> T DrumAttributes InstrumentAttributes -> IO ()Source
Interactively play music on keyboard
germanLatin1Keyboard :: [Char]Source
playKey :: Instrument () -> Char -> IO ()Source
playKeyboard :: Instrument () -> IO ()Source

Interprets the keyboard as piano and play according tones, when keys are hit.

Is it more convenient to have a UGen parameter and install the instrument automatically?

Example music
example :: IO ()Source
exampleEffect :: IO ()Source
Produced by Haddock version 2.6.0