Karya, built on 2018-02-23T20:23:55 (patch cf8565b7ac832266878af99a942555d139065f12)

Safe HaskellNone

Derive.Flags

Description

Flags constants, analogous to Derive.Attrs.

Synopsis

Documentation

type Flags = Set Flag Source #

Flags are like attributes, but are used for internal communication between calls, while attributes are used for to configure a note for the instrument. Keeping them separate avoids confusing the performer with various internal attributes that have nothing to do with instrument.

newtype Flag Source #

Constructors

Flag Text 

Instances

Eq Flag # 

Methods

(==) :: Flag -> Flag -> Bool #

(/=) :: Flag -> Flag -> Bool #

Ord Flag # 

Methods

compare :: Flag -> Flag -> Ordering #

(<) :: Flag -> Flag -> Bool #

(<=) :: Flag -> Flag -> Bool #

(>) :: Flag -> Flag -> Bool #

(>=) :: Flag -> Flag -> Bool #

max :: Flag -> Flag -> Flag #

min :: Flag -> Flag -> Flag #

Show Flag # 

Methods

showsPrec :: Int -> Flag -> ShowS #

show :: Flag -> String #

showList :: [Flag] -> ShowS #

DeepSeq.NFData Flag # 

Methods

rnf :: Flag -> () #

Pretty Flag # 

has :: Flags -> Flags -> Bool Source #

Does the first argument contain the second argument?

infer_duration :: Flags Source #

This note needs to wait until postproc to figure out its duration. This is used to implement final notes, where a zero duration note at the end of a block can replace the first note of the next block.

weak :: Flags Source #

This indicates that a note can be cancelled by a coincident note. Among other things, it supports infer_duration: a note with inferred duration will replace any following note with weak.

strong :: Flags Source #

Cancel coincident notes on the same track. This is like forcing concurrent events to have weak.

ly_code :: Flags Source #

Mark events with lilypond code in them. By convention, events with zero duration and lilypond code are score directives, not notes at all. This is important because postprocessing dealing with notes might want to ignore them.