From 363fcb320d75d25385304411da22efe9eac23436 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 +++++++++++++++++----- Documentation/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 6300d32..5ebffc4 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 452cd77..b18810e 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 address@hidden marcato address@hidden staccatissimo address@hidden accentus address@hidden circulus address@hidden coda address@hidden downbow address@hidden downmordent address@hidden downprall @cindex espressivo @cindex fermata address@hidden stopped address@hidden staccato address@hidden portato address@hidden tenuto address@hidden upbow address@hidden downbow address@hidden foot marks address@hidden organ pedal marks address@hidden turn address@hidden open address@hidden halfopen address@hidden stopped @cindex flageolet address@hidden reverseturn address@hidden trill address@hidden prall address@hidden halfopen address@hidden ictus address@hidden lheel address@hidden lineprall address@hidden longfermata address@hidden ltoe address@hidden marcato @cindex mordent address@hidden prallprall address@hidden open address@hidden portato address@hidden prall address@hidden pralldown @cindex prallmordent address@hidden prall, up address@hidden prall, down address@hidden thumb marking address@hidden prallprall address@hidden prallup address@hidden reverseturn address@hidden rheel address@hidden rtoe @cindex segno address@hidden coda address@hidden semicirculus address@hidden shortfermata address@hidden signumcongruentiae address@hidden snappizzicato address@hidden staccatissimo address@hidden staccato address@hidden stopped address@hidden tenuto address@hidden thumb address@hidden trill address@hidden turn address@hidden upbow address@hidden upmordent address@hidden upprall @cindex varcoda address@hidden verylongfermata + +The following scripts are available in the Feta font and may be +attached to notes (eg. @samp{c\accent}). + address@hidden Articulations and ornamentations address@hidden Fingering instructions (for "thumb") address@hidden Common notation for unfretted strings address@hidden Bowing indications address@hidden Harmonics address@hidden Snap (Bartók) pizzicato address@hidden Custom percussion staves (for "halfopen" -- not yet funindexed) address@hidden References for wind instruments (for "open"/"stopped" -- not yet funindexed) + + address@hidden +* Articulation scripts:: +* Ornament scripts:: +* Fermata scripts:: +* Instrument-specific scripts:: +* Repeat sign scripts:: +* Ancient scripts:: address@hidden menu address@hidden,texidoc]{script-chart.ly} address@hidden Articulation scripts address@hidden Articulation scripts + address@hidden +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #articulations } address@hidden lilypond + address@hidden Ornament scripts address@hidden Ornament scripts + address@hidden +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #ornaments } address@hidden lilypond + address@hidden Fermata scripts address@hidden Fermata scripts + address@hidden +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #fermatas } address@hidden lilypond + address@hidden Instrument-specific scripts address@hidden Instrument-specific scripts + address@hidden +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #instrument-specific } address@hidden lilypond + address@hidden Repeat sign scripts address@hidden Repeat sign scripts + address@hidden +\include "script-chart.ly" +\new RhythmicStaff { \scriptStaff #repeats } address@hidden lilypond + address@hidden Ancient scripts address@hidden Ancient scripts + address@hidden +\include "script-chart.ly" +\include "gregorian.ly" +\new VaticanaStaff { \scriptStaffAncient #ancient } address@hidden lilypond @node Percussion notes -- 1.6.3.3