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

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

Re: Q: Typesetting 4 parts with a 2 staff reduction


From: Rune Zedeler
Subject: Re: Q: Typesetting 4 parts with a 2 staff reduction
Date: Tue, 03 Apr 2001 11:26:59 +0200

David Petrou wrote:

> > >   staff version, since this is a choral fugue, I need to use slurs to
> > >   indicate melismas, but I want no slurs on the piano version, unless
> > >   of course I'm extending a note past a bar.
> >
> >      \context Staff=up < clef G; \property Staff.Slur \override
> > #'transparent = ##t
> 
> thanks.  that works great.  there may be some times that i need
> non-lyric-related slurs in the piano part, though.  like if i want to
> note something like: ds2( )ds8 b cs d within a measure.  i think i'll
> need to get Mats suggestion working for this type of hackery.

that is not nessesary. You can use \( and \) instead of ( and ) for the
slurs that you want to be typeset in both staves. (Someone on this list
will probably claim that this is not what they are meant for and that it
hence would be a dirty trick - but it works.)

> > >   Maybe I can define commands for the above adjustments with a
> > >   conditional, so that it's active depending on whether it's in the 4
> > >   staff or piano staff version.
> >
> > Lilypond don't support conditionals at the moment, just do the
> > changesindividually and put the common parts in variables.
> > If you really need the conditionals, you can save the common parts in
> > another file include it twice with different settings:
> >
> > \staffup = \notes {}
> > ...
> > \include "thenotes.ly"
> > \sopa = \sop
> > \alta = \alt
> > ...
> > \staffup = \notes {\stemDown \translator Staff=up }
> > ...
> > \include "thenotes.ly"
> 
> I don't see what problems this solves that can't be solved by the
> other suggestions to my problems.  By conditional, I mean something
> within a \notes that would do "if i'm in the piano staff, add these
> horizontal and vertical shifts, etc.".

This is exactly what the above does.
Every time you need a piano-staff-change you call \staffup or
\staffdown.
For the choir-part, \staffup does nothing ( i.e. \staffup = \notes {} )
and for the piano-staff it changes the staff.
In the score, ofcourse, you use \sopa, \alta, etc for the choir part and
\sop, \alt, etc for the piano part.
Notice that you in thenotes.ly use the macros \staffup and \staffdown
even though you define them in your main file - and do not define them
in thenotes.ly.

> This almost works.  First, I was more interested in reducing the size
> of the piano staff, not the other 4 staves.  But I tried reducing the
> four voices anyway to see how it would look.  Unfortunately, there's
> some weird reaction with the lyrics and I got lots of barcheck
> failures and unfeasible line breaks.  I'm too much of a lily butthead
> to figure out the problem.  If it would help, I could provide my music
> source.

> So, I tried making it work for the piano staff by \StaffContext above
> to \PianoStaffContext.  It almost works.  I need to figure out how to
> get one piano brace for both staves instead of individual braces.

Nonononono. Just do what I wrote.
The reason why it perhaps did not work is that I forgot a line. 
Add

\alias Staff;

to the SmallStaff translator - that is the Staff translator with name
SmallStaff. (I don't remember whether you need a semicolon or not)
DO NOT change staffcontext to pianostaffcontext.
If you want to use pianostaff instead of grandstaff, you must change
grandstaffcontext to pianostaffcontext, though.

If you cannot get it to work, please send your source to me - and I'll
take a look at it.

-Rune



reply via email to

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