• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Taktart 4/4+3/4 und kein break

Begonnen von viertel, Freitag, 5. Dezember 2014, 14:14

Vorheriges Thema - Nächstes Thema

viertel

Hallo

Für einen vorhandenen Orchestersatz muß ich eine Stimme neu setzen.
Im Original wird als Taktart 4/4+3/4 verwendet, nicht 7/4. Außerden werden die Takte durch eine gestrichelte Hilfslinie geteilt (siehe Beispiel).
Meine beiden Probleme:
- Wie notiere ich die Taktart?
- Wie verhindere ich ein break an der Hilfstaktlinie?


\version "2.18.2"
\header{
title      = "Umbruch bei Hilfstaktstrich Takt 4 unerwünscht"
subtitle   = "Wie notiere ich Taktart 4/4+3/4 statt 7/4 ?"
}

Noten = { \repeat unfold #7 { c2 c4 b \bar "!" b as g } }

\score {
\new Staff {
\time 7/4 \set Timing.beamExceptions = #'() \set Timing.beatStructure = #'(2 2 3)
\relative c'' {
\Noten
}
}
\layout {}
}


Wäre schön, wenn es möglich wäre :)

Gruß vom 1/4

iugin

Hallo viertel

versuch mal so:
\version "2.18.2"
\header{
title      = "Umbruch bei Hilfstaktstrich Takt 4 unerwünscht"
subtitle   = "Wie notiere ich Taktart 4/4+3/4 statt 7/4 ?"
}

Noten = { \repeat unfold #7 { c2 c4 b \bar "!" \noBreak b as g } }


\score {
\new Staff {
  \time 7/4
\compoundMeter #'((4 4) (3 4))
\relative c'' {
\Noten
}
}
\layout {}
}


Liebe Grüsse

Eugenio

viertel

Hey, super, genau das isses!
Beinahe hätte ich noch das \noBreak übersehen.
Vielen Dank.

harm6

#3
Hi,

hier noch eine automatisierte Version, mittels scheme engraver, context-property etc
Die Stelle an der der zusätzliche Taktstrich zu setzen ist kann man wählen, genauso wie die Art des Taktstriches.
Die Anwendung sollte sich aus den Beispielen/Kommentaren selbst erklären.
Falls nicht, dann frag :)


\version "2.18.2"

#(define (define-translator-property symbol type? description)
  (if (not (and (symbol? symbol)
(procedure? type?)
(string? description)))
      (ly:error "error in call of define-translator-property"))
  (if (not (equal? (object-property symbol 'translation-doc) #f))
      (ly:error (_ "symbol ~S redefined") symbol))
  (set-object-property! symbol 'translation-type? type?)
  (set-object-property! symbol 'translation-doc description)
  symbol)

#(for-each
  (lambda (x)
    (apply define-translator-property x))
      `(
        (intermediate-bar-line
          ,boolean?
          "Should an intermediate bar-line be printed?")))

#(define*
  ((intermediate-bar-line-engraver moment #:optional (glyph "!")) context)
  "
   inserts additional BarLines at @var{moment}
   a line-break there is forbidden
   the bar-line-glyph to insert @var{glyph} is made optional, default is \"!\"
   limitation: no intermediate BarLine is printed, if a longer note continues
  "
   `(
     ;; Not sure if the following 'acknowledgers' is needed at all
     (acknowledgers
      (paper-column-interface
       . ,(lambda (engraver grob source-engraver)
            (let ((internal-bar
                    (ly:context-property context 'internalBarNumber))
                  (measurepos
                    (ly:context-property context 'measurePosition)))
            (if (eq? moment (ly:moment-main measurepos))
                (set! (ly:grob-property grob 'line-break-permission) '()))))))
                         
     (process-music
      . ,(lambda (engraver)
           (let ((measurepos
                   (ly:context-property context 'measurePosition))
                 (intermediate-bar-line?
                   (ly:context-property context 'intermediate-bar-line)))
             (if (and (= moment (ly:moment-main measurepos))
                      intermediate-bar-line?)
                 (let* ((event '())
                        (newgrob
                          (ly:engraver-make-grob engraver 'BarLine event)))
                   (set! (ly:grob-property newgrob 'glyph) glyph))))))))

#(define* (intermediateBars moment #:optional (glyph "!"))
"
shortcut to insert the @code{intermediate-bar-line-engraver} into layout
"
  #{
    \layout {
      \context {
        \Staff
        \consists #(intermediate-bar-line-engraver moment glyph)
      }
    }
  #})
                   
intermediateBarLineOff = \set Score.intermediate-bar-line = ##f
intermediateBarLineOn = \unset Score.intermediate-bar-line

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  EXAMPLES
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\paper { ragged-last-bottom = ##f }

\header {
  title = \markup \column { "intermediate-bar-line-engraver" \vspace #2 }
}

\layout { \override TextScript.font-size = #-2 }

Noten = { \repeat unfold #7 { c2 c4 b b as g } }

annotation =
<>^\markup
    \override #'(baseline-skip . 2)
    \rounded-box
    \column { "Intermediate BarLine" "is unset in this bar." }

staff =
  \new Staff {
    \compoundMeter #'((4 4) (3 4))
    \set Timing.beamExceptions = #'()
    \set Timing.beatStructure = #'(2 2 3)
    \relative c'' {
      \Noten
      \intermediateBarLineOff
      \annotation
      \repeat unfold 14 c8
      \intermediateBarLineOn
      \Noten
      }
    }

\score {
  \staff
  \layout { $(intermediateBars 4/4) }
  %% omitting \layout would work as well
  %$(intermediateBars 4/4)
  \header {
    piece =
      \markup \bold
      "Example 1, dashed BarLine after 4th quarter"
  }
}

\score {
  \staff
  \layout { $(intermediateBars 3/4) }
  \header {
    piece =
      \markup \bold
      "Example 2, dashed BarLine after 3rd quarter"
  }
}

\score {
  \staff
  \layout { $(intermediateBars 4/4 "||") }
  \header {
    piece =
      \markup \bold
      "Example 3, dashed BarLine after 4th quarter plus
other intermediate BarLine"
  }
}

\score {
  \new Staff { \compoundMeter #'((4 4) (3 4)) c2.~ c1 c2.~ c1 }
  \layout { $(intermediateBars 4/4 "||") }
  \header {
    piece =
      \markup \bold
      "Example 4, Limitation: no intermediate BarLine is printed,
if a longer note continues."
  }
}

HTH,
  Harm