Autor Thema: Text im Notensystem  (Gelesen 2695 mal)

Castor

  • Member
Text im Notensystem
« am: Sonntag, 24. August 2014, 16:52 »
Hallöle!

Nehmen wir an, bei folgendem Beispiel handle es sich um das Ende eines Stücks mit Coda-Schwänzchen.

\version "2.18.2"

\relative c' {
  c4 d e d |
  c d e f |
  \mark\markup\musicglyph #"scripts.coda"
  g16 a b c b a g f e d c d e g f b, |
  d8 f a32 a a b d8 e4 c, |
  \once \override Score.RehearsalMark.self-alignment-X = #RIGHT
  \mark\markup\small\italic "D.C. al Coda"
  \stopStaff s1 |
  \startStaff
  \bar "||"
  \mark\markup\musicglyph #"scripts.coda"
  g1 | \bar "|."
}

Ich möchte, dass das "D.C. al Coda" in der Lücke zwischen dem letzten System des Stücks und dem Coda-System steht; am liebsten in zwei Zeilen (D.C. / al Coda) Hab leider im Handbuch nix dazu gefunden, wie man den Text mitten ins System (das ja nur mit \stopStaff versteckt ist) schreibt. Bitte um Hilfe.

Danke schonmal im Voraus (:

lg, Castor

trulli

  • Member
Re: Text im Notensystem
« Antwort #1 am: Sonntag, 24. August 2014, 20:51 »
Meinst du so?

\version "2.18.2"

\relative c' {
  c4 d e d |
  c d e f |
  \mark\markup\musicglyph #"scripts.coda"
  g16 a b c b a g f e d c d e g f b, |
  d8 f a32 a a b d8 e4
 \once\override TextScript #'extra-offset = #'( 4 . -4.5 )
  c,^\markup{ \fontsize #-3 \italic \override #'(baseline-skip . 1.5) \column { "D.C." "al" "Coda"}} |
  \once \override Score.RehearsalMark.self-alignment-X = #RIGHT
  \stopStaff s1 |
  \startStaff
  \bar "||"
  \mark\markup\musicglyph #"scripts.coda"
  g1 | \bar "|."
}

Gruß von Trulli

Castor

  • Member
Re: Text im Notensystem
« Antwort #2 am: Sonntag, 24. August 2014, 21:20 »
ja.
genau so!
Dankeschön! (:

uiuiuiui einfach ein markup zurechtschieben ... darauf hätte ich wohl trotz meiner begrenzten kenntnisse auch drauf kommen können  :-[

achso: was genau macht das baseline-skip?
« Letzte Änderung: Sonntag, 24. August 2014, 21:27 von Castor »

fugenkomponist

  • Member
Re: Text im Notensystem
« Antwort #3 am: Sonntag, 24. August 2014, 23:32 »
achso: was genau macht das baseline-skip?
baseline-skip ist der Zeilenabstand. Anscheinend ist der Standardwert größer als 1,5; wenn du nämlich das \override #'(…) weglässt, siehst du das Standardverhalten mit größerem Zeilenabstand.

trulli

  • Member
Re: Text im Notensystem
« Antwort #4 am: Montag, 25. August 2014, 08:13 »
@Castor

Was bestimmte Werte (wie baseline-skip, extra-offset etc.) mit dem Text machen, kannst du immer leicht herausbekommen, wenn du dort die gegebenen Werte veränderst. Ich habe baseline-skip so angepasst, dass der Text etwa die Höhe des Systems hat.

Ist deine Coda in Wirklichkeit so kurz? Wenn ja, dann würde ich dort eher zwei Klammern mit Wiederholungszeichen setzten.

Grüße

Castor

  • Member
Re: Text im Notensystem
« Antwort #5 am: Montag, 25. August 2014, 12:27 »
ja, stimmt, hätte ich wohl auch selber rausbekommen können. War wohl einfach zu faul (:

@trulli: Nee, das war ja nur irgend ein kreiertes Beispiel. Hätte auch noch ne Zeile an das Coda dranhängen können. In dem Stück, woran ich gerade arbeite (Dyens - Tango en Skaï. wer hätte DAS gedacht? :D) wäre dann die erste Klammer viel zu groß. Ich wollte nur wissen, wie man das machen kann.

Danke euch nochmal (auch für die Hilfe in dem anderen Thema)! :D

lg Castor

Arnold

  • Member
Re: Text im Notensystem
« Antwort #6 am: Dienstag, 26. August 2014, 09:48 »
Hallo,

mit einer anderen Variante wird der horizontale Abstand automatisch eingehalten, aber dafür erntet man die Warnung, daß ein Auftakt in der Mitte eines Stückes eingesetzt wurde.
Das vordefinierte \DaCapoAlCoda, welches man in die Stimmendefinition (nur beim Taktstrich!) einfügt, lautet dann so:
DaCapoAlCoda = {
  \partial 32 \noBreak
  s64
  \once \override Score.RehearsalMark #'extra-spacing-width = #'(0.0 . 0.0)
  \once \override Score.RehearsalMark #'extra-spacing-height = #'(-inf.0 . +inf.0)
  \once \override Score.RehearsalMark #'direction = #UP
  \once \override Score.RehearsalMark #'outside-staff-priority = ##f
  \once \override Score.RehearsalMark #'Y-offset = #0.0
  \mark \markup { \general-align #Y #0.0 \whiteout \column {
     \center-align \line { " Da Capo " }
     \center-align \line { " al Coda " }
    }
  }
  s64
}
Auch enthält dieses Schnipsel noch nicht das stopStaff/startStaff-Paar (statt dessen wird der Text weiß hinterlegt), und die Taktnummern könnten Verwirrung stimmen (da demnächst Lilypond die Auftakte mitzählt, bisher aber noch nicht).

Arnold

RobUr

  • Member
Re: Text im Notensystem
« Antwort #7 am: Dienstag, 26. August 2014, 11:16 »
Zitat von: Castor
Hab leider im Handbuch nix dazu gefunden
Hier lohnt sich auch immer ein Blick in die Snippets: Positioning segno and coda (with line break)

OT:
Zitat von: Arnold
da demnächst Lilypond die Auftakte mitzählt, bisher aber noch nicht
Woher hast du denn diese Information, und warum soll das implementiert werden??? Auftakte werden nunmal nicht mitgezählt!

Gruß, Robert

Arnold

  • Member
Re: Text im Notensystem
« Antwort #8 am: Mittwoch, 27. August 2014, 09:20 »
Hallo,

ich habe im GIT Summary einen Hinweis http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=commit;h=37d4a68caf4bca4ed931aa884b0b3dfe17688d69 gefunden, daß bei "Auftakten in der Mitte des Stückes" die Zählweise geändert wurde.
Der normale Auftakt am Anfang eines Score-Blocks bleibt unverändert.

Ausprobiert habe ich es bisher nicht!

Detail-Nachtrag:
Regtest partial-in-mid-piece.ly auf Seite 323 von http://www.lilypond.org/doc/v2.19/input/regression/collated-files.pdf (der aktuellen Development-Version 2.19.12)

Vielleicht bräuchte man für diese Anwendung dann ein neues Kommando \retroPartial (Funktion von \partial wie bis 2.18.2)

Arnold
« Letzte Änderung: Donnerstag, 28. August 2014, 09:05 von Arnold »