* homophony::
* hook::
* hymn meter::
+* incomplete dominant seventh chord::
* interval::
* inversion::
* inverted interval::
scale), subdominant (S, the chord on the fourth note), and dominant (D, the
chord on the fifth note). Others are considered to be variants of the base
chords.
-
-TODO: what does the @q{p} mean in Sp, Dp, Tp?
+A few examples among many others are the tonic, subdominant or dominant of
+the parallel minor scale, or the incomplete dominant seventh chord.
@lilypond[quote,notime,relative=2,line-width=13.0\cm]
+#(define-markup-command (diagonal-stroke layout props arg)
+ (markup?)
+ #:category font
+ #:properties ((font-size 0) (thickness 1.5) (extension 0.07))
+ (let*
+ ((thick (* (magstep font-size)
+ (ly:output-def-lookup layout 'line-thickness)))
+ (underline-thick (* thickness thick))
+ (markup (interpret-markup layout props arg))
+ (x1 (car (ly:stencil-extent markup X)))
+ (x2 (cdr (ly:stencil-extent markup X)))
+ (y1 (car (ly:stencil-extent markup Y)))
+ (y2 (cdr (ly:stencil-extent markup Y)))
+ (dx (* extension (- x2 x1)))
+ (dy (* extension (- y2 y1)))
+ (line (make-line-stencil underline-thick
+ (- x1 dx) (- y1 dy)
+ (+ x2 dx) (+ y2 dy))))
+ (ly:stencil-add markup line)))
<<
{
<g e c>1 <a f d> <b g e>
}
\lyrics {
T Sp Dp S D Tp
- \markup { D \translate #'(-2 . 0) | }
+ \markup { \concat { \diagonal-stroke D \super "7" } }
}
>>
@end lilypond
@seealso
-No cross-references.
+@ref{dominant}, @ref{incomplete dominant seventh chord},
+@ref{subdominant}, @ref{tonic}.
@node G
No cross-references.
+@node incomplete dominant seventh chord
+@section incomplete dominant seventh chord
+
+ES: ?,
+I: ?,
+F: ?,
+D: verkürzter Dominantseptakkord,
+NL: ?,
+DK: ?,
+S: ?,
+FI: ?.
+
+A dominant seventh chord where the root tone is removed.
+The remaining three tones build a diminished triad.
+
+@seealso
+@ref{chord}, @ref{dominant seventh chord}, @ref{functional harmony}.
+
+
@node interval
@section interval
(check-pitch-against-signature context pitch barnum laziness octaveness))
(define (key-entry-notename entry)
- "Return the pitch of an entry in localKeySignature. The entry is either of the form
- '(notename . alter) or '((octave . notename) . (alter barnum . measurepos))."
- (if (number? (car entry))
- (car entry)
- (cdar entry)))
+ "Return the pitch of an @var{entry} in @code{localKeySignature}.
+The @samp{car} of the entry is either of the form @code{notename} or
+of the form @code{(octave . notename)}. The latter form is used for special
+key signatures or to indicate an explicit accidental.
+
+The @samp{cdr} of the entry is either a rational @code{alter} indicating
+a key signature alteration, or of the form
+@code{(alter . (barnum . measurepos))} indicating an alteration caused by
+an accidental in music."
+ (if (pair? (car entry))
+ (cdar entry)
+ (car entry)))
(define (key-entry-octave entry)
- "Return the octave of an entry in localKeySignature (or #f if the entry does not have
- an octave)."
+ "Return the octave of an entry in @code{localKeySignature}
+or @code{#f} if the entry does not have an octave.
+See @code{key-entry-notename} for details."
(and (pair? (car entry)) (caar entry)))
(define (key-entry-bar-number entry)
- "Return the bar number of an entry in localKeySignature (or #f if the entry does not
- have a bar number)."
- (and (pair? (car entry)) (caddr entry)))
+ "Return the bar number of an entry in @code{localKeySignature}
+or @code {#f} if the entry does not have a bar number.
+See @code{key-entry-notename} for details."
+ (and (pair? (cdr entry)) (caddr entry)))
(define (key-entry-measure-position entry)
- "Return the measure position of an entry in localKeySignature (or #f if the entry does
- not have a measure position)."
- (and (pair? (car entry)) (cdddr entry)))
+ "Return the measure position of an entry in @code{localKeySignature}
+or @code {#f} if the entry does not have a measure position.
+See @code{key-entry-notename} for details."
+ (and (pair? (cdr entry)) (cdddr entry)))
(define (key-entry-alteration entry)
"Return the alteration of an entry in localKeySignature.
For convenience, returns @code{0} if entry is @code{#f}."
(if entry
- (if (number? (car entry))
+ (if (number? (cdr entry))
(cdr entry)
(cadr entry))
0))
(set! (ly:context-property context 'localKeySignature)
(map-in-order
(lambda (entry)
- (let* ((localalt (key-entry-alteration entry))
- (localoct (key-entry-octave entry)))
+ (let* ((localalt (key-entry-alteration entry)))
(if (or (accidental-invalid? localalt)
- (not localoct)
+ (not (key-entry-bar-number entry))
(= localalt
(key-entry-alteration
(find-pitch-entry
keysig
- (ly:make-pitch localoct
+ (ly:make-pitch (key-entry-octave entry)
(key-entry-notename entry)
0)
#t #t))))