Autor Thema: Custom Notenköpfe  (Gelesen 7516 mal)

kilgore

  • Member
Custom Notenköpfe
« 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?

derHindemith

  • Member
Re: Custom Notenköpfe
« Antwort #1 am: Freitag, 16. Januar 2009, 19:56 »
In den Doku NR 1.1.4 Notenköpfe steht das.

kilgore

  • Member
Re: Custom Notenköpfe
« Antwort #2 am: Freitag, 16. Januar 2009, 23:06 »
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

  • Member
Re: Custom Notenköpfe
« Antwort #3 am: Samstag, 17. Januar 2009, 07:42 »
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

  • Member
Re: Custom Notenköpfe
« Antwort #4 am: Samstag, 17. Januar 2009, 18:31 »
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

  • Member
Re: Custom Notenköpfe
« Antwort #5 am: Samstag, 17. Januar 2009, 23:03 »
super 8)

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

danke
ding-dong

comper

  • Member
Re: Custom Notenköpfe
« Antwort #6 am: Sonntag, 18. Januar 2009, 11:22 »
Zitat
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

kilgore

  • Member
Re: Custom Notenköpfe
« Antwort #7 am: Sonntag, 18. Januar 2009, 12:15 »
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

  • Member
Re: Custom Notenköpfe
« Antwort #8 am: Sonntag, 18. Januar 2009, 14:08 »
Gerne geschehen. (Evtl. den "durlog"-Nachtrag auch übernehmen?)

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

Gruss

ding-dong

  • Member
Re: Custom Notenköpfe
« Antwort #9 am: Sonntag, 18. Januar 2009, 16:46 »
@comper: hilft hier leider nichts!


kilgore

  • Member
Re: Custom Notenköpfe
« Antwort #10 am: Sonntag, 18. Januar 2009, 16:59 »
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

  • Member
Re: Custom Notenköpfe
« Antwort #11 am: Montag, 19. Januar 2009, 01:09 »
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

  • Member
Re: Custom Notenköpfe
« Antwort #12 am: Montag, 19. Januar 2009, 09:22 »
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

  • Member
Re: Custom Notenköpfe
« Antwort #13 am: Montag, 19. Januar 2009, 10:03 »
 ??? wie dumm - danke!
ding-dong

comper

  • Member
Re: Custom Notenköpfe
« Antwort #14 am: Montag, 19. Januar 2009, 10:04 »
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
« Letzte Änderung: Montag, 19. Januar 2009, 10:16 von comper »