gnu-music-discuss
[Top][All Lists]
Advanced

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

Bars


From: Juergen Reuter
Subject: Bars
Date: Fri, 20 Apr 2001 10:52:14 +0200

Hi, all!

Ok, I'm probably too late to request this for 1.4, but nevertheless
here it goes:

During development of 1.3.x, several people (including me) asked for
the possibility to typeset barlines only between staffs, but not on
the staffs.  The latest suggested solution that I can recall, was
something like:

\paper {
    \translator {
        \StaffContext
        \remove "Bar_engraver"
    }
    \translator {
        \LyricsContext
        \consists "Bar_engraver"
    }
}

I tried this once again on 1.3.149.  My score consists of four
StaffContexts and LyricsContexts (Soprano notes, Soprano lyrics,
Alto notes, Alto lyrics, Tenore notes, Tenore lyrics, Bassus notes,
Bassus lyrics).

If applied on a ChoirStaff, this does not show any effect.  On a
StaffGroup, however, the barlines start slightly below the first staff
(Is the y dimension of the StaffContext too big?  Or is there another
implicit context between the StaffContext and the LyricsContext that
I am not aware of?), and they stop even below the lowermost staff
(obviously because of the fourth LyricsContext; the barlines should
only be invisible *between* the staffs, i.e. on the first *three*
LyricsContexts).  So, this does not help me very much.

Then I got the idea to try
\property Voice.Bar \override #'transparent = ##t
within each StaffContext, but this also does not show any effect.

Conceptually, it would be nice to either

a) make the \override #'transparent working for all engravers in
   all contexts, or

b) let every context have its own instance of a translator rather
   than a shared instance as defined in the paper block for all
   contexts.

(Or both :-))
Implementing b) may result in syntax like the following:


myNotes = \context Staff = myNotes
          \remove "Bar_engraver"
<
    \notes \transpose c'' { ... }
>

Or, alternatively, to stick as close as possible to the current syntax,
one might think of something like:

myNotes = \context Staff = myNotes
<
    \notes \transpose c'' { ... }
>
\paper {
    \translator {
        \myNotes
        \remove "Bar_engraver"
    }
}

Of course, in either way, the bar engraver must ensure to engrave only
in the visible/active window of its context instance, with possibly a
number of bar engraver instances for each context making up a single
bar line.

Any comments are appreciated.

Greetings,
           Juergen



reply via email to

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