Safe Haskell | Safe-Inferred |
---|
Time Signatures.
- type Time_Signature = (Integer, Integer)
- ts_whole_note :: Time_Signature -> [Duration]
- ts_whole_note_rq :: Time_Signature -> RQ
- ts_rq :: Time_Signature -> RQ
- ts_divisions :: Time_Signature -> [RQ]
- ts_duration_pulses :: Time_Signature -> Duration -> Rational
- ts_rewrite :: Integer -> Time_Signature -> Time_Signature
- ts_sum :: [Time_Signature] -> Time_Signature
Documentation
type Time_Signature = (Integer, Integer)Source
A Time Signature is a (numerator,denominator) pair.
ts_whole_note :: Time_Signature -> [Duration]Source
Tied, non-multiplied durations to fill a whole measure.
ts_whole_note (3,8) == [dotted_quarter_note] ts_whole_note (2,2) == [whole_note]
ts_whole_note_rq :: Time_Signature -> RQSource
Duration of measure in RQ
.
map ts_whole_note_rq [(3,8),(2,2)] == [3/2,4]
ts_rq :: Time_Signature -> RQSource
Duration, in RQ
, of a measure of indicated Time_Signature
.
map ts_rq [(3,4),(5,8)] == [3,5/2]
ts_divisions :: Time_Signature -> [RQ]Source
Uniform division of time signature.
ts_divisions (3,4) == [1,1,1] ts_divisions (3,8) == [1/2,1/2,1/2] ts_divisions (2,2) == [2,2] ts_divisions (1,1) == [4]
ts_duration_pulses :: Time_Signature -> Duration -> RationalSource
Convert a duration to a pulse count in relation to the indicated time signature.
ts_duration_pulses (3,8) quarter_note == 2
ts_rewrite :: Integer -> Time_Signature -> Time_SignatureSource
Rewrite time signature to indicated denominator.
ts_rewrite 8 (3,4) == (6,8)
ts_sum :: [Time_Signature] -> Time_SignatureSource
Sum time signatures.
ts_sum [(3,16),(1,2)] == (11,16)