-- Copyright 2017 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

module Solkattu.Score.Mridangam2017 where
import Prelude hiding ((.), repeat)

import Solkattu.Dsl.Mridangam


t_17_02_13 :: Korvai
t_17_02_13 :: Korvai
t_17_02_13 = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2017 Int
2 Int
13 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
sarvalaghu forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence] -> Korvai
korvaiS Tala
adi forall a b. (a -> b) -> a -> b
$ forall a b. (a -> b) -> [a] -> [b]
map (forall g sollu. Int -> Sequence g sollu -> Sequence g sollu
nadai Int
6)
    [ Sequence
takitadinforall a. Monoid a => a -> a -> a
.Sequence
kadin forall a. Monoid a => a -> a -> a
. Sequence
takitadinforall a. Monoid a => a -> a -> a
.Sequence
kadin forall a. Monoid a => a -> a -> a
. Sequence
takitatinforall a. Monoid a => a -> a -> a
.Sequence
katin
        forall a. Monoid a => a -> a -> a
. Sequence
takitatinforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.Sequence
takitatinforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k
    , Sequence
takitadinforall a. Monoid a => a -> a -> a
.Sequence
kadin forall a. Monoid a => a -> a -> a
. forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall sollu.
(Stack, Pretty sollu) =>
FMatra -> SequenceT sollu -> SequenceT sollu
dropM FMatra
1 Sequence
takitadin forall a. Monoid a => a -> a -> a
. Sequence
kadin forall a. Monoid a => a -> a -> a
. Sequence
takitatinforall a. Monoid a => a -> a -> a
.Sequence
katin
        forall a. Monoid a => a -> a -> a
. forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
od
    ]
    where
    takitadin :: Sequence
takitadin   = forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    takitatin :: Sequence
takitatin   = forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    kadin :: Sequence
kadin = forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
odforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oStack => Sequence -> Sequence -> Sequence
&forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__
    katin :: Sequence
katin = forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.  forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__

c_17_07_10 :: Korvai
c_17_07_10 :: Korvai
c_17_07_10 = Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2017 Int
7 Int
10 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Tala -> Sequence -> Korvai
korvaiS1 Tala
adi forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
su forall a b. (a -> b) -> a -> b
$
    forall {g}. Sequence g (Note 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)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r4 (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k) forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r4 (forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k)

e_1 :: Korvai
e_1 :: Korvai
e_1 = Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2017 Int
9 Int
18 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence] -> Korvai
korvaiS Tala
adi
    [ Sequence
pkt forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.Sequence
pk forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.Sequence
pk)
    , Sequence
pkt forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k forall a. Monoid a => a -> a -> a
. forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.Sequence
pk)
    , forall g sollu. Sequence g sollu -> Sequence g sollu
su (forall a. Monoid a => a -> a
r6 Sequence
pkt) forall a. Monoid a => a -> a -> a
. Sequence
nakatiku
    ]
    where
    pkt :: Sequence
pkt = forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.Sequence
ktforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
pforall a. Monoid a => a -> a -> a
.Sequence
ktforall a. Monoid a => a -> a -> a
.Sequence
pk

e_2 :: Korvai
e_2 :: Korvai
e_2 = Korvai -> Korvai
ganesh forall a b. (a -> b) -> a -> b
$ Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2017 Int
11 Int
13 forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
exercise forall a b. (a -> b) -> a -> b
$ Tala -> [Sequence] -> Korvai
korvaiS Tala
adi forall a b. (a -> b) -> a -> b
$
    [ forall b a. Monoid b => (a -> b) -> [a] -> b
cmap forall {b} {g}. Monoid b => (Sequence g (Note Stroke) -> b) -> b
pattern [Sequence -> Sequence
s1, Sequence -> Sequence
s2, Sequence -> Sequence
s3, Sequence -> Sequence
s4, Sequence -> Sequence
s5]
    , forall b a. Monoid b => (a -> b) -> [a] -> b
cmap Sequence -> Sequence
fast [forall {g}. Sequence g (Note Stroke)
p, forall {g}. Sequence g (Note Stroke)
k, forall {g}. Sequence g (Note Stroke)
o, forall {g}. Sequence g (Note Stroke)
n]
    , forall b a. Monoid b => (a -> b) -> [a] -> b
mconcatMap forall {b} {g}. Monoid b => (Sequence g (Note Stroke) -> b) -> b
pattern [Sequence -> Sequence
t1, Sequence -> Sequence
t2]
    , Sequence
t_sarva
    ]
    where
    pattern :: (Sequence g (Note Stroke) -> b) -> b
pattern Sequence g (Note Stroke) -> b
s = forall b a. Monoid b => (a -> b) -> [a] -> b
cmap Sequence g (Note Stroke) -> b
s [forall {g}. Sequence g (Note Stroke)
p, forall {g}. Sequence g (Note Stroke)
k, forall {g}. Sequence g (Note Stroke)
o, forall {g}. Sequence g (Note Stroke)
n]
    s1 :: Sequence -> Sequence
s1 Sequence
x = Sequence
xforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.Sequence
ktforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.Sequence
ktforall a. Monoid a => a -> a -> a
.Sequence
pk
    s2 :: Sequence -> Sequence
s2 Sequence
x = Sequence
xforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.Sequence
ktforall a. Monoid a => a -> a -> a
.Sequence
pk
    s3 :: Sequence -> Sequence
s3 Sequence
x = Sequence
xforall a. Monoid a => a -> a -> a
.Sequence
x forall a. Monoid a => a -> a -> a
.Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.Sequence
ktforall a. Monoid a => a -> a -> a
.Sequence
pk
    s4 :: Sequence -> Sequence
s4 Sequence
x = Sequence
xforall a. Monoid a => a -> a -> a
.Sequence
x forall a. Monoid a => a -> a -> a
.Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.Sequence
pk
    s5 :: Sequence -> Sequence
s5 Sequence
x = Sequence
xforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
tkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.Sequence
pk
    fast :: Sequence -> Sequence
fast Sequence
x = Sequence
xforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
pk

    t1 :: Sequence -> Sequence
t1 Sequence
x = Sequence
xforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.Sequence
pk
    t2 :: Sequence -> Sequence
t2 Sequence
x = Sequence
xforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
ktktforall a. Monoid a => a -> a -> a
.Sequence
pk forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (Sequence
pkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.Sequence
pk)

    t_sarva :: Sequence
t_sarva = forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
oforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (Sequence
pkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
nforall a. Monoid a => a -> a -> a
.Sequence
pkforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
dforall a. Monoid a => a -> a -> a
.Sequence
pk)
    tk :: Sequence g (Note Stroke)
tk = forall {g}. Sequence g (Note Stroke)
tforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note Stroke)
k