+1.5.10.jcn3
+===========
+
+* include python midi parser.
+
+* stepmake updates.
+
+* add .cvsignore patterns for making patches the standard, manual way.
+
+* midi2ly: support chords, duration conversion rewrite.
+
+* parser.yy: Guile > 1.4 compilation fix; scm_unprotect_object is deprecated.
+
+1.5.10.hwn1
+===========
+
+* Rational bugfix.
+
+* Cleaned up definitions of SystemStartDelimiter
+
+* WTK fix.
+
+* Porrectus patch (Juergen Reuter):
+
+- Syntax change: \porrectus -> \~
+- New porrectus properties: porrectus-width, line-thickness.
+- Bugfix: left<->right confusion in porrectus-engraver.cc.
+- Bugfix: Box dimensions for horizontal slope molecule in porrectus.cc.
+- Enhanced mensural style porrectus shape, considering optical
+ illusion in vertical endings due to slope. Simplified drawing.
+- Code clean-up.
+
+1.5.10
+======
+
1.5.9.hjj2
==========
* Emacs-mode: Keyboard shortcuts, separated identifiers from keywords
* Bugfix: stepmake: don't go building executables all over the place,
if NAME is set in environment. Some cleanups.
-
* add-html-footer.py: remove href to self. Substitute @at-variables@
defined in html comments. Any occurrence of
--- /dev/null
+
+New features in 1.4
+
+
+DESIGN
+
+
+* More pervasive GUILE integration resulting in improved design and
+implementation. LilyPond is smaller, cleaner, more flexible, etc.
+
+ - Improved speed with comparable memory footprint
+
+ - More tweakability using less memory with the new `property push'
+ mechanism.
+
+ - Improved robustness: Lily almost never crashes.
+
+ - Access to internal music representation
+
+* New font selection scheme similar to Latex-NFSS.
+
+* Flexible formatting mechanism for musical texts.
+
+* Chordnames are now configurable in every respect
+
+* Part combining for orchestral scores and hymns: two voices are
+ combined into a staff automatically, including Solo/a2
+ indications as appropriate.
+
+
+ERGONOMICS
+
+* Point and click functionality using emacs and Xdvi.
+
+* Rewritten Emacs mode
+
+* Cleaned up syntax details
+
+* Comprehensive documentation, including a rewritten tutorial.
+
+* All properties have doc strings, and internal documentation is
+generated automatically.
+
+* Windows point-and-click installer
+
+
+NOTATION FEATURES
+
+* Piano pedals, Arpeggios, Glissandi, many more note head
+shapes, Medieval clefs, custodes.
+
+* Better lyrics placement: Automatical phrasing, melisma alignment,
+ and stanza numbering.
+
+* Typography: More elegant slurs, aligned dynamics, text crescendos,
+
+* Easy-play note heads
+
+* ASCIIScript: ASCII-art output
+
+* Improved standalone postscript layout.
+
+
+IMPORT/EXPORT
+
+* dynamics, tempo changes in the MIDI output
+
+* Finale (.etf), PMX, Musedata and Mup import tools.
+
+
+MISCELLANEOUS
+
+* Mutopia ports collection: easily accessible music archive.
+
+* Translations into Japanese, French and Russian
+
+* Many many many bugfixes.
+
-New features in 1.4
+New features in 1.5
+* Figured bass support
-DESIGN
+* Improved grace notes
+* Better spacing.
-* More pervasive GUILE integration resulting in improved design and
-implementation. LilyPond is smaller, cleaner, more flexible, etc.
-
- - Improved speed with comparable memory footprint
-
- - More tweakability using less memory with the new `property push'
- mechanism.
-
- - Improved robustness: Lily almost never crashes.
-
- - Access to internal music representation
-
-* New font selection scheme similar to Latex-NFSS.
-
-* Flexible formatting mechanism for musical texts.
-
-* Chordnames are now configurable in every respect
-
-* Part combining for orchestral scores and hymns: two voices are
- combined into a staff automatically, including Solo/a2
- indications as appropriate.
-
-
-ERGONOMICS
-
-* Point and click functionality using emacs and Xdvi.
-
-* Rewritten Emacs mode
-
-* Cleaned up syntax details
-
-* Comprehensive documentation, including a rewritten tutorial.
-
-* All properties have doc strings, and internal documentation is
-generated automatically.
-
-* Windows point-and-click installer
-
-
-NOTATION FEATURES
-
-* Piano pedals, Arpeggios, Glissandi, many more note head
-shapes, Medieval clefs, custodes.
-
-* Better lyrics placement: Automatical phrasing, melisma alignment,
- and stanza numbering.
-
-* Typography: More elegant slurs, aligned dynamics, text crescendos,
-
-* Easy-play note heads
-
-* ASCIIScript: ASCII-art output
-
-* Improved standalone postscript layout.
-
-
-IMPORT/EXPORT
-
-* dynamics, tempo changes in the MIDI output
-
-* Finale (.etf), PMX, Musedata and Mup import tools.
-
-
-MISCELLANEOUS
-
-* Mutopia ports collection: easily accessible music archive.
-
-* Translations into Japanese, French and Russian
-
-* Many many many bugfixes.
-
+* More ancient notation support.
PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
MINOR_VERSION=5
-PATCH_LEVEL=10
+PATCH_LEVEL=11
MY_PATCH_LEVEL=
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
return 0;
else
{
- /*
- TODO: fix this code; (r-s).sign() is too expensive.
-
- return r.sign_ * ::sign (r.num_ * s.den_ - s.num_ * r.den_);
- */
- return (r - s).sign ();
+ return r.sign_ * ::sign (int (r.num_ * s.den_) - int (s.num_ * r.den_));
}
}
return s;
}
+int
+Rational::to_int () const
+{
+ return num () / den ();
+}
+
int
sign (Rational r)
{
void
System_start_delimiter_engraver::initialize ()
{
- delim_ = new Spanner (get_property ("SystemStartDelimiter"));
+ SCM delim_name =get_property ("SystemStartDelimiter");
+ delim_ = new Spanner (get_property (delim_name));
delim_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn")));
gh_double2scm (arc_height),
gh_double2scm (height),
me->get_grob_property ("arch-thick"),
- me->get_grob_property ("bracket-thick"),
+ me->get_grob_property ("thickness"),
SCM_UNDEFINED);
/*
SCM
System_start_delimiter::after_line_breaking (SCM smob)
{
- try_collapse (unsmob_grob (smob));
- return SCM_UNSPECIFIED;
-}
-
-void
-System_start_delimiter::try_collapse (Grob*me)
-{
+ Grob * me = unsmob_grob (smob);
SCM gl = me->get_grob_property ("glyph");
if (scm_ilength (me->get_grob_property ("elements")) <= 1 && gl == ly_symbol2scm ("bar-line"))
{
me->suicide ();
}
-
+
+ return SCM_UNSPECIFIED;
}
MAKE_SCHEME_CALLBACK (System_start_delimiter,brew_molecule,1);
-
SCM
System_start_delimiter::brew_molecule (SCM smob)
{
if (!gh_symbol_p (s))
return SCM_EOL;
- SCM c = me->get_grob_property ((ly_symbol2string (s) + "-collapse-height")
- .ch_C ());
+ SCM c = me->get_grob_property ("collapse-height");
Real staff_space = Staff_symbol_referencer::staff_space (me);
Interval ext = ly_scm2interval (Axis_group_interface::group_extent_callback
\name InnerChoirStaff
alignmentReference = #0
\consists "System_start_delimiter_engraver"
- SystemStartDelimiter \override #'glyph = #'bracket
+ SystemStartDelimiter = #'SystemStartBracket
\accepts "Staff"
\accepts "RhythmicStaff"
\consists "Span_bar_engraver"
\consists "Span_arpeggio_engraver"
\consists "System_start_delimiter_engraver"
- SystemStartDelimiter \override #'glyph = #'brace
-
+ SystemStartDelimiter = #'SystemStartBrace
Generic_property_list = #generic-grand-staff-properties
\accepts "Staff"
}
\consists "Span_bar_engraver"
\consists "Span_arpeggio_engraver"
\consists "Output_property_engraver"
- SystemStartDelimiter \override #'glyph = #'bracket
+ SystemStartDelimiter = #'SystemStartBracket
\consists "System_start_delimiter_engraver"
\accepts "Staff"
soloADue = ##t
splitInterval = #'(0 . 1)
changeMoment = #`(,(make-moment 0 0) . ,(make-moment 1 512))
-
+ SystemStartDelimiter =#'SystemStartBar
barAuto = ##t
voltaVisibility = ##t
% name, glyph id, clef position
#include "rational.hh"
#include "duration.hh"
#include "duration-convert.hh"
-#include "duration-iter.hh"
// statics Duration
int Duration::division_1_i_s = 384 * 4;
/*
- midi-score-parser.hh -- declare
+ midi-score-parser.hh -- declare Midi_score_parser
source file of the GNU LilyPond music typesetter
--- /dev/null
+depth = ..
+
+# Hmm, name dir midi too, then?
+NAME=midi
+
+
+# compile fucks up on without autoconf -I flag.
+STEPMAKE_TEMPLATES=c install # python-module
+
+INSTALLATION_FILES=$(outdir)/midi.so
+INSTALLATION_DIR=$(datadir)/python
+
+# do nothing; module ins't used yet.
+
+include $(depth)/make/stepmake.make
+
(Porrectus . (
(style . mensural)
+ (auto-properties . #t)
(solid . #f)
+ (porrectus-width . 2.4)
+ (line-thickness . 1.0)
(add-stem . #t)
(stem-direction . 1)
(molecule-callback . ,Porrectus::brew_molecule)
))
;; TODO: should split in 3
- (SystemStartDelimiter . (
+ (SystemStartBrace . (
+ (glyph . brace)
(molecule-callback . ,System_start_delimiter::brew_molecule)
- (after-line-breaking-callback . ,System_start_delimiter::after_line_breaking)
- ;; really 4.0, but 5 to be on safe side.
- (brace-collapse-height . 5.0)
- (bracket-collapse-height . 1)
- (thickness . 1.6)
+ (collapse-height . 5.0)
+ (font-family . braces)
+ (Y-extent-callback . #f)
+ (meta . ,(grob-description "SystemStartBrace" system-start-delimiter-interface font-interface))
+ ))
+ (SystemStartBracket . (
+ (Y-extent-callback . #f)
+ (molecule-callback . ,System_start_delimiter::brew_molecule)
+ (glyph . bracket)
(arch-height . 1.5)
(arch-angle . 50.0)
(arch-thick . 0.25)
- (glyph . bar-line)
(arch-width . 1.5)
- (bracket-thick . 0.25)
+ (thickness . 0.25)
+ (meta . ,(grob-description "SystemStartBracket" system-start-delimiter-interface ))
+ (bracket-collapse-height . 1)
+ ))
+ (SystemStartBar . (
(Y-extent-callback . #f)
- (font-family . braces)
- ;; if you want to set point-size, you cannot set
- ;; relative-size, as no font will be found for other
- ;; sheets than 20
- ;;(font-design-size . 20)
- ;;(font-relative-size . #f)
- (meta . ,(grob-description "SystemStartDelimiter" system-start-delimiter-interface font-interface))
- ))
+ (molecule-callback . ,System_start_delimiter::brew_molecule)
+ (glyph . bar-line)
+ (thickness . 1.6)
+ (after-line-breaking-callback . ,System_start_delimiter::after_line_breaking)
+ (meta . ,(grob-description "SystemStartBar" system-start-delimiter-interface ))
+ ))
(TextScript . (
(molecule-callback . ,Text_item::brew_molecule)
'System_start_delimiter_engraver
(engraver-description
"System_start_delimiter_engraver"
- "creates a SystemStartDelimiter spanner"
- '(SystemStartDelimiter)
+ "creates a system start delimiter (ie. SystemStart@{Bar,Brace,Bracket@} spanner"
+ '(SystemStartBar SystemStartBrace SystemStartBracket)
'(
)))