Clip systems: Difference between revisions

Import snippet from LSR
 
mNo edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This code shows how to clip (extract) snippets from a full score.
This code shows how to clip (extract) snippets from a full score.


This file needs to be run separately with <code>-dclip-systems</code>; the snippets page may not adequately show the results. The result will be files named ''<code>base</code>''<code>-from-</code>''<code>start</code>''<code>-to-</code>''<code>end</code>''<code>[-</code>''<code>count</code>''<code>].eps</code>.
This file needs to be run separately with <code>-dclip-systems</code>. <span class="nodoc">Note that the output cannot be shown on this Wiki due to technical limitations.</span> The result will be files named <code><var>base</var>-from-<var>start</var>-to-<var>end</var>[-<var>count</var>].eps</code>.


If system starts and ends are included, they include extents of the System grob, e.g., instrument names.
If system starts and ends are included, they include extents of the <code>System</code> grob, e.g., instrument names.


Grace notes at the end point of the region are not included.
Grace notes at the end point of the region are not included.
Line 9: Line 9:
Regions can span multiple systems. In this case, multiple EPS files are generated.
Regions can span multiple systems. In this case, multiple EPS files are generated.


<lilypond version="2.24.0">
<pre>
\version "2.24"
 
#(set-default-paper-size "a6" 'landscape)
\layout {
  indent = 2.4\cm
}
 
#(ly:set-option 'clip-systems)
#(ly:set-option 'clip-systems)
#(ly:set-option 'separate-page-formats 'ps)
#(ly:set-option 'separate-page-formats 'ps)
#(define output-suffix "1")
#(define output-suffix "1")


origScore = \score {
origScore = \new Staff \with { instrumentName = "Instrument" }
  \relative c' {
\relative c' {
    \new Staff \with { instrumentName = "Instrument" }
  c1
    c1
  d1
    d1
  \grace c16 e1
    \grace c16 e1
  \key d \major f1 \break
    \key d \major
 
    f1 \break
  \clef bass g,1
    \clef bass
  fis1
    g,1
    fis1
  }
}
}


Line 33: Line 37:
     \layout {
     \layout {
       % Each clip-region is a (START . END) pair
       % Each clip-region is a (START . END) pair
       % where both are rhythmic-locations.
       % where both are rhythmic locations. Syntax:
 
      %
       % (make-rhythmic-locations BAR-NUMBER NUM DEN)
       %   (make-rhythmic-locations BAR-NUMBER NUM DEN)
      %
       % means NUM/DEN whole-notes into bar numbered BAR-NUMBER
       % means NUM/DEN whole-notes into bar numbered BAR-NUMBER


       clip-regions = #(list
       clip-regions = #(list (cons (make-rhythmic-location 2 0 1)
      (cons
                                  (make-rhythmic-location 4 0 1))
      (make-rhythmic-location 2 0 1)
                            (cons (make-rhythmic-location 0 0 1)
      (make-rhythmic-location 4 0 1))
                                  (make-rhythmic-location 4 0 1))
 
                            (cons (make-rhythmic-location 0 0 1)
      (cons
                                  (make-rhythmic-location 6 0 1)))
      (make-rhythmic-location 0 0 1)
      (make-rhythmic-location 4 0 1))
 
      (cons
      (make-rhythmic-location 0 0 1)
      (make-rhythmic-location 6 0 1))
      )
     }
     }
   }
   }
Line 64: Line 62:
   \score {
   \score {
     \lyrics {
     \lyrics {
       \markup { from-2.0.1-to-4.0.1-clip.eps }
       "from-2.0.1-to-4.0.1-clip.eps"
       \markup {
       \markup \epsfile #X #30.0
        \epsfile #X #30.0 #(format #f "~a-1-from-2.0.1-to-4.0.1-clip.eps"
                      #(format #f "~a-1-from-2.0.1-to-4.0.1-clip.eps"
                            (ly:parser-output-name)) }
                                (ly:parser-output-name))
     }
     }
   }
   }
}
}
</lilypond>
</pre>


[[Category:Paper and layout]]
[[Category:Paper and layout]]
[[Category:Included in the official documentation]]
[[Category:Included in the official documentation]]
[[Category:Snippet]]