Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: chf am Dienstag, 26. November 2013, 19:58
-
Liebe Freunde,
\version "2.16.2"
\time 5/8
die Metronomangabe des Komponisten soll heißen:
\tempo \markup {\note #"4.~4" #1 "ca. 66"} (soweit meine Vorstellung vom code).
Ich erfahre: schwerer Fehler: keine gültige Dauer: 4.~4
Wie muss der code heißen, damit die Dauer eines solchenTaktes angegeben wird?
Gruß
chf
-
So, ich habe das Beispiel für dich angepasst.
Ich hoffe, ist das, was du wolltest.
(ich habe das http://lsr.dsi.unimi.it/LSR/Snippet?id=204 (http://lsr.dsi.unimi.it/LSR/Snippet?id=204) geändert)
Liebe Grüsse
Eugenio
\version "2.16.2"
rhythmMarkStaffReduce = #-3
rhythmMarkLabelFontSize = #-2
rhythmMark = #(define-music-function (parser location musicI tempo) (ly:music? string?)
#{
\mark \markup {
\line \general-align #Y #DOWN {
\combine
\transparent \italic \fontsize #rhythmMarkLabelFontSize f
\score { % 2nd column in line
\new Staff \with {
fontSize = #rhythmMarkStaffReduce
\override StaffSymbol #'staff-space = #(magstep rhythmMarkStaffReduce)
\override StaffSymbol #'line-count = #0
\override VerticalAxisGroup #'Y-extent = #'(-0.85 . 4)
}
{
\relative { \stemUp $musicI }
% \override Score.SpacingSpanner #'strict-note-spacing = ##t
\once \override Score.TextScript #'Y-offset = #-0.4
s4.^\markup{ \halign #-1 \italic "=" $tempo }
}
\layout {
ragged-right= ##t
indent = 0
\context {
\Staff
\remove "Clef_engraver"
\remove "Time_signature_engraver"
}
} % layout end
} % Score end
} % line end
} % markup end
#})
tempoMark = {
\time 5/4
b'4. ~ b4
}
\score {
{
\once \override Score.RehearsalMark #'X-offset = #5 % td
\rhythmMark \tempoMark "60"
\time 5/8
c'8 d' e' f' g' |
a'
}
\layout {
ragged-right= ##t
indent = 0
}
}
-
Hallo Eugenio,
das ist, was ich wollte - herzlichen Dank!
Nur sind die Ziffern s e h r klein, und ich finde die Stellen nicht, wo ich etwas ändern kann.
Kannst du mir noch eine Variante liefern mit dem Text "5/8 = ca 66" ?
Christa
-
Hallo Christa
sehr gern geschehen :)
Also, wenn du den Text grösser wird, kannst du die Zeile 27 z.B. so ändern:
s4.^\markup{ \halign #-1 \italic \huge { "=" $tempo } }(jetzt ist extra übertrieben: versuch mit allen möglichen Grössen, \teeny, \tiny, \small, \normalsize, \large, \huge, \smaller, \larger).
Wegen der 2. Frage: meinst du so etwas?
\version "2.16.2"
rhythmMark = #(define-music-function (parser location tempo) (string?)
#{
\mark \markup {
\score {
\new Staff \with {
fontSize = #-2
\override StaffSymbol #'line-count = #0
\override VerticalAxisGroup #'Y-extent = #'(-0.85 . 4)
}
{
s4.^\markup{ \halign #-1 \italic { $tempo } }
}
\layout {
ragged-right= ##t
indent = 0
\context {
\Staff
\remove "Clef_engraver"
\remove "Time_signature_engraver"
}
} % layout end
} % Score end
} % markup end
#})
\score {
{
\once \override Score.RehearsalMark #'X-offset = #5
\rhythmMark "5/8 = ca. 66"
\time 5/8
c'8 d' e' f' g' |
a'
}
}
Liebe Grüsse
Eugenio
-
...man kann es auch einfacher machen :)
\score {
\new Staff {
\override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
\mark \markup { \tiny \italic {"5/8 = ca. 66"}}
c'1
}
}
Ciao!
Eugenio
-
Hallo Eugenio,
das Vergrößern ist mir gelungen mit \fontsize Wert {"= " $tempo } .
Zur Variante 2 habe ich mich nicht deutlich ausgedrückt. Entschuldige bitte.
Ich möchte das Bild mit den Notenwerten und dem Text " ca 66" (wie vom Komponisten vorgegeben).
Danke für deine Geduld mit mir!
Gruß
Christa
-
Hallo Christa
sorry, ich denke, ich verstehe nicht... :)
Wenn du das Notenbild brauchst, und dazu "ca 66", kannst du die Zeile 55
\rhythmMark \tempoMark "60"in
\rhythmMark \tempoMark "ca 66"So hast du aber das '=' Symbol.
Wenn du es weg nehmen willst, dann änderst du die Zeile 27
s4.^\markup{ \halign #-1 \italic "=" $tempo }in
s4.^\markup{ \halign #-1 \italic $tempo }
Übrigens: \halign #-1 brauchst du nicht :)
Ich hoffe, ist das was du wolltest. Sonst einfach fragen...
Liebe Grüsse
Eugenio
-
Hallo Eugenio,
auf einmal funktioniert alles! Wer weiß, wo mein Fehler steckte...
Danke nochmals,
und schöne Grüße
Christa