• Willkommen im Forum „Archiviertes Lilypond Forum (2017)“.
 

Dies ist das Archiv des alten Forums (bis März 2017). Das aktuelle Forum ist unter lilypondforum.de zu finden.
This is the archive of the old forum (until March 2017). You can find the current forum at lilypondforum.de.

Hauptmenü

Custom Notenköpfe

Begonnen von kilgore, Freitag, 16. Januar 2009, 17:10

Vorheriges Thema - Nächstes Thema

kilgore

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?

derHindemith

In den Doku NR 1.1.4 Notenköpfe steht das.

kilgore

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?

derHindemith

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.

comper

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

ding-dong

super 8)

nur ein kleines häkchen: ganze noten scheinen keine schrägstriche zu bekomen`!

danke
ding-dong

comper

Zitatganze 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

kilgore

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..."

comper

Gerne geschehen. (Evtl. den "durlog"-Nachtrag auch übernehmen?)

Im \header-Teil, tagline etwas zuweisen, z.B. tagline = ""

Gruss

ding-dong

@comper: hilft hier leider nichts!


kilgore

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!

ding-dong

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 
}

kilgore

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....

ding-dong

 ??? wie dumm - danke!
ding-dong

comper

#14
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