Autor Thema: Erledigt: NoteHead.style im Macro ändern  (Gelesen 1713 mal)

Joei

  • Member
Erledigt: NoteHead.style im Macro ändern
« am: Donnerstag, 24. März 2016, 09:20 »
Moin,

ich möchte mir Tiparbeit ersparen und die vorübergehende Stiländerung des Notenkopfes über ein Macro abbilden
- das scheitert - warum?
\version "2.19.38"

mens = {\once \override Voice.NoteHead.style = #'neomensural}

violin = \relative c'' {  c2 \mens  c2}

\new Staff \violin

Danke,
Joei
« Letzte Änderung: Donnerstag, 24. März 2016, 12:12 von Joei »

fugenkomponist

  • Member
Re: NoteHead.style im Macro ändern
« Antwort #1 am: Donnerstag, 24. März 2016, 10:47 »
Nach #'neomensural muss ein Leerzeichen stehen vor der geschweiften Klammer; sonst kommt anscheinend der Parser durcheinander. Warum er das nicht so klar sagt, sondern sich beschwert, dass als Folge mens nicht anständig definiert ist, weiß ich nicht.

Du kannst die Klammern aber auch einfach ganz weglassen. In diesem Fall ists anscheinend erstmal wurscht (wenn auch überflüssig), aber ich meine mich erinnern zu können, dass sowas bei manchen Definitionen doch eine Rolle spielt, weil {} eine SequentialMusic erstellen. Den Unterschied kannst du dir klar machen, indem du dir die Ausgabe von
\void \displayMusic \mensanschaust.

Was hast du damit vor? Solls um Flageolets gehen? Dann wäre \harmonic die richtige Funktion dafür …

Joei

  • Member
Re: NoteHead.style im Macro ändern
« Antwort #2 am: Donnerstag, 24. März 2016, 12:12 »
Danke Fugenkomponist,

nein, keine Flageolets (da verwirrte die \Violine ;) ) - ich setze eine Motette, diese bis auf Breve und Longa in moderner Notation...

Funktioniert einwandfrei...

Mal wieder ein herzliches Dankeschön - besser als jeder vermeintlich professionelle Support...

fugenkomponist

  • Member
Re: Erledigt: NoteHead.style im Macro ändern
« Antwort #3 am: Donnerstag, 24. März 2016, 14:43 »
Achso, dann geht das was du willst, aber viel einfacher:
\override NoteHead.style = #'baroqueDas setzt breve und longa eckig (wie neomensural) und den Rest modern. Dann brauchst du keine Funktion, die du an jede lange Note ranschreibst …

Das kannst du sogar auf die ganze Partitur anwenden, dann musst du es nicht in jede Stimme einzeln schreiben und kannst es schneller ändern:\layout {
  \context {
    \Voice
    \override NoteHead.style = #'baroque
  }
}
« Letzte Änderung: Donnerstag, 24. März 2016, 14:45 von fugenkomponist »