haskore-supercollider-0.1: Haskore back-end for SuperColliderSource codeContentsIndex
Haskore.Interface.SuperCollider.Schedule.Channel
Contents
Install instruments
Play music
Example music
Description
This is a variant of the Haskore.Interface.SuperCollider.Schedule.Install module. It assigns output channels to instruments such that instrument specific global effects can be applied to them.
Synopsis
newtype Environment a = Environment {
unwrapEnvironment :: StateT (Channel, NumberChannels) (Writer [OSC]) a
}
writeOSC :: [OSC] -> Environment ()
nextChannel :: NumberChannels -> Environment Channel
data Sound params attr = Sound String (Channel, NumberChannels) (attr -> AttributeList)
type Instrument attr = Sound InstrumentParameters attr
type Drum attr = Sound DrumParameters attr
installUGen :: String -> UGen -> Environment (Channel, NumberChannels)
installSound :: SoundParameters params => (parameterTuple -> AttributeList, graph -> Sound params) -> String -> graph -> Environment (Sound params parameterTuple)
ugenFromSound :: Sound params attr -> UGen
data SoundAttributes params = SoundAttributes AttributeList String
type DrumAttributes = SoundAttributes DrumParameters
type InstrumentAttributes = SoundAttributes InstrumentParameters
rhythmicMusicFromDynamicMelody :: Instrument attr -> T (Rational, attr) -> T DrumAttributes InstrumentAttributes
rhythmicMusicFromMelody :: Instrument attr -> T attr -> T DrumAttributes InstrumentAttributes
rhythmicMusicFromRhythm :: Drum () -> Dur -> String -> T DrumAttributes InstrumentAttributes
rhythmicMusicFromDrum :: Drum () -> Dur -> T DrumAttributes InstrumentAttributes
fromRhythmicMusic :: Environment (UGen, T DrumAttributes InstrumentAttributes) -> T
example :: IO ()
Install instruments
newtype Environment a Source
Constructors
Environment
unwrapEnvironment :: StateT (Channel, NumberChannels) (Writer [OSC]) a
show/hide Instances
writeOSC :: [OSC] -> Environment ()Source
nextChannel :: NumberChannels -> Environment ChannelSource
data Sound params attr Source
Constructors
Sound String (Channel, NumberChannels) (attr -> AttributeList)
type Instrument attr = Sound InstrumentParameters attrSource
type Drum attr = Sound DrumParameters attrSource
installUGen :: String -> UGen -> Environment (Channel, NumberChannels)Source
installSound :: SoundParameters params => (parameterTuple -> AttributeList, graph -> Sound params) -> String -> graph -> Environment (Sound params parameterTuple)Source
ugenFromSound :: Sound params attr -> UGenSource
Play music
data SoundAttributes params Source
These types are identically defined to those from Haskore.Interface.SuperCollider.Schedule.Install but they shall be distinct. Instruments that are installed for use of global effects cannot be used with the simple playMusic routine.
Constructors
SoundAttributes AttributeList String
show/hide Instances
type DrumAttributes = SoundAttributes DrumParametersSource
type InstrumentAttributes = SoundAttributes InstrumentParametersSource
rhythmicMusicFromDynamicMelody :: Instrument attr -> T (Rational, attr) -> T DrumAttributes InstrumentAttributesSource
rhythmicMusicFromMelody :: Instrument attr -> T attr -> T DrumAttributes InstrumentAttributesSource
rhythmicMusicFromRhythm :: Drum () -> Dur -> String -> T DrumAttributes InstrumentAttributesSource
rhythmicMusicFromDrum :: Drum () -> Dur -> T DrumAttributes InstrumentAttributesSource
fromRhythmicMusic :: Environment (UGen, T DrumAttributes InstrumentAttributes) -> TSource
Example music
example :: IO ()Source
Produced by Haddock version 2.6.0