Autor Thema: Wiederholung "Brackets" ?  (Gelesen 11722 mal)

kilgore

  • Gast
Wiederholung "Brackets" ?
« am: Mittwoch, 20. April 2011, 13:09 »
Liebe Lilys!

Ich setzte ein Stück mit viele Wiederholungsstriche.  Es werden viele Take wiederholt, zwischendurch gibts aber Strecken die nicht wiederholt werden.  So wird es dann oft verwirrend anzusehen.  Wenn ich sowas spiele dann male ich mir immer extra "Klammern" ein, damit mir klar ist wo wiederholt wird und wo nicht.
Ich habe mit hilfe der Zeichentabelle etwas als Beispiel gemacht.   Gibts bei Lilypond eine Automatische funktion dafür?  Meine Lösung ist halt nur für einzelne Stellen praktisch...bei Zeilenumbruch zB gehts nicht so gut. 

Danke!
kil

\version "2.12.3"


\relative c' {
  c1
  \bar "|:" c1 d1
  \mark \markup
  \with-dimensions #'( 0 . 0 ) #'( 0 . 0 )
  \center-align
  \column {
    \line { \fontsize #4 \lower #.75 \rotate #90 "❰" }
    \line { \fontsize #4 \lower #5.25 \rotate #-90 "❰" }
  }
  \bar ":|:"
  e1 f1
  \bar ":|"
  c4 c c c
  \bar "|:"
  c1
  \bar ":|"
}

RobUr

  • Gast
Re:Wiederholung "Brackets" ?
« Antwort #1 am: Mittwoch, 20. April 2011, 17:34 »
Hallo Kil,

da gabs doch schonmal ne Frage in diesem Thread, aber keiner wollte es brauchen …

Zitat von: kilgore
Gibts bei Lilypond eine Automatische funktion dafür?
Nein, wir müssen wieder selbst ran:
\version "2.12.3"

#(set-global-staff-size 20)

startRepeatBracketMarkupUp = \markup {
\musicglyph #"brackettips.up"
}

startRepeatBracketMarkupDown = \markup {
\musicglyph #"brackettips.down"
}

stopRepeatBracketMarkupUp = \markup {
\hspace #-1.9
\rotate #180
\musicglyph #"brackettips.down"
}

stopRepeatBracketMarkupDown = \markup {
\hspace #-1.9
\rotate #180
\musicglyph #"brackettips.up"
}

combinedRepeatBracketMarkupUp = \markup {
\hspace #-2.19
\concat {
\rotate #180
\musicglyph #"brackettips.down"
\translate #'(0.29 . -1.145)
\musicglyph #"brackettips.up"
}
}

combinedRepeatBracketMarkupDown = \markup {
\hspace #-2.19
\concat {
\rotate #180
\musicglyph #"brackettips.up"
\translate #'(0.29 . 1.145)
\musicglyph #"brackettips.down"
}
}

startRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
(ly:stencil-add
  (ly:stencil-combine-at-edge
   (ly:bar-line::print grob)
   Y UP
   (grob-interpret-markup grob startRepeatBracketMarkupUp)
   0 0)
  (ly:stencil-combine-at-edge
   (ly:bar-line::print grob)
   Y DOWN
   (grob-interpret-markup grob startRepeatBracketMarkupDown)
   0 0)))
}

stopRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
(ly:stencil-add
  (ly:stencil-combine-at-edge
   (ly:bar-line::print grob)
   Y UP
   (grob-interpret-markup grob stopRepeatBracketMarkupUp)
   0 0)
  (ly:stencil-combine-at-edge
   (ly:bar-line::print grob)
   Y DOWN
   (grob-interpret-markup grob stopRepeatBracketMarkupDown)
   0 0)))
}

combinedRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
(ly:stencil-add
  (ly:stencil-combine-at-edge
   (ly:bar-line::print grob)
   Y UP
   (grob-interpret-markup grob combinedRepeatBracketMarkupUp)
   0 0)
  (ly:stencil-combine-at-edge
   (ly:bar-line::print grob)
   Y DOWN
   (grob-interpret-markup grob combinedRepeatBracketMarkupDown)
   0 0)))
}

\relative c' {
\grace s4
\startRepeatBracket \bar "|:"
c1
\combinedRepeatBracket \bar ":|:"
e
\stopRepeatBracket \bar ":|"
s4
}

Leider liegen die Nachteile schon auf der Hand: die Abstände sind auf die Standardgröße abgestimmt. Wählt man eine andere staff-size, muss man nachbessern :( Wenn es also jemand schaffte, die bracket tips für stopRepeatBracket rechtsbündig und für combinedRepeatBracket zentriert auszurichten, wäre das ganz grandios ::)

Grüße, Robert

trulli

  • Gast
Re:Wiederholung "Brackets" ?
« Antwort #2 am: Donnerstag, 21. April 2011, 09:28 »
Das sieht aber Klasse aus Robert!

Wie immer würde ich gerne bei den Definitionen helfen, bin aber zu dumm dafür... Der Stil der Klammern erinnert ans Real-book und ist damit nach meiner Meinung völlig in Ordnung.

Gruß

kilgore

  • Gast
Re:Wiederholung "Brackets" ?
« Antwort #3 am: Donnerstag, 21. April 2011, 10:49 »
Zitat
Das sieht aber Klasse aus Robert!

Aber wirklich!  genau so was wollte ich sehen!  Ich bin neugierig wie das bei Zeilenumbruch geht....ich experimentiere und berichte hier wieder!

kilgore

  • Gast
Re:Wiederholung "Brackets" ?
« Antwort #4 am: Donnerstag, 21. April 2011, 10:59 »
ok ich konnte nicht warten :)

Bei Zeilenumbruch werden die Klammern am Ende und am Anfang gedruckt.  Es ist trotzdem schöner als meine Variante.  Kriegt man es aber weg?  Vielleicht brauchen wir ein zusätzliches markup für Zeilenumbrüche... Leider ist mein Kenntniss mit Scheme auch schon längst nicht weit genug.... 

harm6

  • Gast
Re:Wiederholung "Brackets" ?
« Antwort #5 am: Freitag, 22. April 2011, 02:40 »
@RobUr
Ich habe Deine Definitionen mal bearbeitet.
\version "2.12.3"

#(set-global-staff-size 20)

\layout {
        indent = 0
}

startRepeatBracketMarkupUp = \markup {  
\musicglyph #"brackettips.up"
}

startRepeatBracketMarkupDown = \markup {
\musicglyph #"brackettips.down"
}

stopRepeatBracketMarkupUp = \markup {
\translate #(cons 0.62  0)
\right-align {
\rotate #180
\musicglyph #"brackettips.down"
}
}
 
stopRepeatBracketMarkupDown = \markup {
\translate #(cons 0.62  0)
\right-align {
\rotate #180
\musicglyph #"brackettips.up"
}
}
combinedRepeatBracketMarkupUp = \markup {
         \translate #(cons 0.45  0)
\center-align {
       \concat\vcenter{
        \rotate #180
\musicglyph #"brackettips.down"
\hspace #'0.24
        \musicglyph #"brackettips.up"
       }
}
}
  
combinedRepeatBracketMarkupDown = \markup {
\translate #(cons 0.45  0)
\center-align {
       \concat\vcenter{
        \rotate #180
\musicglyph #"brackettips.up"
\hspace #'0.24
        \musicglyph #"brackettips.down"
       }
}
}
startRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
(ly:stencil-add
 (ly:stencil-combine-at-edge
  (ly:bar-line::print grob)
  Y UP
  (grob-interpret-markup grob startRepeatBracketMarkupUp)
  -0.42 0)
 
 (ly:stencil-combine-at-edge
  (ly:bar-line::print grob)
  Y DOWN
  (grob-interpret-markup grob startRepeatBracketMarkupDown)
  -0.42 0)))
 
}
stopRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
(ly:stencil-add
 (ly:stencil-combine-at-edge
  (ly:bar-line::print grob)
  Y UP
  (grob-interpret-markup grob stopRepeatBracketMarkupUp)
  -0.42 0)
 (ly:stencil-combine-at-edge
  (ly:bar-line::print grob)
  Y DOWN
  (grob-interpret-markup grob stopRepeatBracketMarkupDown)
  -0.42 0)
  ))
}

combinedRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
(ly:stencil-add
 (ly:stencil-combine-at-edge
  (ly:bar-line::print grob)
  Y UP
  (grob-interpret-markup grob combinedRepeatBracketMarkupUp)
  -0.42 0)
 (ly:stencil-combine-at-edge
  (ly:bar-line::print grob)
  Y DOWN
  (grob-interpret-markup grob combinedRepeatBracketMarkupDown)
  -0.42 0)))
}
%----------------------------------------- Test -----------------------------------------------
music = {
        
         \grace s4
\startRepeatBracket \bar "|:"
c1
\combinedRepeatBracket \bar ":|:"
e
\stopRepeatBracket \bar ":|"
}


\score {
        \new Staff \with { fontSize = #10 \override StaffSymbol #'staff-space = #(magstep 10) }
         {
\relative c' {
       \music
}
        }
                \header {
         piece = \markup {
                \column {
                 "Verschiedene Größen mittels fontSize = <size> \override StaffSymbol #'staff-space = #(magstep <size>)"
                 "aber immer mit: #(set-global-staff-size 20)"
                }
         }
        }
}
\score {
        \new Staff \with { fontSize = #5 \override StaffSymbol #'staff-space = #(magstep 5) }
         {
\relative c' {
       \music
}
        }
}
\score {
        \new Staff \with { fontSize = #0 \override StaffSymbol #'staff-space = #(magstep 0) }
         {
\relative c' {
       \music
}
        }
}
muSic = {
        \relative c' {
\grace s4
\startRepeatBracket \bar "|:"
c1
\combinedRepeatBracket \bar ":|:"
e
\stopRepeatBracket \bar ":|" s1*0\break
\grace s4
\startRepeatBracket \bar "|:"
c1
\combinedRepeatBracket \bar ":|:"
e
\stopRepeatBracket \bar ":|" s1*0\break
        }
}
\score {
        \new Staff {
\muSic
        }
        \header {
         piece = "Zeilenumbruch"
        }
}
\score {
        \new StaffGroup
        <<
         \new Staff
\muSic

         \new Staff
\muSic
        >>
        
        \header {
         piece = "Partitur"
        }
}
Das Ganze ist noch nicht optimal, und für stopRepeatBracket ist es besser gelungen als für combinedRepeatBracket und bei Änderungen der Staff-Size gibts immer noch Verschiebungen, aber sie sind nicht mehr so groß. Die Anzahl der "Einstellschrauben" habe ich reduziert.

@kilgore
Zitat
Bei Zeilenumbruch werden die Klammern am Ende und am Anfang gedruckt.
Hier weiß ich nicht was Du genau meinst. Ich habe den Zeilenumbruch mit s1*0\break \grace s4 geregelt und finde das Ergebnis soweit ok. Das Ergebnis für Partituren ist naja ... (-> Anhang: barLine.png)

Gruß,
  Harm

P.S. Um mir die Arbeit zu erleichtern habe ich die verschiedenen Elemente auch mal eingefärbt. Bild und Code (falls es jemanden interessiert) auch im Anhang (-> http://lsr.dsi.unimi.it/LSR/Item?id=726 ).
« Letzte Änderung: Freitag, 22. April 2011, 02:50 von harm6 »

harm6

  • Gast
Re:Wiederholung "Brackets" ?
« Antwort #6 am: Freitag, 22. April 2011, 02:46 »
Irgendwie liege ich mir der Größe meiner PNG's immer daneben. Ich hoffe ihr könnt trotzdem was damit anfangen.

Gruß,
  Harm

harm6

  • Gast
Re:Wiederholung "Brackets" ?
« Antwort #7 am: Freitag, 22. April 2011, 23:48 »
Ich habe das Ganze noch mal überarbeitet:

\version "2.12.3"

\layout { indent = 0 }

% comper's Definition aus: https://archiv.lilypondforum.de/index.php?topic=578.msg3212#msg3212
% hier leicht verändert:

#(define-markup-command (mmX layout props amount) (number?)
  (let ((st-sp (ly:output-def-lookup layout 'staff-space)))
    (ly:make-stencil ""  (cons  0 (- amount  st-sp )) '(0 . 0))))

StartRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
(ly:stencil-add
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y UP
     (grob-interpret-markup grob (markup (#:musicglyph "brackettips.up")))
     -0.42 0)
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y DOWN
     (grob-interpret-markup grob (markup (#:musicglyph "brackettips.down")))
     -0.42 0)))  
}
StopRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
(ly:stencil-add
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y UP
     (grob-interpret-markup grob (markup
        #:line
         (#:mmX 0.2
          (#:right-align
           (#:rotate 180(#:musicglyph "brackettips.down"))))))
     -0.42 0)
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y DOWN
     (grob-interpret-markup grob (markup
        #:line
         (#:mmX 0.2
          (#:right-align
           (#:rotate 180(#:musicglyph "brackettips.up"))))))
   -0.42 0)))  
}
CombinedRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
(ly:stencil-add
  (ly:stencil-combine-at-edge
   (ly:bar-line::print grob)
   Y UP
   (grob-interpret-markup grob (markup
            #:line
            (#:translate (cons 0.45  0)
            (#:center-align
              (#:concat
               (#:vcenter
                (#:rotate 180 (#:musicglyph "brackettips.down"))
                (#:mmX 2
                (#:hspace 0))
                #:vcenter
                (#:musicglyph "brackettips.up")))))))
   -0.42 0)
  (ly:stencil-combine-at-edge
   (ly:bar-line::print grob)
   Y DOWN
   (grob-interpret-markup grob (markup
            #:line
            (#:translate (cons 0.45  0)
            (#:center-align
              (#:concat
               (#:vcenter
                (#:rotate 180 (#:musicglyph "brackettips.up"))
                ;#:vcenter
                (#:mmX 2
                (#:hspace 0))
                #:vcenter
                (#:musicglyph "brackettips.down")))))))
   -0.42 0)))
}

%------------------------- Test ------------------------------------------------

% #(set-global-staff-size 10)
% #(set-global-staff-size 15)
 #(set-global-staff-size 20)
% #(set-global-staff-size 25)
% #(set-global-staff-size 30)
 
music = {
        \grace s4
\StartRepeatBracket \bar "|:"
c1
\CombinedRepeatBracket \bar ":|:"
e
\StopRepeatBracket \bar ":|" s1*0
}


\relative c' { \music }

\score {
        \new Staff %\with { fontSize = #5 \override StaffSymbol #'staff-space = #(magstep 5) }
        {
\relative c' {
        \music
}
        }
        \header {
        piece = \markup {
                \column { \null\null\null\null\null\null\null
                "Die Größenänderung mit der Konstruktion"
                "\with { fontSize = #5 \override StaffSymbol #'staff-space = #(magstep 5)}"
                "funktioniert nicht ohne an den Werten zu drehen!!"
                "Im layout-Block geht's auch nicht besonders!"
                }
        }
        }
        \layout{
%        #(layout-set-staff-size 25)
        }

}
Wenn man lilypond --png -dresolution=1000 <file.ly> eingibt sieht man allerdings, daß die Größenveränderungen noch immer nicht völlig sauber erfolgen. Aber im Bereich von #(set-global-staff-size 10) bis hin zu #(set-global-staff-size 30) finde ich es hinreichend.
Andere Methoden die staff-size zu verändern funktionieren aber nicht ohne nachbessern oder nur schlecht. Vielleicht weiß ja jemand wie man die comper-Definition aus https://archiv.lilypondforum.de/index.php?topic=578.msg3212#msg3212, die ich modifiziert habe, noch besser anpassen kann.

Gruß,
  Harm

RobUr

  • Gast
Re:Wiederholung "Brackets" ?
« Antwort #8 am: Montag, 25. April 2011, 13:44 »
Hallo alle,

ich hab die Lösung ;D

Das Geheimnis liegt in line-thickness!!! Meine anfänglichen Versuche arbeiten mit staff-spaces, wo doch Dicke und Kerning der Taktstriche in Vielfachen von line-thickness angegeben werden. Der gewünschte „Vorschub“befehl muss also die aktuelle line-thickness liefern:

#(define-markup-command (lthskip layout props amount) (number?)
  ;; lthskip = "line-thickness skip"
  (let ((l-th (ly:output-def-lookup layout 'line-thickness)))
    (ly:make-stencil "" (cons 0 (* amount l-th)) '(0 . 0) )))


Nun ermitteln wir Dicke/Dünne und Kerning aus der IR 3.1.11 BarLine und schieben uns die Glyphen zurecht:
startRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
 (ly:stencil-add
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y UP
     (grob-interpret-markup grob (markup
       #:musicglyph "brackettips.up"))
     -0.1 0)
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y DOWN
     (grob-interpret-markup grob (markup
       #:musicglyph "brackettips.down"))
     -0.1 0)))  
\bar "|:"
}

stopRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
 (ly:stencil-add
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y UP
     (grob-interpret-markup grob (markup
    #:concat (
    #:lthskip 6
    #:right-align
    #:rotate 180 #:musicglyph "brackettips.down" )))
-0.1 0)
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y DOWN
     (grob-interpret-markup grob (markup
       #:concat (
         #:lthskip 6
         #:right-align
         #:rotate 180 #:musicglyph "brackettips.up" )))
     -0.1 0)))  
\bar ":|"
}

combinedRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
 (ly:stencil-add
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y UP
     (grob-interpret-markup grob (markup
       #:concat (
         #:lthskip 3
         #:concat (
           #:right-align
           #:vcenter
           #:rotate 180 #:musicglyph "brackettips.down"
           #:lthskip 3
           #:vcenter
           #:musicglyph "brackettips.up"))))
     -0.1 0)
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y DOWN
     (grob-interpret-markup grob (markup
       #:concat (
         #:lthskip 3
         #:concat (
           #:right-align
           #:vcenter
           #:rotate 180 #:musicglyph "brackettips.up"
           #:lthskip 3
           #:vcenter
           #:musicglyph "brackettips.down"))))
     -0.1 0)))
\bar ":|:"
}
Gleichzeitig bauen wir noch die \bar-Befehle mit ein, um den eigentlichen Musik-Code zu entschlacken.

Zum Glücklichsein allein fehlt „nur“ noch eine Routine, die bei einem Zeilenumbruch combinedRepeatBracket in stopRepeatBracket am Zeilenende und startRepeatBracket am nächsten Zeilenanfang auftrennt.

Übrigens finden sich in scm/output-lib.scm bereits die Bezeichner brace und bracket. Sollten die Entwickler diese Styles etwa schon geplant, aber noch nicht realisiert haben?

Viele Ostergrüße, Robert

EDIT:
Fehlt natürlich noch die Musik:
music = {
\grace s4
\startRepeatBracket
b'1
\combinedRepeatBracket
b
\stopRepeatBracket
}

%#(set-global-staff-size 11.22) %% smallest recommended staff size
#(set-global-staff-size 20) %% default staff size
%#(set-global-staff-size 25.2) %% largest recommended staff size

\paper {
ragged-right = ##t
}

\score {
\relative c' { \music }

\layout {
indent = 0
}
}

… und der Hinweis, dass eine Änderung der thick-thickness, z.B. \override Staff.BarLine #'thick-thickness = #8 unser schönes Konstrukt zerstört.
« Letzte Änderung: Montag, 25. April 2011, 14:01 von RobUr »

harm6

  • Gast
Re:Wiederholung "Brackets" ?
« Antwort #9 am: Montag, 25. April 2011, 19:02 »
Hallo Robert,

die line-thickness ist wirklich der Punkt, auf den ich nicht kam. Da hätte ich mal genauer lesen sollen !! Das Ganze ist jetzt auch mit \new Staff \with { fontSize = #-5 \override StaffSymbol #'staff-space = #(magstep -5) } sowie mit \layout { #(layout-set-staff-size 35) } zugänglich. Zumindest nach meinen bisherigen Tests.
Mir ist allerdings aufgefallen, daß die Werte noch nicht ganz optimal sind (siehe Bild, erstellt mit #(set-global-staff-size 25.2) ).
Deshalb habe ich noch ein wenig an den Einstellungen rumgeschraubt.
Für den Zeilenumbruch ist mir außer obigem Work-around noch nichts eingefallen.

#(define-markup-command (lthskip layout props amount) (number?)
  ;; lthskip = "line-thickness skip"
  (let ((l-th (ly:output-def-lookup layout 'line-thickness)))
    (ly:make-stencil "" (cons 0 (* amount l-th)) '(0 . 0) )))

startRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
 (ly:stencil-add
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y UP
     (grob-interpret-markup grob (markup
       #:musicglyph "brackettips.up"))
     -0.15 0)
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y DOWN
     (grob-interpret-markup grob (markup
       #:musicglyph "brackettips.down"))
     -0.15 0)))
\bar "|:"
}

stopRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
 (ly:stencil-add
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y UP
     (grob-interpret-markup grob (markup
    #:concat (
    #:lthskip 6.1
    #:right-align
    #:rotate 180 #:musicglyph "brackettips.down" )))
     -0.15 0)
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y DOWN
     (grob-interpret-markup grob (markup
       #:concat (
         #:lthskip 6.1
         #:right-align
         #:rotate 180 #:musicglyph "brackettips.up" )))
     -0.15 0)))  
\bar ":|"
}
 
combinedRepeatBracket = {
\once \override Staff.BarLine #'stencil =
#(lambda (grob)
 (ly:stencil-add
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y UP
     (grob-interpret-markup grob (markup
       #:concat (
         #:lthskip 3.05
         #:concat (
           #:right-align
           #:vcenter
           #:rotate 180 #:musicglyph "brackettips.down"
           #:lthskip 2.87
           #:vcenter
           #:musicglyph "brackettips.up"))))
     -0.15 0)
   (ly:stencil-combine-at-edge
     (ly:bar-line::print grob)
     Y DOWN
     (grob-interpret-markup grob (markup
       #:concat (
         #:lthskip 3.05
         #:concat (
           #:right-align
           #:vcenter
           #:rotate 180 #:musicglyph "brackettips.up"
           #:lthskip 2.87
           #:vcenter
           #:musicglyph "brackettips.down"))))
     -0.15 0)))
\bar ":|:"
}

Dann noch schöne Restostern,
  Harm

EDIT
Nach erneuter Prüfung: RobUr's obige Werte sind doch viel besser !!
« Letzte Änderung: Dienstag, 26. April 2011, 20:48 von harm6 »

RobUr

  • Gast
Re:Wiederholung "Brackets" ?
« Antwort #10 am: Dienstag, 26. April 2011, 15:06 »
Hallo Harm,

an den Werten würde ich nichts verändern, sie entsprechen genau den Standardabständen. Ich beziehe mich dabei immer auf die Vektordaten und keine gerasterten PNGs/JPGs. Die Bildschirmdarstellung vieler PDF-Viewer ist nicht immer ganz sauber, aber im Makrobereich (6400% Vergrößerung :) ) sieht man deutlich, dass die Werte korrekt sind.

Viele Grüße, Robert

harm6

  • Gast
Re:Wiederholung "Brackets" ?
« Antwort #11 am: Dienstag, 26. April 2011, 15:11 »
Hallo,

zum Zeilenumbruch:

  • ich habe hier eine Zeilenumbruch-Definition für BarLines gefunden, die tatsächlich funktioniert und auch manipulierbar ist. (Es gibt noch andere aber ich habe sie nicht ans laufen bekommen, sind vielleicht zu alt oder ich zu blöd.)
    Man müßte jetzt \bar "startRepeatBracket" etc. analog zu der bar-line.cc-Datei definieren und in die Zeilenumbruch-Definition in geeigneter Form einfügen. Ich weiß aber nicht wie das geht bzw. ob es überhaupt möglich ist.
  • Ein anderer Weg funktioniert möglicherweise analog zu NR 6.8. Aber da scheine ich auch zu blöd für zu sein.

Gruß,
  Harm
« Letzte Änderung: Dienstag, 26. April 2011, 15:36 von harm6 »

harm6

  • Gast
Re:Wiederholung "Brackets" ?
« Antwort #12 am: Dienstag, 26. April 2011, 15:31 »
Hallo Robert,

meine Prüfmethode war:

  • extreme Werte für die staff-size einsetzen. hier: #(set-global-staff-size 25.2)
  • PNG erzeugen mit resolution=1500
  • Vergrößern bis zu 2000%

Ich wäre Dir sehr dankbar, wenn Du mir detailiert schilderst, wie Du sowas prüfst.
Die Standardabständen sind ja nachlesbar, aber ich glaub' ja nicht alles was so geschrieben steht. ;)

Gruß,
  Harm
« Letzte Änderung: Dienstag, 26. April 2011, 15:33 von harm6 »

RobUr

  • Gast
Re:Wiederholung "Brackets" ?
« Antwort #13 am: Dienstag, 26. April 2011, 15:41 »
Hallo Harm,

meine Prüfmethode:
  • PDF erzeugen (komplett oder Ausschnitte per clip-regions)
  • Vergrößern bis zu 6400% (Maximum im Adobe Reader)

Du kannst gern den Clip aus meinem letzten Beitrag solang vergrößern, bis dein PDF-Viewer nicht mehr kann ;)

Grüße, Robert

RobUr

  • Gast
Re:Wiederholung "Brackets" ?
« Antwort #14 am: Dienstag, 26. April 2011, 16:09 »
Zitat von: harm6
zum Zeilenumbruch:
  • ich habe hier eine Zeilenumbruch-Definition für BarLines gefunden, die tatsächlich funktioniert und auch manipulierbar ist. (Es gibt noch andere aber ich habe sie nicht ans laufen bekommen, sind vielleicht zu alt oder ich zu blöd.)
    Man müßte jetzt \bar "startRepeatBracket" etc. analog zu der bar-line.cc-Datei definieren und in die Zeilenumbruch-Definition in geeigneter Form einfügen. Ich weiß aber nicht wie das geht bzw. ob es überhaupt möglich ist.
  • Ein anderer Weg funktioniert möglicherweise analog zu NR 6.8. Aber da scheine ich auch zu blöd für zu sein.

Diese Baustellen hatte ich auch schon gefunden. Es gibt aber wesentliche Probleme:
  • Die Shortcuts für BarLines sind hardcoded, und ich fand bisher keine Lösung, neue „BarLine-Shortcuts“ mit den gängigen Benutzerschnittstellen zu definieren.
  • Eine Ergänzung in den Quelldateien bedeutet, Lily komplett neu zu kompilieren :-\ Man müsste also tatsächlich die Entwickler bitten, unsere schicken neuen „bracketRepeats“ für alle verfügbar zu integrieren. Ich hatte ja bereits darauf hingewiesen, dass brace/bracket-Varianten in scm/output-lib.scm vor sich hin dümpeln.
  • Der Ansatz aus NR 6.8 scheint leider nicht geeignet für BarLines, da das Spanner-Interface angesprochen wird. :(

Wenn diese Variante von Wiederholungsstrichen also unbedingt benötigt wird, müssen wir uns vorerst mit manuellen Umbrüchen und BarLines behelfen.

Grüße, Robert