Karya, built on 2023-08-29T07:47:28 (patch 7a412d5d6ba4968ca4155ef276a062ccdeb9109a)
Safe HaskellSafe-Inferred

Cmd.Ruler.Extract

Synopsis

Documentation

pull_up :: Ui.M m => BlockId -> TrackId -> m Meter.Meter Source #

Extract the meter marklists from the sub-blocks called on the given track and concatenate them.

push_down Source #

Arguments

:: Ui.M m 
=> Bool

Whether or not it's an error if there are block calls which are not 1:1. I can't tell if that's an error or not, but the user should know if it's supposed to be a "score" block.

TODO Optionally I could scale the ruler for non-1:1 callees.

-> BlockId 
-> TrackId 
-> m [BlockId]

modified children

The inverse of pull_up: find callee blocks, and copy the ruler from the given block to them. This sets the config_start_measure appropriately, so subsequent modifications should keep the measure numbers.

If a block is called more than once, it will get the measure number from the first occurrence.

Since this has to modify multiple blocks, it does the modification itself instead of returning the new meter like pull_up.