Karya, built on 2022-03-21T01:30:44 (patch 89d1651424c35e564138d93424a157ff87457245)
Safe HaskellSafe-Inferred




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 #


:: 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.