"
}
-\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))
@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