Karya, built on Mon Jul 24 11:39:07 PDT 2017 (patch 33511aca01257b76b88de7c7a2763b7a965c084e)

Derive.Call.India.Pakhawaj

Contents

Description

Functions to realize pakhawaj bols.

Synopsis

calls

Arguments

 :: ScoreTime End time, which is used for the duration of the final note. This is needed if the last bol is a sequence. -> [(ScoreTime, Text)] -> Either Text [(ScoreTime, Bol)]

implementation

data Stroke Source #

Constructors

 Tet Te Tette either tet or te, whichever is more convenient Ne tet with two fingers Na Ta Di Di1 di with one finger Di3 di with three fingers bayan Ka Ge

Instances

 # Methods(==) :: Stroke -> Stroke -> Bool #(/=) :: Stroke -> Stroke -> Bool # # MethodsshowsPrec :: Int -> Stroke -> ShowS #showList :: [Stroke] -> ShowS # # MethodsformatList :: [Stroke] -> Doc Source #

data Bol Source #

Constructors

 One Stroke Together Stroke Stroke Flam Stroke Stroke

Instances

 # Methods(==) :: Bol -> Bol -> Bool #(/=) :: Bol -> Bol -> Bool # # MethodsshowsPrec :: Int -> Bol -> ShowS #show :: Bol -> String #showList :: [Bol] -> ShowS # # MethodsformatList :: [Bol] -> Doc Source #

data Note a Source #

Constructors

 Rest Note a Notes [Note a]

Instances

 # Methodsfmap :: (a -> b) -> Note a -> Note b #(<\$) :: a -> Note b -> Note a # # Methodsfold :: Monoid m => Note m -> m #foldMap :: Monoid m => (a -> m) -> Note a -> m #foldr :: (a -> b -> b) -> b -> Note a -> b #foldr' :: (a -> b -> b) -> b -> Note a -> b #foldl :: (b -> a -> b) -> b -> Note a -> b #foldl' :: (b -> a -> b) -> b -> Note a -> b #foldr1 :: (a -> a -> a) -> Note a -> a #foldl1 :: (a -> a -> a) -> Note a -> a #toList :: Note a -> [a] #null :: Note a -> Bool #length :: Note a -> Int #elem :: Eq a => a -> Note a -> Bool #maximum :: Ord a => Note a -> a #minimum :: Ord a => Note a -> a #sum :: Num a => Note a -> a #product :: Num a => Note a -> a # # Methodstraverse :: Applicative f => (a -> f b) -> Note a -> f (Note b) #sequenceA :: Applicative f => Note (f a) -> f (Note a) #mapM :: Monad m => (a -> m b) -> Note a -> m (Note b) #sequence :: Monad m => Note (m a) -> m (Note a) # Eq a => Eq (Note a) # Methods(==) :: Note a -> Note a -> Bool #(/=) :: Note a -> Note a -> Bool # Show a => Show (Note a) # MethodsshowsPrec :: Int -> Note a -> ShowS #show :: Note a -> String #showList :: [Note a] -> ShowS # Pretty a => Pretty (Note a) # Methodspretty :: Note a -> Text Source #format :: Note a -> Doc Source #formatList :: [Note a] -> Doc Source #

type Syllable = Text Source #

Textual representation of a bol.

infer_tette :: [Bol] -> [Bol] Source #

Replace Tette with either Tet or Te, based on its neighbors.

map_neighbors :: Traversable.Traversable t => (Maybe b -> a -> Maybe a -> b) -> t a -> t b Source #

This is different from map f . Seq.zip_neighbors in that you can see whatever change f made to the previous value.