Deutschsprachiges LilyPond-Forum

Allgemeine Fragen und Probleme => Fragen und Probleme aller Art => Thema gestartet von: Manuela am Montag, 23. November 2020, 20:07

Titel: repeat volta: 2. Alternative in neuem repeat volta
Beitrag von: Manuela am Montag, 23. November 2020, 20:07
Wie kriege ich es hin, dass die zweite Alternative zum nächsten repeat volta gehört?
Es soll so aussehen wie in diesem Schnipsel

\version "2.20.0"
\language "deutsch"

\relative c'' {
  \repeat volta 2 { c4 c c c }
  \alternative
  {
    {
      g g g g
    }
    { \bar ":|.:"e e e e }
  }
  \repeat volta 2
  { c4 c c c }
}


allerding soll anstelle der letzten öffnenden Wiederholungsbarline ein normaler Taktstrich kommen. Und das ganze ohne zusätzlich Barstriche einzufügen weil das im Midi anschließend auch korrekt erzeugt werden soll.

Stehe ich auf der Leitung oder ist meine Vorstellung unmusikalisch?

Update: Hat sich erübrigt, ich habe umstrukturiert
Titel: Antw:repeat volta: 2. Alternative in neuem repeat volta
Beitrag von: Arnold am Samstag, 28. November 2020, 08:41
Hallo Manuela,

siehe https://archiv.lilypondforum.de/index.php/topic,2229.msg12399.html#msg12399 (https://archiv.lilypondforum.de/index.php/topic,2229.msg12399.html#msg12399)

Zusammengefasst:Arnold
Titel: Antw:repeat volta: 2. Alternative in neuem repeat volta
Beitrag von: Manuela am Samstag, 28. November 2020, 14:07
Danke für deine Antwort, Arnold. Du hattest genau das gleiche Problem mit der Midi-Ausgabe, wie ich sehe  :)
Titel: Antw:repeat volta: 2. Alternative in neuem repeat volta
Beitrag von: Arnold am Dienstag, 8. Dezember 2020, 08:55
Hallo Manuela,

und da ich es auch lästig finde, immer die Länge für die Voltaklammer ausrechnen zu müssen, überlegte ich, ob das nicht eine SCHEME-Musik-Funktion übernehmen kann.
Nach den Erfahrungen mit der ersten Funktion withVoltaSpannerLength, welche vermutlich Probleme bereiten wird, wenn z. Bsp. ein 12/8-Takt mit einem 4/4-Takt in einer Partitur (mit gleicher Taktlänge) zu kombinieren ist, kam ich auf die zweite Funktion terminateVolta, bei der allerdings der Logikwert-Parameter nicht als optionales Funktionsargument realisierbar war.

Es wäre dann vielleicht anzuregen, daß eine Beschreibung für diese Konstellation als »selected Snippet« ins Handbuch kommt.
Aber noch bin ich mir nicht im klaren, welche Variante(n) dazu angebracht ist.

Arnold
Titel: Antw:repeat volta: 2. Alternative in neuem repeat volta
Beitrag von: Manuela am Dienstag, 8. Dezember 2020, 11:02
Arnold danke nochmal.

Wie bereits gesagt, aktuell habe ich das Prolem nicht, weil ich die Datei umstrukturiert habe.
Titel: Antw:repeat volta: 2. Alternative in neuem repeat volta
Beitrag von: harm6 am Dienstag, 8. Dezember 2020, 20:47
@ Arnold

Hast Du schon folgendes gesehen (recht neu in master)?
Zitat
commit 18ca44925292a2d5556fd9b2a1eb0f9efb3f9936
Author: Dan Eble <gelöscht, Harm>
Date:   Sun Oct 18 12:09:54 2020 -0400

    Add \volta i,j,k function to mark volta-specific music
   
    The \volta function marks a music expression as being limited to the
    specified volte when the immediately enclosing repeat is unfolded.
   
    \volta #'() has the natural effect of removing the music entirely when
    it is unfolded.  Its complement is the \unfolded function, which masks
    music until it is unfolded.
   
    The user may supply \volta on the elements of \alternative {}.  If the
    user does not, LilyPond adds it internally to match the legacy behavior
    of repeating the first alternative the necessary number of times to
    reach the repeat count.
   
    The \volta function wraps music in VoltaSpeccedMusic.
    Volta_specced_music_iterator sends VoltaSpanEvents announcing where
    these spans of music start and stop (with the assigned labels).
   
    Volta_engraver automatically constructs bracket labels based on
    VoltaSpanEvents.  Automatic labels are coded to have lower precedence
    than labels set in the repeatCommands context property.  I have chosen
    not to regression-test interaction between automatic and manual labels
    thoroughly because the NR says that repeatCommands is for unusual cases
    and "may produce unexpected behavior;" however, I have added one
    important case involving a volta bracket overhanging the next section.
   
    Volta number formatting changes:
      1. Do not use a dash in a range spanning only two numbers.
      2. Use an em dash instead of two hyphens.
   
    Volta_repeat_iterator ...
   
    * no longer sets the volta label in the repeatCommands context property.
      Volta_specced_music_iterator and Volta_engraver have taken over.
   
    * now ends the final alternative with an end-repeat bar if it applies to
      any volta other than the final volta
   
    Repeat_acknowledge_engraver listens for volta span events (from \volta)
    and inserts invisible bars when necessary to allow aligning brackets.
   
    KNOWN ISSUE
   
    The process of unfolding repeats filters volta-specific music but does
    not recompute the length of the music.  Therefore, \volta can be used in
    the main body of a repeated section to specify simultaneous alternatives
    of the same length, but it can not generally be used to insert or remove
    arbitrary music.

und ähnliche.

Darüberhinaus gibts gerade diesen thread auf -devel:
https://lists.gnu.org/archive/html/lilypond-devel/2020-12/msg00029.html (https://lists.gnu.org/archive/html/lilypond-devel/2020-12/msg00029.html)

Ich habe aber nicht wirklich geprüft, ob das Ganze wirklich das Thema trifft ;)


Gruß,
  HarmP
Titel: Antw:repeat volta: 2. Alternative in neuem repeat volta
Beitrag von: Arnold am Montag, 14. Dezember 2020, 09:45
Also Harm,

mit dem Beitrag von Dan Elbe komme ich nicht so klar.
Das liegt aber sicherlich nicht daran, daß meine erste Assoziation zu »i,j,k« die »drei zueinander senkrecht stehenden Imaginärteile der Hyperkomplexen Zahlen« waren.

Ich versuche hier, eine Gesamtübersicht der »besonderen Konstellationen von wiederholter Musik« aufzulisten, wovon der Beitrag von Dan vermutlich nur a) und f) abdeckt.
Alle sind außer für des Notenbild zu bewerten bei
(1) entfalten der Musik für die MIDI-Ausgabe
(2) konsistente Taktzahlen in Partitur und Einzelstimmen (für die drei Zählweisen »durchzählen«, »Alternativen beginnen mit gleicher Taktzahl«, und »Alternativen beginnen mit gleicher Taktzahl, werden jedoch durch Anhängen eines Buchstabens wieder eindeutig«)


Zum »Verschmelzen von Ganztaktpausen« in Situation b) und f) hätte ich als Eingabe-Idee, den Tie zu verwenden. Dann sollte aus »R1  ~ | R1 ~ | R1« ein »R1*3« werden, falls kein spezieller Taktstrich oder Voltenanfang/Ende oder Rehearsalmark (oder anderes noch zu spezifizierendes Event) dazwischen kommt.

Arnold