The 0.2.7 release has quite a few changes, so there might be a few bugs
left that I haven't caught. Some new things are:
plugin interface--anyone can add modules and backends by dropping a
.lisp file into the plugin directory (and putting a deffomusplugin
declaration at the top of the file)--this will make it easier to
experiment w/ different algorithms while not breaking the main program.
Also, plugins load only on demand. Kilian's note-speller (:nokey2) is
the first one (use it by making sure you can load the "iterate"
common-lisp package with ASDF and supplying the setting ":auto-accs-mod
:nokey2"). Get a plugin listing w/ LIST-FOMUS-PLUGINS (only the ones
that compile successfully are listed). REGISTER-FOMUS-PLUGIN and
LOAD-FOMUS-PLUGIN aren't normally necessary, but they're there for
testing/debugging, etc..
Improved the command-line interface a bit--there was a bug mentioned
earlier on this list which I'm not sure I fixed... but nonetheless
several other bugs were fixed. More useful switches were added for
controlling output (type "fomus" by itself after it has been installed
to see them). It should also work with CLISP now (I tested this on
Linux but not Windows).
Also, fomus is a bit more informative when reporting errors in text
files (gives the "entry" number and prints the line out)
Added some initial support for "chunks," which allow the user to process
separate sections of the score (either time-wise or part-wise) and
"merge" them together. Parts are merged if they have the same part ID
or added to the score if their IDs are unique. Right now overlapping
measures that both contain notes can't be merged--measures are merged
only if one contains notes and all others overlapping at that location
contain rests. This definitely still needs some work done on it.
Key signatures are almost there (I've been procrastinating on this
feature)--eventually the note speller will take these into account (and
caut. accidentals will be correct)
Don't know why fomus runs 10x slower in OpenMCL (I timed it & compared
it w/ SBCL--OpenMCL is amazingly slower for some reason)--I'll have to
do some profiling
Added some more text input examples (+ Rob Canning's--thanks)
Thanks to everyone for your help
-David