music-parts-1.9.0: src/Music/Parts/Voices.hs
-- | Provides basic voice types. Useful for vocal music but also for abstract
-- voice leading problems etc.
module Music.Parts.Voices (
) where
import Control.Applicative
import Control.Lens (toListOf)
import Data.Default
import Data.Functor.Adjunction (unzipR)
import qualified Data.List
import Data.Maybe
import Data.Semigroup
import Data.Traversable (traverse)
import Data.Typeable
import Text.Numeral.Roman (toRoman)
import Data.Semigroup.Option.Instances
-- TODO newtype...
-- Related to "bounded" and "sized" integers (i.e. Pitch.Equal)
type SATB = Int
type SSAATTBB = Int
type SMezATBarB = Int
-- newtype BasicPart = BasicPart { getBasicPart :: Option (First Integer) }
-- deriving (Eq, Ord, Num, Integral, Real, Enum, Typeable, Semigroup, Monoid)
--
-- instance Default BasicPart where
-- def = mempty
--
-- instance Show BasicPart where
-- show _ = ""
--