Safe Haskell | Safe-Inferred |
---|
Functions to convert instrument-specific strokes to karya score.
Synopsis
- type ToScore stroke = [(S.Duration, Realize.Note stroke)] -> ([Event], [(Text, [Event])])
- type Event = (S.Duration, S.Duration, Text)
- fromStrokes :: ToScore stroke -> [S.Flat g (Realize.Note stroke)] -> ([Event], [(Text, [Event])])
- toScore :: Expr.ToExpr (Realize.Stroke stroke) => ToScore stroke
- toExpr :: Expr.ToExpr (Realize.Stroke stroke) => Realize.Note stroke -> Maybe (Expr.Expr Expr.MiniVal)
- metaExpr :: Solkattu.Meta -> Expr.Call Expr.MiniVal
ToScore
= [(S.Duration, Realize.Note stroke)] | |
-> ([Event], [(Text, [Event])]) | (noteEvents, [(control, controlEvents)]). A control named "*" becomes a pitch track. |
Convert instrument-specific strokes into tracks. This is a simple intermediate data structure to bridge the solkattu types and the karya types.
type Event = (S.Duration, S.Duration, Text) Source #
fromStrokes :: ToScore stroke -> [S.Flat g (Realize.Note stroke)] -> ([Event], [(Text, [Event])]) Source #
toScore :: Expr.ToExpr (Realize.Stroke stroke) => ToScore stroke Source #
A standard ToScore for simple percussion, with 0 duration and no control tracks.
toExpr :: Expr.ToExpr (Realize.Stroke stroke) => Realize.Note stroke -> Maybe (Expr.Expr Expr.MiniVal) Source #