-- Copyright 2020 Evan Laforge
-- This program is distributed under the terms of the GNU General Public
-- License 3.0, see COPYING or http://www.gnu.org/licenses/gpl-3.0.txt

{-# LANGUAGE RecordWildCards #-}
-- | Solkattu scores from 2020.
module Solkattu.Score.Solkattu2020 where
import           Prelude hiding ((.), (^), repeat)

import qualified Solkattu.Instrument.KendangPasang as KendangPasang
import qualified Solkattu.Instrument.KendangTunggal as KendangTunggal
import qualified Solkattu.Score.SolkattuMohra as SolkattuMohra

import           Solkattu.Dsl.Solkattu


-- say and play with the metronome
e_20_01_27 :: Korvai
e_20_01_27 :: Korvai
e_20_01_27 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2020 Int
1 Int
27 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$
    Text -> Korvai -> Korvai
comment Text
"practice for accurate microbeats" forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [SequenceT Sollu] -> Korvai
korvaiS Tala
adi forall a. Monoid a => a
mempty
    -- namita dimita dim sequence
    [ forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
ditforall a. Monoid a => a -> a -> a
.SequenceT Sollu
taka) (forall sollu. SequenceT sollu -> SequenceT sollu
tri (SequenceT Sollu
tangforall a. Monoid a => a -> a -> a
.SequenceT Sollu
kttkforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dhomforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ka) forall a. Monoid a => a -> a -> a
. SequenceT Sollu
tangforall a. Monoid a => a -> a -> a
.SequenceT Sollu
kttk)
    , forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
ditforall a. Monoid a => a -> a -> a
.SequenceT Sollu
taka) (forall sollu. SequenceT sollu -> SequenceT sollu
tri (SequenceT Sollu
tangforall a. Monoid a => a -> a -> a
.SequenceT Sollu
kttkforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
su (SequenceT Sollu
duguforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dugu)) forall a. Monoid a => a -> a -> a
. SequenceT Sollu
tangforall a. Monoid a => a -> a -> a
.SequenceT Sollu
kttk)
    , forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
ditforall a. Monoid a => a -> a -> a
.SequenceT Sollu
taka)
        (SequenceT Sollu
tangforall a. Monoid a => a -> a -> a
.SequenceT Sollu
kttk forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (SequenceT Sollu
dhomforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
su (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
diforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
kiforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
thom)))
    ]

c_20_04_03 :: Korvai
c_20_04_03 :: Korvai
c_20_04_03 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2020 Int
4 Int
3 forall a b. (a -> b) -> a -> b
$
    Text -> Korvai -> Korvai
source Text
"https://www.youtube.com/watch?v=wgI6uvtkao4" forall a b. (a -> b) -> a -> b
$
    Tala
-> StrokeMaps
-> (SequenceT Sollu -> SequenceT Sollu)
-> (SequenceT Sollu, SequenceT Sollu, SequenceT Sollu)
-> (SequenceT Sollu, SequenceT Sollu, SequenceT Sollu)
-> SequenceT Sollu
-> Korvai
SolkattuMohra.mohraKorvai Tala
adi StrokeMaps
mridangam
        forall g sollu. Sequence g sollu -> Sequence g sollu
su (SequenceT Sollu
t14, SequenceT Sollu
t16, SequenceT Sollu
t18) (SequenceT Sollu
end1, SequenceT Sollu
end2, SequenceT Sollu
end3)
        (SequenceT Sollu
purvangam forall a. Monoid a => a -> a -> a
. SequenceT Sollu
utarangam)
    where
    t14 :: SequenceT Sollu
t14 = SequenceT Sollu -> SequenceT Sollu
theme forall a. Monoid a => a
ø
    t16 :: SequenceT Sollu
t16 = SequenceT Sollu -> SequenceT Sollu
theme SequenceT Sollu
tat
    t18 :: SequenceT Sollu
t18 = SequenceT Sollu -> SequenceT Sollu
theme (SequenceT Sollu
tatforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tat)
    theme :: SequenceT Sollu -> SequenceT Sollu
theme SequenceT Sollu
inter = forall sollu. SequenceT sollu -> SequenceT sollu
group forall a b. (a -> b) -> a -> b
$
          SequenceT Sollu
inter forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (SequenceT Sollu
kitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
taka)forall a. Monoid a => a -> a -> a
.SequenceT Sollu
tatforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
kitaforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
su SequenceT Sollu
tarikitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
thom
        forall a. Monoid a => a -> a -> a
. SequenceT Sollu
inter forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (SequenceT Sollu
kitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tarikita)forall a. Monoid a => a -> a -> a
.SequenceT Sollu
thom

    end1 :: SequenceT Sollu
end1 = SequenceT Sollu
talangaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tatforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su SequenceT Sollu
kpforall a. Monoid a => a -> a -> a
.SequenceT Sollu
talangaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tatforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    end2 :: SequenceT Sollu
end2 = SequenceT Sollu
talangaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tatforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    end3 :: SequenceT Sollu
end3 = SequenceT Sollu
talangaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tat forall a. Monoid a => a -> a -> a
. SequenceT Sollu
talangaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tatforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su SequenceT Sollu
kp
        forall a. Monoid a => a -> a -> a
.  SequenceT Sollu
talangaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tat forall a. Monoid a => a -> a -> a
. SequenceT Sollu
talangaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tatforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__2 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su SequenceT Sollu
kpnp
        forall a. Monoid a => a -> a -> a
.  SequenceT Sollu
talangaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tat forall a. Monoid a => a -> a -> a
. SequenceT Sollu
talangaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tat
    talanga :: SequenceT Sollu
talanga = forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
langforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
ga

    purvangam :: SequenceT Sollu
purvangam = -- 4:43
        SequenceT Sollu
t14 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
kaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
thomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
        forall a. Monoid a => a -> a -> a
. SequenceT Sollu
t16 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
thomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
        forall a. Monoid a => a -> a -> a
. SequenceT Sollu
t18 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
tri (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
thomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
    utarangam :: SequenceT Sollu
utarangam = forall sollu.
SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
-> SequenceT sollu
trin (forall sollu. SequenceT sollu -> SequenceT sollu
tri SequenceT Sollu
tanga) -- 5:54, optionally, only play first
        (forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall sollu. SequenceT sollu -> SequenceT sollu
g (SequenceT Sollu
tadingina forall a. Monoid a => a -> a -> a
. SequenceT Sollu
tadin_ginaka))) -- 7
        (forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall sollu. SequenceT sollu -> SequenceT sollu
g (SequenceT Sollu
tadingina forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 SequenceT Sollu
tadin_ginaka))) -- 10
        (forall sollu. SequenceT sollu -> SequenceT sollu
tri (forall sollu. SequenceT sollu -> SequenceT sollu
g (SequenceT Sollu
tadingina forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 SequenceT Sollu
tadin_ginaka))) -- 13
        where
        tadingina :: SequenceT Sollu
tadingina = SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ginforall a. Monoid a => a -> a -> a
.SequenceT Sollu
na
        tadin_ginaka :: SequenceT Sollu
tadin_ginaka = forall g sollu. Sequence g sollu -> Sequence g sollu
su (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
ginforall a. Monoid a => a -> a -> a
.SequenceT Sollu
naforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ka)
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam -- 7:18
        [ (SequenceT Sollu
kitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tat, forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
v)
        , (SequenceT Sollu
kitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tariforall a. Monoid a => a -> a -> a
.SequenceT Sollu
kitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
thom, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)
        , (SequenceT Sollu
kitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tarikitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
thom, forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
vforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)
        , (SequenceT Sollu
tat, forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (SequenceT Sollu
talangforall a. Monoid a => a -> a -> a
.SequenceT Sollu
gaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tat, forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
uforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (SequenceT Sollu
tam, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
thom, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
thom, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ginforall a. Monoid a => a -> a -> a
.SequenceT Sollu
na, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
n)
        , (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ginforall a. Monoid a => a -> a -> a
.SequenceT Sollu
naforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ka, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)
        , (SequenceT Sollu
tangforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
ga, forall {g}. Sequence g (Note (Stroke Stroke))
oStack =>
Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
-> Sequence Group (Note (Stroke Stroke))
&forall {g}. Sequence g (Note (Stroke Stroke))
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
        ]

c_20_10_25 :: Korvai
c_20_10_25 :: Korvai
c_20_10_25 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2020 Int
10 Int
25 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [Section] -> Korvai
korvai Tala
adi (StrokeMaps
mridangamforall a. Semigroup a => a -> a -> a
<>StrokeMaps
k1forall a. Semigroup a => a -> a -> a
<>StrokeMaps
k2) forall a b. (a -> b) -> a -> b
$
    forall a b. (a -> b) -> [a] -> [b]
map (forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap forall g sollu. Sequence g sollu -> Sequence g sollu
su)
    -- preparation
    [ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ Duration -> SequenceT Sollu
sarva Duration
13 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd (forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
chamforall a. Monoid a => a -> a -> a
.SequenceT Sollu
chamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
    , forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ Duration -> SequenceT Sollu
sarva Duration
6 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (SequenceT Sollu
kitatakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
talangaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
talanga)
        forall a. Monoid a => a -> a -> a
. Duration -> SequenceT Sollu
sarva Duration
6 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (SequenceT Sollu
kitatakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takatakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takatakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takataka)
    , forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ Duration -> SequenceT Sollu
sarva Duration
5.5 forall a. Monoid a => a -> a -> a
. SequenceT Sollu
ending7
    , forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ Duration -> SequenceT Sollu
sarva Duration
6 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (SequenceT Sollu
tamforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
kitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takadinnaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tamforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
kitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takadinna)
        forall a. Monoid a => a -> a -> a
. Duration -> SequenceT Sollu
sarva Duration
6 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall sollu. SequenceT sollu
__5forall a. Monoid a => a -> a -> a
.SequenceT Sollu
chamforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
takadinna)

    -- development
    , forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ Duration -> SequenceT Sollu
sarva Duration
5.5 forall a. Monoid a => a -> a -> a
. SequenceT Sollu
ending7
    , forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ Duration -> SequenceT Sollu
sarva Duration
7 forall a. Monoid a => a -> a -> a
. SequenceT Sollu
ending6
    , forall sollu. Duration -> Section sollu -> Section sollu
endOn Duration
4 forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
s forall a b. (a -> b) -> a -> b
$ Duration -> SequenceT Sollu
sarva Duration
8.5 forall a. Monoid a => a -> a -> a
. SequenceT Sollu
ending5forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__8 forall a. Monoid a => a -> a -> a
. Duration -> SequenceT Sollu
sarva Duration
6

    -- korvai
    , forall sollu. Duration -> Section sollu -> Section sollu
startOn Duration
4 forall a b. (a -> b) -> a -> b
$ forall a. a -> Section a
ending SequenceT Sollu
korv
    , forall a. a -> Section a
ending forall a b. (a -> b) -> a -> b
$ forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
6 SequenceT Sollu
korv
    ]
    where
    korv :: SequenceT Sollu
korv = forall a. Monoid a => [a] -> a
mconcat
        [ forall sollu. SequenceT sollu -> SequenceT sollu
g forall a b. (a -> b) -> a -> b
$ SequenceT Sollu
ending7forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__7
        , forall sollu. SequenceT sollu -> SequenceT sollu
g forall a b. (a -> b) -> a -> b
$ SequenceT Sollu
ending6forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__6
        , forall sollu. SequenceT sollu -> SequenceT sollu
g forall a b. (a -> b) -> a -> b
$ SequenceT Sollu
ending5forall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__5
        , forall sollu. SequenceT sollu -> SequenceT sollu
g forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r4 (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ditforall a. Monoid a => a -> a -> a
.SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ga) forall a. Monoid a => a -> a -> a
. SequenceT Sollu
tadikita forall a. Monoid a => a -> a -> a
.SequenceT Sollu
takadinnaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dimforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
        , forall sollu. SequenceT sollu -> SequenceT sollu
g (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.SequenceT Sollu
ginforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.SequenceT Sollu
naforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.SequenceT Sollu
thomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
        , forall sollu. SequenceT sollu -> SequenceT sollu
g (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
. SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.SequenceT Sollu
ginforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
. SequenceT Sollu
naforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4forall a. Monoid a => a -> a -> a
.SequenceT Sollu
thomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
        , forall sollu. SequenceT sollu -> SequenceT sollu
g (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
. SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.SequenceT Sollu
ginforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
. SequenceT Sollu
naforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__3forall a. Monoid a => a -> a -> a
.SequenceT Sollu
thomforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)

        , forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall sollu. SequenceT sollu
p5 forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu
p5 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall sollu. SequenceT sollu
p5 forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 forall sollu. SequenceT sollu
p5 forall a. Monoid a => a -> a -> a
. forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall sollu. SequenceT sollu
p5
        , forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ forall a. Rest a => a
__ (forall a. Monoid a => a -> a
r3 forall sollu. SequenceT sollu
p5)
        ]
    ending7 :: SequenceT Sollu
ending7 = forall a. Monoid a => a -> a
r4 SequenceT Sollu
"tadit_ta_ga_" forall a. Monoid a => a -> a -> a
. SequenceT Sollu
"tadi_ki_ta_taka_din_na_dim"
    ending6 :: SequenceT Sollu
ending6 = forall a. Monoid a => a -> a
r3 SequenceT Sollu
"tadit_ta_ga" forall a. Monoid a => a -> a -> a
. SequenceT Sollu
"tadit_taga_" forall a. Monoid a => a -> a -> a
. SequenceT Sollu
"tadi_kita_taka_dinna_dim"
    ending5 :: SequenceT Sollu
ending5 = forall a. Monoid a => a -> a
r4 SequenceT Sollu
"tadittaga_" forall a. Monoid a => a -> a -> a
. SequenceT Sollu
"tadikita_takadinna_dim"
    takataka :: SequenceT Sollu
takataka = SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
taka
    sarva :: Duration -> SequenceT Sollu
sarva = forall sollu.
Stack =>
SequenceT sollu -> Duration -> SequenceT sollu
sarvaD (forall g sollu. Sequence g sollu -> Sequence g sollu
sd SequenceT Sollu
sarva_ndd)
    sarva_ndd :: SequenceT Sollu
sarva_ndd = SequenceT Sollu
naforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
naforall a. Monoid a => a -> a -> a
.forall g sollu. Sequence g sollu -> Sequence g sollu
su (SequenceT Sollu
naforall a. Monoid a => a -> a -> a
.SequenceT Sollu
na)forall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
na forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 (SequenceT Sollu
naforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
na)
    mridangam :: StrokeMaps
mridangam = StrokeMaps
mridangam3
    -- TODO: awkward, replace with inline mridangam:
    mridangamSollus :: StrokeMap Stroke
mridangamSollus =
        [ (SequenceT Sollu
kitatakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
talangaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
talanga,
            forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (SequenceT Sollu
kitatakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takatakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takatakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takataka,
            forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (SequenceT Sollu
tamforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
kitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takadinnaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tamforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
kitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takadinna,
            forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
n)
        , (SequenceT Sollu
ta, forall {g}. Sequence g (Note (Stroke Stroke))
k)

        , (SequenceT Sollu
sarva_ndd, Sequence Group (Note (Stroke Stroke))
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.Sequence Group (Note (Stroke Stroke))
on forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Stroke))
onforall a. Monoid a => a -> a -> a
.Sequence Group (Note (Stroke Stroke))
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.Sequence Group (Note (Stroke Stroke))
on forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Stroke))
onforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
n forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
odforall a. Monoid a => a -> a -> a
.Sequence Group (Note (Stroke Stroke))
on)
        -- TODO some syntax to say od if there is space afterwards
        -- , (takadinna, k.o.o& (_ d) .d)
        ]
    mridangam3 :: StrokeMaps
mridangam3 = StrokeMap Stroke -> StrokeMaps
makeMridangam forall a b. (a -> b) -> a -> b
$ StrokeMap Stroke
mridangamSollus forall a. [a] -> [a] -> [a]
++
        [ (forall a. Monoid a => a -> a
r4 forall a b. (a -> b) -> a -> b
$ SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ditforall a. Monoid a => a -> a -> a
.SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ga,
            forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
hv forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p forall a. Monoid a => a -> a -> a
. forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
hv forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p forall a. Monoid a => a -> a -> a
. forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
hv forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k forall a. Monoid a => a -> a -> a
. forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
hv forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
uforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (SequenceT Sollu
tadikita, forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
hv forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
t)
        , (SequenceT Sollu
dim, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (SequenceT Sollu
thom, forall {g}. Sequence g (Note (Stroke Stroke))
o)
        ]
    mridangam2 :: StrokeMaps
mridangam2 = StrokeMap Stroke -> StrokeMaps
makeMridangam forall a b. (a -> b) -> a -> b
$ StrokeMap Stroke
mridangamSollus forall a. [a] -> [a] -> [a]
++
        [ (forall a. Monoid a => a -> a
r2 forall a b. (a -> b) -> a -> b
$ SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ditforall a. Monoid a => a -> a -> a
.SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ga, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
lt forall {g}. Sequence g (Note (Stroke Stroke))
p forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
lt forall {g}. Sequence g (Note (Stroke Stroke))
o)
        , (SequenceT Sollu
tadikita, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
n)
        , (SequenceT Sollu
dim, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (SequenceT Sollu
thom, forall {g}. Sequence g (Note (Stroke Stroke))
o)
        ]
    mridangam1 :: StrokeMaps
mridangam1 = StrokeMap Stroke -> StrokeMaps
makeMridangam forall a b. (a -> b) -> a -> b
$ StrokeMap Stroke
mridangamSollus forall a. [a] -> [a] -> [a]
++
        [ (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ditforall a. Monoid a => a -> a -> a
.SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ga, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
lt forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (SequenceT Sollu
tadikita, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
n)
        , (SequenceT Sollu
dim, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (SequenceT Sollu
thom, forall {g}. Sequence g (Note (Stroke Stroke))
o)
        ]
    k1 :: StrokeMaps
k1 = StrokeMap Stroke -> StrokeMaps
makeKendang1
        [ (SequenceT Sollu
kitatakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
talangaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
talanga,
            forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
uforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
        , (SequenceT Sollu
kitatakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takatakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takatakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takataka,
            forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
        , (SequenceT Sollu
tamforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
kitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takadinnaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tamforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
kitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takadinna,
            forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
t)
        , (SequenceT Sollu
ta, forall {g}. Sequence g (Note (Stroke Stroke))
p)

        , (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ditforall a. Monoid a => a -> a -> a
.SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ga, forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall stroke.
SequenceT (Stroke stroke) -> SequenceT (Stroke stroke)
lt forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (SequenceT Sollu
tadikita, forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
t)
        , (SequenceT Sollu
dim, forall {g}. Sequence g (Note (Stroke Stroke))
a)
        , (SequenceT Sollu
thom, forall {g}. Sequence g (Note (Stroke Stroke))
a)

        , (SequenceT Sollu
sarva_ndd, forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
t forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
t forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
t forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
t)
        ] where KendangTunggal.Strokes {Sequence g (Note (Stroke Stroke))
a :: forall a. Strokes a -> a
o :: forall a. Strokes a -> a
k :: forall a. Strokes a -> a
å :: forall a. Strokes a -> a
u :: forall a. Strokes a -> a
t :: forall a. Strokes a -> a
p :: forall a. Strokes a -> a
pk :: forall a. Strokes a -> a
å :: Sequence g (Note (Stroke Stroke))
pk :: Sequence g (Note (Stroke Stroke))
a :: Sequence g (Note (Stroke Stroke))
u :: Sequence g (Note (Stroke Stroke))
o :: Sequence g (Note (Stroke Stroke))
p :: Sequence g (Note (Stroke Stroke))
t :: Sequence g (Note (Stroke Stroke))
k :: Sequence g (Note (Stroke Stroke))
..} = forall g. Strokes (Sequence g (Note (Stroke Stroke)))
KendangTunggal.notes
    k2 :: StrokeMaps
k2 = StrokeMap Stroke -> StrokeMaps
makeKendang2
        [ (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ditforall a. Monoid a => a -> a -> a
.SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ga, forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
l)
        , (SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
diforall a. Monoid a => a -> a -> a
.SequenceT Sollu
kiforall a. Monoid a => a -> a -> a
.SequenceT Sollu
ta, forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
t)
        , (SequenceT Sollu
dim, forall {g}. Sequence g (Note (Stroke Stroke))
a)
        , (SequenceT Sollu
thom, forall {g}. Sequence g (Note (Stroke Stroke))
a)
        ] where KendangPasang.Strokes {Sequence g (Note (Stroke Stroke))
o :: forall a. Strokes a -> a
a :: forall a. Strokes a -> a
yy :: forall a. Strokes a -> a
y :: forall a. Strokes a -> a
u :: forall a. Strokes a -> a
l :: forall a. Strokes a -> a
t :: forall a. Strokes a -> a
p :: forall a. Strokes a -> a
k :: forall a. Strokes a -> a
pk :: forall a. Strokes a -> a
o :: Sequence g (Note (Stroke Stroke))
yy :: Sequence g (Note (Stroke Stroke))
y :: Sequence g (Note (Stroke Stroke))
u :: Sequence g (Note (Stroke Stroke))
pk :: Sequence g (Note (Stroke Stroke))
a :: Sequence g (Note (Stroke Stroke))
p :: Sequence g (Note (Stroke Stroke))
k :: Sequence g (Note (Stroke Stroke))
l :: Sequence g (Note (Stroke Stroke))
t :: Sequence g (Note (Stroke Stroke))
..} = forall g. Strokes (Sequence g (Note (Stroke Stroke)))
KendangPasang.notes

-- TODO the same as Kendang2020.farans, except this has the unnecessary sollus,
-- but can also more easily do kendang pasang... so I'm not sure which is
-- better!  Maybe solve with inline mridangam:
kendang_farans :: Korvai
kendang_farans :: Korvai
kendang_farans = Korvai -> Korvai
faran forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> [SequenceT Sollu] -> Korvai
korvaiS Tala
adi (StrokeMaps
k1forall a. Semigroup a => a -> a -> a
<>StrokeMaps
k2) forall a b. (a -> b) -> a -> b
$ forall a b. (a -> b) -> [a] -> [b]
map forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$ forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat
    [ forall a b. (a -> b) -> [a] -> [b]
map (SequenceT Sollu
-> SequenceT Sollu -> SequenceT Sollu -> SequenceT Sollu
make (SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
naka) (SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
nakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tiku))
        [ SequenceT Sollu
ktknpktk
        , SequenceT Sollu
ooknpktk
        , SequenceT Sollu
otknpktk
        , SequenceT Sollu
od__odnpktk
        ]
    ]
    where
    ktknpktk :: SequenceT Sollu
ktknpktk = SequenceT Sollu
kitaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
kiforall a. Monoid a => a -> a -> a
.SequenceT Sollu
naforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takitaka
    ooknpktk :: SequenceT Sollu
ooknpktk = SequenceT Sollu
dhomforall a. Monoid a => a -> a -> a
.SequenceT Sollu
dhomforall a. Monoid a => a -> a -> a
.SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
naforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takitaka
    otknpktk :: SequenceT Sollu
otknpktk = SequenceT Sollu
dhomforall a. Monoid a => a -> a -> a
.SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
kaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
naforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takitaka
    od__odnpktk :: SequenceT Sollu
od__odnpktk = SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.SequenceT Sollu
dinforall a. Monoid a => a -> a -> a
.SequenceT Sollu
naforall a. Monoid a => a -> a -> a
.SequenceT Sollu
takitaka
    takitaka :: SequenceT Sollu
takitaka = SequenceT Sollu
taforall a. Monoid a => a -> a -> a
.SequenceT Sollu
kiforall a. Monoid a => a -> a -> a
.SequenceT Sollu
taka
    k1 :: StrokeMaps
k1 = StrokeMap Stroke -> StrokeMaps
makeKendang1
        [ (SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
naka, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p) -- alt: p.k.t.k (p.n.p.k)
        , (SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
nakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tiku, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p) -- alt: p.k.t.k.p.k (p.n.p.k . t.k)

        , (SequenceT Sollu
ktknpktk, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (SequenceT Sollu
ooknpktk, forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (SequenceT Sollu
otknpktk, forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        , (SequenceT Sollu
od__odnpktk, forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
k)
        ] where KendangTunggal.Strokes {Sequence g (Note (Stroke Stroke))
å :: Sequence g (Note (Stroke Stroke))
u :: Sequence g (Note (Stroke Stroke))
pk :: Sequence g (Note (Stroke Stroke))
o :: Sequence g (Note (Stroke Stroke))
a :: Sequence g (Note (Stroke Stroke))
p :: Sequence g (Note (Stroke Stroke))
t :: Sequence g (Note (Stroke Stroke))
k :: Sequence g (Note (Stroke Stroke))
a :: forall a. Strokes a -> a
o :: forall a. Strokes a -> a
k :: forall a. Strokes a -> a
å :: forall a. Strokes a -> a
u :: forall a. Strokes a -> a
t :: forall a. Strokes a -> a
p :: forall a. Strokes a -> a
pk :: forall a. Strokes a -> a
..} = forall g. Strokes (Sequence g (Note (Stroke Stroke)))
KendangTunggal.notes
    k2 :: StrokeMaps
k2 = StrokeMap Stroke -> StrokeMaps
makeKendang2
        [ (SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
naka, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
l)
        , (SequenceT Sollu
takaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
nakaforall a. Monoid a => a -> a -> a
.SequenceT Sollu
tiku, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)

        , (SequenceT Sollu
ktknpktk, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)
        , (SequenceT Sollu
ooknpktk, forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)
        , (SequenceT Sollu
otknpktk, forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)
        , (SequenceT Sollu
od__odnpktk, forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
lforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
aforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
o)
        ] where KendangPasang.Strokes {Sequence g (Note (Stroke Stroke))
yy :: Sequence g (Note (Stroke Stroke))
y :: Sequence g (Note (Stroke Stroke))
u :: Sequence g (Note (Stroke Stroke))
pk :: Sequence g (Note (Stroke Stroke))
o :: Sequence g (Note (Stroke Stroke))
a :: Sequence g (Note (Stroke Stroke))
l :: Sequence g (Note (Stroke Stroke))
t :: Sequence g (Note (Stroke Stroke))
p :: Sequence g (Note (Stroke Stroke))
k :: Sequence g (Note (Stroke Stroke))
o :: forall a. Strokes a -> a
a :: forall a. Strokes a -> a
yy :: forall a. Strokes a -> a
y :: forall a. Strokes a -> a
u :: forall a. Strokes a -> a
l :: forall a. Strokes a -> a
t :: forall a. Strokes a -> a
p :: forall a. Strokes a -> a
k :: forall a. Strokes a -> a
pk :: forall a. Strokes a -> a
..} = forall g. Strokes (Sequence g (Note (Stroke Stroke)))
KendangPasang.notes
    make :: SequenceT Sollu
-> SequenceT Sollu -> SequenceT Sollu -> SequenceT Sollu
make SequenceT Sollu
fill1 SequenceT Sollu
fill2 SequenceT Sollu
pattern =
        SequenceT Sollu
long forall a. Monoid a => a -> a -> a
. SequenceT Sollu
long
        forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
group SequenceT Sollu
pattern forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu
group SequenceT Sollu
pattern forall a. Monoid a => a -> a -> a
. SequenceT Sollu
long
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r2 SequenceT Sollu
short forall a. Monoid a => a -> a -> a
. SequenceT Sollu
fill1 forall a. Monoid a => a -> a -> a
. SequenceT Sollu
long
        forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 SequenceT Sollu
short forall a. Monoid a => a -> a -> a
. SequenceT Sollu
fill2 forall a. Monoid a => a -> a -> a
. SequenceT Sollu
nakatiku
        where
        long :: SequenceT Sollu
long = forall sollu. SequenceT sollu -> SequenceT sollu
group SequenceT Sollu
pattern forall a. Monoid a => a -> a -> a
. SequenceT Sollu
nakatiku
        short :: SequenceT Sollu
short = forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
takeM FMatra
6 SequenceT Sollu
pattern