[Top][All Lists]

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

Re: Switching on/off instrument staff

From: Víctor
Subject: Re: Switching on/off instrument staff
Date: Wed, 08 Jul 2015 12:25:58 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0


You just gave me a wonderful solution, I'll explain myself:

My current file layout is like this:

\version "2.19.15"

\include ""    % file with lots of snippets (really)
\include ""  % typographies

\layout {
    % some overrides here

% some format snippets here:
formatoPerc = { \stemDown }

\include ""

control { } % this normaly stays empty, but can be used to add code to the voice without "polluting" it

voz = { a4 b c }
verso = \lyricmode { la la la }

pianoDer = { a4 b c }
pianoIzq = {a4 b c }

dinamicas = { s4\pp s4 s4\f } % some dynamics here

\score {
    \new Staff \with { instrumentName = \vozSolo } << % this variable is defined in
      \new Voice \voz
      \addlyrics \verso
      \new Voice \control
    \new PianoStaff \with { instrumentName = \pianoIns } <<
      \new Staff = "MD" <<
        \new Voice \pianoDer
        \new Dynamics \dinamicas
      \new Staff = "MI" {
        \clef bass
But now I've realized that \score should be declared in a separate file, something like, and there I can easely comment out the piano staff for all my files at once, avoiding both pain and human mistakes.

Thanks again to all of you for your support. Best regards,

El 08/07/15 a las 11:33, tisimst escribió:

You have gotten some great advice. Sorry they don't work for you. As I've been thinking about your dilemma I wondered if you could just do something like

\layout {
  \context {
    \denies "PianoStaff"

on the top-level to remove the PianoStaff altogether (assuming this is how you built the piano part), but that doesn't do it either. This would be the kind of solution you would be looking for. Sorry it doesn't work like I postulated. I think I have a solution, but seeing a tiny example of a couple of files the exemplify your work-flow may help us out. Just put them in the body of an email like this:

voicePart = { c1 }
pianoRH = { c1 }
pianoLH = { c1 }

\include ""

voicePart = { b1 }
pianoRH = { b1 }
pianoLH = { b1 }

\include ""

\paper {
  indent = 0

\layout { 
  \override = 1.5
  \override = 0

\score {
    \new Staff \voicePart
    \new PianoStaff <<
      \new Staff \pianoRH
      \new Staff \pianoLH
  \layout {}

\include ""
\include ""


I just made that up, of course. Thank you in advance for clarifying things so that we may help you better.
- Abraham

On Wed, Jul 8, 2015 at 9:44 AM, Víctor [via Lilypond] <[hidden email]> wrote:
Wow, so many answers. I think Rob's solution will be the most close to what I need, however I fear Abraham already answered my question.

I'll explain my problem further: I'm working in a three volume anthology for a singers school, each volume will come in two versions, one for the professor and the other for the student. The professor's version must have all voice piano parts, while the student's should only have the voice part. Now, because this is a very large project that includes gregorian scores, a lot of text and some didactics, I've decide to assemble the book in LuaLaTeX using lyluatex package (a recent replacement for lilypond-book). So all lilypond files (about 80 right now, but they will be something like 200 in the end) are configured from a single style sheet named, wich contains all snippets, formats, etc. So what I am looking for, is a snippet that can disable all piano parts across the project from a single line in such To replace the \score block in all of the files could be both painful and dangerous, but I prefer to do it right now than later, when there will be much more of them; and since all files are generated from a template, I can just replace it with any text editor.

Anyway, if somebody has an idea of how to make this, I'll really apreciate.
Thanks to all for your answers, best regards.

El 08/07/15 a las 07:00, Robert Schmaus escribió:
Hi Chris, 

The tag method is a fantastic tool in many cases, so it's great to be aware of it. Just in this particular case it's maybe not the easiest way to go. 

Yeah, that's how I mostly use variables as well - placing just the music in variables and then, in the score block, build up a 

\new StaffGroup <<
  \new Staff \new Voice \someMusic 
  \new Staff <<
     \new Voice { \voiceOne \moreMusic }
    \new Voice { \voiceTwo \yetMoreMusic }

I find this a very clear structure ... and it allows me to have a "complete" template where you just comment out  all \Staffs you don't need in a particular case. 

Cheers, Rob


Truth does not change according to our ability to stomach it.
-- Flannery O'Connor

On 8 Jul 2015, at 13:11, Chris Yate <[hidden email]> wrote:

Hi Rob,

Wow, thanks, that's a much neater way. I think I should probably look at refactoring my band template.

I agree, my method is a bit complicated -- but it's bothering me a bit, because I think there was a reason I did it like this in the first place! Could well be an insufficient understanding at the time, of how variables work :-)

I do already use variables as:

violinMusic = { a b c d }

violinVoice = \new Voice {
 % voice setup stuff %


On 8 July 2015 at 09:58, Robert Schmaus <[hidden email]> wrote:
In addition to the suggested way with tags (which surely works, but
which I find overly complicated), a simpler way would be to simply place
the Staffs in variables and comment out the ones you don't want to have
in the next engraving. Like this:

violinStaff = \new Staff \with { instrumentName = "Violin" }{
            \relative c'' { c4 d e f }

celloStaff = \new Staff \with { instrumentName = "Cello" }{
            \relative c { c4 d e f }


IMO there's no need for a complicated tag structure, just go for a
simple approach. You will want to use a variable structure for any
non-trivial score anyway ...

Best, Rob

Am 07/07/15 um 17:42 schrieb Víctor:
> Hello Lilyponders:
> Is there a way to place a switch in some instrument part so it is not
> rendered when such switch is off? Something like:
> \score{
>     <<
>         \new Staff \with { instrumentName = "Violin" }{
>             \relative c'' { c4 d e f }
>         }
>         \new Staff \with { instrumentName = "Cello" }{
>             \relative c { c4 d e f }
>         }
>     >>
> }
> \layout{
>     \disableCello
> }
> Thanks,
> Víctor.
> _______________________________________________
> lilypond-user mailing list
> [hidden email]

lilypond-user mailing list
[hidden email]

lilypond-user mailing list
[hidden email]

lilypond-user mailing list
[hidden email]

If you reply to this email, your message will be added to the discussion below:
To start a new topic under User, email [hidden email]
To unsubscribe from Lilypond, click here.

View this message in context: Re: Switching on/off instrument staff
Sent from the User mailing list archive at

lilypond-user mailing list

reply via email to

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