Problem mit \omit und \undo \omit

Begonnen von chf, Montag, 28. September 2020, 14:44

« vorheriges - nächstes »

chf


\version "2.20.0"


global = {\override Score.BarNumber #'break-align-symbols = #'(clef)
          \override Score.BarNumber #'font-size = #2
          \override Score.BarLine #'hair-thickness = #1.425
          \override Score.BarLine #'thick-thickness = #4.5
          \omit StaffGroup.SpanBar
          \numericTimeSignature
          %\omit Score.TimeSignature \omit Score.BarLine
}


klt = \relative c' {
  \clef treble
\omit Staff.TimeSignature \omit Staff.BarLine
\time 3/4 \bar ".|: " s2. \time 5/8 s1*5/8*2 \bar ":|."
\time 3/4 \bar ".|:" s2. \time 2/4 s2 \time 5/8 s1*5/8 \bar ":|."
\time 2/4 \bar ".|:" s2 \time 5/8 s1*5/8 \time 7/8 s1*7/8 \time 2/4 s2 \bar ":|."
\undo \omit Staff.TimeSignature \undo \omit Staff.BarLine
\time 7/8 \bar ".|:" r8 r fis-. cis'4-. d,-. \bar "!" \time 5/8 e,8-. [b'-. g'-.] r r \bar "!"
e4-. d8-. cis'!4-. \bar "!" a8-. [b-. fis'-. e-. r ] \bar ":|."
\omit Staff.TimeSignature \omit Staff.BarLine 
\time 4/4 \bar ".|:" s1 \time 5/8 s1*5/8 \time 5/4 s1*5/4 \bar ":|."
}

ptwo = \relative c''' {
   \clef percussion
\time 3/4 \bar ":..:" r4 b,,4:32 \once \stemDown g4:32\noBreak \bar "!" \time 5/8 b4:32
\once \stemDown g8\! r [b->] \bar "!" \once \stemDown g4:32 b8 r r \bar ":|."
\omit Staff.TimeSignature
\bar ".|:" \time 3/4 s2. \omit Staff.BarLine \time 2/4 s2 \time 5/8 s1*5/8 \bar ":|."
\time 2/4 \bar ".|:" s2 \time 5/8 s1*5/8 \time 7/8 s1*7/8 \time 2/4 s2 \bar ":|."
\time 7/8 \bar ".|:" s1*7/8 \bar "!" \time 5/8 s1*5/8*3 \bar ":|."
\time 4/4 \bar ".|:" s1 \time 5/8 s1*5/8 \time 5/4 s1*5/4 \bar ":|."
}

vOne = \relative c'' { 
  \clef treble
\omit Staff.TimeSignature \omit Staff.BarLine
\time 3/4 \bar ".|:" s2. \time 5/8 s1*5/8*2 \bar ":|."
\time 3/4 \bar ".|:" s2. \bar "!" \time 2/4 s2 \time 5/8 s1*5/8 \bar ":|."
\undo \omit Staff.TimeSignature \undo \omit Staff.BarLine
\bar ".|:" \time 2/4 r8 [g b-. c-.] \bar "!" \time 5/8 d4-. f8-. g4-. 
\bar "!" \time 7/8 a8-. [e-.] d4-. f-. c8-. \bar "!" \time 2/4 b4-. r \bar ":|."
\omit Staff.TimeSignature \omit Staff.BarLine
\time 7/8 \bar ".|:" s1*7/8 \time 5/8 s1*5/8 s1*5/8*3 \bar ":|."
}%}


vTwo = \relative c' { 
  \clef treble
\omit Staff.TimeSignature \omit Staff.BarLine
\time 3/4 \bar ".|:" s2. \time 5/8 s1*5/8*2 \bar ":|."
\time 3/4 \bar ".|:" s2. \time 2/4 s2 \time 5/8 s1*5/8 \bar ":|."
\time 2/4 \bar ".|:" s2 \time 5/8 s1*5/8 \time 7/8 s1*7/8 \time 2/4 s2 \bar ":|."
\time 7/8 s1*7/8 \bar ".|:" \bar "!" \time 5/8 s1*5/8*3 \bar "!" \bar ":|."
\undo \omit Staff.TimeSignature \undo \omit Staff.BarLine
\time 4/4 \bar ".|:" b8-. [c-. e-.] f4-. g8-. b4-. \bar "!" \time 5/8 c8-. [a-. e-. d-. f-.]
\bar "!" \time 5/4 r8 g,4-. d'-. f8-. c'4-. r \bar ":|." 

}%}

\score {
\new StaffGroup << 
\new Staff = "klt"  << \global \klt  >>
\new Staff  = "pTwo"     <<\global  \ptwo >>   
\new Staff = "vOne"  <<\global  \vOne  >>
\new Staff = "vTwo"  <<\global  \vTwo >> 
>>
}




Liebe Freunde,

zuerst muss ich um Entschuldigung bitten dafür, dass mein Beispiel nicht minimal ist. Aber ich habe für die Verdeutlichung des Problems keine andere Lösung gefunden. Diese "Versatzstücke" werden alle weitergeführt, deshalb die Wiederholungszeichen.
Ich drehe mich im Kreis und probiere - ohne Erfolg. Wieso erscheinen manche Taktstriche richtig und andere nicht? Vor allem die Wiederholungszeichen sind mir ein Rätsel. Das Brett vorm Kopf ist mittlerweile ein Balken!
Die Partitur hat 14 Stimmen - die ist nur ein Ausschnitt.

Ratlos, aber hoffnungsvoll
Christa

Manuela

Mich wundert es nicht, dass du den Durchblick verlierst.  ;)

\time wirkt Score-weit, es ist verwirrend, in alle Stimmen diese Angaben zu schreiben, außer du hast in einem Layout-Statement definiert, dass jeder Staff sein eigenes Taktmaß hat.

Ich empfehle, alle \time und \bar Angaben in eine eigene Stimme auszulagern (ich nehme an, das ist für alle Stimmen gleich?)
Danke für eure Hilfe
viele Grüße
-- Manuela

chf

Zitatch empfehle, alle \time und \bar Angaben in eine eigene Stimme auszulagern

Wie geht das? Darin habe ich mich noch nie versucht...

Manuela

#3
Das Konzept der Variablen kennst und verwendest du ja schon. Ich habe ja keine Ahnung, worauf du hinauswillst, daher dieses Codebeispiel
mus = \relative c' { \repeat unfold 30 c4 }
mytime = {
\time 4/4
s1
\time 3/2
s1.
\time 3/4
s2.
\time 6/8
s2.
}
\new StaffGroup
<<
\new Staff <<
\omit Staff.TimeSignature
\new Voice \mus
>>
\new RhythmicStaff
<<
\omit Staff.StaffSymbol
\new Voice \mytime
>>
\new Staff <<
\clef bass
\omit Staff.TimeSignature
\new Voice \transpose c g, \mus
>>
>>


Hier ein Beispiel eines vierstimmigen Satzes mit 2 Staffs, wie ich den Code inzwischen strukturiere (ich lerne auch immer noch dazu): Kirchenlied
Danke für eure Hilfe
viele Grüße
-- Manuela

chf

#4
Zitat
ZitatIch habe ja keine Ahnung, worauf du hinauswillst....
außer du hast in einem Layout-Statement definiert, dass jeder Staff sein eigenes Taktmaß hat.

Du siehst doch den Ausschnitt der Struktur. Das geht so weiter über alle Stimmen.
Deswegen "Versatzstücke", in denen sichtbar sein muss. was passiert. Dann wird angezeigt, dass diese Figuren weiterzuführen sind.
Der Dirigent muss hat den jeweiligen Start sehen (in der Handschrift eine leere Zeile mit Pfeil an der jeweiligen Stelle) und das ganze zusammenhalten.
Um die Teile richtig zu positionieren muss ich doch mit allen Pausen arbeiten, die um die notierten Takte herum anfallen. ???
Das funktioniert auch - das Problem ist das Ein- und Ausblenden der der Taktangaben. Das funktioniert nur teilweise.
Mit dem Stift ist das natürlich einfach und sieht schön aus.
Ich dachte, es gäbe vielleicht eine Korrepondenz zwischen "Score." und "Staff." ?

Ich möchte auch gerne obenan eine leere Zeile für die Einsätze einfügen...

Layout-Statement für Staff-Taktmaß? Wie sieht das aus? Das wäre einen Versuch wert.

Manuela

Zitat von: chf am Mittwoch, 30. September 2020, 10:30
Du siehst doch den Ausschnitt der Struktur. Das geht so weiter über alle Stimmen.

Was ich sehe, ist ziemlich verwirrend. Dem Code fehlt eben die Struktur, das ist das Problem  ;)

Ich kann weder dirigieren noch habe ich jemals eine größere Partitur für Orchester gesetzt. Daher sagen mir die Begriffe "Versatzstücke" etc. nicht viel.

Eine leere Zeile mit Pfeilen an den entsprechenden Stelle ließe sich in Lilypond relativ einfach realisieren, z. B. so

mus = \relative c' { \repeat unfold 16 c4 }
Pfeil = \markup \fontsize #6 "↓"
mytime = {
\time 4/4
s1-\markup \Pfeil
\time 3/2
s1 s2-\markup \Pfeil
\time 3/4
s2.-\markup \Pfeil
\time 6/8
s2.
}
\new StaffGroup
<<
\new RhythmicStaff
<<
\new Voice {
\override TextScript.direction = #DOWN
\mytime
}
>>
\new Staff \mus
\new Staff \mus
>>


(leider völlig unformatiert, da ich hier keinen Frescobaldi habe)
Danke für eure Hilfe
viele Grüße
-- Manuela

chf

#6
Mit der RhythmicStaff werde ich etwas anfangen können - danke.

Für die andere Sache stell dir etwa 3 volle Partiturseiten vor... so fügt sich der Orchesterklang zusammen. Ein bisschen wie John Cage in Halberstadt...
REGENBOGEN halt...

Bezeichnung vom Komponisten: "aleatorisches Episodenspiel"...

Manuela

Zitat von: chf am Mittwoch, 30. September 2020, 13:31
Für die andere Sache stell dir etwa 3 volle Partiturseiten vor... so fügt sich der Orchesterklang zusammen. Ein bisschen wie John Cage in Halberstadt...
REGENBOGEN halt...

Bezeichnung vom Komponisten: "aleatorisches Episodenspiel"...

Danke, stelle ich mir lieber nicht vor, da wird mir gleich schwindlig  ;)

Du hast jetzt schon ziemlich viel mit Lilypond gearbeitet. Trotzdem werde ich den Verdacht nicht los, dass du das Konzept der Hierarchie der Contexte nicht ganz verstehst. Liege ich da richtig? Je komplizierter die Musik ist, desto strukturierter muss der Notensatz sein, ich zumindest würde mich sonst hoffnungslos verheddern.
Danke für eure Hilfe
viele Grüße
-- Manuela

chf

Zitatdass du das Konzept der Hierarchie der Contexte nicht ganz verstehst

Da sage ich unumwunden JA, mindestens, wenn's kompliziert wird.
Und ich habe Schwierigkeiten mit Abstraktionen. Deshalb hoffe ich immer auf euch...

chf

Wie sähe denn dieses Statement in meinem Fall aus?
Soweit ich sehe, ist dazu eine konkrete Angabe nötig - ich habe aber unentwegt Taktwechsel...
Zitat
Layout-Statement für Staff-Taktmaß

Manuela

Zitat von: chf am Mittwoch, 30. September 2020, 15:49
Und ich habe Schwierigkeiten mit Abstraktionen.

Ich auch, deswegen breche ich immer auf Voice herunter.

Vielleicht magst du ja auch hier nochmals nachlesen: Grundbegriffe

wobei ich die Notation mit << { } \\ { } >> nicht unbedingt sooo günstig halte. Besser ist es, jede Stimme separat als eigene Variable zu notieren. Eventuelle einstimmige Passagen mit s in der 2. Stimme überbrücken, das halte ich für am übersichtlichsten.
Danke für eure Hilfe
viele Grüße
-- Manuela

chf

#11

\version "2.20.0"

global = {\override Score.BarNumber #'break-align-symbols = #'(clef)
          \override Score.BarNumber #'font-size = #2
          \override Score.BarLine #'hair-thickness = #1.425
          \override Score.BarLine #'thick-thickness = #4.5
          \omit StaffGroup.SpanBar
          \numericTimeSignature
          %\omit Score.TimeSignature \omit Score.BarLine
}

#(define-markup-command (myBox layout props myWidth myHeight) (number? number?)
  (interpret-markup layout props
    (markup #:line (#:with-dimensions (cons 0 0)(cons 0 0)
      (#:path 0.2
        (list (list (quote moveto) -1.7 1)
        (list (quote lineto) myWidth 1)
        (list (quote lineto) myWidth (* myHeight -1))
        (list (quote lineto) -1.7 (* myHeight -1))
        (list (quote closepath))))))))

%^\markup\myBox #18 #6

klt = \relative c' { 
  \clef treble
\omit Staff.TimeSignature \omit Staff.BarLine
\time 3/4 s2. \time 5/8 s1*5/8*2
\time 3/4 s2. \time 2/4 s2 \time 5/8 s1*5/8
\time 2/4 s2 \time 5/8 s1*5/8 \time 7/8 s1*7/8 \time 2/4 s2
\undo \omit Staff.TimeSignature \undo \omit Staff.BarLine
{\time 7/8 \once \override TextScript.extra-offset = #'(-2 . 1)
r8^\markup\myBox #53 #11 r fis-. cis'4-. d,-. \bar "!" \time 5/8 e,8-. [b'-. g'-.] r r \bar "!"
e4-. d8-. cis'!4-. \bar "!" a8-. [b-. fis'-. e-. r ] }
\omit Staff.TimeSignature 
\time 4/4 s1 \time 5/8 \omit Staff.BarLine s1*5/8 \time 5/4 s1*5/4
}

ptwo = \relative c''' {
   \clef percussion
\time 3/4 \once \override TextScript.extra-offset = #'(-2.5 . 1)
r4^\markup\myBox #35 #10 b,,4:32 \once \stemDown g4:32\noBreak \bar "!" \time 5/8 b4:32
\once \stemDown g8\! r [b->] \bar "!" \once \stemDown g4:32 b8 r r \bar "!"
\omit Staff.TimeSignature
\time 3/4 s2. \omit Staff.BarLine \time 2/4 s2 \time 5/8 s1*5/8
\time 2/4 s2 \time 5/8 s1*5/8 \time 7/8 s1*7/8 \time 2/4 s2
\time 7/8 s1*7/8 \bar "!" \time 5/8 s1*5/8*3
\time 4/4 s1 \time 5/8 s1*5/8 \time 5/4 s1*5/4
}

vOne = \relative c'' { 
  \clef treble
\omit Staff.TimeSignature \omit Staff.BarLine
\time 3/4 s2. \time 5/8 s1*5/8*2
\time 3/4  s2. \bar "!" \time 2/4 s2 \time 5/8 s1*5/8
\undo \omit Staff.TimeSignature 
\time 2/4 \once \override TextScript.extra-offset = #'(-2 . 1)
r8^\markup\myBox #50 #9 [g b-. c-.] \undo \omit Staff.BarLine \bar "!" \time 5/8 d4-. f8-. g4-. 
\bar "!" \time 7/8 a8-. [e-.] d4-. f-. c8-. \bar "!" \time 2/4 b4-. r
\omit Staff.TimeSignature
\time 7/8 s1*7/8 \omit Staff.BarLine \time 5/8 s1*5/8 s1*5/8*3
}%}


vTwo = \relative c' { 
  \clef treble
\omit Staff.TimeSignature \omit Staff.BarLine
\time 3/4 s2. \time 5/8 s1*5/8*2
\time 3/4 s2. \time 2/4 s2 \time 5/8 s1*5/8
\time 2/4 s2 \time 5/8 s1*5/8 \time 7/8 s1*7/8 \time 2/4 s2
\time 7/8 s1*7/8 \bar "!" \time 5/8 s1*5/8*3 \bar "!" \undo \omit Staff.TimeSignature
\time 4/4 \once \override TextScript.extra-offset = #'(-2 . 1)
b8-.^\markup\myBox #49 #10 [c-. e-.] f4-. g8-. b4-. \undo \omit Staff.BarLine \bar "!"
\time 5/8 c8-. [a-. e-. d-. f-.] \bar "!" \time 5/4 r8 g,4-. d'-. f8-. c'4-. r \bar "!"

}%}

\score {
\new StaffGroup << 
\new Staff = "klt"  << \global \klt  >>
\new Staff  = "pTwo"     <<\global  \ptwo >>   
\new Staff = "vOne"  <<\global  \vOne  >>
\new Staff = "vTwo"  <<\global  \vTwo >> 
>>
}


Das könnte die Lösung sein. Vielleicht braucht's mal jemand.

Danke für euere Anteilnahme und schöne Grüße
Christa