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

Safe HaskellNone

Derive.Call.India.Pakhawaj

Contents

Description

Functions to realize pakhawaj bols.

Synopsis

calls

realize_bols Source #

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 

data Bol Source #

Instances

Eq Bol # 

Methods

(==) :: Bol -> Bol -> Bool #

(/=) :: Bol -> Bol -> Bool #

Show Bol # 

Methods

showsPrec :: Int -> Bol -> ShowS #

show :: Bol -> String #

showList :: [Bol] -> ShowS #

Pretty Bol # 

data Note a Source #

Constructors

Rest 
Note a 
Notes [Note a] 

Instances

Functor Note # 

Methods

fmap :: (a -> b) -> Note a -> Note b #

(<$) :: a -> Note b -> Note a #

Foldable.Foldable Note # 

Methods

fold :: 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 #

Traversable.Traversable Note # 

Methods

traverse :: 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) # 

Methods

showsPrec :: Int -> Note a -> ShowS #

show :: Note a -> String #

showList :: [Note a] -> ShowS #

Pretty a => Pretty (Note a) # 

Methods

pretty :: 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.