There are two main ways to use the emacs ringing system:
For either of these, you will need to load
ringing.el, which loads the other
files as needed.
For this, you need to set
auto-mode-alist up to put
microsiril files into microsiril mode.
From the msiril library file, you can type the command keys:
tfor eleven and twelve) which the commands working on whole plain courses take as which starting bell to draw the red line for.
The interactive commands which may be used from any buffer are:
It will then prompt you for the information it needs, such as the method to ring (and for the first time, will first ask you where the methods are stored), and then (if you are ringing interactively) which bell you want to ring manually.
These commands offer you completion wherever possible, such as on
method names. To make this possible, they have to read all the method
library files for the stage concerned, which takes a while. An
*apologies for the delay*'' buffer is presented while
this is in progress, which, once each files has been read, shows how
many methods it defined. While the reading happens, the method names
are flashed up in the minibuffer, so you can see how far into the file
it has got... At least the first letter or so stays the same for long
enough to read on the longer files, and the methods are in
alphabetical order in each file.
See the configuration documentation for how to configure the system.
Having selected the method and the manual bell, you then ring by
typing the number for place you want to ring in next, (with
a b c d for eleven, twelve, thirteen... must be in upper case
as lower case are used for other purposes),
starting with the first row after rounds, or using the cursor arrow
ringing:highlight-bad-rowsis set, rows on which you've made a mistake are highlighted. A more detailed report is available when you're using the teaching commands.
When the course comes round, it will stop automatically (and anything further that you type will be inserted at the end of the buffer).
alternatives to left, down and right arrows, to make ringing
left-handed easier (to spread the load between the hands, to reduce
q w d or
q w e may be used
for left, down, and right. (These must be lower case, as
e are used for bells
15, 16 and 11.)
If you enable the flag
m-x ringing:set-one-variable or
ringing:set-variables), as well as the keys described above you
can use the
space bar to indicate when to ring. An
indicator is drawn in the echo area showing how far in the possible
time range you are: a lengthening series of
. is drawn,
: used to mark the boundaries between ringing early
enough to come down a place, late enough to go up a place, or to make
places; the centre being marked with
|. These boundaries
are marked by the variables
ringing:time-late, which are integers indicating how far
they are into the maximum time in which you can try to ring; the
number of time steps (to which these are relative) is set by
ringing:time-max, and the duration of a step is set by
ringing:time-step. These are not yet settable from the
option variables commands.
The method is drawn in a buffer, row by row, with a pause
(adjustable) between rows. To make it hurry up, just press
ctrl-l to make emacs' pause routine
sit-for) assume you're ready to type some more.
Some of the commands are for teaching you methods: they optionally
draw the line for one lead (according to
teach-ringing:preview-leads -- some prefer to have it
drawn for them, some to test themselves without being reminded), then
give you the chance to ring it. Some of these commands give you random
leads, and others work through them systematically. You can get a
teaching report to show what mistakes you've made on which rows.
ringing:teach-each-lead-of-method-until-perfect gives you each
lead of a method in turn, repeating each lead until you get it
right. This is described in more detail on the intensive teaching page.
ringing:teach-lead-until-perfecton each lead in turn, also first showing you the whole line, and afterwards giving you a plain course to ring.
A group of commands for throwing random leads (from suitable collections) at you are available, along with commands for displaying a summary of your mistakes, and resetting the mistakes data.
teach-ringing:preview-leads), and gets them to ring it. this ends when you give a
method-group-mode:quiz-random-leads, in which it is normally bound to q. with a prefix argument other than 1, it stops after that number of leads.
ringing:quiz-between-leads-delay-timeseconds (so you can use this while waiting for a compilation to finish, for example).
These commands handle reporting of your mistakes.
The method libraries are used both from microSiRiL mode and from the independent interactive commands.
To use the method libraries, pick them up from
method libraries on sunsite and place them in
~/ringing/method-libraries/ (or the place named by the
The full grid commands draw a method as a full grid of one lead, using ASCII graphics, and, if editing, let you alter the places and crossings made.
The method is displayed with a giant cursor made by highlighting
and underlining the pair under consideration. The command
placenotation-mode:symbol-here (normally bound to
*, and also via a command on the right mouse button)
tries to re-arrange the places and crossings so that one of them goes
through the character position that point is on.
You can provide a collection of method groups in a directory
method-groups:groups-directory. A groups
file looks like this:
# Standard Eight methods, particularly for Major s Cambridge s Yorkshire s Lincolnshire s Rutland s Superlative s Pudsey s London s Bristolwhere the letter at the start of each line (along with the number of bells) gives which file in the methods library directory, for example when ringing major,
srefers to the file
s8. An optional number immediately following the letter makes it into a full library filename, for example
Letters in brackets after the names may be given for reference from touch files (however, touch files are not yet implemented). For example,
Lines of the form
key=valueset some further fields of the data structure representing the group. Currently, these are used only to set style defaults for printing via PostScript. Currently defined keys are:
Each buffer in mSiRiL-mode can have
an ``ephemeral group'' associated with it. To toggle whether the
method at point is in the ephemeral group, press
m. Methods currently in the ephemeral group are
highlighted in their buffer.
Ephemeral groups are also constructed from the touch book and from all the methods you have rung in this emacs session.
Ephemeral groups are like any other method groups, but are generated by emacs and not read from files (and so are not kept from session to session, unless you put something in an emacs state saver to do so).
The group names
quiz-n are used by the command
find which methods the user would like to be quizzed on for each
number of bells.
As well as microSiRiL method library files, the program can read methods from a format based on the Ringing World diary.
The package keeps a touch book for you, in the file
~/.touch-book.el. The command
touch-book:list-my-methods displays which methods you have
rung, along with how many of the attempts were perfect.
w in mSiRiL-mode)
produces a buffer containing list of leads that you have tried,
ordered by the proportion of attempts that you have got wrong so far;
thus, the top entry in this buffer is something you're at which you're
likely to need more practice. The command
mSiRiL-mode) will do this for you, using the intensive teaching functions. After this,
the list will re-order itself according to how well you done this
touch-book:revise-my-methods will take you
through all your leads in order of difficulty, asking you whether you
want to try or skip each one, or quit. With a prefix argument, it will
start at the one at which you've done best, instead. This is bound to
v in mSiRiL-mode.
Within the buffer listing your performance on each lead, the
g will re-order the buffer to catch up with any
ringing you've done through commands that don't update the buffer;
RET will teach you the lead that point is
v will go through the leads for revision, and
w will teach you your current worst lead.