-- Copyright 2023 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.Solkattu2023 where
import           Prelude hiding ((.), (^), repeat)

import           Solkattu.Dsl.Solkattu


haripriya :: Korvai
haripriya :: Korvai
haripriya = Stack => Int -> Int -> Int -> Korvai -> Korvai
date Int
2023 Int
3 Int
10 forall a b. (a -> b) -> a -> b
$ Text -> Korvai -> Korvai
comment Text
"from facebook" forall a b. (a -> b) -> a -> b
$ Tala -> StrokeMaps -> Sequence -> Korvai
korvaiS1 Tala
adi StrokeMaps
mridangam forall a b. (a -> b) -> a -> b
$
    forall g sollu. Sequence g sollu -> Sequence g sollu
su (Sequence
dimforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
tarikitaforall a. Monoid a => a -> a -> a
.Sequence
takaforall a. Monoid a => a -> a -> a
.Sequence
nakatikuforall a. Monoid a => a -> a -> a
.Sequence
dimforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    forall a. Monoid a => a -> a -> a
. Sequence
dimforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__forall a. Monoid a => a -> a -> a
.Sequence
takaforall a. Monoid a => a -> a -> a
.Sequence
nakatikuforall a. Monoid a => a -> a -> a
.Sequence
dimforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4
    forall a. Monoid a => a -> a -> a
. Sequence
nakatikuforall a. Monoid a => a -> a -> a
.Sequence
dimforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__4)
    forall a. Monoid a => a -> a -> a
. forall sollu. Int -> SequenceT sollu -> SequenceT sollu
spread Int
3 Sequence
tdgnt forall a. Monoid a => a -> a -> a
. forall sollu. Int -> SequenceT sollu -> SequenceT sollu
spread Int
2 Sequence
tdgnt forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ forall a. Rest a => a
__ (forall sollu. SequenceT sollu -> SequenceT sollu
g (forall a. Monoid a => a -> a
r3 Sequence
tdgnt))
    where
    mridangam :: StrokeMaps
mridangam = StrokeMap Stroke -> StrokeMaps
makeMridangam
        [ (Sequence
dim, forall {g}. Sequence g (Note (Stroke Stroke))
od)
        , (Sequence
taka, forall {g}. Sequence g (Note (Stroke Stroke))
kforall a. Monoid a => a -> a -> a
.forall {g}. Sequence g (Note (Stroke Stroke))
p)
        , (Sequence
tarikita, Sequence Group (Note (Stroke Stroke))
"pktp")
        ]