Abraham:

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

My current file layout is like this:


*formato.ly*

   \version "2.19.15"

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

   \layout {
        % some overrides here
   }

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



*voice_with_piano_example.ly*

   \include "formato.ly"

   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 /formato.ly/
          \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
            \pianoIzq
          }
        >>
      >>
   }

But now I've realized that \score should be declared in a separate file, something like*/voz_y_piano.ly/*, 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,
Víctor.


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

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 {
\Score
\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:

%%% file1.ly <http://file1.ly>

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

\include "formato.ly <http://formato.ly>"

%%% file2.ly <http://file2.ly>

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

\include "formato.ly <http://formato.ly>"

%%% formato.ly <http://formato.ly>

\paper {
  indent = 0
}

\layout {
\override SomeThing.property = 1.5
\override SomeThingElse.property = 0
}

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

%%% masterfile.ly <http://masterfile.ly>

\include "file1.ly <http://file1.ly>"
\include "file2.ly <http://file2.ly>"

%%%

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] </user/SendEmail.jtp?type=node&node=178515&i=0>> 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 <https://github.com/jperon/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 /formato.ly
    <http://formato.ly>/, 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 /formato.ly
    <http://formato.ly>/. 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.
    Víctor

    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]
    <http:///user/SendEmail.jtp?type=node&node=178514&i=0>> 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 %
     \violinMusic
    }

    Chris

    On 8 July 2015 at 09:58, Robert Schmaus <[hidden email]
    <http:///user/SendEmail.jtp?type=node&node=178514&i=1>> 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 }
                }

        \score{
            <<
              \violinStaff
              \celloStaff
            >>
        }

        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]
        <http:///user/SendEmail.jtp?type=node&node=178514&i=2>
        > https://lists.gnu.org/mailman/listinfo/lilypond-user

        _______________________________________________
        lilypond-user mailing list
        [hidden email]
        <http:///user/SendEmail.jtp?type=node&node=178514&i=3>
        https://lists.gnu.org/mailman/listinfo/lilypond-user




    _______________________________________________
    lilypond-user mailing list
    [hidden email]  <http:///user/SendEmail.jtp?type=node&node=178514&i=4>
    https://lists.gnu.org/mailman/listinfo/lilypond-user


    _______________________________________________
    lilypond-user mailing list
    [hidden email] <http:///user/SendEmail.jtp?type=node&node=178514&i=5>
    https://lists.gnu.org/mailman/listinfo/lilypond-user


    ------------------------------------------------------------------------
    If you reply to this email, your message will be added to the
    discussion below:
    
http://lilypond.1069038.n5.nabble.com/Switching-on-off-instrument-staff-tp178484p178514.html

    To start a new topic under User, email [hidden email]
    </user/SendEmail.jtp?type=node&node=178515&i=1>
    To unsubscribe from Lilypond, click here.
    NAML
    
<http://lilypond.1069038.n5.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>




------------------------------------------------------------------------
View this message in context: Re: Switching on/off instrument staff <http://lilypond.1069038.n5.nabble.com/Switching-on-off-instrument-staff-tp178484p178515.html> Sent from the User mailing list archive <http://lilypond.1069038.n5.nabble.com/User-f3.html> at Nabble.com.


_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to