Autor Thema: Akkorde im Notensystem  (Gelesen 1755 mal)

iugin

  • Member
Akkorde im Notensystem
« am: Donnerstag, 28. März 2013, 11:22 »
Hallo miteinander,

es ist so: ohne euch geht es gar nicht  :)
Ich möchte die Akkorde im Notensystem schreiben. Habe lange gesucht und im Forum sind nur Beispiele für ältere Versionen.
Das ist mein Code:
\version "2.16.0"
\include "deutsch.ly"

vone = \relative c' { c1 }
vtwo = { s1 }

akkorde = \new ChordNames  {
  \chordmode {
    \override VerticalAxisGroup #'nonstaff-unrelatedstaff-spacing = #'((padding . -3) (basic-distance . 0))
    c1
  }
}

\score {
  <<
    \new Staff \vone   
    \new Staff \vtwo
    \akkorde   
  >>
}
Ich schaffe es irgendwie nicht, den Akkord genau in der Mitte des 2. Systems zu positionieren (Resultat als Attachement).
Wisst ihr, wie es geht?

Vielen Dank für eure Hilfe

Liebe Grüsse

Eugenio

harm6

  • Member
Re: Akkorde im Notensystem
« Antwort #1 am: Donnerstag, 28. März 2013, 13:32 »
Hallo Eugenio,

Du könntest es mit dem Code unten versuchen.

Zwei Probleme:
a)
Sobald Du anfängst die Größe des Staffs mit den ChordNames zu ändern bzw die Größe der ChordNames selbst muß der 'Y-offset angepaßt werden.
b)
Das ganze funktioniert nicht mit den neueren devel-Versionen. Da  kenne ich die Ursache noch nicht.

\version "2.16.0"

vone =
\new Voice \relative c' { c4 d e f }

akkorde =
\new ChordNames {
  \chordmode {
    \override ChordNames.ChordName #'Y-offset = #-1
    c1:5- g:11 f/g
  }
}

\score {
  <<
    \new Staff { \vone\vone\vone\vone\vone } 
    \new Staff \with { \accepts "ChordNames" }
    { \vone \akkorde \vone }
  >>
}

Gruß,
  Harm

iugin

  • Member
Re: Akkorde im Notensystem
« Antwort #2 am: Donnerstag, 28. März 2013, 14:14 »
Lieber Harm,

danke vielmals, es klappt wunderbar! :)

Liebe Grüsse

Eugenio

harm6

  • Member
Re: Akkorde im Notensystem
« Antwort #3 am: Donnerstag, 28. März 2013, 14:20 »
Hallo Eugenio,

Zitat von: harm6
b)
Das ganze funktioniert nicht mit den neueren devel-Versionen. Da  kenne ich die Ursache noch nicht.

In den neueren devel-Versionen ist der Hara_kiri_engraver entfernt worden. Offensichtlich werden die Aufgaben die er übernahm jetzt vom Axis_group_engraver übernommen. Es will mir aber so vorkommen, daß es da Nebeneffekte gibt, hoffentlich nicht noch stärkere als hier zu beobachten.

Um den Code auch für neuere devel-Versionen gangbar zu machen kann man den Axis_group_engraver einfach entfernen.
(In 2.16. stört das nicht und es fixt 2.17.12)
Ansonsten habe ich noch das Entfernen leerer Zeilen getestet. Falls Du das nicht möchtest, mußt Du die entsprechenden Zeilen auskommentieren, wie im Code vermerkt.

Für
Zitat von: harm6
a)
Sobald Du anfängst die Größe des Staffs mit den ChordNames zu ändern bzw die Größe der ChordNames selbst muß der 'Y-offset angepaßt werden.
habe ich allerdings keine automatisierte Lösung.

\version "2.17.12"

\layout {
  \context {
    % Comment the following lines, if you don't want to remove empty Staffs.
   
    \Staff
    \override VerticalAxisGroup #'remove-first = ##t
    \override VerticalAxisGroup #'remove-empty = ##t
    \RemoveEmptyStaves
  }
  \context {
    \ChordNames
    \remove "Axis_group_engraver"
  }
}
               

mus =
\new Voice
\relative c' {
        c1
        d \break
        e
        f \break
        s \break
        c
        d
        e
        f
}

musII =
\new Voice
\relative c' {
        s1*2
        c1
        d
}

akkorde =
\new ChordNames
  \chordmode {
    \override ChordNames.ChordName #'Y-offset = #-1
    s1*2
    \break
    c1:5-
    g:11
    f/g
  }


<<
  \new Staff { \mus } 
  \new Staff \with { \accepts "ChordNames" }
  { \akkorde \musII }
>>

Gruß,
  Harm


harm6

  • Member
Re: Akkorde im Notensystem
« Antwort #4 am: Donnerstag, 28. März 2013, 16:30 »
Hallo nochmal,

eine weitere Möglichkeit (hängt davon ab, was Du letztlich haben willst):

\version "2.16.2"

\layout {
  \context {
    \ChordNames
    \consists "Bar_engraver"
    \consists "Staff_symbol_engraver"
    \consists "Clef_engraver"
    \consists "Key_engraver"
    \consists "Time_signature_engraver"
  }
}

<<
  \new Staff { c''1 }
  \new ChordNames
    \chordmode { \override ChordNames.ChordName #'Y-offset = #-1 c }
>>


Gruß,
  Harm

EDIT:
P.S.: Siehe auch die Diskussion hier.
« Letzte Änderung: Donnerstag, 28. März 2013, 16:43 von harm6 »

iugin

  • Member
Re: Akkorde im Notensystem
« Antwort #5 am: Donnerstag, 28. März 2013, 16:49 »
Hey Harm,

nochmals ganz herzlichen Dank für die grosse Mühe! Es reicht, denke ich  ;)

Ich wünsche dir (und dem Forum) einen schönen Tag!.. und frohe Ostern.

Ciao

Eugenio