Autor Thema: Liederbuch mit Lilypond - meine Erfahrungen  (Gelesen 6522 mal)

Manuela

  • Gast
Liederbuch mit Lilypond - meine Erfahrungen
« am: Sonntag, 2. Oktober 2016, 19:00 »
Hi,

zunächst möchte ich mich für die Unterstützung ganz herzlich bedanken, allen voran bei harm und fugenkomponist.

Wie ich hier berichtete, arbeite ich an einem Liederbuch. Da ich mich nicht in LaTeX einfuchsen wollte, habe ich versucht, das gesamte Unternehmen ausschließlich in Lilypond zu realisieren. Vielleicht helfen meine Erfahrungen auch anderen, daher dieser Thread (und außerdem ein kleines Code-Repository, falls ich meine Daten auf der Festplatte wieder einmal nicht finde  ;) ).

Die für mich am meisten überraschende Erkenntnis war die, dass Lilypond-Variablendefinition der Art

firstvoice=
\relative c'' {
  c
}
niemals innerhalb geschwungener Klammern stehen dürfen. Das bedeutet, dass ich diesen Code nicht mit \include in einen bookpart-einfügen kann. Wie beispielsweise diese Diskussion in der Mailliste zeigt, bin ich nicht die Einzige, die über diesen Umstand gestolpert ist. Möglicherweise bin ich einfach zu blöd gewesen, um es zu begreifen, aber aus der Dokumentation geht dieser außerordentlich wichtige Umstand zumindest für mich nicht klar hervor.

Ich habe verschiedene Herangehensweisen probiert. Zunächst bastelte ich eine große Datei, wobei die Schwierigkeit darin bestand, Variablennamen zu erzeugen. Bekanntlich dürfen Lilypond-Variablen nur Buchstaben enthalten, weder Ziffern noch Sonderzeichen, nicht einmal Bindestriche oder Underscores. Ich fand einen Workaround (der noch immer unapproved im Repository steht), dies kombiniert mit einem anderen "Trick" aus dem Forum ergab folgendes:

myTitel="Die lustigen Hammerschmiegsölln"

%% Variablen für 1. und 2. Stimmen
#(ly:parser-include-string (string-append "\"m" myTitel "1\"")) =
\relative c'' { c }
#(ly:parser-include-string (string-append "\"m" myTitel "2\"")) =
\relative c' { c }

%% Variable für Akkordbezeichnungen
#(ly:parser-include-string (string-append "\"c" myTitel "\"")) =
\chordmode { c }

%% Texte für Strophen 1+2
#(ly:parser-include-string (string-append "\"l" myTitel "1\"")) = \lyricmode {
  \set stanza = #"1. "
  Strophe I
}

#(ly:parser-include-string (string-append "\"l" myTitel "2\"")) = \lyricmode {
  \set stanza = #"1. "
  Strophe II
}

\score
{
  <<
    \new Staff="leadsheet" \with {
    }
    <<
      \tocItem \markup #myTitel
      <<
        \context Voice="melody" {
          #(ly:parser-include-string (string-append "\\\"m" myTitel "1\""))
        }
        \context Voice="sndvoice"
        {  #(ly:parser-include-string (string-append "\\\"m" myTitel "2\"")) }
      >>
      \new Lyrics \lyricsto "melody" {
        #(ly:parser-include-string (string-append "\\\"l" myTitel "1\""))
      }
      \new Lyrics \lyricsto "melody" {
        #(ly:parser-include-string (string-append "\\\"l" myTitel "2\""))
      }
    >>
    \context ChordNames
    { #(ly:parser-include-string (string-append "\\\"c" myTitel "\"")) }
  >>
  \header {
    title = #myTitel
    poet = ""
    composer = \markup {
      \override #'(baseline-skip . 1)
      \right-column {
        "Text: Volkslied"
        "Melodie: Volksweise"
      }
    }
    piece = ##f
    opus = ##f
  }
}

%% ... und dann noch der Liedtext als Markup


Der Nachteil dieser Variante: bereits nach wenigen Liedern wurde die 1000-Zeile Grenze für den Code überschritten, die Reihenfolge der Lieder lässt sich nur mit Aufwand wieder ändern.

Also änderte ich meine Vorgangsweise und lagerte den Code für jedes Lied in eine eigene Datei aus. Das hatte den Vorteil, dass ich die Variablen in allen einzelnen Lieddateien gleich nennen konnte und somit die Struktur der Lieddateien klarer und übersichtlicher wurde.

Ich bastelte mir eine Vorlagendatei in dieser Art

\language "deutsch"
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%% Lied Muster
%%%%%%%% Anfang
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
myTitel="LiedTitel"
%% Voice 1
firstvoice =
\relative c'' {
  c
}
%% Voice 2
secondvoice =
\relative c' {
  s4
}
%% Chords
songchords =
\chordmode {
  c
}

%% Song Lyrics
firstverse = \lyricmode {
  \set stanza = #"1. "
  1. Strophe
}

secondverse = \lyricmode {
  \set stanza = #"2. "
  Strophe xx
}

thirdverse = \lyricmode {
  \set stanza = #"3. "
  Strophe xxx
}
fourthverse = \lyricmode {
  \set stanza = #"4. "
  Strophe xxxx
}
fifthverse = \lyricmode {
  \set stanza = #"5. "
  Strophe xxxxx
}

\score
{
  <<
    \new Staff="leadsheet"
    <<
      \tocItem \markup #myTitel
      \context FirstVoice="melody" \firstvoice
      \context SecondVoice="sndvoice" \secondvoice
    >>
    \new Lyrics \lyricsto "melody" \firstverse
    \new AltLyrics \lyricsto "melody" \secondverse
    \new Lyrics \lyricsto "melody" \thirdverse
    \new AltLyrics \lyricsto "melody" \fourthverse
    \new Lyrics \lyricsto "melody" \fifthverse
    \context ChordNames \songchords
  >>
  \header {
    title = #myTitel
    poet = ##f
    composer = \markup {
      \override #'(baseline-skip . 1)
      \right-column {
        "Text: Volkslied"
        "Melodie: Volksweise"
      }
    }
    piece = ##f
    opus = ##f
  }

}

%% Songtext
\markup {
  \column {
    \fill-line {
      \hspace #0.1 % moves the column off the left margin;
      % can be removed if space on the page is tight
      \column {
        \line {
          \bold "2."
          \column {
            "This is verse two."
            "It has two lines."
          }
        }
        \vspace #Absatz
        \line {
          \bold "3."
          \column {
            "This is verse three."
            "It has two lines."
          }
        }
      }
      \hspace #0.1 % adds horizontal spacing between columns;
      \column {
        \line {
          \bold "4."
          \column {
            "This is verse four."
            "It has two lines."
          }
        }
        \vspace #Absatz
        \line {
          \bold "5."
          \column {
            "This is verse five."
            "It has two lines."
          }
        }
      }
      \hspace #0.1 % gives some extra space on the right margin;
      % can be removed if page space is tight
    }
    \vspace #Absatz
    \fill-line
    {
      \line {
        \bold "6."
        \column {
          "This is a single verse five."
          "centered in the line."
        }
      }
    }
  }
}

Die Formatierung lagerte ich in eine eigene Datei aus, wo ich die Contexte FirstVoice, SecondVoice und AltLyrics definierte.

\layout {
  \context {
    \Voice
    \name FirstVoice
    \alias Voice
    autoBeaming = ##f
    \override NoteCollision.merge-differently-dotted = ##t
    \override NoteCollision.merge-differently-headed = ##t
    \override Stem.direction = #UP
    \override Slur.direction = #UP
    \override Tie.direction = #UP
    \override NoteColumn.horizontal-shift = #0
  }
  \context {
    \Voice
    \name SecondVoice
    \alias Voice
    \remove "Slur_engraver"
    \remove "Tuplet_engraver"
    \remove "Rest_engraver"
    \remove "Multi_measure_rest_engraver"
    % alignBelowContext = #"firstvoice"
    autoBeaming = ##f
    \override NoteCollision.merge-differently-dotted = ##t
    \override NoteCollision.merge-differently-headed = ##t
    \override NoteHead.font-size = #smallerNoteHead
    \override Stem.direction = #DOWN
    \override Tie.direction = #DOWN
    \override NoteColumn.horizontal-shift = #0
  }
   \context {
    \Staff
    \accepts FirstVoice
    \accepts SecondVoice
  }
  \context {
    \StaffGroup
    \accepts AltLyrics
  }
  \context {
    \Lyrics
    \override LyricText.font-size =#1
  }
  \context {
    \Lyrics
    \name AltLyrics
    \alias Lyrics
    \override StanzaNumber.font-series = #'bold
    \override LyricText.font-shape = #'italic
  }
  \context {
    \Score
    \remove System_start_delimiter_engraver
    \remove "Bar_number_engraver"
    beamExceptions = #'()

  }
  \context {
    \ChordNames
    chordNameLowercaseMinor = ##f
    majorSevenSymbol = \markup { maj7 }
    chordChanges = ##f
    alignAboveContext = #"leadsheet"
  }
  \context {
    \Voice
    \override NoteCollision.merge-differently-dotted = ##t
    \override NoteCollision.merge-differently-headed = ##t
    beamExceptions = #'()
    autoBeaming = ##f
    \override BreathingSign.text =
    \markup { \musicglyph #"scripts.lvarcomma" }
  }
}

Wie im zuerst erwähnten Thread beschrieben, bereitete mir das Inhaltsverzeichnis ein Problem, weil ich zu viele überflüssige Definitionen in die Paper-Umgebung eingebaut hatte. Das Inhaltsverzeichnis musste ich in einen eigenen Bookpart auslagern:

\bookpart {
  \paper {
     top-margin = 15\mm
    ragged-right = ##f
    ragged-bottom = ##t
    ragged-last-bottom = ##t
    bottom-margin = 10\mm
    indent = #0
    line-width = 120\mm
    #(include-special-characters)
    print-page-number = ##t
    first-page-number = #1
    print-first-page-number = ##t
    tocItemMarkup = \tocItemWithDotsMarkup
    tocActMarkup = \markup \fontsize #1  \column {
      \hspace #1
      \line { \italic \fromproperty #'toc:text \null }
      \hspace #1
    }
    tocTitleMarkup = \markup \column {
      \fontsize #4 \sans \bold \fill-line { \null "Liederverzeichnis" \null }
      \hspace #1
    }
  }
  \markuplist \table-of-contents
}

Der Versuch, das gleiche mit den Include-Statements durchzuführen, scheiterte an dem eingangs erwähnte Umstand. Woraufhin ich begann, die Vorlage umzuschreiben. Die Änderung der Lilypond-Variablendefinition in eine Scheme-eigene umgeht dieses Problem nämlich, es heißt dann

#(define firstvoice #{ \relative c'' { c } #} )
Was zwar nicht besonders schön zu lesen, aber praktikabel war. Bis ich auf den entscheidenden Nachteil dieser Konstruktion stieß. Ich verwende nämlich Frescobaldi als Editor. Dieser hat die schöne Eigenschaft, dass ich durch Anklicken einer Note im PDF sofort zur passenden Stelle im Lilypond-Code springen kann. Durch die eben beschriebene Änderung der Variablendefinition geht diese für mich unverzichtbare Eigenschaft verloren. Somit definiere ich wieder die Variablen in Lilypond-Manier und vermeide es, die \include-Statements in einem bookpart zu verwenden.

Meine Steuerdatei schaut jetzt also etwa folgendermaßen aus

\version "2.19.37"
\language "deutsch"
#(set-global-staff-size 18)

FootLeft = #(string-append "" )
FootCenter = #(string-append "")
FootLeft = #(string-append "gesetzt mit LILYPOND " (lilypond-version) " am " (strftime "%d.%m.%Y %H:%M:%S" (localtime (current-time))))

tocAct = #(define-music-function (text) (markup?)
  (add-toc-item! 'tocActMarkup text))

%% ... dann kommen die Definitionen für das Inhaltsverzeichnis, hier weggelassen

\bookpart {
  \paper {
  %% .... Definitionen für das Inhaltsverzeichnis
  }
  \markuplist \table-of-contents
}

\layout {
  \context {
    \Voice
    }
    %% alle Kontexte
  }
}

\paper {
  top-margin = 15\mm
  ragged-right = ##f
  ragged-bottom = ##t
  ragged-last-bottom = ##t
  bottom-margin = 10\mm
  indent = #0
  line-width = 150\mm
  print-all-headers = ##t
  #(include-special-characters)
  %print-all-headers = ##t
  page-number-type = #'arabic
  print-page-number = ##t
  first-page-number = #1
  print-first-page-number = ##t
  %% Abstand von Liedtext zu nachfolgender Überschrift
  markup-markup-spacing  = #'((basic-distance . 12)
                              (minimum-distance . 5)
                              (padding . 5)
                              (stretchability . 40))
  %% Abstand eines Liedes ohne nachfolgenden Liedtext zu nachfolgender Überschrift
  score-markup-spacing  = #'((basic-distance . 12)
                             (minimum-distance . 5)
                             (padding . 5)
                             (stretchability . 40))
}

\tocAct \markup "Morgen- und Abendlieder"  %% Kapitelüberschrift

%% Liste der Lieder
\include "__/gutenabend.ly"
\include "__\mond.ly"
\include "__\abendstille.ly"
\include "__\adezur.ly"

%% usw


PS: weitere Threads zum Thema:

Alphabetisch sortierter Index
Alphabetisch sortierter Index
« Letzte Änderung: Dienstag, 4. Oktober 2016, 07:47 von Manuela »

harm6

  • Gast
Re: Liederbuch mit Lilypond - meine Erfahrungen
« Antwort #1 am: Sonntag, 2. Oktober 2016, 22:20 »
Hallo Manuela,

einige Anmerkungen.

I
Zitat
Die für mich am meisten überraschende Erkenntnis war die, dass Lilypond-Variablendefinition der Art

firstvoice=
\relative c'' {
  c
}

niemals innerhalb geschwungener Klammern stehen dürfen. Das bedeutet, dass ich diesen Code nicht mit \include in einen bookpart-einfügen kann. Wie beispielsweise diese Diskussion in der Mailliste zeigt, bin ich nicht die Einzige, die über diesen Umstand gestolpert ist. Möglicherweise bin ich einfach zu blöd gewesen, um es zu begreifen, aber aus der Dokumentation geht dieser außerordentlich wichtige Umstand zumindest für mich nicht klar hervor.

Nun, in http://lilypond.org/doc/v2.19/Documentation/learning/organizing-pieces-with-variables steht:
"Variables must be defined before the main music expression,..." ;)

Ich würde ins zu inkludierende files ausschließlich Definitionen schreiben. (Zumindest würde ich das heute so machen, meine ersten Versuche sahen auch anders aus). Z.B.

to-includeI.ly:
musicvarI = ...
musicvarII = ...

scoreI =
\score {
  \new Staff \musicvarI
  \new Staff \musicvarII
}

Im Liederbuch dann:

\include "to-includeI.ly"

\book {
  \scoreI
}

Natürlich klappt das nicht mit gleich benannten Variablen, aber das würde ich auch vermeiden und sei es noch so übersichtlich.

II
Zitat
Wie in diesem Thread beschrieben, bereitete mir das Inhaltsverzeichnis ein Problem,
Fehlt da ein link?

III
Zitat
Die Änderung der Lilypond-Variablendefinition in eine Scheme-eigene umgeht dieses Problem nämlich, es heißt dann

#(define firstvoice #{ \relative c'' { c } #} )

Aber nur auf den ersten Blick, siehe meinen post:
https://archiv.lilypondforum.de/index.php?topic=2379.msg13386#msg13386

IV
Zitat
Was zwar nicht besonders schön zu lesen, aber praktabel war. Bis ich auf den entscheidenden Nachteil dieser Konstruktion stieß. Ich verwende nämlich Frescobaldi als Editor. Dieser hat die schöne Eigenschaft, dass ich durch Anklicken einer Note im PDF sofort zur passenden Stelle im Lilypond-Code springen kann. Durch die eben beschriebene Änderung der Variablendefinition geht diese für mich unverzichtbare Eigenschaft verloren.

Hmm, ich verwende Frescobaldi nicht, auch habe ich mir nie die Mühe gemacht meinem pdf-viewer zu erlauben externe links zu öffnen, d.h. ich kann das Problem nicht wirklich nachstellen. Aber wenn ich mit dem Cursor über der entsprechenden Stelle schwebe wird der korrekte link sichtbar.

Falls das in Frescobaldi's pdf-viewer nicht so ist, solltest Du vielleicht einen bug-report dort einreichen.

V
Zitat
Meine Steuerdatei schaut jetzt also etwa folgendermaßen aus
tocAct ist dort nicht definiert. Ich würde es durch den default ersetzen, tut Deinem template ja keinen Abbruch.

VI
Zitat
Ich fand einen Workaround (der noch immer unapproved im Repository steht)
Ich höre die Aufforderung ;)
Und es tut mir leid, daß es (neben anderen) noch da rumsteht. Aber wenn man mal außer Acht läßt, daß ich eigentlich nicht der einzige LSR-Maintainer bin, so habe ich öfters doch ein bißchen viel zu tun...
Um ein LSR-snippet durchzuwinken muß ich (oder jeder andere) den Code einer genauen review unterziehen, was immer Zeit kostet und ich möchte es nicht in Zeitnot machen müssen.
Manchmal dauert es dann....

Gruß,
  Harm

harm6

  • Gast
Re: Liederbuch mit Lilypond - meine Erfahrungen
« Antwort #2 am: Sonntag, 2. Oktober 2016, 22:34 »
Hier noch ein link zu einer hervorragenden Darstellung, wie man ein book aufsetzen kann:
https://archiv.lilypondforum.de/index.php?topic=678.msg3692#msg3692

Manuela

  • Gast
Re: Liederbuch mit Lilypond - meine Erfahrungen
« Antwort #3 am: Sonntag, 2. Oktober 2016, 22:39 »

Nun, in http://lilypond.org/doc/v2.19/Documentation/learning/organizing-pieces-with-variables steht:
"Variables must be defined before the main music expression,..." ;)

Daraus habe ich nicht den Schluss gezogen, dass Variablendefinitionen nicht in geschwungenen Klammern stehen dürfen. Hätte für DAUs wie mich anders formuliert werden sollen/können/dürfen

Ich würde ins zu inkludierende files ausschließlich Definitionen schreiben. (Zumindest würde ich das heute so machen, meine ersten Versuche sahen auch anders aus). Z.B.

to-includeI.ly:

Natürlich klappt das nicht mit gleich benannten Variablen, aber das würde ich auch vermeiden und sei es noch so übersichtlich.

Muss wohl jeder selber lernen  ;)

Zitat
Wie in diesem Thread beschrieben, bereitete mir das Inhaltsverzeichnis ein Problem,
Fehlt da ein link?

Ja, aber es ist schon spät, ich bin müde, mein Hirn ist schon sauer...

Und es tut mir leid, daß es (neben anderen) noch da rumsteht. Aber wenn man mal außer Acht läßt, daß ich eigentlich nicht der einzige LSR-Maintainer bin, so habe ich öfters doch ein bißchen viel zu tun...
Um ein LSR-snippet durchzuwinken muß ich (oder jeder andere) den Code einer genauen review unterziehen, was immer Zeit kostet und ich möchte es nicht in Zeitnot machen müssen.
Manchmal dauert es dann....

Kein Problem take your time, der Code ist schließlich abrufbar.  :) Ich konnte bloß nicht widerstehen

Sollten wir uns Sorgen machen, dass Lilypond irgendwann einschläft? Ich habe das Gefühl, dass sich in letzter Zeit nicht mehr so wahnsinnig viel tut.

harm6

  • Gast
Re: Liederbuch mit Lilypond - meine Erfahrungen
« Antwort #4 am: Montag, 3. Oktober 2016, 17:56 »
Zitat
Sollten wir uns Sorgen machen, dass Lilypond irgendwann einschläft? Ich habe das Gefühl, dass sich in letzter Zeit nicht mehr so wahnsinnig viel tut.

Hmmm, und das nachdem ich gestern
http://lists.gnu.org/archive/html/lilypond-user/2016-10/msg00018.html
gepostet habe.
Da stecken ca 2 Monate Arbeit drin.

Heute habe ich mir drei unapproved LSR-snippets vorgenommen.
Arbeitsaufwand: ca 7 Stunden.


Somit: nein LilyPond schläft nicht ein, aber mehr Leute wär schon schön.


Gruß,
  Harm

EDIT:
Darüberhinaus habe ich einen patch von einem anderen developer getestet, dauert auch seine Zeit, denn man muß ihn auf sein git-repository schmeißen, lilypond neu kompilieren und die Ergebnisse bewerten.

Naja, und manchmal schreibe ich auch hier im Forum oder auf der mailinglist. rofl

Und nein, ich bin nicht der einzige, der das tut, aber siehe oben ;)
« Letzte Änderung: Montag, 3. Oktober 2016, 18:20 von harm6 »

Manuela

  • Gast
Re: Liederbuch mit Lilypond - meine Erfahrungen
« Antwort #5 am: Dienstag, 4. Oktober 2016, 06:45 »
Hmmm, und das nachdem ich gestern
http://lists.gnu.org/archive/html/lilypond-user/2016-10/msg00018.html
gepostet habe.
Da stecken ca 2 Monate Arbeit drin.

Heute habe ich mir drei unapproved LSR-snippets vorgenommen.
Arbeitsaufwand: ca 7 Stunden.

Wow.

Mir kam bloß vor, dass die allgemeine Aktivität in diesem Forum momentan nicht sehr hoch ist, deswegen. Ohne dich und fugenkomponist wäre hier fast überhaupt nix mehr los...

Somit: nein LilyPond schläft nicht ein, aber mehr Leute wär schon schön.

Das wäre es immer, nicht nur bei Lilypond  ;)

Ich denke, man muss sich entscheiden, Lilypond entweder verwenden oder weiterentwickeln. Für beides reicht die Zeit nicht.

Je mehr ich Lilypond verwende, desto begeisterter bin ich davon. Mein Liederheft hat im Bekanntenkreis eingeschlagen wie eine Bombe   :D dabei ist es noch lange nicht fertig.
« Letzte Änderung: Dienstag, 4. Oktober 2016, 07:44 von Manuela »

Manuela

  • Gast
Re: Liederbuch mit Lilypond - meine Erfahrungen
« Antwort #6 am: Dienstag, 4. Oktober 2016, 07:52 »

Zitat
Meine Steuerdatei schaut jetzt also etwa folgendermaßen aus
tocAct ist dort nicht definiert. Ich würde es durch den default ersetzen, tut Deinem template ja keinen Abbruch.


Harm, nochmals danke für deinen vielen Anmerkungen

tocAct habe ich jetzt nachgetragen (stammt aus der Doku), aber du hast recht (wie immer  ;) ), ich brauche das eigentlich gar nicht, ich denke, ich werde das durch irgendein hübsch formatiertes Markup ersetzen.

fugenkomponist

  • Gast
Re: Liederbuch mit Lilypond - meine Erfahrungen
« Antwort #7 am: Dienstag, 4. Oktober 2016, 12:25 »
Mir kam bloß vor, dass die allgemeine Aktivität in diesem Forum momentan nicht sehr hoch ist, deswegen. Ohne dich und fugenkomponist wäre hier fast überhaupt nix mehr los...
Die Aktivität (gemessen an der Anzahl an Beiträgen) war nur in einem Jahr (2013) bisher höher, siehe Statistiken ;) Allerdings stimmt es, daß hier nicht unglaublich viel passiert. Deutlich aktiver ist da die englische Mailingliste (7022 Mails gegenüber 1536 Beiträgen hier), vermutlich, weil die sprachbedingt eine größere Gruppe anspricht und auch mehr Entwickler dabei sind.
Zitat
Somit: nein LilyPond schläft nicht ein, aber mehr Leute wär schon schön.
Wohl wahr … ich hab mehrmals probiert, mich aufzuraffen, aber es ist dann an relativ hohen Einstiegshürden gescheitert (ich kann schon halbwegs mit git und make umgehen, aber sourceforge, rietveld, devel-list, … war dann ehrlich gesagt immer ein bisschen abschreckend; außerdem wußte ich nicht so recht, wo anfangen).

harm6

  • Gast
Re: Liederbuch mit Lilypond - meine Erfahrungen
« Antwort #8 am: Dienstag, 4. Oktober 2016, 23:43 »
Zitat von: Manuela
Mir kam bloß vor, dass die allgemeine Aktivität in diesem Forum momentan nicht sehr hoch ist, deswegen. Ohne dich und fugenkomponist wäre hier fast überhaupt nix mehr los...
fugenkomponist hat ja schon auf die Statistik verwiesen.
Aber er und meine Wenigkeit sind ziemlich schnell mit unseren Antworten, das mag dann so erscheinen als ob sonst wenig los sei. Stimmt aber eigentlich nicht, es gibt ne Menge Leute mit profundem Wissen hier im Forum.

Zitat von: fugenkomponist
Allerdings stimmt es, daß hier nicht unglaublich viel passiert. Deutlich aktiver ist da die englische Mailingliste [...], vermutlich, weil die sprachbedingt eine größere Gruppe anspricht und auch mehr Entwickler dabei sind.
Auch hier möchte ich zumindest teilweise widersprechen. Ich habe schon öfters auf der internationalen Liste Verweise hierhin ins deutsche Forum gesehen, die per google gefunden wurden.

Zitat von: fugenkomponist
ich hab mehrmals probiert, mich aufzuraffen, aber es ist dann an relativ hohen Einstiegshürden gescheitert (ich kann schon halbwegs mit git und make umgehen, aber sourceforge, rietveld, devel-list, … war dann ehrlich gesagt immer ein bisschen abschreckend [...]).
Das mit den hohen Einstiegshürden ist nicht falsch, aber wenn Du schon mit git umgehen kannst ist der Löwenanteil schon bewältigt.
Sicher die devel-list zu abonnieren ist ein muß, aber ich les da auch vieles nur quer, sei es das das Thema mich nicht interessiert, sei es das ich von einem Thema schlichtweg keine Ahnung habe...
Falls Du patches einreichst, so ist es sinnvoll git-cl zu benutzen (->CG). Damit werden zumindest die initialen posts auf Rietveld und sourceforge erledigt.
Allerdings baucht man dafür einen als developer anerkannten account of sourceforge. Falls das für Dich in Frage kommt: die Schritte im CG befolgen, sowie auf der devel-list nachfragen.
Ärgerlicher ist Rietveld, denn die wollen einen google-account.
Und google will eine Telefonnummer haben, sagen sie zumindest, man kann auch drumrum kommen. Ich hab denen nie meine Telefonnummer gegeben. Führt natürlich dazu, das sie immer mal wieder nachfragen... In dem Fall hilft: Im browser eine Seite zurück gehen.

Ich hasse google...

Zitat von: fugenkomponist
außerdem wußte ich nicht so recht, wo anfangen
Ich hab' angefangen, indem ich einen wirklich kleinen patch gemacht habe, für ein feature, welches ich gerade brauchte:
http://git.savannah.gnu.org/cgit/lilypond.git/commit/?id=7b999268d43ff84fa3ef42b46f0c6f72ec0bb9c6

Wär so was in der Art nicht ein guter Einstieg?

Gruß,
  Harm

Manuela

  • Gast
Re: Liederbuch mit Lilypond - meine Erfahrungen
« Antwort #9 am: Mittwoch, 5. Oktober 2016, 07:30 »
Ich bin jedenfalls froh, dass Lilypond höchst lebendig ist und mein Eindruck falsch war  :)

Einfach unglaublich, wie sich dieses Programm entwickelt hat.