Karya, built on 2023-08-29T07:47:28 (patch 7a412d5d6ba4968ca4155ef276a062ccdeb9109a)
Safe HaskellSafe-Inferred

Derive.C.Prelude.Note

Description

Basic calls for note tracks.

Synopsis

Documentation

transformed_note :: Doc.Doc -> Tags.Tags -> (NoteArgs -> NoteDeriver -> NoteDeriver) -> Generator Note Source #

Create a standard note call with a transformer applied.

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

transformed_note but set the name. Since note_call doesn't take any args, this is just for documentation in the stack.

note_call :: CallName -> Doc.Doc -> Tags.Tags -> GenerateNote -> Generator Note Source #

Create a note call, configuring it with the actual note generating function. The generator is called with the usual note arguments, and receives the usual instrument and attribute transform.

data Config Source #

Constructors

Config 

Fields

Instances

Instances details
Show Config Source # 
Instance details

Defined in Derive.C.Prelude.Note

no_duration_attributes :: Config Source #

Don't observe any of the duration affecting attributes.

type GenerateNote = NoteArgs -> NoteDeriver Source #

Generate a single note. This is intended to be used as the lowest level null call for some instrument.

default_note :: Config -> GenerateNote Source #

The actual note generator.

min_duration :: RealTime.RealTime Source #

This keeps a negative sustain_abs from making note duration negative.