Neueste Beiträge

Seiten: [1] 2 3 ... 10
1
Fragen und Probleme aller Art / Antw:Textspanner verlängern
« Letzter Beitrag von Hilflos-im-Code am Heute um 11:18 »
\override TextSpanner.bound-details.right.attach-dir

war es gewesen.

Es ging eigentlich darum, dass in der Vorlage der Textspanner eher bis zum Taktstrich als bis zur letzten Note im Takt ging.
2
Fragen und Probleme aller Art / Antw:Zweite Taktangabe
« Letzter Beitrag von amateur am Samstag, 7. Dezember 2019, 21:54 »
Vielen Dank, Harm
die erste Lösung ist genau das, was ich wollte.
Die zweite ist die, die Bach ja benutzt. Die hatte ich auch schon gefunden. Funktioniert aber nur, wenn ich mehr als eine Stimme schreibe. Ich brauche aber nur diese eine. Die Vorlage ist von einem Akkordeonorchester, in der die geklammerten 9/8 so drin stehen. Im Prinzip müsste man in jedem Takt, in dem Triolen vorkommen, in den 9/8-Takt wechseln.
Ich vermute mal, dass Bach sich Punktierungen in der einen Stimme bzw. Triolen in der anderen ersparen wollte. Hatte ja auch immer viel zu tun  ;)
Richard Hegewald
3
Fragen und Probleme aller Art / Antw:Zweite Taktangabe
« Letzter Beitrag von harm6 am Samstag, 7. Dezember 2019, 09:49 »
Hallo,

ich wußte gar nicht, daß Bach irgendwo zwei verschiedene Taktarten gleichzeitig notiert hat.

Die meisten modernen Editionen, die ich online fand scheinen es als generellen 3/4-Takt glatt zu bügeln. Wäre interessant wie es die "Neue Bachausgabe" macht.

Aber zur Frage, Du könntest so vorgehen:

%% after: http://lsr.di.unimi.it/LSR/Item?id=1091
#(define ((double-time-signature a b c d) grob)
  (grob-interpret-markup grob
    (markup
      #:override '(baseline-skip . 2.0)
      #:number
      (#:line ((#:fontsize 0 #:column (a b))
               (#:fontsize 0 #:parenthesize #:column (c d)))))))
{
  \once \override Score.TimeSignature.stencil =
  #(double-time-signature "3" "4" "9" "8" )
  \time 3/4
  \omit TupletBracket
  \omit TupletNumber
  \tuplet 3/2 4 { r8 g' a' b' d'' c'' c'' e'' d'' }
}
Den LSR-code kann man auch schöner schreiben, funktioniert aber.
D.h. Du schreibst Triolen in einem 3/4-Takt

Eigentlich fände ich es interessanter beide Taktarten so zu lassen wie Bach es schrieb. Dann muß man ein paar engraver verschieben(*), Dauern skalieren sowie
  \time 3/4
  \set Staff.timeSignatureFraction = 9/8
setzen.
Es erscheint ein 9/8-Takt gleicher Länge wie der drunter liegende 3/4:
\layout {
  \context {
    \Score
    \remove "Timing_translator"
    \remove "Default_bar_line_engraver"
  }
  \context {
    \Staff
    \consists "Timing_translator"
    \consists "Default_bar_line_engraver"
  }
}

% Now each staff has its own time signature.

\new StaffGroup
<<
  \new Staff
  \scaleDurations 6/9
  {
    \key g \major
    \time 3/4
    \set Staff.timeSignatureFraction = 9/8
    r8 g' a' b' d'' c'' c'' e'' d''
    |
  }
  \new Staff {
  \key g \major
    \time 3/4
    r4 g'8. fis'16 g'8. fis'16
    |
  }
  \new Staff {
  \clef alto
  \key g \major
    \time 3/4
    r4 d' e'
    |
  }
  \new Staff {
  \clef bass
  \key g \major
    \time 3/4
    g,4 g e
    |
  }
>>

Gruß,
  Harm

(*)
http://lilypond.org/doc/v2.19/Documentation/notation/displaying-rhythms#polymetric-notation
4
Fragen und Probleme aller Art / Zweite Taktangabe
« Letzter Beitrag von amateur am Freitag, 6. Dezember 2019, 23:58 »
Ich möchte am Anfang einer Partitur nach der regulären Taktangabe 3/4 noch eine zweite als reinen Text  in einer Klammer einfügen (9/8).
Es geht um den Choral "Jesus bleibet meine Freude", den Bach gleichzeitig als 4/4 und 9/8 komponiert hat.
\version "2.18.2"

\header {
  title = "Beispiel "
}

\include "deutsch.ly"

StimmeEins = \new Staff {
  \time 3/4
  \key g \major
  \clef treble
  \relative c' {
    r4 d' e |
    g4 e h |
    \omit TupletBracket
    \omit TupletNumber
    d4 \tuplet 3/2 { r4 d8 } \tuplet 3/2 { g,4 g'8 } |
  }
}

\score {
  \StimmeEins
}
http://hegewald-duisburg.com/nextcloud/index.php/s/6aaXc6fLBbQrWtW

Bin dankbar für Hinweise
Richard Hegewald
5
Fragen und Probleme aller Art / Antw:Textspanner verlängern
« Letzter Beitrag von harm6 am Donnerstag, 5. Dezember 2019, 12:17 »
Hallo,

ich verstehe die Frage nicht so ganz.

Jeder spanner, also auch der TextSpanner, ist "gespannt" zwischen dem linken und dem rechten "bound", line-breaks mal außer Acht lassend, sind das beim TextSpanner für gewöhnlich zwei NoteColumns.
Das rechte Ende des TextSpanners wird also durch die relevante NoteColumn bestimmt.

Irgendwie bezweifle ich, daß Deine Frage damit schon beantwortet ist, wahrscheinlich interessieren Dich mehr die Details am TextSpanner-Ende.
Hier kommen sub-properties von bound-details.right ins Spiel:
- attach-dir bestimmt, ob der TextSpanner (im folgenden TS) am linken Rand, in der Mitte oder am rechten Rand der NoteColumn endet.
  Je nachdem, ob -1, 0 oder 1 gesetzt ist. Per default ist es nicht gesetzt, entspricht dann 0, also NoteColumn-Mitte.
- padding bestimmt (ausgehend von der Position, die durch attach-dir festgelegt wurde) den gewünschten Abstand dazu. Default ist 0.25
Ansonsten kann man die Gesamtlänge des TS noch durch geeignete Setzungen für minimum-length beeinflussen. Um das zu ermöglichen muß man spring-and-rods allerdings auf ly:spanner::set-spacing-rods setzen, sonst hat minimum-length keine Wirkung.

Beispiel:
{
\override TextSpanner.bound-details.left.padding = 0
\override TextSpanner.bound-details.left.attach-dir = 0
\override TextSpanner.bound-details.right.padding = 0
\override TextSpanner.bound-details.right.attach-dir = 0
%\override TextSpanner.springs-and-rods = #ly:spanner::set-spacing-rods
%\override TextSpanner.minimum-length = 40

b4\startTextSpan
4 4 4 4 4
2\stopTextSpan
}

Im Beispiel ist alles genullt. Das bequemste ist jetzt bei
\override TextSpanner.bound-details.right.padding = 0
die Null durch eher zusagende Werte zu ersetzen.
Man kann zwar auch attach-dir auf andere Werte setzen, da rate ich aber von ab.


Möglicherweise interessiert Dich aber ja stattdessen der absolute numerische Wert für das rechte Ende eines TS:
{
\override TextSpanner.after-line-breaking =
#(lambda (grob)
  (pretty-print
    (assoc-get 'X (ly:grob-property grob 'right-bound-info))))

b4\startTextSpan
4 4 4 4 4
2\stopTextSpan
}
Im terminal siehst Du dann: 37.1708929093184


HTH,
  Harm
6
Fragen und Probleme aller Art / Textspanner verlängern
« Letzter Beitrag von Hilflos-im-Code am Donnerstag, 5. Dezember 2019, 10:44 »
Ich würde gerne exakt das rechte Ende eines Textspanners bestimmen. Finde aber nicht die Option nach:  \override TextSpanner.

7
Fragen und Probleme aller Art / Antw:Portierung des renderers nach iOS
« Letzter Beitrag von harm6 am Donnerstag, 5. Dezember 2019, 09:25 »
Hallo mlostek,

willkommen im Forum.

Ich habe hier im Forum bislang keinen thread gesehen, der sich mit etwas ähnlichem beschäftigt hat. Ich selbst zumindest kann Dir da nicht weiter helfen.
Vielleicht wäre es sinnvoll Dein Anliegen auf der internationalen mailing-list vorzutragen. Da sind mehr Leute unterwegs und ich habe die nebulöse Erinnerung eine ähnliche Anfrage schon mal gelesen zu haben. (Da kann ich mich aber auch irren.)

Gruß,
  Harm
8
Fragen und Probleme aller Art / Portierung des renderers nach iOS
« Letzter Beitrag von mlostek am Mittwoch, 4. Dezember 2019, 14:01 »
Hallo,

ich überlege für eine app die LillyPond notation zu verwenden und auch den SVG/PDF exporter zu portieren. Rendern von PDF auf iOS ist trivial, allerdings weiß ich nicht genau wo ich in der codebase ansetzen soll. Hat jemand ein paar Tips für mich um den Einstieg in den code zu finden? Wo finde ich die interpreter, wo die exporter?

Vielen Dank im Voraus.
9
Fragen und Probleme aller Art / Antw:Zwischentitel
« Letzter Beitrag von hurrlipurr am Sonntag, 1. Dezember 2019, 14:04 »
Super! So lässt sich die Songstruktur separat anlegen, was die Datai viel übersichtlicher macht.

Vielen Dank!
10
Fragen und Probleme aller Art / Antw:Zwischentitel
« Letzter Beitrag von harm6 am Sonntag, 1. Dezember 2019, 10:37 »
Es sind keine RehearsalMarks in sheetB, also werden keine gedruckt.

Ich würde eine eigene Variable dafür machen und dann überall einbinden.

(Etwas vereinfacht soweit es den book-code angeht, ist sonst zu lästig :) )
\version "2.19.82"
\pointAndClickOff

\paper { indent = #0 }

mymelody = { c4 d e f g a b c }

harmonies = \chordmode { c1 g c g }

leadvox = \relative c' {
  \key c \major
  %\override Score.RehearsalMark.self-alignment-X = #LEFT
  %\override Score.RehearsalMark.break-align-symbols = #'(left-edge)
  %\mark \markup {\rounded-box\teeny "Strophe 1"}
  \relative c'
  \mymelody
  %\mark \markup {\rounded-box\teeny "Strophe 2"}
  \mymelody
}

marks = {
  \override Score.RehearsalMark.self-alignment-X = #LEFT
  \override Score.RehearsalMark.break-align-symbols = #'(left-edge)
  \mark \markup {\rounded-box\teeny "Strophe 1"}
  s1*2
  \mark \markup {\rounded-box\teeny "Strophe 2"}
  s1*2
}

mylyrics = \lyricmode { Ich bin ein Lied, ein gu -- tes Lied. Und wer's nicht mag ist sel -- ber schuld. }

tromb = \relative c {
  \key c \major
  \relative c \mymelody
  \mymelody
}

sheetPartitur =
  <<
    \new ChordNames {
      \set chordChanges = ##t
      \harmonies
    }
    \new Staff \new Voice = "vocals"  << \marks { \clef "treble" \leadvox } >>
    \new Lyrics \lyricsto "vocals" { \mylyrics }
    \new Voice = "trombone" { \clef "bass" \tromb }
  >>

sheetA =
  <<
    \new ChordNames { \set chordChanges = ##t
                      \override ChordName #'font-size = #(magstep -4)
                      \harmonies
                    }
    \new Staff \new Voice = "vocals" << \marks { \clef "treble" \leadvox } >>
    \new Lyrics \lyricsto "vocals" { \mylyrics }
  >>

sheetB =
  <<
    \new ChordNames { \set chordChanges = ##t \harmonies }
    \new Voice = "trombone" << \marks  { \clef "bass" \tromb } >>
  >>

% Output-Varianten

\bookpart { \sheetPartitur }

\bookpart { \sheetA }

\bookpart { \sheetB }

Diese marks-Variable kann natürlich ausgebaut werden zu einer regelrechten control-Variable um alles mögliche zu regeln:
breaks, BarLine, etc

HTH,
  Harm
Seiten: [1] 2 3 ... 10