From: fred Date: Wed, 27 Mar 2002 02:02:56 +0000 (+0000) Subject: lilypond-1.5.11 X-Git-Tag: release/1.5.59~466 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=949c2073cd80e088f4fab7c8a75673a6379ca912;p=lilypond.git lilypond-1.5.11 --- diff --git a/CHANGES b/CHANGES index 0f3adbfcb0..397f031cf4 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,38 @@ +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 @@ -12,7 +47,6 @@ where @WEB-TITLE@ is not defined. * 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 diff --git a/Documentation/misc/NEWS-1.4 b/Documentation/misc/NEWS-1.4 new file mode 100644 index 0000000000..12c621b564 --- /dev/null +++ b/Documentation/misc/NEWS-1.4 @@ -0,0 +1,78 @@ + +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. + diff --git a/NEWS b/NEWS index 12c621b564..bd0d47aa84 100644 --- a/NEWS +++ b/NEWS @@ -1,78 +1,10 @@ -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. diff --git a/VERSION b/VERSION index 29adfa8408..d13210fa9a 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,7 @@ 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 diff --git a/flower/rational.cc b/flower/rational.cc index 3b0b3d0928..b2b7c898ee 100644 --- a/flower/rational.cc +++ b/flower/rational.cc @@ -144,12 +144,7 @@ Rational::compare (Rational const &r, Rational const &s) 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_)); } } @@ -300,6 +295,12 @@ Rational::str () const return s; } +int +Rational::to_int () const +{ + return num () / den (); +} + int sign (Rational r) { diff --git a/lily/system-start-delimiter-engraver.cc b/lily/system-start-delimiter-engraver.cc index cc017cbb2e..642c222e11 100644 --- a/lily/system-start-delimiter-engraver.cc +++ b/lily/system-start-delimiter-engraver.cc @@ -72,7 +72,8 @@ System_start_delimiter_engraver::System_start_delimiter_engraver () 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"))); diff --git a/lily/system-start-delimiter.cc b/lily/system-start-delimiter.cc index b756d16a46..56bf35e1b4 100644 --- a/lily/system-start-delimiter.cc +++ b/lily/system-start-delimiter.cc @@ -29,7 +29,7 @@ System_start_delimiter::staff_bracket (Grob*me,Real height) 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); /* @@ -82,25 +82,19 @@ MAKE_SCHEME_CALLBACK (System_start_delimiter,after_line_breaking,1); 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) { @@ -110,8 +104,7 @@ 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 diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 01e05e9bcf..1c86fc7a3b 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -64,7 +64,7 @@ InnerChoirStaffContext = \translator { \name InnerChoirStaff alignmentReference = #0 \consists "System_start_delimiter_engraver" - SystemStartDelimiter \override #'glyph = #'bracket + SystemStartDelimiter = #'SystemStartBracket \accepts "Staff" \accepts "RhythmicStaff" @@ -176,8 +176,7 @@ GrandStaffContext=\translator{ \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" } @@ -205,7 +204,7 @@ InnerStaffGroupContext= \translator { \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" @@ -354,7 +353,7 @@ ScoreContext = \translator { 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 diff --git a/midi2ly/duration.cc b/midi2ly/duration.cc index 6e1e9b54ae..391537af3a 100644 --- a/midi2ly/duration.cc +++ b/midi2ly/duration.cc @@ -19,7 +19,6 @@ #include "rational.hh" #include "duration.hh" #include "duration-convert.hh" -#include "duration-iter.hh" // statics Duration int Duration::division_1_i_s = 384 * 4; diff --git a/midi2ly/include/midi-score-parser.hh b/midi2ly/include/midi-score-parser.hh index 2fca257ec3..25d6758883 100644 --- a/midi2ly/include/midi-score-parser.hh +++ b/midi2ly/include/midi-score-parser.hh @@ -1,5 +1,5 @@ /* - midi-score-parser.hh -- declare + midi-score-parser.hh -- declare Midi_score_parser source file of the GNU LilyPond music typesetter diff --git a/modules/GNUmakefile b/modules/GNUmakefile new file mode 100644 index 0000000000..bc69608d14 --- /dev/null +++ b/modules/GNUmakefile @@ -0,0 +1,16 @@ +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 + diff --git a/scm/grob-description.scm b/scm/grob-description.scm index e673a0d4dc..98f29a9d6d 100644 --- a/scm/grob-description.scm +++ b/scm/grob-description.scm @@ -323,7 +323,10 @@ (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) @@ -644,28 +647,34 @@ )) ;; 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) diff --git a/scm/translator-description.scm b/scm/translator-description.scm index b34c79ce2c..d83944620f 100644 --- a/scm/translator-description.scm +++ b/scm/translator-description.scm @@ -630,8 +630,8 @@ bar lines, and draws a single span-bar across them." '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) '( )))