-- 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.Tabla2023 where
import           Prelude hiding ((.))

import           Solkattu.Dsl.Bol


qaida1 :: Korvai
qaida1 :: Korvai
qaida1 = Korvai -> Korvai
qaida forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
akash forall a b. (a -> b) -> a -> b
$ Tal -> [Sequence Group (Note (Stroke Bol))] -> Korvai
korvaiS Tal
tintal forall a b. (a -> b) -> a -> b
$ forall a b. (a -> b) -> [a] -> [b]
map forall g sollu. Sequence g sollu -> Sequence g sollu
sd
    [ forall a. Monoid a => a -> a
r2 Sequence Group (Note (Stroke Bol))
"dha dha trkt dha dha tu na taa taa trkt dha dha tu na"
    -- palta 1
    , Sequence Group (Note (Stroke Bol))
"dha dha trkt dha dha trkt dha dha trkt dha dha tu na"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"taa taa trkt taa taa trkt dha dha trkt dha dha tu na"
    -- palta 2
    , Sequence Group (Note (Stroke Bol))
"dha dha dha trkt dha trkt dha dha trkt dha dha tu na"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"taa taa taa trkt taa trkt dha dha trkt dha dha tu na"
    -- palta 3
    , Sequence Group (Note (Stroke Bol))
"dha dha trkt dha trkt dha dha dha trkt dha dha tu na"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"taa taa trkt taa trkt taa dha dha trkt dha dha tu na"
    -- palta 4
    , Sequence Group (Note (Stroke Bol))
"dha dha trkt trkt trkt dha dha trkt dha dha tu na"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"taa taa trkt trkt trkt dha dha trkt dha dha tu na"
    -- palta 5
    , Sequence Group (Note (Stroke Bol))
"trkt trkt dha dha trkt dha dha trkt dha dha tu na"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"trkt trkt taa taa trkt dha dha trkt dha dha tu na"
    , forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note (Stroke Bol))
dhaforall a. Monoid a => a -> a -> a
.forall sollu. SequenceT sollu
__8) (forall sollu. SequenceT sollu -> SequenceT sollu
g Sequence Group (Note (Stroke Bol))
"dha dha trkt dha dha tu na taa taa trkt dha dha tu na")
        -- , "dha dha trkt dha dha tu na taa taa trkt dha dha tu na"
        -- . "dha _ _ _ _ _ _ _ dha dha trkt dha dha tu na"
        -- . "taa taa trkt dha dha tu na dha _ _ _ _ _ _ _"
        -- . "dha dha trkt dha dha tu na taa taa trkt dha dha tu na"
    -- first speed
    , forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ Sequence Group (Note (Stroke Bol))
"dha___" (forall sollu. SequenceT sollu -> SequenceT sollu
g Sequence Group (Note (Stroke Bol))
"dha dha trkt dha dha tuna")
        -- , "dha dha trkt dha dha tu na dha _ _ _ dha dha trkt"
        -- . "dha dha tu na dha _ _ _ dha dha trkt dha dha tu na"
    ]

qaida2 :: Korvai
qaida2 :: Korvai
qaida2 = Korvai -> Korvai
qaida forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
akash forall a b. (a -> b) -> a -> b
$ Tal -> [Sequence Group (Note (Stroke Bol))] -> Korvai
korvaiS Tal
tintal forall a b. (a -> b) -> a -> b
$ forall a b. (a -> b) -> [a] -> [b]
map forall g sollu. Sequence g sollu -> Sequence g sollu
sd
    [ forall a. Monoid a => a -> a
r2 Sequence Group (Note (Stroke Bol))
"dha trkt tk dha trkt tk taa trkt tk dha trkt tk"
    , Sequence Group (Note (Stroke Bol))
"dha trkt tk dha trkt tk dha trkt tk tu na kt tk"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"taa trkt tk taa trkt tk dha trkt tk tu na kt tk"

    -- palta
    , Sequence Group (Note (Stroke Bol))
"dha dha trkt dha trkt tk dha trkt tk tu na kt tk"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"taa taa trkt taa trkt tk dha trkt tk tu na kt tk"
    , Sequence Group (Note (Stroke Bol))
"dha trkt trkt dha trkt dha trkt tk tu na kt tk"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"taa trkt trkt taa trkt dha trkt tk tu na kt tk"
    , Sequence Group (Note (Stroke Bol))
"trkt trkt dha trkt tk dha trkt tk tu na kt tk"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"trkt trkt taa trkt tk dha trkt tk tu na kt tk"
    , Sequence Group (Note (Stroke Bol))
"dha trkt tk _ trkt tk dha trkt tk tu na kt tk"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"taa trkt tk _ trkt tk dha trkt tk tu na kt tk"

    , forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (Sequence Group (Note (Stroke Bol))
dhaforall a. Monoid a => a -> a -> a
.forall a. Rest a => a
__)
        (forall sollu. SequenceT sollu -> SequenceT sollu
g forall a b. (a -> b) -> a -> b
$ Sequence Group (Note (Stroke Bol))
"dha trkt tk tu na kt tk taa trkt tk tu na kt tk"
            forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"dha _ kt tk")
        -- , "dha trkt tk tu na kt tk taa trkt tk tu na kt tk"
        -- . "dha _ kt tk dha _ dha trkt tk tu na kt tk taa tr"
        -- . "kt tk tu na kt tk dha _ kt tk dha _ dha trkt tk"
        -- . "tu na kt tk taa trkt tk tu na kt tk dha _ kt tk"
    ]

-- farmaisi chakradar paran
farmaisi :: Korvai
farmaisi :: Korvai
farmaisi = Korvai -> Korvai
akash forall a b. (a -> b) -> a -> b
$ Tal -> Sequence Group (Note (Stroke Bol)) -> Korvai
korvaiS1 Tal
tintal forall a b. (a -> b) -> a -> b
$ forall g sollu. Matra -> Sequence g sollu -> Sequence g sollu
nadai Matra
3 forall a b. (a -> b) -> a -> b
$
    forall a. Monoid a => a -> a
r3 forall a b. (a -> b) -> a -> b
$ forall sollu. SequenceT sollu -> SequenceT sollu
g forall a b. (a -> b) -> a -> b
$ forall a. Monoid a => a -> a
r2 Sequence Group (Note (Stroke Bol))
"dha dha gena tette"
        forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"takita dha trkt" forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"dha dha gena tette"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"kran__ kran__" forall a. Monoid a => a -> a -> a
. (forall g sollu. Matra -> Sequence g sollu -> Sequence g sollu
nadai Matra
2 Sequence Group (Note (Stroke Bol))
"tk tr kt tk")
    forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (forall a. Monoid a => a -> a
r3 Sequence Group (Note (Stroke Bol))
"dha trkt" forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"tak kran_ dha__")
    -- first finish on 11

tukra1 :: Korvai
tukra1 :: Korvai
tukra1 = Korvai -> Korvai
tukra forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
akash forall a b. (a -> b) -> a -> b
$ Tal -> Sequence Group (Note (Stroke Bol)) -> Korvai
korvaiS1 Tal
tintal forall a b. (a -> b) -> a -> b
$
    forall g sollu. Sequence g sollu -> Sequence g sollu
sd Sequence Group (Note (Stroke Bol))
"dha dha din din na na" forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"tette tette katita katita"
      forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ (forall g sollu. Sequence g sollu -> Sequence g sollu
sd Sequence Group (Note (Stroke Bol))
"dha__") (forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ Sequence Group (Note (Stroke Bol))
"dha_" Sequence Group (Note (Stroke Bol))
"kita")

tukra2_chakradar :: Korvai
tukra2_chakradar :: Korvai
tukra2_chakradar = Korvai -> Korvai
tukra forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
akash forall a b. (a -> b) -> a -> b
$ Tal -> Sequence Group (Note (Stroke Bol)) -> Korvai
korvaiS1 Tal
tintal forall a b. (a -> b) -> a -> b
$
    forall a. Monoid a => a -> a
r2 Sequence Group (Note (Stroke Bol))
"dha ga tette taa ge tette"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"kre dhet tette dha ge tette" forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"gadi gene na ge tette"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"dhet _ dhet _"
      forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ Sequence Group (Note (Stroke Bol))
"dha_dha_" (forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ Sequence Group (Note (Stroke Bol))
"dha_" (forall sollu. SequenceT sollu -> SequenceT sollu
g Sequence Group (Note (Stroke Bol))
"trkt dhet _ taage _ na"))

tukra3_otaan :: Korvai
tukra3_otaan :: Korvai
tukra3_otaan = Korvai -> Korvai
tukra forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
akash forall a b. (a -> b) -> a -> b
$ Tal -> Sequence Group (Note (Stroke Bol)) -> Korvai
korvaiS1 Tal
tintal forall a b. (a -> b) -> a -> b
$
    Sequence Group (Note (Stroke Bol))
"dhet_dhet_ taa__ka taa__ka ta_kat_"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"dhagetette taa getette" forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"kre dhi _ na" forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"kredha tette"
    forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ Sequence Group (Note (Stroke Bol))
"dha___" (forall sollu. SequenceT sollu -> SequenceT sollu
g Sequence Group (Note (Stroke Bol))
"kredha tette dha ge tette")

tukra4 :: Korvai
tukra4 :: Korvai
tukra4 = Korvai -> Korvai
tukra forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
akash forall a b. (a -> b) -> a -> b
$ Tal -> Sequence Group (Note (Stroke Bol)) -> Korvai
korvaiS1 Tal
tintal forall a b. (a -> b) -> a -> b
$
    Sequence Group (Note (Stroke Bol))
"gadi gene naga tette" forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"gadi gene dha _"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"kata gadi gene kati gadi gene dha _"
    forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 Sequence Group (Note (Stroke Bol))
"ka tette ghen _ neran _ na dha tuna"

tukra5 :: Korvai
tukra5 :: Korvai
tukra5 = Korvai -> Korvai
tukra forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
akash forall a b. (a -> b) -> a -> b
$ Tal -> Sequence Group (Note (Stroke Bol)) -> Korvai
korvaiS1 Tal
tintal forall a b. (a -> b) -> a -> b
$
    Sequence Group (Note (Stroke Bol))
"takita dhikita taka tirikita dhirikita"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"nagadhit_ kran__na dha_dha_"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"dhinnaginadha _ dhinnagina dha _"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"dha ge tette katta gadigene"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"dha _ tuna kat _"
    forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 Sequence Group (Note (Stroke Bol))
"dhati dha _"
    -- this doesn't line up...
    forall a. Monoid a => a -> a -> a
. forall sollu. Matra -> SequenceT sollu
__M (Matra
15 forall a. Num a => a -> a -> a
* Matra
4)

tukra6 :: Korvai
tukra6 :: Korvai
tukra6 = Korvai -> Korvai
tukra forall a b. (a -> b) -> a -> b
$ Korvai -> Korvai
akash forall a b. (a -> b) -> a -> b
$ Tal -> Sequence Group (Note (Stroke Bol)) -> Korvai
korvaiS1 Tal
tintal forall a b. (a -> b) -> a -> b
$ forall g sollu. Matra -> Sequence g sollu -> Sequence g sollu
nadai Matra
3 forall a b. (a -> b) -> a -> b
$
    Sequence Group (Note (Stroke Bol))
"dha _ na dhikita dha trkt dhi kita"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"ka tette tukita dhi gene nagene"
    forall a. Monoid a => a -> a -> a
. Sequence Group (Note (Stroke Bol))
"takita taa_na taa__" forall a. Monoid a => a -> a -> a
. forall sollu. SequenceT sollu -> SequenceT sollu -> SequenceT sollu
tri_ Sequence Group (Note (Stroke Bol))
"dha__" Sequence Group (Note (Stroke Bol))
"kredhadha"

awantika :: Korvai
awantika :: Korvai
awantika = Korvai -> Korvai
akash forall a b. (a -> b) -> a -> b
$ Text -> Korvai -> Korvai
comment Text
"Akash did for kathak dance with Awantika." forall a b. (a -> b) -> a -> b
$
    Tal -> Sequence Group (Note (Stroke Bol)) -> Korvai
korvaiS1 Tal
tintal forall a b. (a -> b) -> a -> b
$ forall g sollu. Sequence g sollu -> Sequence g sollu
sd forall a b. (a -> b) -> a -> b
$ -- TODO should not be sd but wraps better that way
    forall a. Monoid a => a -> a
r3 (forall sollu. SequenceT sollu -> SequenceT sollu
g (Sequence Group (Note (Stroke Bol))
"dha dha "forall a. Monoid a => a -> a -> a
.Sequence Group (Note (Stroke Bol))
tkttktdhom))
        forall a. Monoid a => a -> a -> a
. forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (forall sollu. SequenceT sollu -> SequenceT sollu
g (Sequence Group (Note (Stroke Bol))
"dha ti dha "forall a. Monoid a => a -> a -> a
.Sequence Group (Note (Stroke Bol))
tkttktdhom))
        forall a. Monoid a => a -> a -> a
. forall a. Rest a => a
__ forall a. Monoid a => a -> a -> a
. forall a. Monoid a => a -> a
r3 (forall sollu. SequenceT sollu -> SequenceT sollu
g (Sequence Group (Note (Stroke Bol))
"dha dha ti dha "forall a. Monoid a => a -> a -> a
.Sequence Group (Note (Stroke Bol))
tkttktdhom))
    where
    tkttktdhom :: Sequence Group (Note (Stroke Bol))
tkttktdhom = Sequence Group (Note (Stroke Bol))
tktforall a. Monoid a => a -> a -> a
.Sequence Group (Note (Stroke Bol))
tktforall a. Monoid a => a -> a -> a
.Sequence Group (Note (Stroke Bol))
dhom
    tkt :: Sequence Group (Note (Stroke Bol))
tkt = forall g sollu. Sequence g sollu -> Sequence g sollu
su Sequence Group (Note (Stroke Bol))
"takita"