Safe Haskell | None |
---|
- type T t time set key value = Behavior t (set key value) -> Event t time -> Event t [Boundary key value]
- mono :: C set => Selector set key Velocity i -> Behavior t (set key Velocity) -> Event t i -> Event t [Boundary key Velocity]
- poly :: C set => Selector set key Velocity i -> Behavior t (set key Velocity) -> Event t [IndexNote i] -> Event t [Boundary key Velocity]
- type Selector set key value i = i -> set key value -> [(key, value)]
- data IndexNote i = IndexNote Int i
- item :: i -> Int -> IndexNote i
- data Poly set key value i = Poly (Selector set key value i) (T Int [IndexNote i])
- selectFromOctaveChord :: (C set, Ord pitch, C pitch) => Selector set pitch value Int
- selectFromChord :: (C set, Ord key) => Selector set key value Int
- selectFromChordRatio :: (C set, Ord key) => Selector set key value Double
- selectInversion :: (C set, C pitch) => Selector set pitch value Double
- flipSeq :: Int -> [Int]
- cycleUpIndex :: Behavior t Int -> Event t time -> Event t Int
- pingPongIndex :: Behavior t Int -> Event t time -> Event t Int
- cycleDownIndex :: Behavior t Int -> Event t time -> Event t Int
- crossSumIndex :: Behavior t Int -> Event t time -> Event t Int
- crossSumStaticIndex :: Int -> Event t time -> Event t Int
- fromList :: [a] -> Event t time -> Event t a
- cycleUp :: (C set, Ord key) => Behavior t Int -> T t time set key Velocity
- crossSum :: (C set, Ord key) => Behavior t Int -> T t time set key Velocity
- pingPong :: (C set, Ord key) => Behavior t Int -> T t time set key Velocity
- cycleDown :: (C set, Ord key) => Behavior t Int -> T t time set key Velocity
- bruijn :: (C set, Ord key) => Int -> Int -> T t time set key Velocity
- binaryStaccato :: (C set, Ord key) => T t time set key Velocity
- binaryAccident :: (C set, Ord key) => T t time set key Velocity
- binaryLegato :: (C set, Ord key) => T t time set key Velocity
- decomposePositional :: Integer -> Integer -> [Integer]
- cycleUpOctave :: (C set, Ord pitch, C pitch) => Behavior t Int -> T t time set pitch Velocity
- random :: (C set, Ord key) => T t time set key Velocity
- randomInversions :: (C set, C pitch) => T t time set pitch Velocity
- cycleUpInversions :: (C set, C pitch) => Int -> T t time set pitch Velocity
- inversions :: (C set, C pitch) => [Double] -> T t time set pitch Velocity
- examplePolyTempo0 :: T Int [IndexNote Int]
- examplePolyTempo1 :: T Int [IndexNote Int]
reactive patterns
type T t time set key value = Behavior t (set key value) -> Event t time -> Event t [Boundary key value]Source
mono :: C set => Selector set key Velocity i -> Behavior t (set key Velocity) -> Event t i -> Event t [Boundary key Velocity]Source
poly :: C set => Selector set key Velocity i -> Behavior t (set key Velocity) -> Event t [IndexNote i] -> Event t [Boundary key Velocity]Source
selectors
selectFromOctaveChord :: (C set, Ord pitch, C pitch) => Selector set pitch value IntSource
Generate notes according to the key set, where notes for negative and too large indices are padded with keys that are transposed by octaves.
patterns
See Haskore/FlipSong
flipSeq m !! n = cross sum of the m-ary representation of n modulo m.
For m=2 this yields http:www.research.att.comcgi-binaccess.cgiasnjassequenceseisA.cgi?Anum=A010060
decomposePositional :: Integer -> Integer -> [Integer]Source