-- vim: set foldmethod=marker :

-- {{{1 metadata
{-|
Module      : Arca_musarithmica.Syntagma1.Pinax04
Description : Data for the ark, syntagma 1, pinax 4 (Iambicum Euripedaeum)
Copyright   : Data from Kircher, 1650, implementation (c) 2022 Andrew A. Cashner
Stability   : Experimental

Sub-structures used by @Arca_musarithmica@ to build Kircher's ark.
This /pinax/ ('s1p4') is for poetry in Iambic-Euripidaeic meter, 6 syllable
lines with pattern `-`-`-. There are four columns, meant to be used in order
of each line in a four-line strophe (though each column is confusingly labeled
"stropha").  There is only one 'Aedifico.RpermTable' for all four columns.

Acceptable tones are I, II, III, IV, IX, and X.
-}
-- }}}1

module Arca_musarithmica.Syntagma1.Pinax04 (s1p4) where

import Aedifico
    ( Dur    (..)
    , buildPinax
    )

-- | Pinax 4
s1p4 = buildPinax [c0, c1, c2, c3]

-- {{{1 c0
c0 = (c0v, c0r)

-- {{{2 c0v
c0v =     [
        [ -- 0
            [5, 5, 3, 2, 3, 3],
            [8, 7, 5, 7, 7, 7],
            [3, 2, 3, 4, 5, 5],
            [8, 5, 8, 7, 3, 3]
        ],
        [ -- 1
            [5, 5, 5, 5, 5, 5],
            [8, 8, 8, 7, 8, 8],
            [3, 3, 3, 2, 3, 3],
            [1, 1, 1, 5, 1, 1]
        ],
        [ -- 2
            [8, 2, 3, 6, 5, 5],
            [5, 7, 8, 8, 7, 8],
            [3, 4, 8, 4, 2, 3],
            [8, 7, 6, 4, 5, 1]
        ],
        [ -- 3
            [3, 2, 3, 2, 1, 7],
            [8, 7, 7, 6, 5, 5], -- CN for 8, 7, 7, *7, 5, 5 (?)
            [5, 5, 5, 4, 3, 2],
            [1, 5, 3, 4, 8, 5]
        ],
        [ -- 4
            [3, 2, 3, 4, 5, 5],
            [8, 7, 8, 2, 7, 7],
            [5, 5, 5, 2, 3, 3],
            [8, 5, 1, 7, 3, 3]
        ],
        [ -- 5
            [5, 5, 5, 4, 5, 5],
            [8, 8, 7, 8, 7, 8],
            [3, 3, 2, 1, 2, 3],
            [1, 1, 5, 6, 5, 1]
        ],
        [ -- 6
            [5, 5, 5, 5, 5, 5],
            [8, 8, 8, 7, 8, 8],
            [3, 3, 3, 2, 3, 3],
            [8, 8, 8, 5, 8, 8]
        ],
        [ -- 7
            [5, 5, 5, 5, 4, 4],
            [7, 7, 7, 7, 7, 7],
            [3, 3, 3, 3, 2, 2],
            [3, 3, 3, 3, 7, 7]
        ],
        [ -- 8
            [5, 5, 4, 4, 5, 5],
            [7, 7, 6, 8, 7, 8],
            [3, 3, 1, 1, 2, 3],
            [3, 3, 4, 6, 5, 1]
        ],
        [ -- 9
            [3, 4, 5, 4, 2, 3],
            [8, 7, 7, 6, 5, 5],
            [5, 4, 3, 8, 7, 8],
            [1, 2, 3, 4, 5, 1]
        ]
    ]
-- }}}2
-- {{{2 c0r
c0r =     [
        [ -- Duple
            [[SbD, Mn, Mn, Mn, Sb, Sb]],
            [[MnD, Sm, Mn, Mn, Sb, Sb]],
            [[Mn, Mn, Mn, Mn, Sb, Sb]],
            [[Sm, Sm, Sm, Sm, Sb, Sb]],
            [[SmD, Fs, Sm, Sm, Mn, Mn]],
            [[MnR, Sb, Mn, Mn, Mn, Sb, Sb]],
            [[SmR, Mn, Sm, Sm, Sm, Mn, Sb]],
            [[Sb, Mn, Sb, Mn, Sb, Sb]]
        ],
        [ -- TripleMajor
            [[Br, Sb, Br, Sb, BrD, BrD]], -- XXX assuming penultimate Br is perfect
            [[SbR, Sb, Sb, Br, Sb, BrD, BrD]],
            [[Sb, Sb, Sb, Sb, Br, BrD]]
        ],
        [ -- TripleMinor
            [[Sb, Mn, Sb, Mn, SbD, SbD]], -- XXX likewise for Sb
            [[Mn, Mn, Mn, Mn, Sb, SbD]],
            [[MnR, Mn, Mn, Sb, Mn, SbD, SbD]]
        ]
    ]
-- }}}1
-- {{{1 c1
c1 = (c1v, c0r)

-- {{{2 c1v
c1v =     [
        [ -- 0
            [5, 4, 3, 2, 4, 2],
            [7, 7, 5, 7, 8, 7],
            [3, 2, 3, 5, 8, 5],
            [3, 7, 8, 5, 6, 5]
        ],
        [ -- 1
            [3, 3, 3, 3, 2, 2],
            [7, 7, 7, 7, 7, 7],
            [5, 5, 5, 5, 4, 4],
            [3, 3, 3, 3, 7, 7]
        ],
        [ -- 2
            [7, 6, 7, 3, 2, 2],
            [2, 4, 5, 5, 4, 5],
            [7, 8, 5, 8, 6, 7],
            [5, 4, 3, 1, 2, 5]
        ],
        [ -- 3
            [3, 2, 3, 5, 4, 5],
            [5, 7, 8, 7, 7, 7],
            [3, 4, 8, 3, 2, 3],
            [8, 7, 6, 3, 7, 3]
        ],
        [ -- 4
            [3, 2, 3, 5, 8, 3],
            [5, 7, 8, 7, 6, 5],
            [3, 4, 8, 3, 4, 7],
            [8, 7, 6, 5, 4, 3]
        ],
        [ -- 5
            [3, 2, 3, 5, 4, 5],
            [5, 7, 8, 7, 7, 7],
            [3, 4, 8, 3, 2, 3],
            [8, 7, 6, 3, 7, 3]
        ],
        [ -- 6
            [5, 5, 5, 5, 4, 4],
            [7, 7, 7, 7, 7, 7],
            [3, 3, 3, 3, 2, 2],
            [3, 3, 3, 3, 7, 7]
        ],
        [ -- 7
            [5, 5, 5, 4, 3, 2],
            [7, 7, 7, 7, 5, 5],
            [2, 2, 3, 2, 8, 7], -- XXX 8 unclear
            [5, 5, 3, 7, 8, 5]
        ],
        [ -- 8
            [5, 4, 3, 2, 4, 2],
            [7, 7, 5, 7, 8, 7],
            [3, 2, 3, 5, 8, 2], -- last digit unclear XXX
            [3, 7, 8, 5, 6, 5]
        ],
        [ -- 9
            [3, 2, 3, 5, 2, 3],
            [5, 7, 8, 7, 6, 5],
            [3, 4, 8, 3, 4, 7],
            [8, 7, 6, 5, 4, 3]
        ]
    ]
-- }}}2
-- }}}1
-- {{{1 c2
c2 = (c2v, c0r)

-- {{{2 c2v
c2v =     [
        [ -- 0
            [5, 5, 4, 3, 2, 3],
            [7, 7, 7, 5, 7, 7],
            [3, 3, 2, 3, 4, 5],
            [3, 3, 7, 8, 7, 3]
        ],
        [ -- 1
            [2, 2, 2, 2, 8, 7],
            [7, 7, 7, 7, 5, 5],
            [4, 4, 4, 4, 3, 2],
            [7, 7, 7, 7, 8, 5]
        ],
        [ -- 2
            [1, 2, 3, 5, 4, 5], -- CN for *7, 2, 3, 5, 4, 5
            [5, 7, 8, 7, 7, 7],
            [3, 4, 8, 3, 2, 3],
            [8, 7, 6, 3, 7, 3]
        ],
        [ -- 3
            [5, 4, 5, 4, 3, 2],
            [7, 7, 7, 7, 8, 7],
            [3, 2, 3, 4, 5, 5],
            [3, 7, 3, 2, 1, 5] -- CN for 3, 7, 3, 2, 1, *7
        ],
        [ -- 4
            [5, 4, 6, 5, 4, 5], -- XXX last unclear
            [7, 2, 3, 2, 8, 7],
            [5, 7, 3, 5, 8, 2],
            [3, 2, 1, 7, 6, 5]
        ],
        [ -- 5
            [5, 4, 5, 4, 3, 2],
            [7, 7, 7, 7, 8, 7],
            [3, 2, 3, 4, 5, 5],
            [3, 7, 3, 2, 8, 5] -- CN for 3, 7, 3, 2, 8, *7
        ],
        [ -- 6
            [2, 2, 2, 2, 3, 2],
            [7, 7, 7, 7, 5, 7],
            [4, 4, 4, 4, 3, 5],
            [7, 7, 7, 7, 8, 5]
        ],
        [ -- 7
            [3, 2, 3, 5, 4, 5],
            [5, 7, 8, 7, 7, 7],
            [3, 4, 8, 3, 2, 3],
            [8, 7, 6, 3, 7, 3]
        ],
        [ -- 8
            [5, 5, 4, 3, 2, 3],
            [7, 7, 7, 5, 7, 7],
            [3, 3, 2, 3, 4, 5],
            [3, 3, 7, 8, 7, 3]
        ],
        [ -- 9
            [5, 4, 6, 5, 4, 5],
            [7, 2, 3, 2, 6, 7], -- unclear
            [5, 7, 3, 5, 8, 2],
            [3, 2, 1, 5, 1, 5] -- XXX unclear
        ]
    ]
-- }}}2
-- }}}1
-- {{{1 c3
c3 = (c3v, c0r)

-- {{{2 c3v
c3v =     [
        [ -- 0
            [5, 4, 3, 4, 2, 3],
            [7, 7, 5, 6, 5, 5],
            [3, 2, 3, 1, 7, 1],
            [3, 7, 8, 4, 5, 1]
        ],
        [ -- 1
            [5, 5, 4, 3, 2, 3],
            [7, 7, 6, 5, 5, 5],
            [3, 3, 1, 1, 7, 1],
            [3, 3, 4, 1, 5, 1]
        ],
        [ -- 2
            [7, 7, 6, 8, 7, 8],
            [5, 5, 4, 3, 5, 5],
            [3, 3, 8, 8, 2, 3],
            [3, 3, 4, 6, 5, 1]
        ],
        [ -- 3
            [8, 7, 6, 8, 7, 8],
            [6, 5, 4, 5, 5, 5],
            [3, 3, 1, 3, 2, 3],
            [6, 3, 4, 1, 5, 1]
        ],
        [ -- 4
            [8, 8, 2, 3, 2, 3],
            [6, 5, 7, 8, 7, 8],
            [1, 1, 4, 5, 5, 5],
            [4, 3, 2, 1, 5, 1]
        ],
        [ -- 5
            [3, 5, 4, 3, 2, 3],
            [8, 7, 6, 5, 5, 5],
            [3, 3, 1, 1, 7, 1],
            [6, 3, 4, 1, 5, 1]
        ],
        [ -- 6
            [5, 5, 4, 3, 2, 3],
            [7, 7, 6, 5, 5, 5],
            [3, 3, 1, 1, 7, 1],
            [3, 3, 4, 1, 5, 1]
        ],
        [ -- 7
            [6, 5, 6, 4, 5, 5],
            [8, 8, 8, 8, 7, 8],
            [8, 3, 4, 8, 2, 3],
            [4, 8, 4, 6, 5, 1]
        ],
        [ -- 8
            [5, 4, 3, 6, 5, 5],
            [7, 7, 5, 8, 7, 8],
            [3, 2, 3, 4, 2, 3],
            [3, 7, 8, 4, 5, 1]
        ],
        [ -- 9
            [8, 8, 2, 3, 2, 3],
            [6, 5, 7, 8, 7, 8],
            [8, 8, 4, 5, 5, 5],
            [4, 3, 2, 1, 5, 1] -- unclear XXX
        ]
    ]
-- }}}2
-- }}}1