From 18d1d3e16daf265790468505261abf342badc41e Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Thu, 7 Aug 2003 00:58:35 +0000 Subject: [PATCH] * GNUmakefile.in (local-WWW-post): move mutopia-index to toplevel local-WWW-post target. (rsync-web): add rsync-web target * Documentation/user/introduction.itely (Music notation and engraving): add neume example * input/puer-fragment.ly (cantus): add puer-fragment --- ChangeLog | 11 ++ Documentation/index.html.in | 2 +- Documentation/user/introduction.itely | 9 + GNUmakefile.in | 11 +- input/GNUmakefile | 4 +- input/puer-fragment.ly | 241 ++++++++++++++++++++++++++ scm/midi.scm | 6 + 7 files changed, 279 insertions(+), 5 deletions(-) create mode 100644 input/puer-fragment.ly diff --git a/ChangeLog b/ChangeLog index 9153975e9f..033214bf3f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2003-08-07 Han-Wen Nienhuys + + * GNUmakefile.in (local-WWW-post): move mutopia-index to toplevel + local-WWW-post target. + (rsync-web): add rsync-web target + + * Documentation/user/introduction.itely (Music notation and + engraving): add neume example + + * input/puer-fragment.ly (cantus): add puer-fragment + 2003-08-06 Jan Nieuwenhuizen * input/no-notation/midi-volume-equaliser.ly: Add volume setting diff --git a/Documentation/index.html.in b/Documentation/index.html.in index 9acf37cdea..d848a07efa 100644 --- a/Documentation/index.html.in +++ b/Documentation/index.html.in @@ -72,7 +72,7 @@
  • Templates,
    (get started with typesetting) -
  • Examples +
  • Examples
    (see some examples) diff --git a/Documentation/user/introduction.itely b/Documentation/user/introduction.itely index 772150ea04..67dfcba640 100644 --- a/Documentation/user/introduction.itely +++ b/Documentation/user/introduction.itely @@ -40,6 +40,13 @@ which symbols to use for what. Second, one has to master music engraving: the art of placing symbols such that the result looks pleasing. + + +@lilypondfile[notexidoc]{puer-fragment.ly} + +@center A fragment of neume notation + + Common music notation has its roots in the medieval time. In this time, monks started to write down hints that indicated how their sacred music was sung. These hints, neumes, gradually became simpler, @@ -55,6 +62,8 @@ counterpoint in the early renaissance. The graphic language of notation is still under development; the innovations of contemporary music require still newer and more complex notations. + + The term music engraving derives from the traditional process of music printing. Only a few decades ago, sheet music was made by cutting and stamping the music into zinc or pewter plates, in mirror image. The plate diff --git a/GNUmakefile.in b/GNUmakefile.in index 8ad5ccc5a6..5238a31b15 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -56,7 +56,8 @@ web-ext = gz html midi pdf png txt ly footify=$(PYTHON) $(step-bindir)/add-html-footer.py --name $(PACKAGE_NAME) --version $(TOPLEVEL_VERSION) -local-WWW-post: +local-WWW-post: + $(PYTHON) $(buildscript-dir)/mutopia-index.py -o $(builddir)/examples.html ./ $(footify) `$(FIND) $(builddir) -name '*.html' -print` cd $(builddir) && rm -f `find . -name \*.html~ -print` cd $(builddir) && find Documentation input \ @@ -67,6 +68,7 @@ local-WWW-post: cd $(builddir) && ls *.html >> $(outdir)/weblist cat $(outdir)/weblist | (cd $(builddir); GZIP=-9v tar -czf $(outdir)/web.tar.gz -T -) + src-ext = c cc yy ll hh icc py scm tex ps texi itexi tely itely sh ALL-TAGS: @@ -134,3 +136,10 @@ $(config_h): configure.in aclocal.m4 @echo ' rm $(config_h); ./autogen.sh' @echo @false + + +# maybe move into private script? +rsync-web: + cd out-www && mkdir web && tar -xzf web.tar.gz -C web + cd out-www/web && rsync --delete --stats --progress -lavu -e ssh . x:/var/www/lilypond/doc/v1.8/ + cd out-www && rm -rf web/ diff --git a/input/GNUmakefile b/input/GNUmakefile index e7ed50c01c..c10ea6e64e 100644 --- a/input/GNUmakefile +++ b/input/GNUmakefile @@ -2,7 +2,7 @@ depth = .. SUBDIRS=test regression tutorial no-notation ascii-art template mutopia -examples= les-nereides +examples= les-nereides puer-fragment LOCALSTEPMAKE_TEMPLATES=ly mutopia EXTRA_DIST_FILES=paddy.abc @@ -12,5 +12,3 @@ include $(depth)/make/stepmake.make local-check: $(addsuffix .dvi, $(addprefix $(outdir)/, $(examples))) -local-WWW-post: - $(PYTHON) $(buildscript-dir)/mutopia-index.py -o $(builddir)/input/examples.html ./ diff --git a/input/puer-fragment.ly b/input/puer-fragment.ly new file mode 100644 index 0000000000..f10cc04e28 --- /dev/null +++ b/input/puer-fragment.ly @@ -0,0 +1,241 @@ +\version "1.7.27" +\header { + title = "Puer natus est nobis" + subtitle = "Antiphona ad introitum VII" + texidoc = " + +Demonstrate gregorian chant notation + +This file pretty nicely demonstrates what still does +not work among ligatures: (i) horizontal spacing between ligatures and +lyrics aligment is broken; (ii) the clef does not show on each line; +(iii) lily crashes when removing Stem_engraver, but still using +Slur_engraver (this is useful needed for the \addlyrics feature when +no slurs are to be typeset); (iv) episem causes a parse error (this +used to work a while ago); (v) pitches are typeset half a staff space +too high (the second note is a d, but it appears on the line of the do +clef; this bug must have been introduced only recently); (vi) support +for augmentum dots is missing; (vii) accidentals must be placed before +the ligature (not demonstrated in this example)." + +} + +\include "paper26.ly" +\include "gregorian-init.ly" + +%%% N.B.: Yes, I know, the formatting of the following looks awful, +%%% but this is intentional for editorial purposes (simplifies some +%%% global search/replace operations in emacs). + +cantus = \notes \transpose c c { + \[ g4 + ( %%% Pu- + \pes + d'-) + \] + d' %%% er + \[ d' + ( %%% na- + \pes e' \flexa + d'-) + \] + c' %%% tus + \[ c' + ( %%% est + c' + c'-) + \] + \[ d' + ( %%% no- + \flexa c' e' \flexa + d' + d'-) %%% bis, + \] + \divisioMaior + \[ g + ( %%% et + \pes + d'-) + \] + \[ d' + ( %%% fi- + \pes e' \flexa + d'-) + \] + \[ c' + ( %%% li- + \flexa + b-) + \] + a %%% us + \[ c' + ( %%% da- + c' \pes + d'-) + \] + c' %%% tus- + c' %%% est + \[ c' + ( %%% no- + \pes d' \flexa c' + c'-) + \] + \[ g + ( %%% bis: + \pes a \flexa + g-) + \] + \divisioMaxima + g %%% cu- + a %%% us + c' %%% im- + \[ b + ( %%% pe- + \pes d' e' \pes + f'-) + \] + \[ d' + ( %%% ri- + \flexa + c'-) + \] + c' %%% um +} + +verba = \context Lyrics = verba \lyrics { + Pu- er na- tus est no- bis, + et fi- li- us da- tus est no- bis: + cu- ius im- pe- ri- um +} + +\score { + \context StaffGroup < + \context VaticanaStaff < + \context VaticanaVoice < + \addlyrics + \cantus + \verba + > + > + > + \paper { + stafflinethickness = \staffspace / 5.0 + linewidth = 137.0\mm + width = 137.0\mm + indent = 0.0 + raggedright = ##t + packed = ##t +% width = 15.0 \cm %%% no effect? + + \translator { + \VoiceContext + \name VaticanaVoice + \alias Voice + + % Can not `\remove "Slur_engraver"', since \addlyrics needs + % slurs working. Hence, set slurs transparent instead. + Slur \override #'transparent = ##t + + % N.B.: Warnings of the type "Degenerate bow: infinite steepness + % reqd" arise from the fact that all noteheads of a ligature are + % in the same paper column. Therefore, the (transparent) slurs + % often start and end in the same column, producing the above + % warning. TODO: supress this warning; we need slurs only for + % \addlyrics, not for printing. + + % `\remove "Stem_engraver"' currently produces a crash (see + % below). Hence, set stems transparent instead. + Stem \set #'transparent = ##t + % \remove "Stem_engraver" + +%{ + +FIXME: + +When removing Stem_engraver from VoiceContext (but still using +Slur_engraver), lily will crash while trying to typeset slurs, since +`()' is not a valid stem: + +In unknown file: + ?: 0* [Slur::after_line_breaking #] + ?: 1* [# # -1] +In /home/reuter/project/lilypond-1.7/share/lilypond/scm/slur.scm: + 43: 2* [not ... + 43: 3* [attached-to-stem # -1] + 10: 4 (let* ((note-columns #) (col #) (stem #)) (and (eq? col #) stem ...)) + ... + 16: 5 [ly:get-grob-property () heads] + +/home/reuter/project/lilypond-1.7/share/lilypond/scm/slur.scm:16:6: In procedure ly_get_grob_property in expression (ly:get-grob-property stem (quote heads)): +/home/reuter/project/lilypond-1.7/share/lilypond/scm/slur.scm:16:6: Wrong type argument in position 1 (expecting grob): () + +%} + + \remove Ligature_bracket_engraver + \consists Vaticana_ligature_engraver + NoteHead \set #'style = #'vaticana_punctum + Script \set #'padding = #0.0 + + % prepare TextSpanner for \episem{Initium|Finis} use + TextSpanner \set #'style = #'line + TextSpanner \set #'edge-height = #'(0 . 0) + TextSpanner \set #'padding = #0.5 + TextSpanner \set #'edge-text = #'("" . "") + } + \translator { + \VoiceContext + \name GregorianTransciptionVoice + \alias Voice + Stem \set #'transparent = ##t + % \remove "Stem_engraver" + % Slur \override #'transparent = ##t + \remove "Slur_engraver" + } + \translator { + \StaffContext + \name GregorianTranscriptionStaff + \alias Staff + \accepts GregorianTranscriptionVoice + BarLine \override #'transparent = ##t + } + \translator { + \StaffContext + \name VaticanaStaff + \alias Staff + \accepts VaticanaVoice + \remove Bar_engraver + \consists Custos_engraver + clefGlyph = #"clefs-vaticana_do" + centralCPosition = #0 + clefPosition = #1 + clefOctavation = #0 + StaffSymbol \set #'line-count = #4 + StaffSymbol \set #'width = #60.0 % FIXME: unit should be \linewidth + TimeSignature \set #'transparent = ##t + KeySignature \set #'style = #'vaticana + Accidental \set #'style = #'vaticana + Custos \set #'style = #'vaticana + Custos \set #'neutral-position = #3 + Custos \set #'neutral-direction = #-1 + Custos \set #'adjust-if-on-staffline = ##t + } + \translator { + \HaraKiriStaffContext + \accepts VaticanaVoice + \accepts GregorianTranscriptionVoice + } + \translator { + \ScoreContext + \accepts VaticanaStaff + \accepts GregorianTranscriptionStaff + \remove Bar_number_engraver +% SpacingSpanner \set #'spacing-increment = #0.5 + timing = ##f + + % Don't do this except for transcription -- it will produce + % additional space + barAlways = ##t +% skipBars = ##t + } + } +} diff --git a/scm/midi.scm b/scm/midi.scm index 9cb0d89b1d..be4b3dc720 100644 --- a/scm/midi.scm +++ b/scm/midi.scm @@ -5,6 +5,12 @@ ;;; (c) 2000--2003 Jan Nieuwenhuizen + +;;;;;;;;;;;;;;;;;; +;;; TODO: + +;; this is broken: we should not ever export variables from Scheme. + ;; define factor of total volume per dynamic marking (define-public absolute-volume-alist '()) (set! absolute-volume-alist -- 2.39.2