Notationsspezifisch > Noten für Schlagzeug
Ghost Notes Global Ändern
schlomo:
liebe lilypond-Experten,
ich würde gerne für eine Schlagzeugnotation eine "Funktion" oder etwas ähnliches schreiben, welche Global im gesamten Dokument das Erscheinnungsbild der Ghost-Notes ändert die ich mit dem Befehl "\parenthesize" erstellet habe.
Normalerweise werden bei "\parenthesize" die bestehenden Notenköpfe in Klammern gesetzt. Ich würde gerne einfach den Notenkopf (und die Klammern) ausblenden.
Ist so etwas überhaut möglich mit lylipond?
Ich habe schon versucht statt "\parenthesize" einfach Manuell mit "\once \override NoteHead #'transparent = ##t" den Notenkopf auszublenden.
Allerdings funktioniert das nicht wenn ich mehrere Noten untereinander platziere:
<< \once \override NoteHead #'transparent = ##t snare8 bassdrum8>>
dann werden nämlich immer ALLE Noten in "<< ... >>" ohne Notenkopf dargestellt
Schlomo
harm6:
Hallo Schlomo,
willkommen im Forum!
Im Moment kann ich mich nicht mit Deiner Frage beschäftigen, frühestens heute abend/nacht.
Es würde mir aber sehr helfen, wenn Du ein kurzes kompilierbares Beispiel mit Angabe der Versionsnummer posten könntest welches das Problem und Deine bisherigen Lösungsversuche zeigt. (Das solltest Du übrigens immer machen!!)
--- Zitat ---Ist so etwas überhaut möglich mit lylipond?
--- Ende Zitat ---
Meine Devise: lily kann alles! ;)
Gruß,
Harm
Arnold:
Hallo,
schon mal »\tweak« angesehen. Damit kann man Attribute zu einzelnen Notenköpfen eines Akkords ändern. Die Standardbeispiele machen's mit Farbe bzw. Notenkopfgröße.
Und es gibt Beispiele, wie der lange tweak-Text als Scheme-Funktion definiert werden kann, so wie im gerade laufenden Thread »Vorzeichen in Akkorden«.
Aber vielleicht liefert Harm ja schon bis heute abend die fertige Lösung.
schlomo:
Hallo harm6,
danke für die flinke Antwort!
--- Zitat von: harm6 am Donnerstag, 8. März 2012, 12:40 ---Es würde mir aber sehr helfen, wenn Du ein kurzes kompilierbares Beispiel mit Angabe der Versionsnummer posten könntest welches das Problem und Deine bisherigen Lösungsversuche zeigt. (Das solltest Du übrigens immer machen!!)
--- Ende Zitat ---
Hier ist mein Code:
\version "2.14.0" % necessary for upgrading to future LilyPond versions.
\layout {
}
\header { tagline = ##f }
#(set-global-staff-size 20)
\paper {
system-system-spacing #'basic-distance = #20
indent = #(* mm 0)
top-margin = #(* mm 20)
}
\layout {
\context {
\Score
%\remove "Bar_number_engraver"
}
}
#(define mydrums '(
(bassdrum default #f -5)
(snare default #f 0)
(hihat cross #f 5)
(pedalhihat cross #f -3)
(openhihat xcircle #f 5)
(lowtom default #f 1)
(hightom default #f 3)
(lowfloortom default #f -1)
(ridecymbal harmonic-black #f 6)
(ridebell harmonic-black #f 5)
(crashcymbal harmonic-black #f 7)
)
)
oben = \drummode {
\numericTimeSignature
\time 4/4
{
\override TextScript #'script-priority = #100
cymc8\upbow rb
rb16 rb16 rb8
rb8 rb16 rb16
rb8 rb16 rb16
}
}
unten = \drummode
{
bd16 hhp sn hhp
sn16 hhp8 << sn16 hhp >>
%Hier ist der Fehler. sn16 wird ohne Notenkopf dargestellt. Leider aber auch hhp
bd16 << \once \override NoteHead #'transparent = ##t sn16 hhp >> << \parenthesize sn >> hhp
r16 << sn8 hhp >> hhp16
}
\new DrumStaff <<
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
\new DrumVoice { \voiceOne \oben }
\new DrumVoice { \voiceTwo \unten }
>>
Danke
Gruß
Schlomo
PS:
Du kannst mir bei der Gelegenheit sicher auch verraten wie ich im unteren Drummode alle Notenbalken Waagrecht und auf gleicher Höhe verlaufen lassen kann ;)
harm6:
Hallo Schlomo,
also ein kurzes Beispiel in diesem Sinne war das jetzt nicht. ;) Aber es war auch nicht so lang, das einem die Lust vergeht dran zu arbeiten. (Als Negativ-Beispiel denke ich noch mit Schaudern an einen Post auf der englischen Liste: ~8000 Zeilen Code, in Worten: achttausend!).
Aber benutze bitte den "Code einfügen"-Button, wenn Du Code posten möchtest, der länger als zwei Zeilen ist.
Zum Problem:
* Transparenz: Wie Arnold schon sagte, der tweak-Befehl muß hier zur Anwendung kommen. Bitte beachte die < ... > Klammern!
* Bebalkung: Ich finde die default-Bebalkung eigentlich völlig in Ordnung.
Aber falls Du immer waagerechte Balken haben willst: \override Beam #'damping = #+inf.0 Sie sind dann allerdings nicht immer auf gleicher Höhe.
Ansonsten benutze: \override Beam #'positions = #'(-5 . -5) Bei gleichen Werten ist der Balken waagerecht und da das ein dauerhafter Befehl ist (bis zur Aufhebung), sind die Balken auch auf gleicher Höhe.
* Ich wäre ein bißchen Vorsichtig mit dem << ... >> -Konstrukt (zumindest so wie Du es anwendest). Irgenwo in meinem Hinterkopf läutet eine kleine Alarmglocke. Ich kann mich aber beim besten Willen nicht mehr erinnern warum, vielleicht versteckt sich irgendwo ein bug, der manchmal erscheint. Irgendwie sowas war das.
Deshalb, warum nicht normale Akkorde notieren mit < ... > -Klammern?
Der Code:
--- Code: ---\version "2.14.0" % necessary for upgrading to future LilyPond versions.
\layout {
}
\header { tagline = ##f }
#(set-global-staff-size 20)
\paper {
system-system-spacing #'basic-distance = #20
indent = #(* mm 0)
top-margin = #(* mm 20)
}
\layout {
\context {
\Score
%\remove "Bar_number_engraver"
}
}
#(define mydrums '(
(bassdrum default #f -5)
(snare default #f 0)
(hihat cross #f 5)
(pedalhihat cross #f -3)
(openhihat xcircle #f 5)
(lowtom default #f 1)
(hightom default #f 3)
(lowfloortom default #f -1)
(ridecymbal harmonic-black #f 6)
(ridebell harmonic-black #f 5)
(crashcymbal harmonic-black #f 7)
)
)
oben = \drummode {
\numericTimeSignature
\time 4/4
{
\override TextScript #'script-priority = #100
cymc8\upbow rb
rb16 rb16 rb8
rb8 rb16 rb16
rb8 rb16 rb16
}
}
unten = \drummode
{
%\override Beam #'damping = #+inf.0
\override Beam #'positions = #'(-5 . -5)
bd16 hhp sn hhp
sn16 hhp8 << sn16 hhp >>
%Hier ist der Fehler. sn16 wird ohne Notenkopf dargestellt. Leider aber auch hhp
% \tweak löst das Problem!
bd16 << <\tweak #'transparent ##t sn>16 hhp >> << \parenthesize sn >> hhp
r16 << sn8 hhp >> hhp16
}
\new DrumStaff <<
\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
\new DrumVoice { \voiceOne \oben }
\new DrumVoice { \voiceTwo \unten }
>>
--- Ende Code ---
Aber eigentlich heißt der Thread ja "Ghost Notes Global Ändern". Der \tweak-Befehl wirkt jedoch punktuell, also völlig entgegengesetzt. Ob man da irgenwas globales machen kann, weiß ich noch nicht.
HTH,
Harm
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln