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



Cmds for track level operations.



list :: Cmd.CmdL [(TrackId, Int)] Source #

List all tracks, along with the number of blocks each one appears in.

orphans :: Cmd.CmdL [TrackId] Source #

Tracks that don't appear in any block.

remove_empty :: BlockId -> Cmd.CmdL () Source #

Remove tracks with no events from the given block.

map_titles :: (Text -> Text) -> Cmd.CmdL () Source #

Transform all track titles.

find :: Cmd.M m => Text -> m [(TrackId, Text)] Source #

Find all tracks with the given string in their title. You can use Ui.blocks_with_track_id to find the blocks with the tracks, and map_titles or replace to change the titles.

find_f :: Cmd.M m => (Text -> Bool) -> m [(TrackId, Text)] Source #


duplicate :: Ui.M m => BlockId -> Types.TrackNum -> BlockId -> Types.TrackNum -> m () Source #

Duplicate a track from one block to another. The underlying track is the same, so edits in one of its occurrances will be reflected in all of its blocks.


to_notation :: TrackTime -> TrackTime -> TrackTime -> [Event.Event] -> Text Source #

Reduce event text to notation at a fixed time increment. It only works out if each event only has a single letter.

format_measures :: String -> [String] Source #

4 measures per line, 16 time steps per measure.

strip controls


signal render

nline :: Text -> Cmd.CmdL () Source #

Pass "#" for the pitch track.

note_render Source #


:: Cmd.M m 
=> (Maybe Track.RenderSource -> Track.RenderStyle) 
-> Text

Either a control name, or a #-prefixed pitch name.

-> m ()