lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ambitus in only one part


From: Juergen Reuter
Subject: Re: ambitus in only one part
Date: Thu, 21 Aug 2003 00:01:28 +0200 (CEST)

> I'm doing a piece for voice with keyboard, and I'd like to have an
> ambitus on the voice part, but not on the keyboard.  I thought that if
> I set the Voice.breakAlignOrder to include ambitus on the vocal but
> not the keyboard voices, that would do it, but in 1.8 I'm getting
> silly ambiti on the keyboard parts.  Does anyone have any ideas?

Good point!  Try the example below.

Explanation of the example: The problem has nothing to do with
breakAlignOrder; this usually always has some default value.  Instead, you
want to have two different flavours of a Voice context: the default one
and a different one that additionally contains the ambitus engraver.  You
can do this by defining a new context, which I call VoiceWithAmbitus in
the example below.  It is derived from the standard Voice context and only
differs in that it also contains the ambitus engraver.  To integrate this
newly defined context into LilyPond's hierarchy of contexts, you have to
make the parent context(s) accept the new context as a child.  In the
example below, this is done by making the Staff context accept the newly
defined context as a child.

BTW, upon questions on ancient notation, ambitus, etc. you may want to cc:
to me, since I am lurking on lilypond-user not that frequently.

BTW2, the plural form of ambitus is ambitus with a long "u", since, as far
as I know, this word follows the u declination rules rather than the o
declination rules.

Greetings,
Juergen



\version "1.8.0"

voiceOne = \notes \relative c' {
  e f g a g f d c
}

voiceTwo = \notes \relative c' {
  c d e f e d b c
}

\score {
  \context ChoirStaff <
    \context VoiceWithAmbitus = voiceOne { \voiceOne }
    \context Voice = voiceTwo { \voiceTwo }
  >
  \paper {
    \translator {
      \VoiceContext
      \name "VoiceWithAmbitus"
      \alias "Voice"
      \consists Ambitus_engraver
    }
    \translator {
      \StaffContext
      \accepts "VoiceWithAmbitus"
    }
  }
}





reply via email to

[Prev in Thread] Current Thread [Next in Thread]