Safe Haskell | Safe-Inferred |
---|
The instrument browser is a standalone program to browse the instrument database.
Instruments are in the left pane, and the right pane has information on the
selected instrument. A search box above the instrument list accepts
a simple query language, documneted at Search.Query
.
If you double click on an instrument name, choose_instrument
is called on
the instrument.
The instrument info is basically just a pretty-printed version of the
contents of Patch.Patch
.
Some parts of the instrument db may be generated offline, by Instrument.MakeDb.
Synopsis
- select_command :: Text
- data Flag
- options :: [GetOpt.OptDescr Flag]
- default_geometry :: Maybe FltkUtil.Geometry -> (Int, Int, Int, Int)
- main :: IO ()
- usage :: String -> IO a
- data Db = Db {}
- data State = State {}
- handle_msgs :: Fltk.Channel -> BrowserC.Window -> Db -> IO ()
- show_info :: Fltk.Channel -> BrowserC.Window -> Db -> InstT.Qualified -> IO ()
- info_of :: InstT.SynthName -> InstT.Name -> Text -> Cmd.Inst -> [Tag.Tag] -> Text
- common_fields :: [Tag.Tag] -> Common.Common Cmd.InstrumentCode -> [(Text, Text)]
- midi_fields :: InstT.Name -> Patch.Patch -> [(Text, Text)]
- im_patch_fields :: Im.Patch.Patch -> [(Text, Text)]
- sc_patch_fields :: Sc.Patch.Patch -> [(Text, Text)]
- format_fields :: [(Text, Text)] -> Text
- field :: (Text, Text) -> Text
- show_attribute_map :: Patch.AttributeMap -> Text
- show_mode_map :: Patch.ModeMap -> Text
- show_control_map :: Control.ControlMap -> Text
- show_cmds :: Cmd.InstrumentCode -> Text
- show_handler :: Cmd.Handler m -> Text
- show_call_bindings :: [CallDoc.CallBindings] -> Text
- show_tags :: [(Text, Text)] -> Text
- show_initialize :: Patch.InitializePatch -> Text
- quote :: Text -> Text
- choose_instrument :: InstT.Qualified -> IO ()
- query :: Text -> IO Text
- process_query :: Fltk.Channel -> BrowserC.Window -> Db -> [InstT.Qualified] -> Text -> IO [InstT.Qualified]
Documentation
select_command :: Text Source #
Send this to the REPL when on a double-click on an instrument.
options :: [GetOpt.OptDescr Flag] Source #
default_geometry :: Maybe FltkUtil.Geometry -> (Int, Int, Int, Int) Source #
Bundle a Db along with its search index.
handle_msgs :: Fltk.Channel -> BrowserC.Window -> Db -> IO () Source #
show_info :: Fltk.Channel -> BrowserC.Window -> Db -> InstT.Qualified -> IO () Source #
Look up the instrument, generate a info sheet on it, and send to the UI.
info_of :: InstT.SynthName -> InstT.Name -> Text -> Cmd.Inst -> [Tag.Tag] -> Text Source #
common_fields :: [Tag.Tag] -> Common.Common Cmd.InstrumentCode -> [(Text, Text)] Source #
midi_fields :: InstT.Name -> Patch.Patch -> [(Text, Text)] Source #
im_patch_fields :: Im.Patch.Patch -> [(Text, Text)] Source #
sc_patch_fields :: Sc.Patch.Patch -> [(Text, Text)] Source #
show_mode_map :: Patch.ModeMap -> Text Source #
show_cmds :: Cmd.InstrumentCode -> Text Source #
show_handler :: Cmd.Handler m -> Text Source #
choose_instrument :: InstT.Qualified -> IO () Source #
Send the chosen instrument to the sequencer. This will send
change_instrument "synth/inst"
to the REPL port.
process_query :: Fltk.Channel -> BrowserC.Window -> Db -> [InstT.Qualified] -> Text -> IO [InstT.Qualified] Source #
Find instruments that match the query, and update the UI incrementally.