Neueste Beiträge

Seiten: [1] 2 3 ... 10
1
Fragen und Probleme aller Art / Antw:acciaccatura im Klaviersatz
« Letzter Beitrag von chf am Gestern um 23:49 »
Danke, Malte - hatte ich doch ganz hinten im Kopf den richtigen Gedanken!
2
Fragen und Probleme aller Art / Antw:Akkorde mit Bass
« Letzter Beitrag von harm6 am Gestern um 23:14 »
Hallo,

wiewohl ich Malte's Vorschlag schon vorher gesehen habe, greift er doch zu kurz.

Bei alterierten Akkorden und/oder solchen mit Zusatztönen, werden diese gedruckt:
\chords {
  b:m5-.7/fis
  \once \set ChordNames.chordRootNamer = #(lambda (pitch lowercase?) empty-markup)
  \once \set ChordNames.chordNoteNamer = #note-name->markup
  b:m5-.7/+fis
}
Wenn man jetzt einen simplen b:m/+fis verwendet, wird zumindest das midi falsch.

chordRootNamer und chordRootNamer sind aber lediglich setzbare context-properties, die der eigentlichen chordNameFunction (auch ein context-property, per default auf ignatzek-chord-names gesetzt) zuarbeiten.

Man sollte vielmehr die eigentliche chordNameFunction angehen, am besten mit einem patch, der ein context-property (z.B. chordBassOnly) einführt welches der chordNameFunction sagt, ob ausschließlich Bass (oder Inversion) gedruckt werden soll.

Das Ganze ist aber auch in einem ly-file möglich:
\version "2.19.82"


#(define (define-translator-property symbol type? description)
  (if (not (and (symbol? symbol)
            (procedure? type?)
            (string? description)))
      (ly:error "error in call of define-translator-property"))
  (if (not (equal? (object-property symbol 'translation-doc) #f))
      (ly:error (_ "symbol ~S redefined") symbol))

  (set-object-property! symbol 'translation-type? type?)
  (set-object-property! symbol 'translation-doc description)
  symbol)

#(for-each
  (lambda (x)
    (apply define-translator-property x))
    `((chordBassOnly ,boolean? "DOCME")
      ;; others
    ))

\layout {
  \context {
    \Score
    chordNameFunction =
      #(lambda (in-pitches bass inversion context)
         (let* ((slash-shord-separator
                  (ly:context-property context 'slashChordSeparator))
                (chord-root-namer (ly:context-property context 'chordRootNamer))
                (chord-note-namer
                  (ly:context-property context 'chordNoteNamer #f))
                (chord-name-lowercase-minor
                  (ly:context-property context 'chordNameLowercaseMinor))
                (chord-name-function
                  (ly:context-property context 'chordNameFunction))
                (chord-bass-only?
                  (ly:context-property context 'chordBassOnly #f))
                (bass-markup
                  (lambda (pitch)
                    (make-line-markup
                      (list
                        slash-shord-separator
                        ((or chord-note-namer chord-root-namer)
                         pitch
                         chord-name-lowercase-minor))))))
           (cond ((and chord-bass-only? (ly:pitch? bass))
                   (bass-markup bass))
                 ((and chord-bass-only? (ly:pitch? inversion))
                   (bass-markup inversion))
                 (else
                   (ignatzek-chord-names in-pitches bass inversion context)))))
  }
}

\new ChordNames
  \chordmode {
    b:m5-.7/fis
    \set chordBassOnly = ##t
    b:m5-.7/+fis
  }

Gruß,
  Harm

EDIT code vereinfacht
3
Fragen und Probleme aller Art / Antw:acciaccatura im Klaviersatz
« Letzter Beitrag von Malte am Gestern um 20:31 »
Für Vorschläge vorm Taktstrich ist (ein bißchen unintuitiv) \afterGrace nötig. In diesem Fall also ein „Nachschlag“ zur Pause ;)
4
Fragen und Probleme aller Art / Antw:Akkorde mit Bass
« Letzter Beitrag von Malte am Gestern um 20:29 »
chordNoteNamer ist eine Funktion, die aus einer Tonhöhe (pitch) und einer Angabe, ob Klein- oder Großbuchstaben verwendet werden sollen (lowercase?) ein Markup macht. Das gleiche gilt erstmal für chordRootNamer.

Nun will ich aber aus den zwei Tonhöhen F und B in f:/bes nur ein „/B♭“ statt „F/B♭“ machen. LilyPond ruft für die „root“ (keine Ahnung, wie ich das auf deutsch nennen würde, in diesem Fall F) anscheinend den chordRootNamer auf und für alle anderen Tonhöhen chordNoteNamer. Deshalb habe ich chordRootNamer zu einer Funktion gemacht, die zwar pitch und lowercase? als Argumente hat, in jedem Fall aber einfach ein leeres Markup (empty-markup) zurückgibt.

Dann hab ich allerdings festgestellt, daß LilyPond merkwürdigerweise auch für das B den chordRootNamer verwendet, solange chordNoteNamer nicht explizit definiert ist. Deshalb hab ich das nachgeholt und den Standardwert (note-name->markup) gesetzt ;)

Fazit: Diese Erklärung beschreibt nur, was ich dachte, wie LilyPond funktioniert und wie ich meine Ansicht angepaßt hab. Was LilyPond tatsächlich mit den beiden Funktionen macht, müßte ich wohl nochmal im Code oder der Dokumentation nachlesen.
5
Fragen und Probleme aller Art / acciaccatura im Klaviersatz
« Letzter Beitrag von chf am Gestern um 19:28 »
\version "2.19.49"

top = \change Staff = "1"
bottom = \change Staff = "2"

mOneA = \relative c {
\time 4/4
\clef bass
<<{R1 s }\\{s1 s }>> 
}

mTwoA = \relative c {
\time 4/4
\clef bass
R1 \top \acciaccatura {e'32 b as f e des} \bottom
                <f, c'>1
}

\score {
   \new PianoStaff                 
           <<
              \new Staff = "1" << \mOneA >>               
              \new Staff = "2" << \mTwoA >>
           >>   
 } 


Liebe Freunde,

(der Beispielcode sollte kompilieren! Die Ganztaktpause richtig zu platzieren macht mir kein Problem...)

könnt ihr mir zu dem Bild helfen, dass ich als Foto angehängt habe? In den Foren und in der Dokumentation fand ich keine Handhabe...
Ich bin auf der Zielgerade ausgebremst.

Gruß
Christa

Gruß
6
Fragen und Probleme aller Art / Antw:Akkorde mit Bass
« Letzter Beitrag von hurrlipurr am Gestern um 18:34 »
Cool, ich verstehe zwar (fast) nur Bahnhof, aber es tut genau das Gewünschte. :-)
7
Fragen und Probleme aller Art / Antw:Änderungen der Notenhalslänge
« Letzter Beitrag von chf am Gestern um 14:08 »
Hallo Malte,

danke! Die Veränderung ist ja sogar in kleinen Schritten möglich!
Nun stimmt das Bild. Ich habe nach allen Schriftgrößen gesucht - nichts Verdächtiges.
Und: pardon - ich hatte eine Klammer vergessen.




8
Fragen und Probleme aller Art / Antw:Akkorde mit Bass
« Letzter Beitrag von Malte am Gestern um 10:00 »
Ja, das geht, z. B. so:\version "2.19.82"

\chords {
  f2:m7
  \once \set ChordNames.chordRootNamer = #(lambda (pitch lowercase?) empty-markup)
  \once \set ChordNames.chordNoteNamer = #note-name->markup
  f:/bes
}
Die beiden \set-Befehle kann man noch in eine Variable packen, um sie nicht immer wieder ausschreiben zu müssen.

Folgendes geht leider nicht:
bass =
#(define-music-function (b) (ly:pitch?)
   #{
     \once \set ChordNames.chordRootNamer = #(lambda (p l) empty-markup)
     \once \set ChordNames.chordNoteNamer = #note-name->markup
     \chordmode { c:/$b }
   #})

\chords {
  f:7 \bass g \bass gis \bass a
}
9
Fragen und Probleme aller Art / Akkorde mit Bass
« Letzter Beitrag von hurrlipurr am Gestern um 09:01 »
Hi,

ist es möglich bei einem Basslauf
f2:m7 f2:m7/besbeim zweiten Akkord das "Fm7" wegzulassen und nur das "/Bb" zu setzen?

VG Oliver
10
Fragen und Probleme aller Art / Antw:Änderungen der Notenhalslänge
« Letzter Beitrag von Malte am Montag, 10. Dezember 2018, 18:37 »
\version "2.19.49"
\tempo \markup {
\concat {
 
\small \fontsize #-2 \general-align #Y #DOWN \note #"8" #1
" = "
\small \fontsize #-2 \general-align #Y #DOWN \note #"8" #1

  }
Kompiliert nicht.

Zitat
ist es möglich, in diesem Ausdruck die Länge der Notenhälse zu verlängern? Dies ist eine prinzipelle Frage.
Ja. Die 1 in\note #"8" #1gibt die Länge des Halses an; negative Werte für abwärtsgerichtete Hälse. #1 entspricht hier einem sinnvollen Standardwert, damit man stattdessen auch #UP (und statt #-1 auch #DOWN) für die Richtung statt einer expliziten Länge angeben kann.

Zitat
Aus unerfindlichen Gründen erscheinen bei der Übertragung in die Gesamtdatei die Fähnchen zu lang. Trotz vielen Probierens finde ich keine Ursache dafür, kann also auch nicht mit einem Beispiel dienen... Ich suche noch, bin aber für eine Antwort dankbar.
Dann probier doch mal, eine Kopie von der Gesamtdatei so lange zusammenzustreichen, bis ein kompilierbares (!!!) Minimalbeispiel bei rauskommt, z. B. indem du erstmal so viele Noten, Instrumente, Header etc. wie möglich entfernst. Ich könnte mir vorstellen, daß es mit irgendwelchen Schriftgrößensachen zu tun hat.
Seiten: [1] 2 3 ... 10