music-score-1.7.1: Musical score and part representation.

Portabilitynon-portable (TF,GNTD)
Safe HaskellNone






Stretched values

data Stretched a Source

A Stretched value has a known duration, but no position.

Placing a value inside Stretched makes it invariant under delay, however the inner value can still be delayed using fmap delay.


Monad Stretched 
Functor Stretched 
Typeable1 Stretched 
Applicative Stretched 
Foldable Stretched 
Traversable Stretched 
Eq a => Eq (Stretched a) 
Floating a => Floating (Stretched a) 
Fractional a => Fractional (Stretched a) 
Num a => Num (Stretched a) 
Ord a => Ord (Stretched a) 
Real a => Real (Stretched a) 
RealFrac a => RealFrac (Stretched a) 
Show a => Show (Stretched a) 
Wrapped (Stretched a)

Unsafe: Do not use Wrapped instances

Transformable (Stretched a) 
HasDuration (Stretched a) 
Splittable a => Splittable (Stretched a) 
Reversible (Stretched a) 
HasSlide a => HasSlide (Stretched a) 
HasText a => HasText (Stretched a) 
Rewrapped (Stretched a) (Stretched b) 
HasPitches a b => HasPitches (Stretched a) (Stretched b) 
HasPitch a b => HasPitch (Stretched a) (Stretched b) 
HasDynamics a b => HasDynamics (Stretched a) (Stretched b) 
HasDynamic a b => HasDynamic (Stretched a) (Stretched b) 
HasArticulations a b => HasArticulations (Stretched a) (Stretched b) 
HasArticulation a b => HasArticulation (Stretched a) (Stretched b) 
Cons (Voice a) (Voice b) (Stretched a) (Stretched b) 
Snoc (Voice a) (Voice b) (Stretched a) (Stretched b) 


stretched :: Iso (Duration, a) (Duration, b) (Stretched a) (Stretched b)Source

View a stretched value as a pair of the original value and a stretch factor.

stretchedValue :: (Transformable a, Transformable b) => Lens (Stretched a) (Stretched b) a bSource

View a stretched value as a pair of the original value and the transformation (and vice versa).