Autor Thema: Vertical Spacing innerhalb der Akkolade  (Gelesen 1990 mal)

trulli

  • Member
Vertical Spacing innerhalb der Akkolade
« am: Samstag, 7. Februar 2015, 17:55 »
Hallo Leute,

in diesem Tabulatur-Beispiel möchte ich den Abstand zwischen 1. und 2. Stimme vergrößern. Ich dachte, das ginge mit \override VerticalAxisGroup in der \layout-Umgebung. Was mache ich falsch?

\version "2.18.0"


upper =  \relative c' {
         \set Staff.instrumentName = "1"
         g a b c                   
            }
               
lower =  \relative c {
         \set Staff.instrumentName = "2"
         g a b c
            }
 
 
\score {
 \new StaffGroup
 <<
    \new TabStaff = "tab" << \tabFullNotation \override Staff.Clef #'stencil = ##f
      \context TabVoice = "upper tab"  \upper
    >>
   
    \new TabStaff = "tab" << \tabFullNotation \override Staff.Clef #'stencil = ##f
      \context TabVoice = "lower tab"  \lower
    >>
  >>
 
  \layout {
  \context {
    \TabStaff
    \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #20
  }
}

}

Danke und Grüße von Trulli

harm6

  • Member
Re: Vertical Spacing innerhalb der Akkolade
« Antwort #1 am: Samstag, 7. Februar 2015, 18:46 »
Hallo trulli,

versuch mal:

\version "2.18.0"

%% vielleicht zusätzlich:
\paper {
  %system-system-spacing.basic-distance = #20
}

upper =  \relative c' {
         \set Staff.instrumentName = "1"
         g a b c
         \break
         g a b c
            }
               
lower =  \relative c {
         \set Staff.instrumentName = "2"
         g a b c
         g a b c
            }

\score {
  \new StaffGroup <<
    \new TabStaff = "tab" << \tabFullNotation \override Staff.Clef #'stencil = ##f
      \context TabVoice = "upper tab"  \upper
    >>
   
    \new TabStaff = "tab" << \tabFullNotation \override Staff.Clef #'stencil = ##f
      \context TabVoice = "lower tab"  \lower
    >>
  >>
 
  \layout {
    \context {
      \TabStaff
      \override VerticalAxisGroup.staff-staff-spacing.basic-distance = #15
    }
  }
}

Aber ich muß auch jedes mal in die NR schauen und ausprobieren was klappt ...

Ist zwar nicht das aktuelle Problem, aber es gibt einen schönen Pfuschzettel für paper-Variablen, den ich nicht vorenthalten will (kommt von hier).
Als png auch im Anhang.


Gruß,
  Harm

trulli

  • Member
Re: Vertical Spacing innerhalb der Akkolade
« Antwort #2 am: Samstag, 7. Februar 2015, 19:20 »
Hallo harm,

ja, system-system.spacing kenne ich, es vergrößert die Abstände zwischen den Akkoladen. Ich suche aber die Abstandsvergrößerung innerhalb der Akkoladen. Irgendwie funktioniert das hier nicht nicht:

\layout {
    \context {
      \TabStaff
      \override VerticalAxisGroup.staff-staff-spacing.basic-distance = #15
    }
  }

Weißt du warum? Oder funktioniert das bei dir?

LG von Trulli

RobUr

  • Member
Re: Vertical Spacing innerhalb der Akkolade
« Antwort #3 am: Samstag, 7. Februar 2015, 20:14 »
Hallo Trulli,

es funktioniert, wenn du die ganze Liste definierst:
\context {
\TabStaff
\override VerticalAxisGroup.staff-staff-spacing = #'(
(basic-distance . 9) ; default: 9
(minimum-distance . 15) ; default: 8
(padding . 1) ; default: 1
)
}

Gruß, Robert

harm6

  • Member
Re: Vertical Spacing innerhalb der Akkolade
« Antwort #4 am: Samstag, 7. Februar 2015, 20:14 »
Hmm, der Befehl:

\override VerticalAxisGroup.staff-staff-spacing.basic-distance = #15
in 2.18.0 ausgeführt, gibt mir folgende Warnung:

Zitat
Warnung: Typprüfung für »staff-staff-spacing« gescheitert; Wert »((basic-distance . 15) . #<unpure-pure-container #<primitive-procedure ly:axis-group-interface::calc
 :
 :
taff-staff-spacing> #<primitive-procedure ly:axis-group-interface::calc-pure-staff-staff-spacing> >)« muss vom Typ »list« sein
Warnung: Typprüfung für »staff-staff-spacing« gescheitert; Wert »((basic-distance . 15) . #<unpure-pure-container #<primitive-procedure ly:axis-group-interface::calc
 :
 :
taff-staff-spacing> #<primitive-procedure ly:axis-group-interface::calc-pure-staff-staff-spacing> >)« muss vom Typ »list« sein

in 2.19.15 gibts keine Warnung und er tut was er soll.

In 2.18.0 versuch mal:

\override VerticalAxisGroup.staff-staff-spacing = #'((basic-distance . 35))
mit verschiedenen Werten. Klappt bei mir.
Vielleicht sollte man dann aber die ganze Liste angeben, d.h. mit Einträgen für padding, minimal-distance und stretchability. Es gab ein paar vereinfachende Änderung in der Art und Weise wie nested-properties zu modifizieren sind. Und ich kann mich nicht mehr daran erinnern wann das kam...

Gruß,
  Harm


trulli

  • Member
Re: Vertical Spacing innerhalb der Akkolade
« Antwort #5 am: Sonntag, 8. Februar 2015, 00:12 »
Hallo Rob und harm,

vielen Dank, beide Lösungen klappen.

Ich war irgendwie auf dem Holzweg, weil ich hier die folgende Lösung gefunden hatte, die aber interessanterweise keine Klammern hat und dieses "default" dazwischen:
\override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #10
Das "default" war offenbar Schuld, dass es bei mir gar keine Warnung gab.

Im gleichen Abschnitt steht auch
\override VerticalAxisGroup.default-staff-staff-spacing =
    #'((basic-distance . 10)
       (minimum-distance . 9)
       (padding . 1)
       (stretchability . 10))

Funktioniert nicht. Aber ohne default läuft es. Offenbar ein Schreibfehler.

@harm
Ich habe die erste Schreibweise (ohne default) mit 2.19.0 probiert - klappte nicht. Tatsächlich funktioniert es erst bei 2.19.15.

Die Magie des Codes...   ::)

Grüße von Trulli