Last modified:
This page gives a list of important datatypes and functions in the HSoM library. For more information on the functions, types, and type classes listed here, please see the Haskell School of Music textbook or, from GHCi with Euterpea and HSoM imported, type the following:
:i nameYouWantToKnowAbout
Performance Functions and Type Classes
Function/Class | Description |
---|---|
Performable | Type class with one function, perfDur, for performance with players. |
hsomPerform | Player-based conversion from Music to Performance. |
playA | Like Euterpea's play but for use with HSoM's Players. |
writeMidiA | Like Euterpea's writeMidi, but for use with HSoM's Players. |
UISF Functions and Widgets
Function | Description |
---|---|
topDown/bottomUp | Widgets get added from top to bottom or bottom to top. |
leftRight/rightLeft | Widgets get added from left to right or right to left. |
setSize | Set the window size. |
setLayout | Set window layout. |
defaultMUIParams | Default Window parameters for use with runMUI. |
runMUI | Run a UISF Window using the UIParams (like defaultMUIParams). |
runMUI' | Like runMUI but without the UIParams argument. |
getTime | Time since program start in milliseconds. |
label | Text label. |
display | Display a value (requires a Show instance). |
displayStr | Display a String without quotes. |
withDisplay | Attach a display to a value. |
textbox | Textbox widget that allows user input. |
title | Set the title of a window. |
button | Button widget. |
stickyButton | Button that stays depressed when clicked and must be clicked again to release it. |
checkbox | Checkbox widget. |
checkGroup | Collection of check box widgets. |
radio | Collection of radio button widgets. |
hSlider/hiSlider | Horizontal slider for continuous/discrete values. |
vSlider/viSlider | Vertical slider for continuous/discrete values. |
listbox | List box widget. |
MIDI Widgets
selectInput | Select a MIDI input device. |
---|---|
selectInputM | Select multiple MIDI input devices. |
selectOutput | Select a MIDI output device. |
selectOutputM | Select multiple MIDI output devices. |
midiIn | Receive from a MIDI input device. |
midiOut | Receive from a MIDI output device. |
midiInM | Receive from multiple MIDI input devices. |
midiOutM | Send to multiple MIDI output devices. |
midiOutB | Send buffered, time-stamped events to a single MIDI output device. |
midiOutMB | Send buffered, time-stamped events to multiple MIDI output devices. |