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



Cmds that affect global block config but don't fit into any of the more specefic modules.



cmd_toggle_edge :: Cmd.M m => Msg.Msg -> m () Source #

Toggle an edge from the selected parent to the clicked child.


toggle_merge_all :: Ui.M m => BlockId -> m () Source #

Merge all adjacent note/pitch pairs. If they're already all merged, unmerge them all.

is_control_or_pitch :: Ui.M m => TrackNum -> BlockId -> TrackNum -> m Bool Source #

True if the track is a control or pitch track, and a child of the given tracknum.


cmd_open_block :: Cmd.M m => Bool -> m () Source #

align_view_to :: Cmd.M m => Block.View -> TrackTime -> TrackTime -> ViewId -> m () Source #

Line the ViewId up to be right next to the given parent view and fit into the given time range.

cmd_add_block_title :: Cmd.M m => Msg.Msg -> m () Source #

Add an empty title and focus on it. The text widget hides itself when empty, so the space gets it to appear for focus.

clip :: Cmd.M m => m () Source #

Clip a block to the selection.

clip_to :: Ui.M m => BlockId -> TrackTime -> m () Source #

collapse / expand tracks

collapse_children :: Ui.M m => BlockId -> TrackId -> m () Source #

Collapse all the children of this track.

expand_children :: Ui.M m => BlockId -> TrackId -> m () Source #

Expand all collapsed children of this track. Tracks that were merged when they were collapsed will be left merged.

merge blocks

append :: Ui.M m => BlockId -> BlockId -> m () Source #


cmd_toggle_flag :: Cmd.M m => Block.TrackFlag -> m () Source #

If the flag is set on any of the selected tracks, unset it. Otherwise, set it. This is a bit more complicated than a simple toggle because if you have a collapsed track where one is soloed and one isn't, a simple toggle would just move the solo flag from one track to the other, leaving the track as a whole soloed.

cmd_set_solo :: Cmd.M m => Msg.Msg -> m () Source #

Enable Solo on the track and disable Mute. It's bound to a double click so when this cmd fires I have to do undo the results of the single click. Perhaps mute and solo should be exclusive in general.

cmd_mute_or_unsolo :: Cmd.M m => Msg.Msg -> m () Source #

Unset solo if it's set, otherwise toggle the mute flag.

cmd_move_tracks :: Cmd.M m => Msg.Msg -> m () Source #

Move selected tracks to the left of the clicked track.

is_merged_from_right :: Ui.M m => BlockId -> TrackNum -> m Bool Source #

True if this has a merged track to its right. Presumably that track will be collapsed, but I don't check that.