Deutsches Lilypond Forum (Archiv)

Allgemein => Fragen zu Funktionen => Thema gestartet von: ToPDF am Donnerstag, 27. März 2014, 20:25

Titel: Bedingungen
Beitrag von: ToPDF am Donnerstag, 27. März 2014, 20:25
Wer weiß, wie es richtig geht?


\book {
  \header {
    title = "4 or 8 notes in LilyPond"
    condition=1
  }
  \relative {
    c d e f
    if condition=1
    {
      c d e f
    }
  }
}
Titel: Re: Bedingungen
Beitrag von: fugenkomponist am Donnerstag, 27. März 2014, 21:18
Wenn es nur um eine Stelle geht, würde ich einen Blockkommentar schreiben:\book {
  \header {
    title = "4 or 8 notes in LilyPond"
  }
  \relative {
    c d e f
    %%{
      c d e f
    %}
  }
}
Du brauchst dann nur das erste % wegzunehmen, um den Teil rauszunehmen ;) Wenn du aber damit gleichzeitig mehrere Stellen rein- und rausnehmen willst, empfiehlt sich was in Richtung tags (Stichwort: "keepWithTag" in der Notationsreferenz)
Titel: Re: Bedingungen
Beitrag von: harm6 am Donnerstag, 27. März 2014, 22:58
Hi,

warum soll 'condition' im header definiert werden?

Als toplevel Definition funktionierts simpelst:

\version "2.18.0"

condition = ##f

\relative {
  c d e f
  #(if condition
    #{ c d e f #}
    #{ #})
}

Gruß,
  Harm
Titel: Re: Bedingungen
Beitrag von: fugenkomponist am Donnerstag, 27. März 2014, 23:23
Oh, so einfach hab ich gar nicht gedacht. Hab irgendwie gedacht, man könnte noch was mit #(define condition …) machen, aber ein condition = ##t reicht ja ;)
Titel: Re: Bedingungen
Beitrag von: harm6 am Donnerstag, 27. März 2014, 23:27
Zitat von: fugenkomponist
aber ein condition = ##t reicht ja

Tatsächliches reicht jede Angabe, die nicht #f ist. Siehe:

\version "2.18.0"

condition = "what-ever"

\relative {
  c d e f
  #(if condition
    #{ c d e f #}
    #{ #})
}

Gruß,
  Harm