Autor Thema: Grundlagensuche  (Gelesen 10520 mal)

Matti

  • Gast
Grundlagensuche
« am: Freitag, 8. Januar 2010, 04:52 »
Hallo allerseits! Vor einem Jahr 2008 beschäftigte ich mich zum ersten Mal - eher flüchtig - mit Lilypond, und nun hab ich es vor einer Woche wieder rausgekramt, um mich intensiver damit zu beschäftigen. Habe zu Beginn nun (nach ein paar Anlaufschwierigkeiten) doch recht bald Erfolgserlebnisse gehabt, was die Logik beim Noteneingeben, bei Polyphonie, bei Chortexten etc. anbelangt. Alles, was das Layout betrifft, macht mir indes Schwierigkeiten. Manches konnte ich als sog. Schnipsel finden und blind kopieren, ohne jedoch lauffähige Modifikationen solcher Fundstücke hinzubekommen. Und manches kriege ich gar nicht hin, weil ich in den Dokumentationen nicht fündig werde.

Anstatt mich für alle aktuellen und zukünftigen Unklarheiten immer weiter durch Tips &  Tricks zu hangeln, deren Syntax ich nicht kapiere, oder womöglich alles einzeln hier im Forum zu erfragen, möchte ich als Neuling lieber eine andere Erste Frage hier in die Runde werfen:

Wie und Wo finde ich die Grundlagen?

Ich würd gern die Syntax aller Ebenen kennenlernen. Beispiel I: Ich fand irgendwo (und verwende seitdem fleißig) \oneVoice und \new Voice, hab aber keine Ahnung, ob letzteres zufällig oder wichtigerweise mit Leerzeichen geschrieben wird. Beispiel II: Ich fand irgendwo (und verwendete erfolgreich) \set Score.timeSignatureFraction = #'(3 . 4), habe aber keine Ahnung, was Punkt, Raute oder Apostroph hier bedeuten. Beispiel III: Ich fand irgendwo einen Befehl für den Abstand zum linken Papierrand, kann mir aber für den rechten Rand nichts brauchbares herleiten. Und in den Hilfedokumenten stehe ich etwas ratlos vor langen Listen, ohne den Überblick zu haben, welches Befehle, welches Prozeduren, welches Stencils sind und wie und wo im Code ich jeweiliges ansprechen könnte.

Wenn mir jemand einen heißen Tip geben könnte, wie ich mich wirklich systematisch weiter einarbeiten kann, würde mich das sehr freuen. :-)

kilgore

  • Gast
Re:Grundlagensuche
« Antwort #1 am: Freitag, 8. Januar 2010, 11:24 »
Meine Erfahrung am Anfang war auch so.  Manche sachen sind sehr einfach im Handbuch zu finden, andere sachen sind zerstreut oder nicht so einfach verständlich.  Mein Vorschlag wäre, einfach immer weiter auszuprobieren.   
Deine Fragen sind unterschiedlich komplitziert.... was Raute und Apostroph bedeuten ist vielleicht komplizierter als den rechten Papierrand zu bearbeiten.   Je mehr funkionen man lernt, desto klarer wird der Syntax.

Und ein paar Tipps

Time signature kann mann einfacher schreiben:  \time 3/4

Papierrand mache ich lieber so, dass ich die Zeilenlänge bestimme, statt den Abstand.  zB, wenn das Papier 30cm breit ist, und man möchte 2cm Abstand auf beide Seiten, kann man die Zeilenlänge bei 26cm einstellen.

\paper {
              line-width = 26\cm
          }


Ich würde auch vorschlagen, ein text-datei zu machen für Notizen.  Wenn ich etwas lange suche, und dann endlich finde, schreib ich es dort auf.  So kann man es später leichter finden wenn man es wieder braucht. 

Am Anfang habe ich auch viel gelernt in dem ich versucht habe, eine Partitur die ich schon hatte wieder herzustellen. 

Kapitel 4 und 5 von Notation Reference könnte dir auch etwas helfen....

RobUr

  • Gast
Re:Grundlagensuche
« Antwort #2 am: Freitag, 8. Januar 2010, 14:59 »
Hallo Matti,

aller Anfang ist schwer, aber keiner von uns hatte es leicht mit Lily! Es ist wie beim Fremdsprachelernen: man fängt mit einigen wenigen Vokabeln und einfachen Sätzen an, und mit der Zeit lernt man immer mehr Vokabeln, neue Ausdrücke und komplexere Satzbauten. Es geht eben nicht auf Anhieb (oder von 0 auf 100 in einer Sekunde). Der Lohn für die ganze Mühe ist dafür aber ein ziemlich großer.

Der Einstieg in Lily ist wohl häufig der gleiche: zunächst "Learning Manual" (LM) zu Gemüte führen (darin sind bereits viele weiterführende Links), um einen Überblick über die Möglichkeiten und Ansätze zu bekommen (das erspart viele spätere Standardfragen im Forum à la "Kann man mit Lilypond dies und jenes machen?") und im weiteren die "Notation Reference" (NR) nach detaillierten Funktionsbeschreibungen durchforsten. Hierzu zwei Tipps von mir: (1) die englische Dokumentation verwenden, weil die deutsche Übersetzung viele Abschnitte nicht berücksichtigt; (2) die NR wegen der Durchsuchbarkeit entweder als PDF oder als eine große Seite öffnen.

Zu deinen Beispielen
Beispiel I: \oneVoice und \new Voice sind zwei ganz verschiedene Befehle, und das Leerzeichen ist vonnöten. \oneVoice ist ein Makro (ähnlich \voiceOne, \voiceTwo …), das die automatische Halsrichtung wieder auf neutral und Pausenzeichen vertikal zentriert setzt (vermutlich noch einiges mehr, wie z.B. \markup automatisch über oder unter der Zeile). \new Voice hingegen ist ein "echter" Befehl mit obligatem Argument: "lege neu an" + "was lege neu an". Siehe auch \new Staff/DrumStaff/RhythmicStaff/ChoirStaff/PianoStaff/StaffGroup etc. Logischerweise kann eine Stimme (Voice) nur innerhalb einer Zeile (Staff) notiert werden und nicht umgekehrt; ebenso wenig macht Staff innerhalb Staff Sinn, dafür mehrere Staff (Pl. Staves) innerhalb einer StaffGroup um so mehr.

Beispiel II: Siehe Antwort von kilgore. Hinter \time 3/4 steckt auch \set Score.timeSignatureFraction = #'(3 . 4), allerdings mit einem wesentlichen Unterschied: \time 3/4 definiert (1) die Taktangabe als Bruch 3/4 und (2) die Taktlänge als 3/4, um die Taktstriche korrekt zu platzieren. In Lily ist es damit ohne Probleme möglich, eine beliebige Taktlänge mit einer beliebigen Taktangabe zu versehen. Außerdem beeinflusst es das automatische Balkenverhalten.
Folgender Code setzt das Metrum auf 4/4 (wodurch nach einer Dauer von je vier Vierteln automatisch Taktstriche gesetzt werden) und überschreibt die Taktangabe mit 11/8:
\time 4/4
\set Score.timeSignatureFraction = #'(11 . 8)

Umgekehrt geht auch folgender Code mit dem gleichen Ergebnis (in diesem Fall wird die Taktlänge überschrieben):
\time 11/8
\set Score.measureLength = #(ly:make-moment 4 4)

Zur Syntax muss man wissen, welche Eigenschaft welchen Contexts welche Werte erwartet. Der Aufbau ist immer gleich:
\set [\override] Context.Eigenschaft = Wert
In diesem Fall erwartet timeSignatureFraction ein ganzzahliges Wertepaar, das mit #' eingeleitet und innerhalb der Klammern durch Leerzeichen-Punkt-Leerzeichen getrennt wird. Es gibt auch andere Eigenschaften, die Kommawerte akzeptieren, weswegen die Leerzeichen wieder wichtig sind. #'(3 . 4) ist also ein Wertepaar mit den (ganzzahligen) Werten "3" und "4", #'(3.0 . 4.0) ist ein Wertepaar mit den (Fließkomma-)Werten "3,0" und "4,0", und #'(3.4) ist ein einzelnes Argument mit dem (Fließkomma-)Wert "3,4".

Beispiel III: Es ist nicht vorgesehen und außerdem überflüssig, den rechten Rand anzugeben, da sich dieser aus der Differenz von Papierbreite, linkem Rand und Zeilenlänge errechnet. Es ist ganz einfach, wenn man kurz darüber nachdenkt: Papierbreite minus linker Rand minus Zeilenlänge gleich rechter Rand! Folgender Code (Standardpapierformat A4 vorausgesetzt) genügt, um linken und rechten Rand auf je 2 cm zu setzen:
\paper {
left-margin = 2\cm
\line-width = 17\cm
}

Man muss also nur kurz umdenken: wenn man X cm rechten Rand haben möchte, subtrahiert man den gewünschten Wert zusammen mit dem linken Rand von der Papierbreite und erhält die Zeilenlänge, die man definieren muss. Achtung: die Voreinstellung für den linken Rand beträgt 10 mm! kilgores Beispiel, das nur die Zeilenlänge berücksichtigt, würde einen linken Rand von 1 cm und einen rechten Rand von 3 cm (bei 30 cm Papierbreite) erzeugen. Noch einmal kurz zur Info: das Standard-A4-Format ist 210 mm breit und 297 mm hoch. Alles wichtige zur Seitenformatierung findet sich in der NR Kapitel 4.

Viel Erfolg,
Robert

stargazer

  • Gast
Re:Grundlagensuche
« Antwort #3 am: Freitag, 8. Januar 2010, 15:26 »
@Matti,

du sprichst mir aus der Seele ;D

@All,
Beispiele und Schnipsel sind sehr gut und wichtig; sie ersetzen aber nicht eine ausführliche Befehlsreferenz.

Man nimmt irgendwelche Beispiele und kommt damit meist auch zu einem prima Ergebnis. Was man konkret gemacht hat, hat man aber nur lückenhaft verstanden. Das dies so ist, zeigt sich wenn man an dem Muster größere Veränderungen vornimmt, oder mal Score oder Layout ohne Muster aufbauen möchte (zum Glück funktioniert die Fehleranzeige in der Log-Datei sehr gut :-) )

Ich wünschte mir eine ausführliche Befehlsreferenz, die den Syntax, die möglichen Argumente, die Wirkung und den möglichen Context, bzw. das Umfeld beschreibt, wo der Befehl eingesetzt werden kann. In dieser Referenz würde ich auch die Grundlagen zum Syntax (Groß-/Kleinschreibung, wann Anführungsstriche, # . etc.) erwarten.

Die Dokumentation ist sehr umfangreich, und es ist nahezu alles beschrieben - eine kompakte Befehlsreferenz fehlt leider noch.

Klar - man kann im PDF die Suche bemühen, leider landet man durch die vielen Beispiele sehr oft an Fundstellen an denen der Befehl eher nebensächlich verwendet wird aber nicht generell behandelt wird.

Etwas Abhilfe könnte der "Acrobat-Index" schaffen. Eine Indexsuche ist grundsätzlich über mehrere PDFs möglich und in der Trefferliste ist als Kontext die Kapitelüberschrift eingetragen - dies würde die Suche erheblich vereinfachen.

Kennt jemand eine Freeware-Indizierung für PDF; oder kann das nur der "Adobe Acrobat".

Viele Grüße
Dieter 
 

trulli

  • Gast
Re:Grundlagensuche
« Antwort #4 am: Freitag, 8. Januar 2010, 15:48 »
Hallo Matti,

herzlich willkommen hier im Forum.

Ich habe Lily durch die tägliche Praxis erlernt. Jeden Tag ein bisschen Code schreiben, das bringt unheimlich viel. Ich habe am Anfang gedacht, man könnte die Befehle alle auswenig lernen, wie Vokabeln. Aber es sind einfach zu viele und die meisten braucht man ohnehin selten oder gar nicht.

Ich habe deshalb alles zu der Partiturart, die ich schreibe, gesammelt, in Lily-Dateien abgespeichert oder aufgeschrieben, hier im Forum dazu Fragen gestellt und viel bei Lilypond-User oder der Snippet repository nachgeschlagen. Am Anfang waren die Fortschritte sehr klein und an manchem Problem bin ich fast verzweifelt. Bis heute brauche ich für manche Lösung viele Stunden oder sogar Tage. Es ist eben nicht einfach, das muss man akzeptieren.

Ich finde es übrigens gar nicht so schlecht, dass man nicht gleich alles findet - dadurch macht man sich selbst mehr Gedanken und auf der Suche stößt man oft auf andere nützliche Sachen.

Viel Erfolg wünscht dir Matthias

comper

  • Gast
Re:Grundlagensuche
« Antwort #5 am: Freitag, 8. Januar 2010, 21:09 »
Achtung bei den Rändern!

Die Vorgaben wirken anders seit 2.13.5. 
Siehe in (noch nicht übersetzter) NR 4.1.2, weiter unten.

Gruss

RobUr

  • Gast
Re:Grundlagensuche
« Antwort #6 am: Freitag, 8. Januar 2010, 21:24 »
Das ist ja erfreulich zu lesen, wieviel neue Seitenformatierung möglich sein kann: Bindekorrektur und Zweiseitenlayout usw.!!!
Jetzt kann ich 2.14 stable kaum erwarten :)

derHindemith

  • Gast
Re:Grundlagensuche
« Antwort #7 am: Samstag, 9. Januar 2010, 15:55 »
Ich finde es viel mehr empfehlenswert das Handbuch zum Lernen einmal durchlesen. Nachdem das gelesen ist, mit LilyPond anzufangen, und nach bestimmte Sachen in den Notationreferenz zu suchen. Der Notationsreferenz hat nicht die grundlagen, die sind im Handbuch zum Lernen. Auch, das Handbuch zum Lernen bringt einem bei alles was mit LilyPond moeglich ist, oder besser gesagt, wie man herausfindet was alles mit LilyPond moeglich ist.

Matti

  • Gast
Re:Grundlagensuche
« Antwort #8 am: Samstag, 9. Januar 2010, 17:52 »
Hallo allerseits!

Herzlichen Dank für die vielen Rückmeldungen und Hilfestellungen! Hab das alles gelesen, hab heute fleißig weitergemuckelt und hab vor allem - tadaaah - das Handbuch zum Lernen nun fast durch, und ausnahmslos alle Fragen sind nun geklärt.

Folgendes hatte mir ein Bein gestellt: Die im Internet lesbare Dokumentationsseite hatte sich mir in Struktur und bereitgestellten Inhalten nur rudimentär erschlossen. Ich finde die Internetpräsenz des geamten Projekts gleichermaßen zwar wunderbar mächtig wie aber auch - mit Verlaub - wahnsinnig unübersichtlich für Neueinsteiger. Es gibt:

* Befehlslisten zum Onlinedurchklicken;
* PDFs zum Offlinelesen;
* englischsprachige wie deutschsprachige Pfade;
* mehrere Indizes;
* mehrere Listen;
* unzählige Links und Verweise;
* einen lückenhaften Crashkurs (über den ich so verzweifelt war, weil ich Learning-by-doing absolut nicht mag, wenn ich mich ernsthaft in etwas Neues hineinarbeiten möchte);
* ein Forum (in dem man an mehreren Stellen liest, daß vieles in Deutsch fehle und man Zeit brauche und man nicht verzweifeln dürfe);
* eine automatische Spracherkennung auf der Dokumentationsseite (was ich erst viel zu spät kapiert habe),
* und und und ...

... und dann hatte ich mit etwas Panik alles an verlinkten Dokumenten Auffindbare heruntergeladen, um mich offline durchzuwühlen, und HIERBEI war mir vor einigen Tagen das umfangreiche deutschsprachige Handbuch zum Lernens schlicht und ergreifend durch die Lappen gegangen (Vielleicht übersehen; vielleicht Downloadabbruch... keine Ahnung), mit dem ich nun heute die Strukturen und Syntaxen auf Anhieb kapiere. Juchuh.

Werde mich weiter hineinfuchsen, denn ich finde das ganze Projekt wunderbar und möchte meine Werke demnächst damit setzen und zu einem Buch zusammenfassen. Ich bin Chorleiter und mache die Bearbeitungen für die tägliche Praxis bis lang zwar recht pragmatisch mit gängigen Notensatzprogrammen, hatte mir für meine eigenen Sachen aber schon lange ein Werkzeug gewünscht, mit dem man etwas wirklich angemessen Schönes zu Papier bringen kann. Vielleicht kann ich mich dann beizeiten hier auch konstruktiv einbringen.

Beste Grüße und allen einen schönen Sonntag!
Andreas
 


stargazer

  • Gast
Re:Grundlagensuche
« Antwort #9 am: Sonntag, 10. Januar 2010, 19:18 »
Hi,et

ich habe inzwischen auch mal die Lilypond-learning durch gearbeitet - dort ist inzwischen wirklich der größte Teil der von mir vermissten "Grundlagen" zu finden ;D

Viele Grüße

williwk

  • Gast
Re:Grundlagensuche
« Antwort #10 am: Samstag, 13. Februar 2010, 09:53 »
Eine komplette Doku (en) mit integrierter Suchfunktion findet sich unter

http://www.kainhofer.com/~lilypond/ajax/index.html

Warum diese gute Suchfunktion nicht auf den Originalseiten eingebaut ist verstehe ich nicht. Mir hat das sehr geholfen.

Gruß
Wilhelm

comper

  • Gast
Re:Grundlagensuche
« Antwort #11 am: Samstag, 13. Februar 2010, 10:08 »
Diese Suchfunktion (dort zum ausprobieren) ist noch im Versuchsstadium, wird wohl spätestens bei Version 2.14 angeboten.

Gruss