Karya, built on 2022-03-21T01:30:44 (patch 89d1651424c35e564138d93424a157ff87457245)
Safe HaskellSafe-Inferred

Derive.C.India.Pakhawaj

Description

Functions to realize pakhawaj bols.

Synopsis

Documentation

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 

Instances

Instances details
Show Stroke Source # 
Instance details

Defined in Derive.C.India.Pakhawaj

Eq Stroke Source # 
Instance details

Defined in Derive.C.India.Pakhawaj

Methods

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

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

Pretty Stroke Source # 
Instance details

Defined in Derive.C.India.Pakhawaj

data Bol Source #

Instances

Instances details
Show Bol Source # 
Instance details

Defined in Derive.C.India.Pakhawaj

Methods

showsPrec :: Int -> Bol -> ShowS #

show :: Bol -> String #

showList :: [Bol] -> ShowS #

Eq Bol Source # 
Instance details

Defined in Derive.C.India.Pakhawaj

Methods

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

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

Pretty Bol Source # 
Instance details

Defined in Derive.C.India.Pakhawaj

data Note a Source #

Constructors

Rest 
Note a 
Notes [Note a] 

Instances

Instances details
Foldable Note Source # 
Instance details

Defined in Derive.C.India.Pakhawaj

Methods

fold :: Monoid m => Note m -> m #

foldMap :: Monoid m => (a -> m) -> Note a -> 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 Note Source # 
Instance details

Defined in Derive.C.India.Pakhawaj

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

Functor Note Source # 
Instance details

Defined in Derive.C.India.Pakhawaj

Methods

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

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

Show a => Show (Note a) Source # 
Instance details

Defined in Derive.C.India.Pakhawaj

Methods

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

show :: Note a -> String #

showList :: [Note a] -> ShowS #

Eq a => Eq (Note a) Source # 
Instance details

Defined in Derive.C.India.Pakhawaj

Methods

(==) :: Note a -> Note a -> Bool #

(/=) :: Note a -> Note a -> Bool #

Pretty a => Pretty (Note a) Source # 
Instance details

Defined in Derive.C.India.Pakhawaj

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