I have made a new release which improves the way part labels, guitar chords and text are handled. I have also added another tune to the Example tune set.
I have made further changes to improve the way that a missing close chord ']' is handled.
This only affects the handling of abc which has an error in it.
I have made a new release of toadflax with some small changes. The main change is an improvement to the way a particular test case was handled by Tcairodraw.
I have made a new release of toadflax which improves the way annotations (^ _ < and >) are handled in Tcairodraw.
I have made a new release of Toadflax. There are a number of internal changes to improve the code, but the main change is that Tcairodraw now supports positioning of text around a note using "^text above" "_text below" "<text left" and ">text right".
I have made a new release today. There are a number of internal changes so that the interface between the parser (parseabc.c) and the backend code is much closer to using the same function names as abc2midiu.
I have made a new release today. The main changes is to show "invisible" rests correctly. i.e. not show them!
I have made a new release of Toadflax. There are a number of minor changes to try to align the contents of the utils files with those in the abc2midiu release.
I have made a new release of Toadflax today. I noticed that after upgrading my version of Linux,
py_toadflax was not compiling because it was trying to use the wrong version of the python
library. I have changed this and the Makefile should be future-proofed so that It always uses
the current version of python.
Today (4 July 2024) I have made a new release of toadflax and related programs. The main changes are that
octave=N is now supported correctly in the V: and K: fields. I have also re-organized the way the V: and K:
fields are handled to make it easier to support features proposed in abc 2.2 .
Today (26 Apr 2024) I have made a new release of toadflax. The changes are relatively minor. I have introduced some logic to handle setting spaces in 12/8 time tunes correctly. I have also changed the parser to handle %% (pseudo-comments) and I: (instruction field) in the same way.
On 28 Mar 2024 I made a new release. The main change is that the abc source file may appear anywhere within the list of arguments provided it ends in .abc . This applies to both Tabctoabc (utility for transpose and various other abc manipulations) and Tcairodraw (utility to generate images).
Today (16 March 2024) I have made a new Toadflax release. The main change is that when just a number
appears in the Q: field, that number is printed as the tempo, so no default rule is applied to decide what
note value the number applies to.
Today (4 Feb 2024) I have made a new Toadflax release. The main change is to support
||: as a variant of |: (start repeat).
The abc language uses the standard ASCII character set, which is all that
is required for recording the music itself. However, the notator may want
to record a title or composer written in a language which uses characters
outside the standard ASCII set. There is support for a good range of
special characters in the abc specification by means of mnemonics,
named html entities and fixed width unicode. Also, toadflax supports utf-8,
which allows the encoding of unicode characters within a byte stream, but
the ordinary ASCII characters are still recognized as normal. The unicode
specification covers all the characters that you are likely to require
in normal circumstances.... read more
I have released a new version of Tabctoabc which introduces a -f option to find the best key signature to use for a tune. The idea is that the best key signature will be the one that minimizes the number of accidentals required to represent the tune. If you are expecting a change in key signature part way through the tune, then you will need to split the tune into its component parts before using this option and separately analyse each part. In this context, the key signature is assumed to the number of sharps or flates (e.g. 5 flats, 3 sharps). There is no attempt to find the best mode (major, minor, dorian, mixolydian etc.)
I have today made a new release of Toadflax and Tabctoabc that allows you to re-notate a tune in a different key signature. The notes stay the same, so it is only the key signature itself which changes. This is different to doing a transposition, which also has the effect of changing the key signature but moves all the notes up or down by a certain number of semitones.
Today I have created a new sourceforge project fl_toadflax which contains a version of
Toadflax re-written to use the FLTK windowing toolkit instead of GTK. Although it uses
much of the same code as Toadflax, I have created it as a separate project to avoid
making the Toadflax directory structure too complicated. fl_toadflax also uses the
abcCairo code (derived from abcm2ps) to display the tunes.
I have made a new release today (30 Mar 2023). The main changes are some re-organization of the code,
so users are unlikely to notice any difference. However, I have also built Tabctoabc.exe using wine and
put it in the Files section. This is a clone of abc2abc for Windows, but using the source code for Toadflax
rather than the code in abcMIDI.
I have made a new release today (8 Feb 2023). The main change is an option to select compact abc notation where c/2 is replaced with c/ . I also spotted an error in one of my scripts which will have meant that Toadflax2 will not have been working because I packaged it with the wrong executable. This should now be fixed.
I have made a new release today (20 Jan 2023). The main change is an improvement to the way
symbol redefines with U: work. The mechanism now allows symbols to be defined as text
strings, following the 2.2 standard. I have also corrected the checking on what may be refined
so that h-w, H-W and ~ are all accepted as in the 2.2 standard. I notice that the '.' character is
anomalous as it is one of the pre-defined single character abbreviations but you cannot
redefine it whereas you can redefine all the others.
I have today added a small utility program called Tcairodraw. This is a
standalone program which can generate PS, SVG, PNG or PDF files
from abc, one tune per file. This is mainly for testing purposes at the
moment, but it could be developed into utility program similar to
yaps. The main limitation of this version is that this program writes
to a fixed size region or "canvas". As with all music layout programs,
you have to do most of the work of creating a trial layout first in order
to know how big a region the layout will take up. Using a fixed size
target region simplifies things.
I discovered that the version of Toadflax that I uploaded on 8 June 2022 had a bug which meant that
the transpose options were incorrectly displayed. I did not get to the bottom of this, but it seemed to
go away when I re-compiled the code, so I have uploaded a new version today (13 June 2022) which
looks to have fixed this.
By default, programs that turn abc notation into stave music will turn
one line of abc notes into one line of stave music.
However, if a line of abc notes ends with '\', (generally called "the
continuation character"), then a single line of the stave music is
generated from the abc notes in the first line followed by the abc notes
in the second line.
The '\' continuation character may be familiar to a programmer who writes
bash scripts or Makefiles, in which it is used to indicate that conceptually
the next line is to be concatenated to the end of the current line before
being further processed. However, in abc notation it is slightly different
because the concatenation occurs in going from the line of abc notes to a
line of stave music. For simple cases, just joining together the text of the
two abc lines would produce the correct output, but if there are intervening
fields, for example an M: meter change as in the example below, then the
joining cannot be done.... read more
Toadflax and Tabctoabc (clone of abc2abc) now report where an error
has occurred in a line of music by printing out the line with *** inserted
at the point where the error was detected together with the error
message. This should make it easier to find and fix problems in the abc,