Grace
I. Introduction
Grace is a graphical realtime algorithmic composition environment implemented in JUCE (C++) and Common Music 3. Grace provides a fully GUI for algorithmic composio with the following features:
- Drag-and-drop app
II. Console Window
The Console window is the main window for Grace, there is only one Console window and closing it will quit the application. The purpose of the Console is to display messages, errors and warnings produced by executing Grace commands and to serve as the standard ouput for Lisp.
A few types of messages have a special coloring in the console window :
- Error messages (red)
- Warning messages (orange)
- Success messages (green)
File Menu
The File menu allows you configure, start, stop and customize aspects of a Lisp session.
Console Menu
Audio Menu
Windows Menu
Help Menu
III. Text Editor
The Grace editor supports Lisp, SAL and Text editing modes. When you open a file using
the editing mode is selected automatically according to the file's extension:Lisp: .lisp .lsp .cl .scm .cm .clm .ins .cmn .fms .asd SAL: .sal Text: .text .txt .* Both Lisp and SAL editing modes provide syntax highlighting (code coloring), syntactic line indentation (Tab key) and evaluation services. To evaluate a Lisp or SAL expression, place the cursor at the end of the sexpr and type COMMAND-Enter. You can change the current editing mode in an open using the menu.
Command Key Shortcuts
Command key shortcuts for accessing common text editing operations are listed below.
- On Linux and Windows the Command key is the Control key.
- On OS X the Command key is the Apple key just to the left of the Spacebar.
On Linux and Windows the command key shortcuts are disabled if Emacs Mode is turned on because Emacs uses the Command key as its Control key. On OS X the Command key is active even when Emacs Mode is turned on.
COMMAND-N new editing window COMMAND-O open file COMMAND-S save COMMAND-SHIFT-S save as COMMAND-R revert COMMAND-W close window COMMAND-Z undo COMMAND-SHIFT-Z redo COMMAND-X cut COMMAND-C copy COMMAND-V paste COMMAND-A select all COMMAND-F find and replace COMMAND-ENTER execute Lisp or SAL code COMMAND-D documentation lookup COMMAND-← beginning of line COMMAND-→ end of line COMMAND-↑ beginning of buffer COMMAND-↓ end of buffer Emacs Lite Commands
If is turned on the code editor supports the Emacs commands listed below. Note that on Windows and Linux the default setting for Emacs mode is off because the Emacs' Control key is the same as Windows' command keyEmacs commands are keystroke combinations involving the CONTROL and/or META keys combined with one (or more) additional keys. In the documentation that follows pressing CONTROL or META is shortened to C- and M- respectively. For example, C-f means to hold down the Control key and type the f key and C-M-f means to hold down both the Control and Meta keys while typing the f key. Note: on OS X the Meta key is the Option key just right of the control key. On Linux and Windows the Meta key is the Alt key just to the left of the Spacebar.
Cursor Motion
C-f forward character C-b backward character M-f forward word M-b backward word C-M-f forward expression C-M-b backward expression Line Motion
C-a beginning of line C-e end of line C-n next line C-p previous line Scrolling
C-v forward screen M-v backward screen M-> beginning of file M-< end of file Editing
C-d delete character M-d delete word C-M-d delete expression C-k kill to end of line C-y yank kills back C-o open new line C-o open new line M-l lower case word M-u upper case word M-c capitalize word File Commands
C-x C-f open file C-x C-s save file C-x C-w save file to new name C-x C-r reload file C-x C-c close window Syntax Specific Commands
C-x C-e lisp eval last sexpr Tab indent line M-q reformat comment block