Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Time signature digit 8.
Time signature digit 7.
Time signature digit 6.
Time signature digit 5.
Time signature digit 4.
Time signature digit 3.
Time signature digits 1 and 2.
Support long ("lunga") notes and rests. It's a bit weird, because the lunga has the same notehead as a breve, but also has a stem; so having a NOTEHEAD of :long is a bit of a misnomer. Hey ho.
Support for breves and breve rests.
Fixed beam-drawing problem for staff-line distances other than 6.
Move the dot a little bit rightwards. Looks better, to my eye...
Gave the stealth mixin code the right name. Removed unused variable to remove a compiler warning.
Support for semi/sesqui sharp/flat. * don't declare the type of the accidentals slot any more; we can put that back in a little, after we work out a declarative way of defining all properties of accidentals. * microsharpen and microflatten commands and functions; define sharpen and flatten in terms of those (and knowing which accidentals are the tonal ones). Keybindings for the commands. * a more declarative table-based system for kerning accidentals, along with the ability to specify a per-glyph default (and a default default). Choose a sensible default default; also alter the :sharp/:sharp table when +4 steps away, as the previous value was colliding a little too much. * support for playing the semi accidentals in equal temperament. No support in linear temperament, as I don't know what they mean. * glyphs defined with a little too much liberal cut'n'paste. Some FIXMEs note the essential differences between the related glyphs.
Fixed the +-1 problems with beam drawing.
Fixed the height of the noteheads
Implemented a new beam drawing system. There are still some magic + and - 1s in there that I don't have time to look into right now. However, it should now be possible to draw a beam as a polygon from the output record (the output record was wrong before).
Introduced a cache for beam segment designs. This code is not yet used, but it will be I hope.
Fixed the problem with the C clef.
Removed references to old font system, including the file gf.lisp.
Fixed the flags.
Improved F-clef. This gave me the opportunity to use the Metafont `curl' operator for the first time.
Increase the size of the dot slightly.
Fixed the reference point of the whole and half rests.
Implement the large (outsize) tie left and right curves.
Fix large-tie glyphs and whole-rest glyph. (Note that there is clearly an offset problem: the half- and whole- rests do not lie on / hang cleanly from staff lines, with or without this change)
Fixed a bug in bezier.lisp that made the resulting pixmap positioned in the wrong place sometimes. Fixed a bug in sdl.lisp that computed the wrong xoffset (in particular for noteheads). Fixed the whole notehead so that its vertical position is not offset as it should. Fixed the C clef so that it no longer goes below the bottom line. Improved the font viewer by having the bounding box of the glyph drawn in :pixel mode.
Fix a bug in the C clef. It's still not symmetrical about the X axis, but the weird zooming point in the curve is fixed.
Fixed a bug that calculated the yoffset of the font wrong. Changed the g-clef back to sane values for the ye and yz coordinates, because I now suspect something else is responsible for the funny looks at low resolution.
Output recording of Bezier designs seems to be working now. Clefs are now drawn using the new system. There is still considerable ugliness in the code, but I intend to work on that incrementally. Modified the G clef to look a bit better (which is easier to do with the new system than with the Metafont program).
The new font-rendering code is now in there, but is not yet being used. The reason for that is that I still have not managed to get output recording for designs right. Once that problem is fixed, I am planning to gradually move to the new system, debugging the glyphs one at a time. The code for the glyphs has been tested in a separate context, but there might be unforeseen problems. The new system allows designs to be drawn in any color and transformation by being rendered to anti-aliased pixmaps, so there is no need to use special gray pixmaps. It might be worthwhile thinking about moving beam drawing to this new system one day. This font rendering system should be easy for PostScript output, but I haven't attacked that problem yet.
Fixed the beam-drawing problem reported by Christophe Rhodes. There might still be some glitches, but the foundation is now more sound, so that future glitches should be easier to fix.
Added new generic functions to the SDL package to deal with beam offsets for a particular font. The plan is to modify the beam-drawing functions so that they use these new generic functions, and so that they draw beams relative to the vertical reference point, just like other drawing functions.
Added more comments in an attempt to improve maintainability. Plus, it helps me understand what I meant when I initially wrote the code.
re-inserted a `1+' to compensate for the fact that GF's max-n is off by 1.
Fixed off-by-one-pixel but in pixmap drawing.
Make the conventions of glyph-offsets explicit.
Change the convention for staff-line-offsets so that the one going down is nonnegative and the one going up is negative. This way, they should both be added to the y-coordinate of the reference point to obtain the lower and upper edge of the staff line respectively.
Changed the sheet transformation of the score pane to be the default for CLIM stream panes (0,0) in the upper-left corner. This was in order to simplify the rest of the code, and in particular the output recording stuff. There are probably some edge cases that don't yet work like they are supposed to with the possibility of off-by-a-pixel errors. Removed all the rectangle output records in favor of calls to draw-rectangle*. Temporarily removed the double buffering as a preparation for better seeing what is going on with incremental redisplay. Getting incremental redisplay to work might require fixing a problem in McCLIM which does not necessarily rely on the output-record protocol, but instead sometimes assume the existence of a slot in the record, whereas no such slot is required by the specification. The result is that the user cannot define his or her own output records and have them work with incremental redisplay.
Make it possible for the gf file loader to handle fonts with more than 256 characters.
Fixed the :relative problem according to Andras Simon.
add *FONTS-DIRECTORY* to allow running GSharp when not in the gsharp directory; essentially, we address the path relative to the path of sdl.lisp or sdl.fasl (note: may break if this is subjected to Debian's common-lisp-controller) One remaining LOOP BY -1 that slipped through the net
import of 0.2
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|