Safe Haskell | Safe-Inferred |
---|
A common library of attributes for instrument definitians.
Usually attributes act like tags in that they all get combined into one
Attributes
set. This makes sense in some cases, but not all. For
example, +mute
and +cresc
can be usefully combined, you could imagine
applying +mute
to the entire melody and wanting that to combine with
individual articulations within. But +pizz-right
is an articulation on
its own, and it doesn't really make sense to, e.g. put +right
on melody
by itself.
And of course since attributes are all mashed into one set, the information
about which ones were applied together is lost. For example, I think it's
impossible for the lilypond backend to figure how to notate +pizz+right
inside of +pizz
since right-hand pizz is applied as a per-note
articulation, while plain pizz is a mode. But it's trivial if the
attribute is +pizz-right
instead.
Synopsis
- type Attribute = Text
- newtype Attributes = Attributes (Set Attribute)
- attr :: Text -> Attributes
- attrs :: [Text] -> Attributes
- to_set :: Attributes -> Set Attribute
- to_list :: Attributes -> [Attribute]
- difference :: Attributes -> Attributes -> Attributes
- intersection :: Attributes -> Attributes -> Attributes
- contain :: Attributes -> Attributes -> Bool
- remove :: Attributes -> Attributes -> Attributes
- flaut :: Attributes
- staccato :: Attributes
- spiccato :: Attributes
- detache :: Attributes
- marcato :: Attributes
- portato :: Attributes
- tenuto :: Attributes
- accent :: Attributes
- espr :: Attributes
- trill :: Attributes
- trem :: Attributes
- arpeggio :: Attributes
- legato :: Attributes
- porta :: Attributes
- gliss :: Attributes
- mute :: Attributes
- vib :: Attributes
- nv :: Attributes
- cresc :: Attributes
- dim :: Attributes
- sfz :: Attributes
- sffz :: Attributes
- fp :: Attributes
- pfp :: Attributes
- fpf :: Attributes
- soft :: Attributes
- loud :: Attributes
- half :: Attributes
- whole :: Attributes
- arco :: Attributes
- pizz :: Attributes
- pizz_right :: Attributes
- snap :: Attributes
- harm :: Attributes
- legno :: Attributes
- sord :: Attributes
- natural :: Attributes
- artificial :: Attributes
- pont :: Attributes
- tasto :: Attributes
- bisbig :: Attributes
- flutter :: Attributes
- snare :: Attributes
- stick :: Attributes
- bd :: Attributes
- hh :: Attributes
- crash :: Attributes
- ride :: Attributes
- tom :: Attributes
- pedal :: Attributes
- left :: Attributes
- right :: Attributes
- thumb :: Attributes
- center :: Attributes
- edge :: Attributes
- slap :: Attributes
- knuckle :: Attributes
- rim :: Attributes
- damp :: Attributes
- open :: Attributes
- closed :: Attributes
- low :: Attributes
- middle :: Attributes
- high :: Attributes
- up :: Attributes
- down :: Attributes
- short :: Attributes
- long :: Attributes
- fast :: Attributes
- medium :: Attributes
- slow :: Attributes
- light :: Attributes
- heavy :: Attributes
- loose :: Attributes
- tight :: Attributes
- dry :: Attributes
- wet :: Attributes
- v1 :: Attributes
- v2 :: Attributes
- v3 :: Attributes
- v4 :: Attributes
- v5 :: Attributes
- v6 :: Attributes
- first :: Attributes
- second :: Attributes
- third :: Attributes
- fourth :: Attributes
- fifth :: Attributes
- sixth :: Attributes
- seventh :: Attributes
Documentation
type Attribute = Text Source #
Instruments can have a set of attributes along with them. These are propagated dynamically down the derivation stack. They function like arguments to an instrument, and will typically select an articulation, or a drum from a drumset, or something like that.
newtype Attributes Source #
Instances
attr :: Text -> Attributes Source #
attrs :: [Text] -> Attributes Source #
to_list :: Attributes -> [Attribute] Source #
difference :: Attributes -> Attributes -> Attributes Source #
intersection :: Attributes -> Attributes -> Attributes Source #
contain :: Attributes -> Attributes -> Bool Source #
True if the first argument contains the attributes in the second.
remove :: Attributes -> Attributes -> Attributes Source #
Remove the attributes in the first argument from the second.
articulations
flaut :: Attributes Source #
detache :: Attributes Source #
marcato :: Attributes Source #
portato :: Attributes Source #
tenuto :: Attributes Source #
accent :: Attributes Source #
espr :: Attributes Source #
trill :: Attributes Source #
trem :: Attributes Source #
legato :: Attributes Source #
porta :: Attributes Source #
gliss :: Attributes Source #
mute :: Attributes Source #
vib :: Attributes Source #
nv :: Attributes Source #
dynamics
cresc :: Attributes Source #
dim :: Attributes Source #
sfz :: Attributes Source #
sffz :: Attributes Source #
fp :: Attributes Source #
pfp :: Attributes Source #
fpf :: Attributes Source #
soft :: Attributes Source #
loud :: Attributes Source #
half :: Attributes Source #
whole :: Attributes Source #
strings
arco :: Attributes Source #
pizz :: Attributes Source #
snap :: Attributes Source #
harm :: Attributes Source #
legno :: Attributes Source #
sord :: Attributes Source #
natural :: Attributes Source #
pont :: Attributes Source #
tasto :: Attributes Source #
bisbig :: Attributes Source #
winds
flutter :: Attributes Source #
drums
snare :: Attributes Source #
stick :: Attributes Source #
bd :: Attributes Source #
hh :: Attributes Source #
crash :: Attributes Source #
ride :: Attributes Source #
tom :: Attributes Source #
pedal :: Attributes Source #
technique
left :: Attributes Source #
right :: Attributes Source #
thumb :: Attributes Source #
center :: Attributes Source #
edge :: Attributes Source #
slap :: Attributes Source #
knuckle :: Attributes Source #
rim :: Attributes Source #
damp :: Attributes Source #
open :: Attributes Source #
closed :: Attributes Source #
low :: Attributes Source #
middle :: Attributes Source #
high :: Attributes Source #
up :: Attributes Source #
down :: Attributes Source #
short :: Attributes Source #
long :: Attributes Source #
fast :: Attributes Source #
medium :: Attributes Source #
slow :: Attributes Source #
light :: Attributes Source #
heavy :: Attributes Source #
loose :: Attributes Source #
tight :: Attributes Source #
dry :: Attributes Source #
wet :: Attributes Source #
misc
v1 :: Attributes Source #
Generic variations. E.g. if there are two snares you can have
snare <> v1
and snare <> v2
.
v2 :: Attributes Source #
v3 :: Attributes Source #
v4 :: Attributes Source #
v5 :: Attributes Source #
v6 :: Attributes Source #
first :: Attributes Source #
Ordinal numbers, either for intervals, or for the nth of something (e.g. harm <> third).
second :: Attributes Source #
third :: Attributes Source #
fourth :: Attributes Source #
fifth :: Attributes Source #
sixth :: Attributes Source #
seventh :: Attributes Source #