From: Han-Wen Nienhuys Date: Tue, 27 Feb 2001 19:49:07 +0000 (+0100) Subject: release: 1.3.133 X-Git-Tag: release/1.3.133 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=ea7676140da4a5b2365cef159ed65572bfa54cae;p=lilypond.git release: 1.3.133 ============ * Tied notes at a linebreak repeat their accidental. * Removed some cruft from lily/include/. * Bugfix: tied notes in chords sometimes got stuck in MIDI output (thanks Mats). * Added some example bug files, taken from Coriolan * a2-engraver: \property noDirection: don't force direction when part-combining (for StaffCombining). * text-spanner: don't repeat edge text for broken edge. * Coriolan fixes, titling, font setting, header info, cello octave (yes, notated different from bass; all agree) at end. 1.3.132.h --- diff --git a/CHANGES b/CHANGES index 8a8a97caae..0e693bb843 100644 --- a/CHANGES +++ b/CHANGES @@ -1,25 +1,14 @@ 1.3.132.jcn3 ============ -* Another attempt af fixing accidentals, still no luck. - -1.3.132.jcn2 -============ - -* Attempt at fixing input/bugs/tie-break-accidental.ly, but no luck. -See comments in Local_key_engraver. +* Tied notes at a linebreak repeat their accidental. * Removed some cruft from lily/include/. * Bugfix: tied notes in chords sometimes got stuck in MIDI output (thanks Mats). -* Added some example bug files, taken from Coriolan; esp. see -input/bugs/tie-break-accidental.ly, I've seen so much discussion on -this, would have thought we had this right by now. - -1.3.132.jcn1 -============ +* Added some example bug files, taken from Coriolan * a2-engraver: \property noDirection: don't force direction when part-combining (for StaffCombining). @@ -28,6 +17,17 @@ this, would have thought we had this right by now. * Coriolan fixes, titling, font setting, header info, cello octave (yes, notated different from bass; all agree) at end. +1.3.132.hwn1 +============ + +* Allow declared repeat variant string + +* Bugfix: break alignment at right edge. + +* Easy-notation: letters in circular note heads. + +* Debian patch by Anthony Fok. + 1.3.131.jcn2 ============ diff --git a/Documentation/topdocs/FAQ.texi b/Documentation/topdocs/FAQ.texi index 080ee097ed..1f7d909a99 100644 --- a/Documentation/topdocs/FAQ.texi +++ b/Documentation/topdocs/FAQ.texi @@ -62,15 +62,19 @@ yourself: Yes. It is included with the source archive as @file{lilypond-mode.el} and @file{lilypond-font-lock.el}. If you have -an RPM or .deb it is in @file{/usr/share/doc/lilypond-X/}. You have -to install it yourself. +an RPM, it is in @file{/usr/share/doc/lilypond-X/}. You have to install +it yourself. -Add this to your .emacs.el: +Add this to your ~/.emacs or ~/.emacs.el: @example (load-library "lilypond-mode.el") (setq auto-mode-alist - (append '(("\\.ly$" . LilyPond-mode) auto-mode-alist))) -@end example + (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist)) + (add-hook 'LilyPond-mode-hook (lambda () (turn-on-font-lock))) +@end example + +If you have the latest LilyPond-1.3.x Debian package, LilyPond-mode +is automatically loaded, so you need not modify your ~/.emacs file. @subsection I downloaded the windows32 port, and it doesn't match the website! diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index f606b26682..955435ac63 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -121,6 +121,7 @@ can enter and edit them in manageable chunks. * Defining pitch names:: * Durations:: * Notes:: +* Note head tweaks:: * Rests:: * Skip:: @end menu @@ -338,6 +339,43 @@ question mark `@code{?}' after the pitch. @end lilypond +@node Note head tweaks +@subsection Note head tweaks + +[TODO] + +The note head style can be adjusted with the @code{style} property of +@code{NoteHead}. + +@lilypond[fragment,singleline,relative,verbatim] +c'4 +\property Voice.NoteHead \set #'style = #'cross +c'4 +@end lilypond + +[discuss more options] + +@cindex easy notation +@cindex Hal Leonard + +A entirely different type of note head is the "easyplay" note head: a +note head that includes a note name. It is used in some publications by +the Hal-Leonard Corporation (a music publishing company). + +@lilypond[singleline,verbatim] +\score { + \notes { c'2 e'4 f' | g'1 } + \paper { \translator { \EasyNotation } } +} +@end lilypond + +Note that @code{EasyNotation} overrides a @code{Score} context. You +probably will want to print it with magnification to make it better +readable. + +Limitations: The staff-lines show through the letters. + + @c . {Rests} @node Rests @subsection Rests @@ -1593,7 +1631,7 @@ The symbols that are printed can be modified by setting pedalXStrings, where one of the pedal types. Refer to the generaetd documentation for more information. -Currently, brackets are not supported, only text markings (ie. Ped* +Currently, brackets are not supported, only text markings (ie. *Ped style). @@ -2753,7 +2791,7 @@ where each of the items is one of @item An assignment. The assignment must be terminated by a semicolon. - @item A context definition. See Section @ref{Notation contexts} for + @item A context definition. See Section @ref{Notation Contexts} for more information on context definitions. @item \stylesheet declaration. Its syntax is diff --git a/FAQ.txt b/FAQ.txt index eee25e0582..74053fd0d6 100644 --- a/FAQ.txt +++ b/FAQ.txt @@ -48,13 +48,17 @@ Is there an emacs mode? ----------------------- Yes. It is included with the source archive as `lilypond-mode.el' -and `lilypond-font-lock.el'. If you have an RPM or .deb it is in +and `lilypond-font-lock.el'. If you have an RPM, it is in `/usr/share/doc/lilypond-X/'. You have to install it yourself. - Add this to your .emacs.el: + Add this to your ~/.emacs or ~/.emacs.el: (load-library "lilypond-mode.el") (setq auto-mode-alist - (append '(("\\.ly$" . LilyPond-mode) auto-mode-alist))) + (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist)) + (add-hook 'LilyPond-mode-hook (lambda () (turn-on-font-lock))) + + If you have the latest LilyPond-1.3.x Debian package, LilyPond-mode +is automatically loaded, so you need not modify your ~/.emacs file. I downloaded the windows32 port, and it doesn't match the website! ------------------------------------------------------------------ diff --git a/VERSION b/VERSION index 298e8f0c5a..39268623d4 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 -PATCH_LEVEL=132 -MY_PATCH_LEVEL=jcn4 +PATCH_LEVEL=133 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/debian/changelog b/debian/changelog index 215774e68d..ff69e33e53 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,13 @@ +lilypond1.3 (1.3.132-1) unstable; urgency=medium + + * New upstream version. + * Oops, in 1.3.129-1, the "(setq auto-mode-alist (append ..." line in + /etc/emacs/site-start.d/50lilypond1.3.el (debian/emacsen-startup) + and in FAQ.txt was buggy. Thanks to Erik Demaine for the bug report. + Closes: Bug#86685. + + -- Anthony Fok Sun, 25 Feb 2001 20:27:09 -0700 + lilypond1.3 (1.3.129-1) unstable; urgency=low * In memory of Werner Icking + (August 26, 1943 - February 8, 2001), diff --git a/debian/emacsen-startup b/debian/emacsen-startup index 0ce6460c08..379d566663 100644 --- a/debian/emacsen-startup +++ b/debian/emacsen-startup @@ -1,3 +1,3 @@ (autoload 'LilyPond-mode "lilypond-mode" nil t) -(setq auto-mode-alist (append '(("\\.ly$" . LilyPond-mode) auto-mode-alist))) +(setq auto-mode-alist (cons '("\\.ly$" . LilyPond-mode) auto-mode-alist)) (add-hook 'LilyPond-mode-hook (lambda () (turn-on-font-lock))) diff --git a/input/regression/easy-notation.ly b/input/regression/easy-notation.ly new file mode 100644 index 0000000000..fc5a8f6a84 --- /dev/null +++ b/input/regression/easy-notation.ly @@ -0,0 +1,8 @@ +\header { +texidoc = " Ez-notation prints names in note heads." +} + +\score { + \notes { c'2 e'4 f' | g'1 } + \paper { \translator { \EasyNotation } } +} diff --git a/input/trip.ly b/input/trip.ly index f69c193fea..53b5cb9cde 100644 --- a/input/trip.ly +++ b/input/trip.ly @@ -196,11 +196,16 @@ fugaIIPedal = \notes \relative c { %13 r4 fis,4-\ltoe e4.-\lheel e'8-\rheel | - fis4.-\rtoe fis8-\rtoe fis4-\rtoe [e8-\ltoe a-\rtoe] | +% tie accs: 2nd should get no acc +f4-\rtoe~ f8 +fis8-\rtoe fis4-\rtoe [e8-\ltoe a-\rtoe] | dis,4-\ltoe gis-\rtoe [cis,8-\ltoe ( - b!-\lheel ais-\rtoe gis-\ltoe ~ ] | - gis8 r4. + b!-\lheel ais-\rtoe g-\ltoe ~ ] | + +% tie should generate acc. +\break + g r4. ) c2^^^-^\f \time 3/4; diff --git a/lily/break-align-item.cc b/lily/break-align-item.cc index 4318f0b78d..74dab15ca4 100644 --- a/lily/break-align-item.cc +++ b/lily/break-align-item.cc @@ -170,6 +170,11 @@ Break_align_interface::do_alignment (Grob *me) scm_set_car_x (first_pair, gh_double2scm (-dists[0])); elems[0]->set_grob_property ("minimum-space", first_pair); + Direction bsd = item->break_status_dir(); + if (bsd == LEFT) + { + me->set_grob_property ("self-alignment-X", gh_int2scm (RIGHT)); + } /* Force callbacks for alignment to be called diff --git a/lily/include/bar-req-collector-engraver.hh b/lily/include/bar-req-collector-engraver.hh deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lily/include/hara-kiri-engraver.hh b/lily/include/hara-kiri-engraver.hh deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lily/include/hara-kiri-line-group-engraver.hh b/lily/include/hara-kiri-line-group-engraver.hh deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh index 9c77a23955..04283267e7 100644 --- a/lily/include/note-head.hh +++ b/lily/include/note-head.hh @@ -22,7 +22,9 @@ class Note_head public: DECLARE_SCHEME_CALLBACK(brew_molecule, (SCM )); static Molecule ledger_line (Interval, Grob*) ; + DECLARE_SCHEME_CALLBACK(brew_ez_molecule, (SCM )); static bool has_interface (Grob*); + }; #endif // NOTEHEAD_HH diff --git a/lily/include/separating-line-group-engraver.hh b/lily/include/separating-line-group-engraver.hh deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lily/include/span-score-bar-engraver.hh b/lily/include/span-score-bar-engraver.hh deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lily/include/swallow-engraver.hh b/lily/include/swallow-engraver.hh deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lily/include/tie-engraver.hh b/lily/include/tie-engraver.hh deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lily/include/tuplet-engraver.hh b/lily/include/tuplet-engraver.hh deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/lily/note-head.cc b/lily/note-head.cc index c536b0f8ce..0ccd6dd981 100644 --- a/lily/note-head.cc +++ b/lily/note-head.cc @@ -110,3 +110,24 @@ Note_head::has_interface (Grob*m) { return m&& m->has_interface (ly_symbol2scm ("note-head-interface")); } + + +MAKE_SCHEME_CALLBACK(Note_head,brew_ez_molecule,1); + +SCM +Note_head::brew_ez_molecule (SCM smob) +{ + Grob *me = unsmob_grob (smob); + int l = gh_scm2int (me->get_grob_property ("duration-log")); + + int b = (l >= 2); + SCM at = gh_list (ly_symbol2scm ("ez-ball"), + me->get_grob_property ("note-character"), + gh_int2scm (b), + gh_int2scm (1-b), + SCM_UNDEFINED); + Box bx (Interval (0, 1.0), Interval (-0.5, 0.5)); + Molecule m (bx, at); + + return m.smobbed_copy (); +} diff --git a/lily/note-heads-engraver.cc b/lily/note-heads-engraver.cc index 5fc28bbddb..954798be26 100644 --- a/lily/note-heads-engraver.cc +++ b/lily/note-heads-engraver.cc @@ -3,6 +3,7 @@ (c) 1997--2001 Han-Wen Nienhuys */ +#include #include "rhythmic-head.hh" #include "paper-def.hh" @@ -93,8 +94,18 @@ Note_heads_engraver::create_grobs () dot_p_arr_.push (d); } - note_p->set_grob_property("staff-position", gh_int2scm (unsmob_pitch (req->get_mus_property ("pitch"))->steps ())); + Pitch *pit =unsmob_pitch (req->get_mus_property ("pitch")); + note_p->set_grob_property("staff-position", gh_int2scm (pit->steps ())); + if (to_boolean (get_property ("easyPlay"))) + { + char s[2] = "a"; + s[0] = (pit->notename_i_ + 2)%7 + 'a'; + + s[0] = toupper (s[0]); + note_p->set_grob_property ("note-character", ly_str02scm (s)); + } + announce_grob (note_p,req); note_p_arr_.push (note_p); } diff --git a/lily/parser.yy b/lily/parser.yy index cad76eb68d..32dc7fc492 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -659,7 +659,7 @@ Alternative_music: Repeated_music: - REPEAT STRING bare_unsigned Music Alternative_music + REPEAT string bare_unsigned Music Alternative_music { Music_sequence* alts = dynamic_cast ($5); if (alts && $3 < alts->length_i ()) diff --git a/ly/engraver.ly b/ly/engraver.ly index 8c0c48fcf8..c71b63ba58 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -439,4 +439,9 @@ ScoreContext = \translator { OrchestralScoreContext= \translator { \ScoreContext } +EasyNotation = \translator { + \ScoreContext + NoteHead \override #'molecule-callback = #Note_head::brew_ez_molecule + easyPlay = ##t +} diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index cebdb1a282..f2ab5bc800 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.3.132 -Entered-date: 26FEB01 +Version: 1.3.133 +Entered-date: 27FEB01 Description: @BLURB@ Keywords: music notation typesetting midi fonts engraving Author: hanwen@cs.uu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 1000k lilypond-1.3.132.tar.gz + 1000k lilypond-1.3.133.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.3.132.tar.gz + 1000k lilypond-1.3.133.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index db222e14ef..9af8e61b1b 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,11 +1,11 @@ %define info yes Name: lilypond -Version: 1.3.132 +Version: 1.3.133 Release: 1 License: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.132.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.133.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond # Icon: lilypond-icon.gif diff --git a/scm/ps.scm b/scm/ps.scm index b80308eb62..d4442ecb39 100644 --- a/scm/ps.scm +++ b/scm/ps.scm @@ -191,6 +191,26 @@ lilypondpaperoutputscale lilypondpaperoutputscale scale (define (unknown) "\n unknown\n") +;; note heads with letters. + (define (ez-ball ch letter-col ball-col) + (string-append " +/Helvetica-Bold findfont +0.7 scalefont +setfont +0.1 setlinewidth + 0 0 moveto +0 setgray +0.5 0 0.5 0 360 arc +closepath " + (if (equal? ball-col 0) " fill " " stroke ") + (number->string letter-col) + " +setgray +% 0.25 is empiric centering. Change to taste +0.25 -0.25 moveto + (" ch ") show +showpage ") + ) (define (define-origin a b c ) "") (define (no-origin) "") @@ -228,6 +248,7 @@ lilypondpaperoutputscale lilypondpaperoutputscale scale (define text ,text) (define no-origin ,no-origin) (define define-origin ,define-origin) + (define ez-ball ,ez-ball) )) ((eq? action-name 'tuplet) tuplet) ((eq? action-name 'beam) beam) @@ -240,6 +261,7 @@ lilypondpaperoutputscale lilypondpaperoutputscale scale ((eq? action-name 'decrescendo) decrescendo) ((eq? action-name 'experimental-on) experimental-on) ((eq? action-name 'filledbox) filledbox) + ((eq? action-name 'ez-ball) ez-ball) ((eq? action-name 'select-font) select-font) ((eq? action-name 'volta) volta) (else (error "unknown tag -- PS-SCM " action-name)) diff --git a/scm/tex.scm b/scm/tex.scm index 7da4ad9a04..499b2efdd3 100644 --- a/scm/tex.scm +++ b/scm/tex.scm @@ -6,6 +6,10 @@ ;;; Han-Wen Nienhuys + +;; +;; todo: this dispatch is totally LAME + (define (tex-scm action-name) (define (unknown) "%\n\\unknown%\n") @@ -63,6 +67,8 @@ (number->string (inexact->exact (* 1000 (cdr name-mag)))) "\n")) + (define (ez-ball c l b) + (embedded-ps ((ps-scm 'ez-ball) c l b))) (define (embedded-ps s) (string-append "\\embeddedps{" s "}")) @@ -210,6 +216,7 @@ (define font-switch ,font-switch) (define header-end ,header-end) (define lily-def ,lily-def) + (define ez-ball ,ez-ball) (define header ,header) (define invoke-char ,invoke-char) (define invoke-dim1 ,invoke-dim1)