module Music.MusicXml.Dynamics (
Dynamics(..)
) where
import Music.Dynamics.Literal
data Dynamics
= PPPPPP | PPPPP | PPPP | PPP | PP | P
| MP | MF
| F | FF | FFF | FFFF | FFFFF | FFFFFF
| SF | SFP | SFPP
| FP | RF
| RFZ
| SFZ | SFFZ | FZ
deriving (Eq, Ord, Show, Enum, Bounded)
instance IsDynamics Dynamics where
fromDynamics (DynamicsL (Just x, Nothing)) = case x of
(6.5) -> PPPPPP
(5.5) -> PPPPP
(4.5) -> PPPP
(3.5) -> PPP
(2.5) -> PP
(1.5) -> P
(0.5) -> MP
0.5 -> MF
1.5 -> F
2.5 -> FF
3.5 -> FFF
4.5 -> FFFF
5.5 -> FFFFF
6.5 -> FFFFFF
fromDynamics _ = error "fromDynamics: Unsupported literal for MusicXml.Dynamics"