Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: chf am Freitag, 26. Juli 2013, 14:12

Titel: Ossia vertikal verschieben
Beitrag von: chf am Freitag, 26. Juli 2013, 14:12
Liebe Freunde,

was ist zu tun, wenn der Abstand der ossia-Zeile zur Originalfassung zu groß erscheint?

Gruß
chf
Titel: Re: Ossia vertikal verschieben
Beitrag von: Be-3 am Freitag, 26. Juli 2013, 16:14
Hallo Christa,

wenn der Abstand zu groß erscheint, würde ich ihn verkleinern. ;)

Konkret: Da Du kein Code-Beispiel beifügst, nehme ich einfach das Ossia-Beispiel aus der Dokumentation.
Was für "normale" Systeme funktioniert, geht auch mit Ossia-Zeilen: die Bestandteile der staff-staff-spacing-Liste einfach nach Bedarf anpassen - im Beispiel reicht ein Eintrag, nämlich die basic-distance, die ich auf einen kleineren Wert gesetzt habe (rot gekennzeichnet):

\version "2.16.1"

\new Staff = main \relative c'' {
  c4 b d c
  <<
    { c4 b d c }

    \new Staff \with {
      \remove "Time_signature_engraver"
      alignAboveContext = #"main"
      fontSize = #-3
      \override StaffSymbol #'staff-space = #(magstep -3)
      \override StaffSymbol #'thickness = #(magstep -3)
      \override VerticalAxisGroup #'staff-staff-spacing = #'((basic-distance . 6))
      firstClef = ##f
    }
    { e4 d f e }
  >>
  c4 b c2
}


Viele Grüße
Torsten
Titel: Re: Ossia vertikal verschieben
Beitrag von: chf am Freitag, 26. Juli 2013, 17:43
Hallo Torsten,

du Schelm! Deine Antwort ist natürlich die einzig richtige...
Aber nun sage mir bitte, warum die Lösung für mein Beispiel keine ist? Es rührt sich nichts.

Gruß
Christa

Titel: Re: Ossia vertikal verschieben
Beitrag von: eluze am Samstag, 27. Juli 2013, 09:56
Zitat
Aber nun sage mir bitte, warum die Lösung für mein Beispiel keine ist? Es rührt sich nichts.

Zitat von: NR
staff-staff-spacing
Used to determine the distance between the current staff and the staff just below it in the same system …
dieser beschreibung folgend müsste man die basic-distance im oberen staff ("main") definieren (und wenn man alignAboveContext benutzt wiederum im ossia-staff!)

ich würde deshalb
\layout {
  \context {
    \Staff
    \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #33
  }
}
vorschlagen.

Eluze
Titel: Re: Ossia vertikal verschieben
Beitrag von: chf am Samstag, 27. Juli 2013, 11:40
Hallo Eluze,

damit komme ich leider auch nicht zum Ziel.
Ich habe mein Beispiel mal noch bissl ergänzt...

Gruß
Christa
Titel: Re: Ossia vertikal verschieben
Beitrag von: eluze am Samstag, 27. Juli 2013, 12:44
Zitat
Ich habe mein Beispiel mal noch bissl ergänzt...
lieber nicht - es ist besser wenn möglichst alles überflüssige weg ist!
Zitat
damit komme ich leider auch nicht zum Ziel.
ich seh nichts - wo hast du default-staff-staff-spacing eingebaut?!

Eluze
Titel: Re: Ossia vertikal verschieben
Beitrag von: chf am Samstag, 27. Juli 2013, 13:05
Das habe ich an verschiedenen Stellen ohne Erfolg versucht.
Kannst du es bitte einbauen? (Die Ergänzung sollte nur zeigen, wo "ossia" stehen soll und was im laout stehen muss...)

chf
Titel: Re: Ossia vertikal verschieben
Beitrag von: eluze am Samstag, 27. Juli 2013, 13:18
hier ist das beispiel , vereinfacht.

\new Staff = main \relative c'' {
  c1
  <<
    { c }
    \new Staff = ossia \with { alignAboveContext = "main" }
    { c16^"ossia" c c c c8 \stopStaff }
  >>
  c1
}
\layout {
  \context {
    \Staff
    \override VerticalAxisGroup.default-staff-staff-spacing.basic-distance = #33
  }
}
bitte beachte, dass alignAboveContext sich auf einen existierenden context beziehen sollte, sonst passiert nämlich nichts!
Eluze
Titel: Re: Ossia vertikal verschieben
Beitrag von: chf am Samstag, 27. Juli 2013, 13:53
Eluze,

wenn ich aligneAbove wollte, gäbe es kein Problem - ich kämpfe mit align Below!
Titel: Re: Ossia vertikal verschieben
Beitrag von: eluze am Samstag, 27. Juli 2013, 14:13
wenn ich aligneAbove wollte, gäbe es kein Problem - ich kämpfe mit align Below!
meine lösung gilt auch dafür!
Titel: Re: Ossia vertikal verschieben
Beitrag von: chf am Samstag, 27. Juli 2013, 15:23
Sehe ich richtig, dass die Position nach deinem Code auch starr ist?
Ich dachte, dass sich die Zeilen noch weiter annähern lassen... Falsch?

übrigen s bekomme ich sowohl bei deinem Beispiel wie auch bei meinem die gleiche Fehlermeldung:

Fehler: syntax error, unexpected '.', expecting SCM_FUNCTION or SCM_IDENTIFIER or SCM_TOKEN
    \override VerticalAxisGroup
                               .default-staff-staff-spacing.basic-distance = #33
ossiaAbstand.ly:22:0: Fehler: syntax error, unexpected '}'

Christa
Titel: Re: Ossia vertikal verschieben
Beitrag von: eluze am Sonntag, 28. Juli 2013, 00:27
Sehe ich richtig, dass die Position nach deinem Code auch starr ist?
Ich dachte, dass sich die Zeilen noch weiter annähern lassen... Falsch?
zunächst müssen wir das hier unten fixen!
Zitat
übrigens bekomme ich sowohl bei deinem Beispiel wie auch bei meinem die gleiche Fehlermeldung:

Fehler: syntax error, unexpected '.', expecting SCM_FUNCTION or SCM_IDENTIFIER or SCM_TOKEN
    \override VerticalAxisGroup
                               .default-staff-staff-spacing.basic-distance = #33
ossiaAbstand.ly:22:0: Fehler: syntax error, unexpected '}'

also: ich verwende die neuste version und vergesse immer wieder meine posts für ältere versionen anzupassen - - tut mir leid. der grosse vorteil der neuen versionen ist, dass man auf die zeichen #' verzichten kann!

es müsste also in den 2.16 versionen heissen:
  \override VerticalAxisGroup #'default-staff-staff-spacing #'basic-distance = #33wenn du also statt 33 -> 0 oder 1 einsetzt, sollte der abstand klar vermindert werden! kannst du das überprüfen!?

Eluze
Titel: Re: Ossia vertikal verschieben
Beitrag von: chf am Sonntag, 28. Juli 2013, 17:48
Hallo Eluze,

jetzt stimmt meine Welt wieder!
Ich habe schon eine solche Ursache vermutet, die Frage war, um welches Zeichen es sich handelt.
Danke, dass du für meine Hartnäckigkeit Geduld aufgebracht hast.

Gruß
Christa