122 lines
3.3 KiB
Text
122 lines
3.3 KiB
Text
|
-*- text -*-
|
||
|
------------------------------------------------------------------------
|
||
|
SCEL -- SuperCollider/Emacs interface
|
||
|
------------------------------------------------------------------------
|
||
|
$Id"
|
||
|
------------------------------------------------------------------------
|
||
|
|
||
|
installation (requirements)
|
||
|
---------------------------
|
||
|
|
||
|
For the HTML help system, you will need emacs-w3m support.
|
||
|
|
||
|
installation (default)
|
||
|
-----------------------
|
||
|
|
||
|
by default emacs-lisp files are installed in
|
||
|
|
||
|
$prefix/share/emacs/site-lisp
|
||
|
|
||
|
SuperCollider files are put in
|
||
|
|
||
|
$prefix/share/SuperCollider/Extensions/scel
|
||
|
|
||
|
the only thing you need to do is loading the sclang interface in your
|
||
|
~/.emacs:
|
||
|
|
||
|
(require 'sclang)
|
||
|
|
||
|
for the HTML help system to fully function also add
|
||
|
(require 'w3m)
|
||
|
|
||
|
installation (detailed)
|
||
|
------------------------
|
||
|
|
||
|
put all *.el files in emacs' load-path. e.g. if you put them in
|
||
|
~/emacs/, add the following lines to ~/.emacs (or whatever your init
|
||
|
file is called):
|
||
|
|
||
|
(add-to-list 'load-path "~/emacs")
|
||
|
|
||
|
and then load the library:
|
||
|
|
||
|
(require 'sclang)
|
||
|
|
||
|
for the HTML help system to fully function also add
|
||
|
(require 'w3m)
|
||
|
|
||
|
now put all *.sc files in sclang's library path, e.g. if you put them
|
||
|
in a non-standard location, such as ~/SuperCollider/Emacs/, add the
|
||
|
following to ~/.sclang.cfg:
|
||
|
|
||
|
+~/SuperCollider/Emacs
|
||
|
|
||
|
(note normally this is not needed as they are put into sclang's library
|
||
|
path during installation with scons).
|
||
|
|
||
|
|
||
|
usage
|
||
|
------
|
||
|
|
||
|
in order to automatically start sclang when invoking emacs, use the
|
||
|
following command line:
|
||
|
|
||
|
$ emacs -sclang
|
||
|
|
||
|
you're now ready to edit, inspect and execute sclang code!
|
||
|
|
||
|
getting help
|
||
|
-------------
|
||
|
|
||
|
inside an sclang-mode buffer (e.g. by editing a .sc file), execute
|
||
|
|
||
|
C-h m
|
||
|
|
||
|
a window with key bindings in sclang-mode will pop up.
|
||
|
|
||
|
C-x C-h lets you search for a help file
|
||
|
|
||
|
C-M-h opens or switches to the Help browser (if no Help file has been opened, the default Help file will be opened)
|
||
|
|
||
|
E copies the buffer, puts it in text mode and sclang-minor-mode, to enable you to edit the code parts to try out variations of the provided code in the help file. With C-M-h you can then return to the Help browser and browse further from the Help file.
|
||
|
|
||
|
C-c C-e allows you to edit the source of the HTML file, for example if you want to improve it and commit it to the repository.
|
||
|
|
||
|
To enable moving around in the help file with arrow keys add the following
|
||
|
in your ~/.emacs:
|
||
|
|
||
|
(eval-after-load "w3m"
|
||
|
'(progn
|
||
|
(define-key w3m-mode-map [left] 'backward-char)
|
||
|
(define-key w3m-mode-map [right] 'forward-char)
|
||
|
(define-key w3m-mode-map [up] 'previous-line)
|
||
|
(define-key w3m-mode-map [down] 'next-line)))
|
||
|
|
||
|
This ensures that the arrow keys are just for moving through the document,
|
||
|
and not from hyperlink to hyperlink, which is the default in w3m-mode.
|
||
|
|
||
|
|
||
|
customization
|
||
|
--------------
|
||
|
|
||
|
to fine-tune the installation from within emacs' graphical
|
||
|
customization interface, type
|
||
|
|
||
|
M-x sclang-customize
|
||
|
|
||
|
in particular, you will have to customize `sclang-runtime-directory'.
|
||
|
|
||
|
server control
|
||
|
---------------
|
||
|
|
||
|
in the post buffer window, right-click on the server name; by default
|
||
|
the two servers 'internal' and 'localhost' are available. you will get
|
||
|
a menu with common server control operations.
|
||
|
|
||
|
to select another server, step through the server list by
|
||
|
left-clicking on the server name.
|
||
|
|
||
|
servers instantiated from the language will automatically be available
|
||
|
in the mode line.
|
||
|
|