| Copyright | (c) Hans Hoglund 2012-2014 | 
|---|---|
| License | BSD-style | 
| Maintainer | hans@hanshoglund.se | 
| Stability | experimental | 
| Portability | non-portable (TF,GNTD) | 
| Safe Haskell | None | 
| Language | Haskell2010 | 
Music.Score.Articulation
Contents
Description
Provides functions for manipulating articulation.
- type family Articulation s :: *
 - type family SetArticulation b s :: *
 - type family Accentuation a :: *
 - type family Separation a :: *
 - class (Fractional (Accentuation a), Fractional (Separation a), AffineSpace (Accentuation a), AffineSpace (Separation a)) => Articulated a where
- accentuation :: Lens' a (Accentuation a)
 - separation :: Lens' a (Separation a)
 
 - class (Transformable (Articulation s), Transformable (Articulation t), ArticulationLensLaws s t) => HasArticulations s t where
- articulations :: Traversal s t (Articulation s) (Articulation t)
 
 - class HasArticulations s t => HasArticulation s t where
- articulation :: Lens s t (Articulation s) (Articulation t)
 
 - type HasArticulations' a = HasArticulations a a
 - type HasArticulation' a = HasArticulation a a
 - articulation' :: (HasArticulation s t, s ~ t) => Lens' s (Articulation s)
 - articulations' :: (HasArticulations s t, s ~ t) => Traversal' s (Articulation s)
 - accent :: (HasPhrases' s b, HasArticulations' b, Articulation b ~ a, Articulated a) => s -> s
 - marcato :: (HasPhrases' s b, HasArticulations' b, Articulation b ~ a, Articulated a) => s -> s
 - accentLast :: (HasPhrases' s b, HasArticulations' b, Articulation b ~ a, Articulated a) => s -> s
 - marcatoLast :: (HasPhrases' s b, HasArticulations' b, Articulation b ~ a, Articulated a) => s -> s
 - accentAll :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s
 - marcatoAll :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s
 - staccatissimo :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s
 - staccato :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s
 - separated :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s
 - portato :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s
 - legato :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s
 - legatissimo :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s
 - tenuto :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s
 - spiccato :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s
 - newtype ArticulationT n a = ArticulationT {
- getArticulationT :: (n, a)
 
 - varticulation :: (HasArticulation a (SetArticulation a1 a), HasArticulation a a, Functor f, (~) * (Articulation (SetArticulation a1 a)) a1) => (Voice (Articulation a) -> f (Voice a1)) -> Voice a -> f (Voice (SetArticulation a1 a))
 - addArtCon :: (HasPhrases s t a b, HasArticulation' a, HasArticulation a b, Articulation a ~ d, Articulation b ~ Ctxt d) => s -> t
 
Articulation type functions
type family Articulation s :: * Source
Articulations type.
Instances
type family SetArticulation b s :: * Source
Articulation type.
Instances
type family Accentuation a :: * Source
Instances
| type Accentuation () = () | |
| type Accentuation (a, b) = a | 
type family Separation a :: * Source
Instances
| type Separation () = () | |
| type Separation (a, b) = b | 
class (Fractional (Accentuation a), Fractional (Separation a), AffineSpace (Accentuation a), AffineSpace (Separation a)) => Articulated a where Source
Class of types that can be transposed, inverted and so on.
Instances
| (AffineSpace a, AffineSpace b, Fractional a, Fractional b) => Articulated (a, b) | 
Accessing articulation
class (Transformable (Articulation s), Transformable (Articulation t), ArticulationLensLaws s t) => HasArticulations s t where Source
Class of types that provide a articulation traversal.
Instances
class HasArticulations s t => HasArticulation s t where Source
Class of types that provide a single articulation.
Instances
type HasArticulations' a = HasArticulations a a Source
type HasArticulation' a = HasArticulation a a Source
articulation' :: (HasArticulation s t, s ~ t) => Lens' s (Articulation s) Source
Articulation type.
articulations' :: (HasArticulations s t, s ~ t) => Traversal' s (Articulation s) Source
Articulation type.
Manipulating articulation
Accents
accent :: (HasPhrases' s b, HasArticulations' b, Articulation b ~ a, Articulated a) => s -> s Source
marcato :: (HasPhrases' s b, HasArticulations' b, Articulation b ~ a, Articulated a) => s -> s Source
accentLast :: (HasPhrases' s b, HasArticulations' b, Articulation b ~ a, Articulated a) => s -> s Source
marcatoLast :: (HasPhrases' s b, HasArticulations' b, Articulation b ~ a, Articulated a) => s -> s Source
accentAll :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s Source
marcatoAll :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s Source
Phrasing and separation
staccatissimo :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s Source
staccato :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s Source
separated :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s Source
portato :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s Source
legato :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s Source
legatissimo :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s Source
tenuto :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s Source
spiccato :: (HasArticulations' s, Articulation s ~ a, Articulated a) => s -> s Source
Articulation transformer
newtype ArticulationT n a Source
Constructors
| ArticulationT | |
Fields 
  | |
Instances
Context
varticulation :: (HasArticulation a (SetArticulation a1 a), HasArticulation a a, Functor f, (~) * (Articulation (SetArticulation a1 a)) a1) => (Voice (Articulation a) -> f (Voice a1)) -> Voice a -> f (Voice (SetArticulation a1 a)) Source
addArtCon :: (HasPhrases s t a b, HasArticulation' a, HasArticulation a b, Articulation a ~ d, Articulation b ~ Ctxt d) => s -> t Source