From 97a27c707de72468d690426755eb4e42b3a9dbf4 Mon Sep 17 00:00:00 2001 From: Mark Polesky Date: Sun, 14 Mar 2010 11:53:49 -0700 Subject: [PATCH] Doc: NR: Organize `List of articulations' appendix. --- Documentation/included/script-chart.ly | 236 ++++++++++++++---- .../notation/notation-appendices.itely | 131 ++++++++-- 2 files changed, 292 insertions(+), 75 deletions(-) diff --git a/Documentation/included/script-chart.ly b/Documentation/included/script-chart.ly index 6300d32e7e..5ebffc4e2b 100644 --- a/Documentation/included/script-chart.ly +++ b/Documentation/included/script-chart.ly @@ -6,57 +6,189 @@ This chart shows all articulations, or scripts, that the feta font contains. " } -\score { - << - \new Voice = "scripts" { - c''\accent c''\marcato c''\staccatissimo c''\espressivo - c''\staccato c''\tenuto c''\portato - c''\upbow c''\downbow c''\flageolet - c''\thumb c''^\lheel c''\rheel - c''^\ltoe c''\rtoe c''\open c''\halfopen - c''\stopped c''\snappizzicato c''\turn c''\reverseturn - c''\trill c''\prall c''\mordent - c''\prallprall c''\prallmordent c''\upprall - c''\downprall c''\upmordent c''\downmordent - c''\pralldown c''\prallup c''\lineprall - c''\signumcongruentiae c''\shortfermata c''\fermata - c''\longfermata c''\verylongfermata c''\segno - c''\coda c''\varcoda - } - \new Lyrics \lyricsto "scripts" { - accent marcato staccatissimo espressivo - staccato tenuto portato - upbow downbow flageolet - thumb lheel rheel - ltoe rtoe open halfopen - stopped snappizzicato turn reverseturn - trill prall mordent - prallprall prallmordent upprall - downprall upmordent downmordent - pralldown prallup lineprall - signumcongruentiae shortfermata fermata - longfermata verylongfermata segno - coda varcoda - } - >> - \layout { - line-width = 5.1\in - indent = 0.0\mm - \context { - \Score - timing = ##f - barAlways = ##t - \override NonMusicalPaperColumn #'padding = #2.5 - } - \context { - \Staff - \remove "Time_signature_engraver" - \override BarLine #'transparent = ##t - } - \context { - \Lyrics - \override LyricText #'font-family = #'typewriter - \override LyricText #'font-shape = #'upright - } +#(begin + + (define script-list (map car default-script-alist)) + + (define ignore + '("comma" + "varcomma")) + + (define ancient + '("ictus" + "accentus" + "circulus" + "semicirculus" + "signumcongruentiae")) + + (define articulations + '("accent" + "espressivo" + "marcato" + "portato" + "staccatissimo" + "staccato" + "tenuto")) + + (define ornaments + '("prall" + "mordent" + "prallmordent" + "turn" + "upprall" + "downprall" + "upmordent" + "downmordent" + "lineprall" + "prallprall" + "pralldown" + "prallup" + "reverseturn" + "trill")) + + (define instrument-specific + '("upbow" + "downbow" + "flageolet" + "thumb" + "snappizzicato" + "open" + "halfopen" + "stopped" + "lheel" + "rheel" + "ltoe" + "rtoe")) + + (define fermatas + '("shortfermata" + "fermata" + "longfermata" + "verylongfermata")) + + (define repeats + '("segno" + "coda" + "varcoda")) + + + ;; remove all remaining groups from the script-list + (for-each + (lambda (x) (set! script-list (delete x script-list))) + (append ignore + ancient + articulations + ornaments + instrument-specific + fermatas + repeats)) + + ;; require all scripts to appear here + (if (pair? script-list) ; script-list should be empty by now + (ly:error + (_ "Unlisted scripts in Documentation/included/script-chart.ly: ~A") + script-list)) + + + ;;;;;;; functions to generate the tables + + ;;; notes + + (define (make-script-note script) + (make-event-chord + (list (make-music + 'NoteEvent + 'duration + (ly:make-duration 2 0 1 1) + 'pitch + (ly:make-pitch 0 0 0)) + (make-music + 'ArticulationEvent + 'direction + ;; everything goes up except "ictus" + (if (string=? script "ictus") -1 1) + 'articulation-type + script)))) + + (define (make-script-notes scripts) + (make-sequential-music + (map make-script-note scripts))) + + (define (make-scripts-voice-context scripts) + (let ((music (make-script-notes scripts))) + (context-spec-music music 'Voice "voiceA"))) + + (define (make-scripts-vaticana-context scripts) + (let ((music (make-script-notes scripts))) + (context-spec-music music 'VaticanaVoice "voiceA"))) + + + ;;; lyrics + + (define (make-script-lyric script) + (make-event-chord + (list (make-music + 'LyricEvent + 'duration + (ly:make-duration 2 0 1 1) + 'text + script)))) + + (define (make-script-lyrics scripts) + (make-sequential-music + (map make-script-lyric scripts))) + + (define (make-scripts-lyrics-context scripts) + (let ((music (make-script-lyrics scripts))) + (context-spec-music music 'Lyrics "voiceA"))) + + + ;;; combining notes and lyrics + + (define (make-scripts-staff scripts) + (make-simultaneous-music + (list (make-scripts-voice-context scripts) + (make-scripts-lyrics-context scripts)))) + + (define (make-scripts-staff-ancient scripts) + (make-simultaneous-music + (list (make-scripts-vaticana-context scripts) + (make-scripts-lyrics-context scripts)))) + +) % end of (begin ...) + +\layout { + line-width = 5.1\in + indent = 0.0\mm + \context { + \Score + timing = ##f + barAlways = ##t + \override NonMusicalPaperColumn #'padding = #2.5 + \override PaperColumn #'keep-inside-line = ##t + } + \context { + \RhythmicStaff + \remove "Time_signature_engraver" + \override BarLine #'transparent = ##t + \override Stem #'direction = #down + } + \context { + \Lyrics + \override LyricText #'font-family = #'typewriter + \override LyricText #'font-shape = #'upright + } + \context { + \VaticanaVoice + \override Script #'padding = #0 } } + + +scriptStaff = +#(define-music-function (parser location scripts) (list?) + (make-scripts-staff scripts)) + +scriptStaffAncient = +#(define-music-function (parser location scripts) (list?) + (make-scripts-staff-ancient scripts)) diff --git a/Documentation/notation/notation-appendices.itely b/Documentation/notation/notation-appendices.itely index 452cd7708b..b18810e872 100644 --- a/Documentation/notation/notation-appendices.itely +++ b/Documentation/notation/notation-appendices.itely @@ -859,39 +859,124 @@ The following styles may be used for note heads. @node List of articulations @appendixsec List of articulations + @cindex accent -@cindex marcato -@cindex staccatissimo +@cindex accentus +@cindex circulus +@cindex coda +@cindex downbow +@cindex downmordent +@cindex downprall @cindex espressivo @cindex fermata -@cindex stopped -@cindex staccato -@cindex portato -@cindex tenuto -@cindex upbow -@cindex downbow -@cindex foot marks -@cindex organ pedal marks -@cindex turn -@cindex open -@cindex halfopen -@cindex stopped @cindex flageolet -@cindex reverseturn -@cindex trill -@cindex prall +@cindex halfopen +@cindex ictus +@cindex lheel +@cindex lineprall +@cindex longfermata +@cindex ltoe +@cindex marcato @cindex mordent -@cindex prallprall +@cindex open +@cindex portato +@cindex prall +@cindex pralldown @cindex prallmordent -@cindex prall, up -@cindex prall, down -@cindex thumb marking +@cindex prallprall +@cindex prallup +@cindex reverseturn +@cindex rheel +@cindex rtoe @cindex segno -@cindex coda +@cindex semicirculus +@cindex shortfermata +@cindex signumcongruentiae +@cindex snappizzicato +@cindex staccatissimo +@cindex staccato +@cindex stopped +@cindex tenuto +@cindex thumb +@cindex trill +@cindex turn +@cindex upbow +@cindex upmordent +@cindex upprall @cindex varcoda +@cindex verylongfermata + +The following scripts are available in the Feta font and may be +attached to notes (eg. @samp{c\accent}). + +@c Articulations and ornamentations +@c Fingering instructions (for "thumb") +@c Common notation for unfretted strings +@c Bowing indications +@c Harmonics +@c Snap (Bartók) pizzicato +@c Custom percussion staves (for "halfopen" -- not yet funindexed) +@c References for wind instruments (for "open"/"stopped" -- not yet funindexed) + + +@menu +* Articulation scripts:: +* Ornament scripts:: +* Fermata scripts:: +* Instrument-specific scripts:: +* Repeat sign scripts:: +* Ancient scripts:: +@end menu -@lilypondfile[quote,texidoc]{script-chart.ly} +@node Articulation scripts +@unnumberedsubsec Articulation scripts + +@lilypond[quote] +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #articulations } +@end lilypond + +@node Ornament scripts +@unnumberedsubsec Ornament scripts + +@lilypond[quote] +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #ornaments } +@end lilypond + +@node Fermata scripts +@unnumberedsubsec Fermata scripts + +@lilypond[quote] +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #fermatas } +@end lilypond + +@node Instrument-specific scripts +@unnumberedsubsec Instrument-specific scripts + +@lilypond[quote] +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #instrument-specific } +@end lilypond + +@node Repeat sign scripts +@unnumberedsubsec Repeat sign scripts + +@lilypond[quote] +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #repeats } +@end lilypond + +@node Ancient scripts +@unnumberedsubsec Ancient scripts + +@lilypond[quote] +\include "script-chart.ly" +\include "gregorian.ly" +\new VaticanaStaff { \scriptStaffAncient #ancient } +@end lilypond @node Percussion notes -- 2.39.5