Karya, built on Mon Jul 24 11:39:07 PDT 2017 (patch 33511aca01257b76b88de7c7a2763b7a965c084e)

Safe HaskellNone

Derive.Instrument.DUtil

Contents

Description

Functions for instrument cmds. This is called DUtil because there is also Cmd.Instrument.CUtil and they are usually imported together.

I need a better name than "Util" for everything.

Synopsis

Documentation

attributes_note :: Attrs.Attributes -> Generator Note Source #

Make a call that simply calls the default note call with the given attrs.

zero_duration :: CallName -> Doc.Doc -> (NoteArgs -> NoteDeriver) -> (NoteArgs -> NoteDeriver) -> Generator Note Source #

Create a generator that has a different implementation for zero and non-zero duration.

postproc_note :: CallName -> Doc.Doc -> (Score.Event -> Score.Event) -> Generator Note Source #

Just like the default note call, except apply a function to the output.

postproc_generator :: CallName -> Doc.Doc -> Generator d -> (Deriver (Stream.Stream d) -> Deriver (Stream.Stream d)) -> Generator d Source #

Transform an existing call by applying a function to it. It gets a new name and the documentation is prepended to the documentation of the original call.

multiple_call :: CallName -> [Expr.Symbol] -> Generator Note Source #

Create a call that just dispatches to other calls.

data Placement Source #

The grace note falls either before or after the beat.

Constructors

Before 
After 

composite

data Composite Source #

A composite patch corresponds to multiple underlying MIDI patches.

This is useful for instruments with multiple pitches, e.g. a drum with a keymap for strokes as well as a tuned pitch, or a pitched instrument with a secondary pitch as a resonance.

Constructors

Composite 

Fields

data Pitch Source #

Constructors

NoPitch 
Pitch PControl 

Instances

type Controls = Maybe (Set Control) Source #

If Nothing, then this Composite gets all the controls that are not given to other instruments. Otherwise, it only gets the named ones.