Deutsches Lilypond Forum (Archiv)
Allgemein => Allgemeine Diskussion => Thema gestartet von: harm6 am Sonntag, 23. September 2012, 14:14
-
Hallo zusammen,
z.Zt. findet auf der devel-list eine Diskussion statt, wie man die LilyPond-Eingabe-Syntax vereinfachen bzw verbessern kann.
Diese Diskussion wird nur von Entwicklern und erfahrenen Benutzern geführt.
Da wir (die diskutierenden) alle die Anfangsschwierigkeiten längst überwunden haben bzw mit den bestehenden Unzulänglichkeiten viel zu vertraut sind, kann ich mich des Eindrucks nicht erwehren kann, daß wir nicht die richtigen Personen sind ein solches Thema zu bereden, oder besser formuliert: wir lenken unsere Aufmerksamkeit vielleicht nicht auf die Dinge, die wirklich problematisch sind.
Zumindest denke ich, daß eine gewisse Diskussions-Grundlage fehlt, was Einsteigern (aber auch fortgeschrittenen Benutzern und Experten) das Leben schwer macht.
Somit die Frage(n) an alle (mit Schwerpunkt auf LilyPond-Neueinsteiger):
- Was macht den LilyPond-Einstieg schwer?
- Wo gibt es Inkonsequenzen?
- Ärgernisse?
- etc
Zur Abgrenzung:
Alle Fragen beziehen sich nur auf die Syntax die in einem .ly-file vorkommen kann!
Es geht nicht um scheme oder C++
Es geht nicht um features nach dem Motto "Ich hätte gerne, daß lily "xy" kann"
Über zahlreiche Antworten würde ich mich sehr freuen.
Ich beabsichtige nach einer Woche Eure Antworten auflistend zusammenzustellen und in die oben erwähnte Diskussion einfließen zu lassen.
Viele Grüße,
Harm
-
zuerst fällt mir da die gesamte Problematik "Abstände" (Seitenlayout) ein. (sicher auch verbunden mit der Umgewöhnung an neue Befehle, nachdem ich mühsam die alten versuchte zu begreifen)
M.
-
Hallo,
zuerst fällt mir da die gesamte Problematik "Abstände" (Seitenlayout) ein.
Vielen Dank für Deine Antwort.
Kannst Du ein konkretes Beispiel angeben?
Ich weiß, es gibt tausend und einen Befehl fürs Spacing, es wäre daher schön, wenn Du an einem konkreten Beispiel ein konkretes Problem zeigen könntest.
Gruß,
Harm
-
Hi Harm,
Die folgende Befehle fallen mir Beispielsweise als umständlich ein:
\override TextSpanner #'(bound-details left text)
\override Glissando #'(bound-details right padding)
Als Anfänger kommt man nicht wirklich drauf, und nicht mal meine Auto-Vervollständigung kommt hinterher. Andere "ähnliche" Befehle sind dagegen etwas einfacher zu merken:
\override TextScript #'X-extent
\override Script #'staff-padding
Auch die Weise wie man custom Notenköpfe baut finde ich umständlich:
\once \override NoteHead #'stencil = #ly:text-interface::print
\once \override NoteHead #'text = \markup { \musicglyph #"scripts.coda" }
Selbst nach viele Erfahrung muss ich solche Befehle mit Copy-Paste eingeben. Ich stelle es mir irgendwie einfacher vor:
\once \override NoteHead #'custom-head = \markup { \musicglyph #"scripts.coda" }
Falls mir noch was einfällt sag ich Bescheid!!
Gruß
Nathan
-
Hallo,
eigentlich bin ich ein schon einigermaßen erfahrerer Anwender, der durch CAD-Anwendungen und Programmiererfahrung auch vor manchen 'konzeptionellen' Stolpersteinen bewahrt war.
Wenn die Standardformatierung verändert werden soll, war und ist es immer eine mehr oder minder große Sucherei, bis man die richtigen \override bzw. \set Parameter und den richtigen Kontext findet.
Vielleicht ist ein großer Schritt zur Erleichterung nur eine Dokumentationsmethodik.
Wenn wieder einmal die Klammern nicht ausbalanziert sind, hilft meist nur die Erfahrung die exakte Fehlerstelle schnell zu funden.
Das ist vielleicht nur eine Frage der Editorunterstützung.
Arnold
-
Die folgende Befehle fallen mir Beispielsweise als umständlich ein:
\override TextSpanner #'(bound-details left text)
\override Glissando #'(bound-details right padding)
Als Anfänger kommt man nicht wirklich drauf, und nicht mal meine Auto-Vervollständigung kommt hinterher. Andere "ähnliche" Befehle sind dagegen etwas einfacher zu merken:
Vielen Dank für Deine Antwort!
Hast Du einen Vorschlag, wie man das syntaktisch einfacher gestalten könnte?
Bei den NoteHead-stencils hast Du ja mit
\once \override NoteHead #'custom-head = \markup { \musicglyph #"scripts.coda" }
einen Vorschlag gemacht. Wie könnte das dann hier aussehen?
Gruß,
Harm
P.S.
Ich bin der Meinung, daß die meisten Vorschläge einen eigenen Thread durchaus verdienen würden, um sie dann ausführlicher zu diskutieren.
Hier soll aber erst mal nur gesammelt werden.
Wer das Bedürfnis hat etwas ausführlicher zu bereden möge bitte einen neuen Thread öffnen, vielleicht mache ich das auch selbst bei dem ein oder anderen Thema.
-
Wenn wieder einmal die Klammern nicht ausbalanziert sind, hilft meist nur die Erfahrung die exakte Fehlerstelle schnell zu funden.
Erst mal vielen Dank für Deine Antwort.
Du weißt es wahrscheinlich schon, aber den meisten wird es noch nicht geläufig sein:
Ab "2.17.0" werden die Klammern gezählt, und wenn es kein Paar von öffnender/schließender Klammer gibt, wird eine etwas substantiellere Warnung ausgegeben als bisher.
Gruß,
Harm
-
Hi Harm,
Hast Du einen Vorschlag, wie man das syntaktisch einfacher gestalten könnte?
Ja, im Prinzip das ganze mit bound-details und die Klammer auch wegstreichen:
\override Glissando #'right-padding = #4
\override TextSpanner #'left-text = "rit. molto"
finde ich viel logischer....
Gruß
kil
-
Wir sind auf -devel übereingekommen diese Umfrage etwas anders zu gestalten.
1. Sie soll nicht nur auf Anfänger/Einsteiger fokussiert sein, sondern alle ansprechen, denn erfahrene Benutzer stolpern ja wahrscheinlich immer wieder über dieselben Unzulänglichkeiten in der Syntax und könnten dann wohl so einiges zu beklagen haben.
2. Der Fragenkatalog ist neu erstellt und wird in der selben Art und Weise auch auf der spanischen und französischen Liste veröffentlicht:
- Was findet Ihr verwirrend in der LilyPond-Syntax? Zum Beispiel: seid ihr manchmal unsicher in welcher Reihenfolge Code-Elemente geschrieben werden sollen oder welche Schreibweise benutzt werden muß (Klein- bzw Groß-Schreibung, CamelCase, Bindestriche)?
- Gibt es irgenwas besonders unverständliches oder kryptisches in der LilyPond-Syntax? Namen oder Symbole, die nicht zu den Objekten passen, die sie repräsentieren.
- Was findet ihr besonders lästig/unbequem an der LilyPond-Syntax? Zum Beispiel: Etwas das sich in Worten sehr einfach beschreiben läßt, aber einen größeren Aufwand erfordert es zu kodieren.
- Was findet ihr besonders schwer in der LilyPond-Syntax auszudrücken? Zum Beispiel: Gibt es irgendwo die Notwendigkeit etwas manuel zu bewegen, weil die innewohnende Logik nicht verständlich/zugänglich ist?
Gruß,
Harm
-
Mir fällt gerade etwas ein. Zur Zeit ist es in lilypond nicht möglich an einem Zeilenende z. B. ein D. S. al Kopf - Kopf einzufügen, wenn am Anfang des nächsten Taktes ein Kopf steht. Bisher musste man das immer stückeln.
-
Zu genau diesem Thema habe ich schon länger eine Idee:
Das \mark Kommando (mit allem darunter) klonen - dann bleibt das \mark für die "Taktmarkiergungn" wie gehabt, ein \markLeft wäre für "RehearsalInstructions" zuständig, welche (standardmäßig) den Text linksbündig anzeigen, und ein \markRight wäre für "RehearsalInstructions" zuständig, welche (standardmäßig) den Text rechtsbündig ausgerichtet und mit "begin-of-line-invisible" anzeigen.
Die sollte ich wohl mal in der DEV-Site anfragen.
Arnold
-
•Was findet ihr besonders lästig/unbequem an der LilyPond-Syntax? Zum Beispiel: Etwas das sich in Worten sehr einfach beschreiben läßt, aber einen größeren Aufwand erfordert es zu kodieren.
a) spreizende Platzhalter einfügen (z. Bsp. zwischen Noten) - ähnlich einem \breathe mit angegebener Breite und ohne sichtbaren Stencil
b) einfachere Eingabesyntax für den "hohen Baßschlüssel" (high bass clef) und den "nach unten oktavierten Violinschlüssel mit eingeklammerter Acht". Da habe ich schon erste Versuche gemacht für das Ziel \clef "bass^[8]"
% und
\clef "treble_(8)".
c) einfachere Syntax um manuell die Balkensetzung in der zweiten Balkenebene angeben zu können. Vielleicht so:c32[[ c c c] c[ c c c]]
Arnold
-
Ich fänds gut, wenn
\times 2/3 { a8 b c d e f g h i } das gleiche täte wie \times 2/3 { a8 b c } \times 2/3 { d e f } \times 2/3 { g h i }.
Damit solche Sachen wie \times 2/3 { a8 b c16 d } noch funktionieren, kann man aber nicht einfach in Dreiergruppen einteilen, sondern müsste das „2/3“ (was ja für „skaliere alles auf 2/3 und schreib ne 3 ran“ steht) wahrscheinlich erweitern zu „2/3 4“ für „skaliere alles auf 2/3 und schreib an jedes Viertel ne 3 ran“ o. ä.
Edit: Mir ist noch was eingefallen: Texte wie dolce, rit., poco a poco accel. etc. werden doch normalerweise kursiv geschrieben, oder? Könnte man das nicht zum Standardverhalten für a-"foo" machen? Wann braucht man jemals einen roman-Text?
-
Hallo zusammen,
die Vorschläge die bislang hier zusammengetragen wurden, sind genau von der Art, die mir vorschwebt.
Ich denke, ich werde die (selbstgesetzte) Frist von einer auf zwei Wochen verlängern. :)
Vielen, vielen Dank schon mal,
Harm
-
Ich hab noch was:
Bei Kammermusik mit Klavier werden ja die anderen Instrumente auf kleineren Systemen dargestellt. Bisher kenn ich da nur so Konstrukte wie
\new Staff \with{
fontSize = #-3
\override StaffSymbol #'staff-space = #(magstep -3)
\override StaffSymbol #'thickness = #(magstep -3)
}Daran gefällt mir nicht, dass ich drei Sachen setzen muss, um eigentlich eine Sache zu bewirken (nämlich das ganze System kleiner zu kriegen) und außerdem fänd ich nen Default-Wert sinnvoll (es wird doch bestimmt nen Erfahrungswert oder Regeln geben, wieviel kleiner die anderen Instrumente oder auch ossia-Stimmen dargestellt werden).
Mit anderen Worten: ein \new SmallStaff oder \new Staff \with { size = small } wär schön. (Hm. Müsste vor das small jetzt noch ein # oder #' oder #" "? Hab mich nie genug damit befasst, um das zu durchblicken ???.)
-
Hallo Arnold,
c) einfachere Syntax um manuell die Balkensetzung in der zweiten Balkenebene angeben zu können. Vielleicht so:
c32[[ c c c] c[ c c c]]
Rückfrage:
Welchen output stellst Du Dir bei Deinem Vorschlag vor Version a) oder b) aus dem Bildanhang?
Oder hast Du einen Vorschlag wie eine Syntax aussehen könnte, die geeignet wäre zwischen a) und b) zu differenzieren?
Viele Grüße,
Harm
-
Ich hab Variante b) so noch nie gesehen; gibts sowas wirklich?
-
Ich hab Variante b) so noch nie gesehen; gibts sowas wirklich?
Im Anhang ein Bild aus dem Artikel:
"Notation in Elliott Carter’s Double Concerto" (http://www.ex-tempore.org/strizich/strizich.htm)
Example 25c
Zugegebenermaßen ist die musikalisch Situation natürlich grundsätzlich anders, aber es geht ja auch nur darum, daß man unterteilte Balken mit einem oder zwei oder bei noch kleineren Notenwerten mit noch mehr durchgehenden Balken schreiben kann, bzw um die Syntax mit der man es LilyPond mitteilen kann.
Gruß,
Harm
-
Hallo,
ich lese in diesem Forum schon ein paar Monate und habe viele interessante Postings gelesen die mir bei eigenen Problemen geholfen haben. Danke dafür!
Nach Harms Aufruf möchte ich zum ersten Mal in diesem Forum aktiv werden. Jetzt aber zum Thema:
Die Verteilung von Silben in Liedern mit mehreren Strophen empfinde ich als umständlich. Speziell die Befehle: \set ignoreMelismata = ##t und \unset ignoreMelismata .
Meine Idee wäre, die Möglichkeit zu schaffen mit einem speziellen Zeichen das ignorieren von Melismata an dieser Stelle einmal auszuschalten. Man hätte dann zusätzlich zum Bindestrich und Unterstrich ... noch ein zusätzliches Zeichen (z.B. | )
Gruß
Norbert
-
Hallo Norbert,
herzlich willkommen im Forum.
In der NR kann man folgendes finden
Known issues and warnings
Unlike most \set commands, \set ignoreMelismata does not work if prefixed with \once. It is necessary to use \set and \unset to bracket the lyrics where melismata are to be ignored.
Wenn ich Dich richtig verstehe, schlägst Du also einen short-cut vor, der \once \set ignoreMelismata bewirken soll.
Werde ich in meine Liste aufnehmen.
Danke,
Harm
-
Hallo Leute,
nach etwa neun Monaten der Beschäftigung mit Lilypond meine ich vom blutigen Anfänger zum fortgeschrittenen Anfänger transistiert zu sein. Die wirklichen Feinheiten und Möglichkeiten muss ich zwar noch oft aus Beispielen (manchmal unverstanden) herauskopieren, allerdings fühle ich mich bereits in der Lage die meisten Wünsche und Anliegen bis zu einem geweissen Grade mir selbst zu erarbeiten. Ich hoffe, dass ist genau die Anwendergruppe, auf die Harm mit seiner Anfrage abzielt. Allerdings bin ich durch meinen Beruf etwas "versaut", was Programmierung angeht und vielleicht deshalb doch nicht so gut geeignet.
Im Allgeminen komme ich jedenfalls mit der Syntax und der Grammatik gut zurecht. In den meisten Fällen sind sie einheitlich und plausibel; und es ist für mich durchaus natürlich, dass man sich die Semantik und bspw. die Rollen und Aufgaben der einzelnen Engraver erarbeiten muss, bevor man sie nach seinen Vorstellungen steuern möchte.
Mein dringlichster Wunsch ist bei Bezeichnern neben Buchstaben auch Ziffern und "_" zuzulassen, also [a-z][a-z0-9_]; gerade bei umfangreichen Arbeiten wird das meiner Meinung nach eine besser Strukturierung und Übersicht ermöglichen.
Zum zweiten war mir, vorallem am Anfang, die Bedeutung der unterschiedlichen Blöcke "<<…>>", "{…}" und "<>" ersteinmal schleierhaft. Auch jetzt ist es für mich manchmal eine Stolperfalle. Meine Idee, noch ausgesprochen unausgegoren und nicht wirklich durchdacht: Warum nicht auf alle "anonymen" Ausdrücke und Blöcke verzichten und ausschließlich Konstrukte vom Schema \Befehl [Attribute] {…} verwenden?
Aus
< […] >
<< {…} \\ {…} >>
\score{<< \new Staff<< […] >> >>}
würde dann möglicherweise
\chordtonics{[…]}
\polytonic{\tonics{…} \tonics{…}}
\score{
\multipart{
\new Staff{[…]}
}
}
werden. Oftmals fällt dabei zwar mehr Schreibarbeit an, aber einzelne Ausdrücke und Blöcke sind einfacher (bspw. für Suchen und Ersetzen) zu identifizieren und die Arbeit verständlicher zu strukturieren.
--
LG,
Acamat
-
Hallo Acamat,
vielen Dank für Deine Vorschläge.
Mein dringlichster Wunsch ist bei Bezeichnern neben Buchstaben auch Ziffern und "_" zuzulassen, also [a-z][a-z0-9_]; gerade bei umfangreichen Arbeiten wird das meiner Meinung nach eine besser Strukturierung und Übersicht ermöglichen.
Ich nehme an Du meinst, z.B.
geige_1 = { ... }
geige_2 = { ... }
etc
Dieser Wunsch wurde schon sehr häufig geäußert und auch auf -devel diskutiert. Ich habe die Diskussionen aber nicht so genau verfolgt, daß ich jetzt sagen könnte wie der Stand der Dinge ist.
Tatsächlich geht aber bereits jetzt:
geige¹ = { ... }
geige² = { ... }
etc
Das habe ich auch schon mal dort gepostet, zuletzt hat es Arnold ebenfalls geschrieben.
\score{<< \new Staff<< […] >> >>}
Du weißt, daß eine << ... >> hier überflüssig ist?
\score {
<< % hier
\new Staff
<< […] >>
>> % und hier
}
Sie sind nur dann nötig, falls man mehrere Staffs hat, aber keine StaffGroup, ChoirStaff haben möchte.
\new Staff << […] >> sollte idR auch eher \new Staff { ... } sein.
Z.B.:
\score {
<<
\new Staff { ... }
\new Staff { ... }
>>
}
Wobei \score { ... } auch wegelassen werden kann (zumindest in diesem minimal-Beispiel).
Gruß,
Harm
-
Hallo Harm,
Du weißt, daß eine << ... >> hier überflüssig ist?
Ja ;) Es ging mir bei diesem beispielhaften Beispiel auch um die anonymen Elemente, nicht um das konkrete Beispiel.
\multistaff{…}
ersetzt
<< … >>
im Gegensatz zu
\multimusic{\music{…} \music{…}}
ersetzt
<< {…} \\ {…} >>
Das <<->>-Blöcke mehrfach enthaltene Blöcke enthalten, kann man in diesen beiden Beispielen durchaus einsehen. Doch der Anfänger mag das vielleicht als verwirrend empfinden.
--
LG,
Acamat
-
Zur Rückfrage von harm:
c) einfachere Syntax um manuell die Balkensetzung in der zweiten Balkenebene angeben zu können. Vielleicht so:
c32[[ c c c] c[ c c c]]
Die Variante a ist die typische Variante, für die ich mir eine einfachere Eingabe/Steuerung vorstelle.
Ob da die doppelten eckigen Klammern die beste Syntax-Wahl sind, bin ich mir gar nicht so sicher.
Außer der Trennung »ein Balken / viele Balken« kommt auch noch die Richtungssteuerung der »Fähnchenbalken« (die nur an einem Notenhals hängen) hinzu, die man gelegentlich auch manuell steuern will oder muß.
c'16 c'32 c'16 c'32 c'16Vielleicht als Kommandos \beamletLeft und \bemletRight.
Arnold
-
Wie wärs mit
c32[[ c c c] c[ c c c]]
für Variante a und
c32[[[ c c c] c[ c c c]]]
für Variante b? Damit würde man klar machen, dass es bei b mehr „äußere“ Balken gibt als bei a.
Für \beamletleft und \beamletright könnte ich mir
c8[[ c16] c8] und c8[ c16[ c8]] vorstellen.
Ich überleg mir mal, wie man das formal sinnvoll definieren könnte.
-
So, und mir ist jetzt noch das verbesserungswürdige tie/slur/phrasingSlur-in/out eingefallen - das Problem, wenn außer einem Haltebogen auch noch Bindebogen und/oder Phrasierungsbogen in- bez. aus der Wiederholungsklammer hinein- oder herausgehen. Und das ganze sollte selbstverständlich auch bei \unfoldRepeats (oder einem zukünftigen \senzaRep zur Extraktion einer D.C. bzw. D.S.-Wiederholung) die richtigen Bögen setzen.
Grobes Beispiel (mit dem nicht zu bändigenden Bestreben, es noch ein bischen musikalisch sinnvoll zu gestalten):
\partial 2
e''4(\( c'''~
\repeat volta 2 {
c''' g'') r f''(
a'')\) r g(\( d'~
}
\alternative {
{ %quasi save tie/slur/phrasingSlur state (if not unfolded)
d' b) r g'(
f')\) r e''(\( c'''~
%quasi terminate tie/slur/phrasingSlur state (in not unfolded)
}
{ %quasi recall saved tie/slur/phrasingSlur state (if not unfolded)
d' b g) r
c'2\)
}
}
In gedruckten Noten fand ich sogar die Konstellation, daß der Haltebogen nur in die erste Volta ging, in der zweiten aber gleich eine Pause kam. Hier wäre der Status also gegebenenfalls manuell zu setzen.
Arnold
-
Und noch ein Thema: Seitenaufteilung
- Anstelle der System-Anzahl auch die Seitenanzahl vorgeben können
- Seiten-Anzahl als Modulo-Wert vorgeben (gerade oder ungerade Seitenzahl - gut bei kapitelweiser Erstellung von Liederbüchern - oder Modulo-4-Rest = Booklet-Grenze)
- Booklet/Heft mit Aufklappseiten (die Ergänzungsseiten müssen dann ca. 5 bis 10 mm schmäler sein) - kann ich mir nur in Kombination mit explizit gesetzen \pageturn-Anweisungen vorstellen.
Z. Bsp. [ 1] [2a| 3| 4] [ 5| 6] ...
Arnold
-
Hallo Arnold,
Rückfragen:
- Anstelle der System-Anzahl auch die Seitenanzahl vorgeben können
Ok, verstanden.
EDIT: (Doch nicht verstanden)
page-count gibt es ja bereits, meinst Du etwas anderes?
- Seiten-Anzahl als Modulo-Wert vorgeben (gerade oder ungerade Seitenzahl - gut bei kapitelweiser Erstellung von Liederbüchern - oder Modulo-4-Rest = Booklet-Grenze)
Hier bin ich nicht sicher, ob ich Dich schon verstanden habe.
Kannst Du das in pseudo-code schreiben?
Und auf welchem level soll das angegeben werden: book, bookpart, score?
- Booklet/Heft mit Aufklappseiten (die Ergänzungsseiten müssen dann ca. 5 bis 10 mm schmäler sein) - kann ich mir nur in Kombination mit explizit gesetzen \pageturn-Anweisungen vorstellen.
Z. Bsp. [ 1] [2a| 3| 4] [ 5| 6] ...
Meinst Du das Leporello-Format?
Gruß,
Harm
EDIT Zusatz: s.o.
-
Hallo Harm.
Zu page-count: Diese Option habe ich wohl bisher übersehen.
Zu Modulo: qaasi page-count = 4n + 3 - also 3 oder 7 oder 11 oder 15 ... Seiten
theoretish in allen Ebenen möglich - bei Score-Ebene muß ein Seitenumbruch vor und nach dem Score durchgeführt werden.
Zu Leporello: Leporello = Ziehhamonika-Blätter, z. Bsp. für Kavier: [ 1| 2| 3| 4] mit Rückseite [ 5| 6| 7| 8]
Hier ist aber in einem Heft (eigentlich immer 2 Seiten) quasi eine Extraseite zum Aufklappen angesetzt weil die Noten bis zum nächsten pageTurn nicht auf zwei Seiten passen, eventuell auch zwei Extraseiten (eine links und eine rechts). Ähnlich den kopierten Seiten die manche Musiker in ihren Stimmheften verwenden, um ein ungünstig gedrucktes Umblättern zu vermeiden.
Und noch ein Nachtrag zur Beamlet-Richtung: Ich könnte mir eine Schreibweise wie eine Artikulation dafür vorstellen:
c'8[ c'16-] c'-[ c'8]
% wird dann zu
% ____ ____ ____
% | __| |__ |
% | | | |
% o o o o
%
Arnold
-
Ich fänds gut, wenn
\times 2/3 { a8 b c d e f g h i }
das gleiche täte wie
\times 2/3 { a8 b c } \times 2/3 { d e f } \times 2/3 { g h i }
Hallo,
erstmal vielen Dank für Deinen Vorschlag!
Aber schau mal hier (https://liarchiv.joonet.de/index.php?topic=1226.0) hin.
Insoweit werde ich Deinen Vorschlag nicht in meine Liste Aufnehmen, es sei denn Du meinst doch etwas anderes oder Du hast noch einen Verbesserungsvorschlag.
Gruß,
Harm
-
Hallo zusammen,
vielen, vlelen Dank für all Eure Antworten.
Ich habe sie alphabetisch geordnet in einer kommentierten Liste zusammengestellt (auf englisch)
Es wäre schön, wenn ihr mal reinschauen könntet.
Prüft dann bitte, ob ich Eure Vorschläge richtig dargestellt und nichts vergessen habe.
Falls Ihr Änderungswünsche habt, Tippfehler entdeckt oder mein zugegebenermaßen sehr rudimentäres englisch verbessern könnt, zögert bitte nicht es mir mitzuteilen.
Falls jemand noch einen bislang nicht erwähnten Punkt aufgenommen wissen will, so schreibt es mir ebenfalls. Ich füge es dann ein.
Viele Grüße,
Harm
-
Hallo Arnold,
ich muß noch mal bei einem Punkt nachfragen, den ich zunächst überlesen habe.
[Es] kommt auch noch die Richtungssteuerung der »Fähnchenbalken« (die nur an einem Notenhals hängen) hinzu
meinst Du folgendes (dann geht es ja bereits):
\relative c '' {
c8:32
\override StemTremolo #'slope = #1
c8:32
}(Bild im Anhang)
oder doch etwas anderes.
Gruß,
Harm
-
Hallo harm,
ich meine nicht das Tremolo, sondern wirklich die Balken der 'isoliert-kürzeren' Noten.
Und übers Wochenende sind mir noch zwei Punkte eingefallen, die (bisher) schwer oder gar nicht für die "automatische Formatierung" einzustellen sind.
a) Ganztakt-Faulenzer (Percent Repeats): Hier ist es üblich, am Anfang der Notenzeile den Takt wieder auszuschreiben. Da ich bisher noch keine Schlagzeugnoten mit 45 und mehr Taktwiederholungen abschreiben mußte, hab ich mich mit noBreaks darum gedrückt, aber bei einem gedruckten Notenbeispiel waren zwei Zeilenumbrüche (mit ausgeschriebenem ersten Takt je Zeile) in der Faulenzer-Sequenz.
b) Divisi in mehrere Notenzeilen, aber am Anfang der Zeile beginnend und bis zum Ende der Zeile fortgeführt.
Das hat noch eine gewisse Ähnlichkeit mit dem Entfernen der Notenzeilen, in denen nur Ganztaktpausen stehen (removeEmptyStaffContext), und wird meistens innerhalb eines GrandStaff zusammengefaßt. Am einfachsten ist es mit der Instrumentennamen, wenn dieser nur zentral in der GrandStaff (mittig) angegeben wird.
Vorkommen z. Bsp. Violine - kurzzeitig 4-fach divisi; Violoncello und Kontrabaß
Denkbares Beispiel, welches aber nicht die Methode 'entweder Staff-divisi oder voiceOne/voiceTwo-divisi vor oder nach einem expliziten Staff-divisi innerhalb einer Notenzeile' unterstützt.
\new GrandStaff <<
\new Staff {
\TeilEinsVcCb
\TeilZweiVc
\TeilDreiVcCb
}
\new Staff {
\set Staff.removableEquivalence = ##t
\TeilEinsVcCb
\set Staff.removableEquivalence = ##f
\TeilZweiCb
\set Staff.removableEquivalence = ##t
\TeilDreiVcCb
>>Arnold