Safe Haskell | Safe-Inferred |
---|
Post-process T.Token
s. Check barlines, resolve ties, etc.
Synopsis
- data Config = Config {
- config_meter :: !Meter
- config_scale :: !Scale
- config_duration :: !DurationMode
- config_from :: !(Maybe.Maybe From)
- config_negative :: !Bool
- config_instruments :: ![Instruments.Allocation]
- config_ky :: !Text
- default_config :: Config
- data Scope
- data From = From {
- from_block :: !(Maybe.Maybe Id.BlockId)
- from_tracknum :: !TrackNum
- from_pos :: !T.Pos
- data AssertCoincident = AssertCoincident !T.Time !T.Pos
- parse_directive :: Scope -> T.Directive -> Config -> Either T.Error Config
- parse_directives :: Scope -> Config -> [T.Directive] -> Either T.Error Config
- apply_block_from :: Config -> TrackNum -> Config -> Config
- check :: GetCallDuration -> Config -> [T.Token T.CallText NPitch T.NDuration T.Duration] -> ([Either Meta (T.Time, T.Note T.CallText (T.NPitch (Maybe.Maybe T.PitchText)) T.Time)], T.Time)
- call_block_id :: Id.BlockId -> Text -> Maybe.Maybe Id.BlockId
- data Meter = Meter {
- meter_pattern :: [T.Rank]
- meter_step :: !T.Time
- meter_negative :: !Bool
- meter_ui :: !(Meter.Config, Meter.MSection)
Documentation
Config | |
|
Directives can appear in various places, which affects their scope.
The target of a T.CopyFrom
.
From | |
|
data AssertCoincident Source #
Instances
Show AssertCoincident Source # | |
Defined in Derive.TScore.Check showsPrec :: Int -> AssertCoincident -> ShowS # show :: AssertCoincident -> String # showList :: [AssertCoincident] -> ShowS # | |
Eq AssertCoincident Source # | |
Defined in Derive.TScore.Check (==) :: AssertCoincident -> AssertCoincident -> Bool # (/=) :: AssertCoincident -> AssertCoincident -> Bool # |
parse_directive :: Scope -> T.Directive -> Config -> Either T.Error Config Source #
parse_directives :: Scope -> Config -> [T.Directive] -> Either T.Error Config Source #
apply_block_from :: Config -> TrackNum -> Config -> Config Source #
Convert a block-level From into a track-level From for each tracknum.
Due to parse_from
, the block From should have a from_block
. It's ok
to have both block and track From, in this case the track From gives the
tracknum from a different block.
check :: GetCallDuration -> Config -> [T.Token T.CallText NPitch T.NDuration T.Duration] -> ([Either Meta (T.Time, T.Note T.CallText (T.NPitch (Maybe.Maybe T.PitchText)) T.Time)], T.Time) Source #
call_block_id :: Id.BlockId -> Text -> Maybe.Maybe Id.BlockId Source #
Meter | |
|