[prev in list] [next in list] [prev in thread] [next in thread] 

List:       lilypond-user
Subject:    Re:Combine these segments for same score
From:       Flaming Hakama by Elaine <elaine () flaminghakama ! com>
Date:       2018-12-22 1:06:53
Message-ID: CACX-=8wfN++YNwYMsDh8-oocAhUDyo+JVhSkU75K+nYfvqfe8w () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


---------- Forwarded message ----------
> From: Reggie <reegistoop@gmail.com>
> To: lilypond-user@gnu.org
> Cc:
> Bcc:
> Date: Fri, 21 Dec 2018 15:08:32 -0700 (MST)
> Subject: Re: Re:Combine these segments for same score
> Flaming Hakama by Elaine wrote
> > Yes, you can use tags for segmenting large works into smaller chunks.
> >
> > And it is possible to use them for other things as well.  Besides
> > segmenting the work, I use them for MIDI vs PDF, as well as Score vs
> Parts
> > (vs Lead Sheet), and sometimes for instrument-specific differences (in
> > instrumental doubled or transposed parts), all at the same time.
> >
> > This is something I practice.  I have a script that will create the
> > necessary files for the project that will compile a score and parts that
> > can be built into a blank project.  It relies on some templates, plus a
> > list of instruments.  It works fine enough that I haven't had to look for
> > another solution.
> > https://github.com/flaminghakama/lilypond-project-template
> >
> > Like any of the solutions discussed on the list, this is not a
> > one-size-fits-all bullet and requires wrangling with some decisions about
> > how you want to structure your content.  You will likely have to
> > deconstruct some of what you already have to work in any templating
> > system.  It is also somewhat of an iterative process, since you need to
> > start with a template of the global definitions and timings, before
> > setting
> > up the template used to generate the instrument-specific files of musical
> > content.
> >
> > In any case, your pain is felt.  But it is possible.  I generally do
> > scores
> > of 9-12 staves at 200-400 measures and it took me quite some time to
> > arrive
> > at a solution that works.
> >
> >
> > HTH,
> >
> > Elaine Alt
> > 415 . 341 .4954                                           "*Confusion is
> > highly underrated*"
>
> > elaine@
>
> > Producer ~ Composer ~ Instrumentalist
> >
> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
> >
> > _______________________________________________
> > lilypond-user mailing list
>
> > lilypond-user@
>
> > https://lists.gnu.org/mailman/listinfo/lilypond-user
>
> I am intrigued. How does one use the tag system for concatenating sections
> of the same piece for easy working and compiling speed during edit phase?
> Please, can you provide some code showing how to use tags like this I have
> only seen tags used for differences in music of the score for parts and so
> on.
>
> Tags for combining sections?!
>


So, here is the basic approach.

You need to divide up the entire piece in to secions, each enclosed in a
tag.

These tags need to be in a few places, basically any music or structural
things.  In this example, this includes global info, and then two
instruments.

Besides the tagged sections, we'll have tags for PDF vs MIDI, and Score vs
Part.


\version "2.18.2"

global = {
    \key d \major
    \tempo "Allegro"
    \tag SegmentA {
        \time 3/4
        \mark "A"
        s2.*8
        \bar "||"
        %  Here is something that will only be in the score, and not the
parts
        \tag #'Score { \pageBreak }
    }
    \tag SegmentB {
        \time 4/4
        \mark "B"
        s1*8
        \bar "|."
    }
}

violin = {
    \tag SegmentA \relative c'' {
        % Here we have different content for PDF vs MIDI
        \tag #'PDF {
            d2.\startTrillSpan d\stopTrillSpan
        }
        \tag #'MIDI {
            d16 e d e  d e d e  d e d e
            d2.
        }
        d2. d  d d d d
    }
    \tag SegmentB \relative c'' {
        e1 e e e e e e e
    }
}

bassoon = {
    \tag SegmentA {
        R2.*8
    }
    \tag SegmentB {
        c1 d e f
        %  Here we have content that is only for the part, not the score
        \tag #'Part { \break }
        g a b c
    }
}

% The Visual Score
\book {
    \bookOutputSuffix "Full-Score"
    \score {
        \header {
            piece = "Full Score, with score-only page break"
        }
        \keepWithTag #'(PDF Score
            SegmentA
            SegmentB
        ) <<
            \new Staff <<
                \global
                \violin
            >>
            \new Staff <<
                \clef bass
                \bassoon
            >>
        >>
        \layout {}
    }
}

% The Audio Score
\book {
    \bookOutputSuffix "Full-Score"
    \score {
        \header {
            piece = "MIDI score, with written-out trill"
        }
        \keepWithTag #'(MIDI Score
            SegmentA
            SegmentB
        ) <<
            \new Staff <<
                \global
                \violin
            >>
            \new Staff \bassoon
        >>
        \midi {}
    }
}

% The parts
\book {
    \bookOutputSuffix "Violin"
    \score {
        \header {
            piece = "Violin Part, with normal trill and no page break"
        }
        \keepWithTag #'(PDF Part
            SegmentA
            SegmentB
        ) \new Staff <<
            \global
            \violin
        >>
        \layout {}
    }
}

\book {
    \bookOutputSuffix "Bassoon"
    \score {
        \header {
            piece = "Bassoon Part, with part-only line break"
        }
        \keepWithTag #'(PDF Part
            SegmentA
            SegmentB
        ) \new Staff <<
            \global
            \clef bass
            \bassoon
        >>
        \layout {}
    }
}

%{
    The main point here is that you can limit what is compiled by
commenting out
    all the other section tags.  Here, we only compile segment B, by
commenting
    out SegmentA.
%}

\book {
    \bookOutputSuffix "Full-Score-Segment-B"
    \score {
        \header {
            piece = "Full Score, but only section B"
        }
        %{
            There are newer syntaxes available for specifying the list of
tags,
            but I suggeset using this old syntax since it supports this
approach
            of commenting out individual lines.
        %}
        \keepWithTag #'(PDF Score
            %SegmentA
            SegmentB
        ) <<
            \new Staff <<
                \global
                \violin
            >>
            \new Staff <<
                \clef bass
                \bassoon
            >>
        >>
        \layout {}
    }
}

HTH,



Elaine Alt
415 . 341 .4954                                           "Confusion is
highly underrated"
elaine@flaminghakama.com
Producer ~ Composer ~ Instrumentalist
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

[Attachment #5 (text/html)]

<div dir="ltr"><div dir="ltr"><div dir="ltr"><br clear="all"><br></div><div \
class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">---------- Forwarded \
message ----------<br>From: Reggie &lt;<a href="mailto:reegistoop@gmail.com" \
target="_blank">reegistoop@gmail.com</a>&gt;<br>To: <a \
href="mailto:lilypond-user@gnu.org" target="_blank">lilypond-user@gnu.org</a><br>Cc: \
<br>Bcc: <br>Date: Fri, 21 Dec 2018 15:08:32 -0700 (MST)<br>Subject: Re: Re:Combine \
these segments for same score<br>Flaming Hakama by Elaine wrote<br> &gt; Yes, you can \
use tags for segmenting large works into smaller chunks.<br> &gt; <br>
&gt; And it is possible to use them for other things as well.  Besides<br>
&gt; segmenting the work, I use them for MIDI vs PDF, as well as Score vs Parts<br>
&gt; (vs Lead Sheet), and sometimes for instrument-specific differences (in<br>
&gt; instrumental doubled or transposed parts), all at the same time.<br>
&gt; <br>
&gt; This is something I practice.  I have a script that will create the<br>
&gt; necessary files for the project that will compile a score and parts that<br>
&gt; can be built into a blank project.  It relies on some templates, plus a<br>
&gt; list of instruments.  It works fine enough that I haven&#39;t had to look \
for<br> &gt; another solution.<br>
&gt; <a href="https://github.com/flaminghakama/lilypond-project-template" \
rel="noreferrer" target="_blank">https://github.com/flaminghakama/lilypond-project-template</a><br>
 &gt; <br>
&gt; Like any of the solutions discussed on the list, this is not a<br>
&gt; one-size-fits-all bullet and requires wrangling with some decisions about<br>
&gt; how you want to structure your content.  You will likely have to<br>
&gt; deconstruct some of what you already have to work in any templating<br>
&gt; system.  It is also somewhat of an iterative process, since you need to<br>
&gt; start with a template of the global definitions and timings, before<br>
&gt; setting<br>
&gt; up the template used to generate the instrument-specific files of musical<br>
&gt; content.<br>
&gt; <br>
&gt; In any case, your pain is felt.  But it is possible.  I generally do<br>
&gt; scores<br>
&gt; of 9-12 staves at 200-400 measures and it took me quite some time to<br>
&gt; arrive<br>
&gt; at a solution that works.<br>
&gt; <br>
&gt; <br>
&gt; HTH,<br>
&gt; <br>
&gt; Elaine Alt<br>
&gt; 415 . 341 .4954                                           &quot;*Confusion \
is<br> &gt; highly underrated*&quot;<br>
<br>
&gt; elaine@<br>
<br>
&gt; Producer ~ Composer ~ Instrumentalist<br>
&gt; -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-<br>
 &gt; <br>
&gt; _______________________________________________<br>
&gt; lilypond-user mailing list<br>
<br>
&gt; lilypond-user@<br>
<br>
&gt; <a href="https://lists.gnu.org/mailman/listinfo/lilypond-user" rel="noreferrer" \
target="_blank">https://lists.gnu.org/mailman/listinfo/lilypond-user</a><br> <br>
I am intrigued. How does one use the tag system for concatenating sections<br>
of the same piece for easy working and compiling speed during edit phase?<br>
Please, can you provide some code showing how to use tags like this I have<br>
only seen tags used for differences in music of the score for parts and so<br>
on.<br>
<br>
Tags for combining sections?!<br></blockquote><div><br></div><br>So, here is the \
basic approach.<br><br>You need to divide up the entire piece in to secions, each \
enclosed in a tag.<br><br>These tags need to be in a few places, basically any music \
or structural <br>things.  In this example, this includes global info, and then two \
instruments.<br><br>Besides the tagged sections, we&#39;ll have tags for PDF vs MIDI, \
and Score vs Part.<br><br><br>\version &quot;2.18.2&quot;<br><br>global = { <br>    \
\key d \major<br>    \tempo &quot;Allegro&quot;<br>    \tag SegmentA { <br>        \
\time 3/4<br>        \mark &quot;A&quot;<br>        s2.*8<br>        \bar \
&quot;||&quot;<br>        %  Here is something that will only be in the score, and \
not the parts<br>        \tag #&#39;Score { \pageBreak } <br>    }<br>    \tag \
SegmentB { <br>        \time 4/4 <br>        \mark &quot;B&quot;<br>        s1*8<br>  \
\bar &quot;|.&quot;<br>    }<br>}<br><br>violin = { <br>    \tag SegmentA \relative \
c&#39;&#39; { <br>        % Here we have different content for PDF vs MIDI<br>        \
\tag #&#39;PDF { <br>            d2.\startTrillSpan d\stopTrillSpan<br>        }<br>  \
\tag #&#39;MIDI { <br>            d16 e d e  d e d e  d e d e <br>            d2.<br> \
}<br>        d2. d  d d d d <br>    }<br>    \tag SegmentB \relative c&#39;&#39; { \
<br>        e1 e e e e e e e <br>    }<br>}<br><br>bassoon = { <br>    \tag SegmentA \
{ <br>        R2.*8 <br>    }<br>    \tag SegmentB { <br>        c1 d e f  <br>       \
%  Here we have content that is only for the part, not the score<br>        \tag \
#&#39;Part { \break }<br>        g a b c<br>    }<br>}<br><br>% The Visual \
Score<br>\book { <br>    \bookOutputSuffix &quot;Full-Score&quot;<br>    \score {<br> \
\header {<br>            piece = &quot;Full Score, with score-only page \
break&quot;<br>        }    <br>        \keepWithTag #&#39;(PDF Score<br>            \
SegmentA<br>            SegmentB<br>        ) &lt;&lt;<br>            \new Staff \
&lt;&lt;<br>                \global<br>                \violin<br>            \
&gt;&gt;<br>            \new Staff &lt;&lt;<br>                \clef bass<br>         \
\bassoon<br>            &gt;&gt;<br>        &gt;&gt;<br>        \layout {}<br>    \
}<br>}<br><br>% The Audio Score<br>\book { <br>    \bookOutputSuffix \
&quot;Full-Score&quot;<br>    \score {<br>        \header {<br>            piece = \
&quot;MIDI score, with written-out trill&quot;<br>        }    <br>        \
\keepWithTag #&#39;(MIDI Score <br>            SegmentA<br>            SegmentB<br>   \
) &lt;&lt;<br>            \new Staff &lt;&lt;<br>                \global<br>          \
\violin<br>            &gt;&gt;<br>            \new Staff \bassoon<br>        \
&gt;&gt;<br>        \midi {}<br>    }<br>}<br><br>% The parts<br>\book { <br>    \
\bookOutputSuffix &quot;Violin&quot;<br>    \score {<br>        \header {<br>         \
piece = &quot;Violin Part, with normal trill and no page break&quot;<br>        }    \
<br>        \keepWithTag #&#39;(PDF Part <br>            SegmentA<br>            \
SegmentB<br>        ) \new Staff &lt;&lt;<br>            \global<br>            \
\violin<br>        &gt;&gt;<br>        \layout {}<br>    }<br>}<br><br>\book {<br>    \
\bookOutputSuffix &quot;Bassoon&quot;<br>    \score {<br>        \header {<br>        \
piece = &quot;Bassoon Part, with part-only line break&quot;<br>        }    <br>      \
\keepWithTag #&#39;(PDF Part <br>            SegmentA<br>            SegmentB<br>     \
) \new Staff &lt;&lt;<br>            \global<br>            \clef bass<br>            \
\bassoon<br>        &gt;&gt;<br>        \layout {}<br>    }<br>}<br><br>%{<br>    The \
main point here is that you can limit what is compiled by commenting out <br>    all \
the other section tags.  Here, we only compile segment B, by commenting <br>    out \
SegmentA.<br>%}<br><br>\book { <br>    \bookOutputSuffix \
&quot;Full-Score-Segment-B&quot;<br>    \score {<br>        \header {<br>            \
piece = &quot;Full Score, but only section B&quot;<br>        }    <br>        %{     \
<br>            There are newer syntaxes available for specifying the list of tags, \
<br>            but I suggeset using this old syntax since it supports this approach \
<br>            of commenting out individual lines.<br>        %}<br>        \
\keepWithTag #&#39;(PDF Score<br>            %SegmentA<br>            SegmentB<br>    \
) &lt;&lt;<br>            \new Staff &lt;&lt;<br>                \global<br>          \
\violin<br>            &gt;&gt;<br>            \new Staff &lt;&lt;<br>                \
\clef bass<br>                \bassoon<br>            &gt;&gt;<br>        \
&gt;&gt;<br>        \layout {}<br>    }<br>}<br><br>HTH, <br><br><br><br>Elaine \
Alt<br>415 . 341 .4954                                           &quot;Confusion is \
highly underrated&quot;<br><a \
href="mailto:elaine@flaminghakama.com">elaine@flaminghakama.com</a><br>Producer ~ \
Composer ~ Instrumentalist<br>-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-<br><br></div></div></div>




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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic