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

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.