• 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ü

Gelöst: Endbalken bei Mensuralnotation

Begonnen von Joei, Mittwoch, 23. März 2016, 13:31

Vorheriges Thema - Nächstes Thema

Joei

Moin,

in einer Mensuralnotation habe ich das Problem, dass die Stimmen unterschiedlich enden (in einer Mehrtaktnote beispielsweise einer Longa...) und die jeweilig "angekommene" Stimme einfach "liegenbleibt".  Das ergibt unschöne Leertakte am Ende - wie kann ich die vermeiden?




\version "2.18.2"

#(define-bar-line ":|." ":|." #f "  |")
#(define-bar-line ".|:" "|" ".|:" "| ")
#(define-bar-line ":|.|:" ":|." ".|:" "  |  ")


\layout {

  \context {
    \Staff
    \override BarLine.thick-thickness = 1.9
    \override BarLine.bar-extent = #'(-1 . 1)
  }
}

mus_a = {
  \hide Staff.BarLine
  g'1   \once \override Voice.NoteHead.style = #'neomensural f'\longa
\undo \hide Staff.BarLine
\revert Staff.BarLine.thick-thickness
\revert Staff.BarLine.bar-extent
  \bar "|."
}

mus_b = {
  \hide Staff.BarLine
  \once \override Voice.NoteHead.style = #'neomensural f'\longa
  \undo \hide Staff.BarLine
\revert Staff.BarLine.thick-thickness
\revert Staff.BarLine.bar-extent
  \bar "|."
}

\new StaffGroup
<<
  \new Staff \mus_a
  \new Staff \mus_b
>>


Danke,
Joei

fugenkomponist

#1
Notenwerte lassen sich skalieren: Wert*Faktor, dabei kann Faktor eine ganze Zahl oder ein Bruch sein. Und man kann sogar mehrere Faktoren hintereinander dranmultiplizieren.

Beispiele:
R8*7        % Ganztaktpause im 7/8-Takt
R8*7*5      % 5 Takte Pause im 7/8-Takt
s2.*32      % 32 Takte unsichtbare Pause im 3/4-Takt
c8*2/3 d e  % triolische Achtel ohne Zahl (und evtl. Triolenklammer)
f\longa*1/4 % eine Longa (Vierfachganze) auf 1/4 des Werts (Ganze) skaliert

Du bräuchtest also hier \longa*1/4 in der oberen und \longa*1/2 in der unteren Stimme.

Edit: Ich wusste, wonach ich suchen muss, kam also mit dem Code schnell klar; aber oft hilft es, ein wesentlich kleineres, möglichst minimales Codebeispiel anzugeben. In diesem Fall sind eigentlich alle Änderungen zu Taktstrichen und Notenkopfstilen wurscht, ein Beispiel könnte also so aussehen:
\version "2.18.2"

mus_a = {
  g'1
  f'\longa
  \bar "|."
}

mus_b = {
  f'\longa
  \bar "|."
}

\new StaffGroup
<<
  \new Staff \mus_a
  \new Staff \mus_b
>>

Joei

super, vielen Dank, lieber Fugenkomponist!
Mit dem Ganzzahligen Multiplizieren kannte ich, aber auf den Bruch bin ich nicht gekommen.

Ich habe das Beispiel bewusst nicht auf ein Minimalbeispiel reduiziert, ich war unsicher, ob es da ggf. Abweichungen durch die Taktstriche und den Notenstil gibt - beide hängen ja direkt mit dem Thema zusammen.

Also, vielen Dank - hat wunderbar funktioniert!

Joei

ingmar

Es gäbe noch einen anderen Ansatz. Man kann im unteren System auch einfach die fehlende Länge unsichtbar addieren. Also in die vorletzte Zeile von mus_b noch "s1" hinzufügen.

--ingmar

fugenkomponist

Dafür müssen dann aber beide trotzdem um Faktor 1/4 skaliert werden, weil ja sonst mehr Takte dastehen als sollen. Und im MIDI ist die Pause dann auch hörbar ...