Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Functions to generate a click track from a metric structure.
- type Measure = Int
- type Pulse = Int
- mdv_to_mrq :: [[RQ]] -> [[RQ]]
- mp_lookup_err :: [[a]] -> (Measure, Pulse) -> a
- mp_compare :: (Measure, Pulse) -> (Measure, Pulse) -> Ordering
- ct_ext :: Int -> a -> [(Measure, a)] -> [(Measure, a)]
- ct_ext1 :: Int -> [(Measure, a)] -> [(Measure, a)]
- ct_dv_seq :: Int -> Tseq Measure Rational_Time_Signature -> [(Measure, [[RQ]])]
- ct_mdv_seq :: Int -> Tseq Measure Rational_Time_Signature -> [[RQ]]
- ct_rq :: Int -> Tseq Measure Rational_Time_Signature -> [[RQ]]
- ct_mp_lookup :: [[RQ]] -> (Measure, Pulse) -> RQ
- ct_m_to_rq :: [[RQ]] -> [(Measure, t)] -> [(RQ, t)]
- ct_mark_seq :: Int -> Tseq Measure Char -> Tseq Measure (Maybe Char)
- ct_pre_mark :: [(Measure, a)] -> [(Measure, Maybe ())]
- ct_pre_mark_seq :: Measure -> Tseq Measure Char -> Tseq Measure (Maybe ())
- ct_tempo_lseq_rq :: [[RQ]] -> Lseq (Measure, Pulse) RQ -> Lseq RQ RQ
- ct_tempo_at :: Lseq RQ RQ -> RQ -> Rational
- data CT_Node
- ct_leadin :: (RQ, Double, Int) -> Dseq Double CT_Node
- delay1 :: [a] -> [a]
- ct_measure :: Lseq RQ RQ -> ([RQ], Maybe Char, Maybe (), [[RQ]]) -> [(Rational, CT_Node)]
- data CT = CT {}
- ct_tempo0 :: CT -> Maybe RQ
- ct_tempo0_err :: CT -> RQ
- ct_measures :: CT -> [Dseq Rational CT_Node]
- ct_dseq' :: CT -> Dseq Rational CT_Node
- ct_dseq :: CT -> Dseq Double CT_Node
- ct_rq_measure :: [[RQ]] -> RQ -> Maybe Measure
- ct_rq_mp :: [[RQ]] -> RQ -> Maybe (Measure, Pulse)
- ct_rq_mp_err :: [[RQ]] -> RQ -> (Measure, Pulse)
- ct_mp_to_rq :: [[RQ]] -> [((Measure, Pulse), t)] -> [(RQ, t)]
Documentation
mdv_to_mrq :: [[RQ]] -> [[RQ]] Source #
mp_lookup_err :: [[a]] -> (Measure, Pulse) -> a Source #
CT
ct_ext :: Int -> a -> [(Measure, a)] -> [(Measure, a)] Source #
Latch measures (ie. make measures contiguous, hold previous value).
unzip (ct_ext 10 'a' [(3,'b'),(8,'c')]) == ([1..10],"aabbbbbccc")
ct_ext1 :: Int -> [(Measure, a)] -> [(Measure, a)] Source #
Variant that requires a value at measure one (first measure).
ct_dv_seq :: Int -> Tseq Measure Rational_Time_Signature -> [(Measure, [[RQ]])] Source #
rts_divisions
of ct_ext1
.
ct_mdv_seq :: Int -> Tseq Measure Rational_Time_Signature -> [[RQ]] Source #
ct_dv_seq
without measures numbers.
ct_rq :: Int -> Tseq Measure Rational_Time_Signature -> [[RQ]] Source #
mdv_to_mrq
of ct_mdv_seq
.
ct_mark_seq :: Int -> Tseq Measure Char -> Tseq Measure (Maybe Char) Source #
Latch rehearsal mark sequence, only indicating marks. Initial mark is .
.
ct_mark_seq 2 [] == [(1,Just '.'),(2,Nothing)]
let r = [(1,Just '.'),(3,Just 'A'),(8,Just 'B')] in filter (isJust . snd) (ct_mark_seq 10 [(3,'A'),(8,'B')]) == r
ct_pre_mark :: [(Measure, a)] -> [(Measure, Maybe ())] Source #
Indicate measures prior to marks.
ct_pre_mark [] == [] ct_pre_mark [(1,'A')] == [] ct_pre_mark [(3,'A'),(8,'B')] == [(2,Just ()),(7,Just ())]
ct_pre_mark_seq :: Measure -> Tseq Measure Char -> Tseq Measure (Maybe ()) Source #
Contiguous pre-mark sequence.
ct_pre_mark_seq 1 [(1,'A')] == [(1,Nothing)] ct_pre_mark_seq 10 [(3,'A'),(8,'B')]
ct_tempo_at :: Lseq RQ RQ -> RQ -> Rational Source #
Interpolating lookup of tempo sequence (lseq_lookup_err
).
Types of nodes.
Click track definition.
ct_tempo0_err :: CT -> RQ Source #
Erroring variant.