Safe Haskell | Safe-Inferred |
---|
Block level cmds.
Synopsis
- list :: Cmd.CmdL [(Id.BlockId, Int)]
- find_id :: Ui.M m => Text -> m [Id.BlockId]
- pretty :: Ui.M m => Id.BlockId -> m Text
- find :: Text -> Cmd.CmdL [(Id.BlockId, Text)]
- find_f :: (Text -> Bool) -> Cmd.CmdL [(Id.BlockId, Text)]
- map_titles :: (Text -> Text) -> Cmd.CmdL ()
- replace_titles :: Text -> Text -> Cmd.CmdL ()
- set_all_implicit :: Cmd.M m => m ()
- set_explicit :: Cmd.M m => m ()
- set_implicit :: Cmd.M m => m ()
- doc :: Cmd.CmdL Text
- doc_equal :: CallDoc.SymbolName -> Cmd.CmdL Text
- doc_like :: Text -> Cmd.CmdL Text
- find_doc :: (CallDoc.SymbolName -> CallName -> Bool) -> Cmd.CmdL Text
- html_doc :: Cmd.CmdL ()
- bindings_equal :: CallDoc.SymbolName -> Cmd.CmdL Text
- find_bindings :: (CallDoc.SymbolName -> Bool) -> Cmd.CmdL Text
- track_doc :: Cmd.CmdL CallDoc.Document
- rename :: Id.Id -> Cmd.CmdL ()
- rename_all :: Id.BlockId -> Id.Id -> Cmd.CmdL ()
- replace :: Id.BlockId -> Id.Id -> Cmd.CmdL ()
- replace_block_call :: Id.BlockId -> Id.Id -> Text -> Text
- map_symbol :: (Text -> Text) -> Text -> Text
- map_text :: (Text -> Text) -> DeriveT.Expr -> DeriveT.Expr
- for_event :: Maybe Id.BlockId -> Cmd.CmdL ()
- named :: Id.Id -> Cmd.CmdL Id.ViewId
- named_from :: Id.BlockId -> Id.Id -> Cmd.CmdL Id.ViewId
- copy :: Bool -> Id.Id -> Cmd.CmdL Id.ViewId
- destroy :: Ui.M m => [Id.BlockId] -> m ()
- destroy_except :: [Id.BlockId] -> Cmd.CmdL ()
- divide :: Cmd.CmdL ()
- undivide :: Cmd.CmdL ()
- collapse_children :: Cmd.M m => m ()
- expand_children :: Cmd.M m => m ()
- append :: Cmd.M m => Id.BlockId -> m ()
- create_merged :: Cmd.M m => Id.BlockId -> Id.BlockId -> m Id.ViewId
- stretch_block :: ScoreTime -> Id.BlockId -> Cmd.CmdL ()
- stretch :: ScoreTime -> Event.Event -> Event.Event
- add_time :: Cmd.M m => m ()
- remove_time :: Cmd.M m => m ()
- add_time_ruler :: Cmd.M m => m [Id.BlockId]
- remove_time_ruler :: Cmd.M m => m [Id.BlockId]
Documentation
list :: Cmd.CmdL [(Id.BlockId, Int)] Source #
All BlockIds, along with the count of views for each one.
find :: Text -> Cmd.CmdL [(Id.BlockId, Text)] Source #
Find all blocks with the given text in their titles.
set_all_implicit :: Cmd.M m => m () Source #
set_explicit :: Cmd.M m => m () Source #
set_implicit :: Cmd.M m => m () Source #
doc
html_doc :: Cmd.CmdL () Source #
Write HTML documentation for the selected track to
build/derive_doc.html
.
bindings_equal :: CallDoc.SymbolName -> Cmd.CmdL Text Source #
Print a summary of bindings in scope, grouped by namespace and sorted by shadow priority. This is useful to see if your call is being shadowed.
If the same call shows up twice it may mean you imported the same module twice.
find_bindings :: (CallDoc.SymbolName -> Bool) -> Cmd.CmdL Text Source #
block call
rename :: Id.Id -> Cmd.CmdL () Source #
Rename focused block.
It doesn't update TrackIds so they may still be named under their old block, but track id names aren't supposed to carry meaning anyway.
rename_all :: Id.BlockId -> Id.Id -> Cmd.CmdL () Source #
Rename a block and update all calls to it in all blocks. This is not
totally accurate since it updates all symbols that match, but it doesn't
know that the symbol would be definitely used as a block call. So if you
have clef = treble
and a block named treble
, it will update both. I
could probably solve this by switching back to separate string and symbol
types, but it seems like a minor issue.
replace_block_call :: Id.BlockId -> Id.Id -> Text -> Text Source #
map_text :: (Text -> Text) -> DeriveT.Expr -> DeriveT.Expr Source #
Transform both Symbols and Strs.
create
for_event :: Maybe Id.BlockId -> Cmd.CmdL () Source #
If the events under the cursor are a block calls, create blocks that don't already exist. Optionally use a template block.
named :: Id.Id -> Cmd.CmdL Id.ViewId Source #
Copy the current block into a new empty block with the given name.
named_from :: Id.BlockId -> Id.Id -> Cmd.CmdL Id.ViewId Source #
copy :: Bool -> Id.Id -> Cmd.CmdL Id.ViewId Source #
Create a named block with the same structure as the focused one.
destroy
destroy :: Ui.M m => [Id.BlockId] -> m () Source #
destroy_except :: [Id.BlockId] -> Cmd.CmdL () Source #
dividers
undivide :: Cmd.CmdL () Source #
Remove a divider to the right of the selection. The selection likes to skip dividers so they can't be deleted normally.
collapse_children :: Cmd.M m => m () Source #
expand_children :: Cmd.M m => m () Source #
merge
append :: Cmd.M m => Id.BlockId -> m () Source #
create_merged :: Cmd.M m => Id.BlockId -> Id.BlockId -> m Id.ViewId Source #
stretch
stretch_block :: ScoreTime -> Id.BlockId -> Cmd.CmdL () Source #
stretch :: ScoreTime -> Event.Event -> Event.Event Source #
add / remove time
add_time :: Cmd.M m => m () Source #
Add time encompassed by the selection to this block, expand its event in
caller blocks, and renumber the ruler globally. This is like a super
cmd_insert_time
.
remove_time :: Cmd.M m => m () Source #
add_time_ruler :: Cmd.M m => m [Id.BlockId] Source #
Like add_time
and remove_time
, except this will splice the selected
bit of ruler into the corresponding times in the top track. This is useful
if there are changing time signatures, and you want to move future time
signatures along with the events.
remove_time_ruler :: Cmd.M m => m [Id.BlockId] Source #