Deutsches Lilypond Forum (Archiv)
Allgemein => Fragen zu Funktionen => Thema gestartet von: kilgore am Freitag, 16. Januar 2009, 17:10
-
Ich möchte ein Custom Notenkopf machen, weiss aber nicht wie. Es soll wie ein normale Notenkopf aussehen aber mit einem " / " drauf. Also ein normaler Kopf aber durchgestrichen. Ideen?
-
In den Doku NR 1.1.4 Notenköpfe steht das.
-
Hey Hindemith! Ich habe das dort nicht gefunden. Da sehe ich wie man die Notenköpfe ändern kann, aber ein durchgestrichene Notenkopf ist nie eine der erklärten Möglichkeiten. Also ich möchte ein Notenkopf haben was dort nirgendwo abgebildet ist. Kann man das irgendwie machen?
-
Nicht die improvisation Notenköpfe? Das hab' ich verstanden. Na, wenn er in den Feta font nicht ist, dann musst du ihn mit Postscript schreiben. Damit kann ich nicht helfen. Tut mir Leid. Ich hab gedacht es wäre einfacher.
-
Aus Einzelteilen von "mc-squared" und "snap pizzicato" geschustert:
#(define (_slashed grob orig current)
(let* ((interfaces (ly:grob-interfaces grob)))
(if (memq 'note-head-interface interfaces)
(ly:grob-set-property! grob 'stencil
(ly:stencil-add
(ly:note-head::print grob)
(ly:make-stencil (list 'draw-line 0.1 -0.2 -0.6 +1.6 +0.6 ))
)
)
)
)
)
slashed = { \applyOutput #'Voice #_slashed }
{ g'2 \slashed g'2 a'2 \slashed a'2 }
0.1 ist Liniendicke, dann Anfangs-X/Y und Ende-X/Y.
Gruss
-
super 8)
nur ein kleines häkchen: ganze noten scheinen keine schrägstriche zu bekomen`!
danke
ding-dong
-
ganze noten ... keine schrägstriche
Bei mir schon, aber wie Fussel.
Nachhelfen mit Liniendicke 0.2 ?
Und bei Ganzen, nach rechts vergrössern (+2.2).
#(define (_slashed grob orig current)
(let* ((interfaces (ly:grob-interfaces grob)))
(if (memq 'note-head-interface interfaces)
(let*( (durlog (ly:grob-property grob 'duration-log)))
(ly:grob-set-property! grob 'stencil
(ly:stencil-add
(ly:note-head::print grob)
(ly:make-stencil (list 'draw-line 0.2 -0.2 -0.6 (if (> durlog 0) '+1.6 '+2.2) +0.6 ))
)
)
)
)
)
)
Gruss
-
WOW!!! ;D
Ich bin echt schwer beeindruckt, vielen Dank! Auch dir Hindemith, ich dachte auch zuerst ich könnte es da finden...
Ich habe die zahlen so geändert (die Linie etwas nach rechts und nach links, für Sichtbarkeit):
(list 'draw-line 0.1 -0.6 -0.6 +2.0 +0.6 ))
Bedruckt sieht das genau so aus wie ich möchte, wobei die Linie im PDF etwas schwach erscheint.
Ich arbeite mit Lilypond nur seit einer Woche, und kann solche sachen noch nicht codieren. Schon kann ich aber vieles, was für ein tolle Programm! Freue mich total, ein Snippet für meine "Stockhausen Luftgeräusche" zu haben! Comper, willst du das in LSR reintun??
k
Nun wie schaffe ich diese Text was immer unten rauskommt weg!! "Music Engraved by Lilypond..."
-
Gerne geschehen. (Evtl. den "durlog"-Nachtrag auch übernehmen?)
Im \header-Teil, tagline etwas zuweisen, z.B. tagline = ""
Gruss
-
@comper: hilft hier leider nichts!
-
Hey ding-dong!
Versuche es mal mit den Zahlen die ich gemacht habe. Da kriege ich gut aussehende, durchgestrichene ganze noten! Die Linie habe ich etwas länger gezogen, da sieht man alles viel besser! Nicht vergessen imm \slashed davor!
-
hier ist mein code und mein output - danke für eure hilfe!
\version "2.12"
#(define (_slashed grob orig current)
(let* ((interfaces (ly:grob-interfaces grob)))
(if (memq 'note-head-interface interfaces)
(ly:grob-set-property! grob 'stencil
(ly:stencil-add
(ly:note-head::print grob)
(list 'draw-line 0.1 -0.6 -0.6 +2.0 +0.6 ))
))))
slashed = { \applyOutput #'Voice #_slashed }
{
g'1
g'1 \slashed
g'2 \slashed
g'2
a'2 \slashed
a'2
g'4 \slashed
g'
a' \slashed
a'
g'8 \slashed
g'
a' \slashed
a'
g'16 \slashed
g'
a' \slashed
a'
g'32 \slashed
g'
a' \slashed
a'
g'4. \slashed
g'
a' \slashed
a'
g'1 \slashed
}
-
Hey ding-dong! \slashed muss VOR dem gewünschten Ton stehen... also für die ganze Töne muss das dann so aussehen: \slashed g1 \slashed a1
falls das noch ein problem ist....
-
??? wie dumm - danke!
ding-dong
-
Im angezeigten Code fehlen ly:make-stencil und einige Klammern.
Also nochmals probieren und jeweils auf Meldungen achten.
Aber eben, Lilypond ist oft verdammt schweigsam.
Ich habe weiter gewerkelt, weil ich das Notenkopf-Ergänzen
in einem anderen Zusammenhang brauchen könnte.
Hier, meine neueste Version (mit kilgore Stil),
anwendbar wie bisher mit \slashed
oder streckenweise mit \slashedOn und \slashedOff.
#(define (slashed-stencil grob)
(let*( (durlog (ly:grob-property grob 'duration-log)))
(ly:stencil-add
(ly:note-head::print grob)
(ly:make-stencil (list 'draw-line 0.1 -0.6 -0.6 (if (> durlog 0) '+2.0 '+2.6) +0.6 ))
)
)
)
slashed = \once \override NoteHead #'stencil = #slashed-stencil
slashedOn = \override NoteHead #'stencil = #slashed-stencil
slashedOff = \revert NoteHead #'stencil
So ist es brauchbarer aber noch unfertig:
der Strich müsste sich der Notenkopf-Grösse anpassen, z.B. bei \grace.
Und eine Frage: wozu die Striche?
Gruss
-
Hey comper! Super schön! Die neue Version werde ich benutzen : ). Der durchgestrichene Ton hat Stockhausen für seine Luftgeräusche (auf Trompete) benutzt. Ich wollte ein paar Beispiele daraus nehmen und deswegen habe ich danach gefragt.