Deutsches Lilypond Forum (Archiv)

Notationsspezifisch => Noten für Gitarre => Thema gestartet von: iugin am Montag, 12. November 2012, 09:42

Titel: Kapodaster Gitarre
Beitrag von: iugin am Montag, 12. November 2012, 09:42
Hallo miteinander,

ich bin neu im Forum und entschuldige mich schon jetzt für meine Sprachfehler :-)
Zur Problem: ich muss mit Lilypond eine Reihe von Akkorden für Gitarre schreiben, und alle müssen mit Kapodaster II sein (ich bin kein Gitarrist: ein Kollege schreibt eine Bandschule und möchte, dass ich sie mit Lilypond fertigstelle).
Ein Minimalbeispiel:
\include "deutsch.ly"
{
  \relative a {
    <a cis e a cis a'>1^\markup {
      \fret-diagram-verbose #'(
        (capo 2)
        (place-fret 6 5)
        (place-fret 5 4)
        (open 4)
        (open 3)
        (open 2)
        (place-fret 1 5)
      )
    }
   
   
    <e' h' d g>
    ^\markup {
      \fret-diagram-verbose #'(
        (capo 2)
        (mute 6)
        (mute 5)
        (open 4)
        (place-fret 3 4)
        (place-fret 2 3)
        (place-fret 1 3)
      )
    }
  }
}
Jetzt: beim ersten Akkord erscheint neben dem Kapodaster die römische Zahl ii, beim zweiten nicht.
Wie kann ich Lilypond zwingen, die Zahl überall hinzufügen?

Ganz herzlichen Dank im Voraus für eure Hilfe

Eugenio
Titel: Re: Kapodaster Gitarre
Beitrag von: ding-dong am Montag, 12. November 2012, 15:12
hallo

diese zahl (fret-label) wird nur angegeben wenn die effektiven frets im diagramm nicht angezeigt werden, also wenn du zum beispiel A-dur im 5. bund spielst (notierst) und das diagramm nur die standard-mässigen 4 (?) bünde anzeigt!

hdh
ding-dong
Titel: Re: Kapodaster Gitarre
Beitrag von: iugin am Montag, 12. November 2012, 17:00
Hallo ding-dong

danke vielmals für deine schnelle Antwort.
Ich hatte so was vermutet. Die Frage war, ob ich Lilypond zwingen kann die fret-label auf jeden Fall zu zeigen, auch wenn es vielleicht wenig Sinn macht.
Ich denke aber, dass es nicht möglich ist.

Trotzdem Danke

Ciao

Eugenio
Titel: Re: Kapodaster Gitarre
Beitrag von: ding-dong am Montag, 12. November 2012, 17:30
keine ahnung - die doku sagt nicht darüber  ::)
Titel: Re: Kapodaster Gitarre
Beitrag von: Be-3 am Montag, 12. November 2012, 18:07
Ich hatte so was vermutet. Die Frage war, ob ich Lilypond zwingen kann die fret-label auf jeden Fall zu zeigen, auch wenn es vielleicht wenig Sinn macht.
Ich denke aber, dass es nicht möglich ist.

Hallo Eugenio,

es stimmt schon: im Standard ist es nicht möglich. Es verhält sich so, wie ding-dong schreibt, und in der Doku ist tatsächlich nichts erwähnt.

Da es sich aber um ein größeres Projekt (eine Schule) handelt, würde sich ja vielleicht ein wenig Aufwand lohnen, wenn Du es denn wirklich so haben willst.


Eine Lösung

Ein Blick ins Scheme-Coding zeigt eindeutig, daß grundsätzlich erst ab dem zweiten Bund die Bundnummer ausgegeben wird:
(if (> (car fret-range) 1) [...]
Wie man sieht, ist die Einschränkung, daß die Bundnummer nur angezeigt wird, wenn sie > 1 ist, fest vorgegeben und kann vom User nicht geändert werden.

Man kann also das Coding der Datei fret-diagrams.scm in eine Lilypond-Datei kopieren und abändern, die dann per \include eingebunden werden kann (genau so, wie Du es mit deusch.ly getan hast).
Das funktioniert tatsächlich (habe ich ausprobiert), man muß aber ca. 1.000 Zeilen Code kopieren, um eine davon anzupassen. Das ist nicht ganz elegant, erfüllt aber seinen Zweck ;)
Verrate mir Deine Lilypond-Version und ich kann Dir die Datei zur Verfügung stellen.


Noch 'ne Lösung

Man sollte sich klarmachen, daß die angezeigte Nummer nicht in erster Linie "der Bund, in dem der Kapo befestigt wird" bedeutet, sondern der niedrigste im Diagramm dargestellte Bund. Daher kommt auch die Eigenheit, daß diese Nummer nur dann gezeigt wird, wenn das Griffbrett nicht von Anfang an (also ab dem ersten Bund) dargestellt wird.

Am einfachsten wäre es also, wenn Du für diesen Einzelfall "Kapo im ersten Bund" die Bundnummer 1 einfach "von Hand" als Markup dazusetzt, so in etwa:

  \relative c' {
    <f c' f a c f>1^\markup { \combine
      \fret-diagram-verbose #'(
        (capo 1)
        (open 6)
        (place-fret 5 3)
        (place-fret 4 3)
        (place-fret 3 2)
        (open 2)
        (open 1)
      ) \translate #'(4.1 . -1.4) \fontsize #-6 \sans "i"
    }
  }

Viele Grüße
Torsten



Edit: Ich habe gerade gesehen, daß Du ein PDF angehängt hattest, aus dem Deine Lilypond-Version (2.16.0) ersichtlich ist.
Deshalb als Anhang die Datein my-fret-diagrams.ily mit der klitzekleinen Änderung, daß grundsätzlich die Bundnummer angezeigt wird.
Wenn Du nun beim Aufruf \fret-diagram-verbose durch \fret-diagram-verbose-i ersetzt, dann wird grundsätzlich die unterste Bundnummer angezeigt, auch, wenn sie 1 ist:

\version "2.16.0"

\include "my-fret-diagrams.ily"

  \relative c' {
    <f c' f a c f>1^\markup {
      \fret-diagram-verbose-i #'(
        (capo 1)
        (open 6)
        (place-fret 5 3)
        (place-fret 4 3)
        (place-fret 3 2)
        (open 2)
        (open 1)
      )
    }
  }   
Titel: Re: Kapodaster Gitarre
Beitrag von: iugin am Dienstag, 13. November 2012, 08:25
Hallo Torsten,

vor allem ganz herzlichen Dank für die ausführliche Antwort und für die Mühe, den File zu ändern und bei zu legen!

Lösung 2 funktioniert sehr gut, ich hatte an so was nicht daran gedacht...
Lösung 1 ist leider nicht das was ich brauche, ist aber gut, dass du das alles geschrieben hast. Ich werde weiter basteln (obwohl ich leider Scheme kompliziert finde).

Ich erkläre nochmals:
in dieser Bandschule möchte der Kollege für fast jeden Song Bünde zeigen. In diesem Fall schreibt er eine Reihe mit dem Titel "Akkorde für Chorus mit Kapodaster II". Wie du im Attachment siehst (Frets.png), sind bei fast allen Akkorden die Zahlen 'ii' neben dem Kapodaster, ausser beim 3. und 4.
Der Kollege möchte aber, dass diese Zahl bei allen Akkorde erscheint, damit es konsequent aussieht (Beispiel: Em7KapoII.png) - sollte es Fehlern geben, bitte um Entschuldigung: wie gesagt spiele ich keine Gitarre, und die Unterlagen sind im Büro, ich habe es auswendig gemacht. Morgen kann ich schauen, ob er es so notiert hat.
In deinem ersten Beispiel, erscheint nur die Zahl 'i', obwohl im Quellcode (capo 2) steht. Mit (capo 3) ist dasselbe (siehe Test.ly und Test.pdf).

Wie gesagt: Lösung 1 ist super, ich kann sie sehr gut brauchen.

Liebe Grüsse

Eugenio
Titel: Re: Kapodaster Gitarre
Beitrag von: Be-3 am Dienstag, 13. November 2012, 10:26
In deinem ersten Beispiel, erscheint nur die Zahl 'i', obwohl im Quellcode (capo 2) steht. Mit (capo 3) ist dasselbe (siehe Test.ly und Test.pdf).
Hallo Eugenio,

in meinem ersten Beispiel (wenn Du das mit dem "handgemachten Markup" meinst) erscheint die Zahl "i" einfach deshalb, weil ich sie dort hingeschrieben habe (statt "i" hätte ich auch "miau" schreiben können) und zweitens weil ich als Beispiel einen F-Dur-Akkord gewählt habe, bei dem der Kapo tatsächlich im ersten Bund wäre (dann könnte man alles in E-Dur spielen). Da steht im Coding auch (capo 1).

Aber ich sehe gerade, daß es wohl noch ein ganz anderes Problem gibt - völlig unabhängig von Bund 1:

Wie du im Attachment siehst (Frets.png), sind bei fast allen Akkorden die Zahlen 'ii' neben dem Kapodaster, ausser beim 3. und 4.
Der Kollege möchte aber, dass diese Zahl bei allen Akkorde erscheint, damit es konsequent aussieht (Beispiel: Em7KapoII.png) - sollte es Fehlern geben, bitte um Entschuldigung:
Da sind aber auch Fehler, die nicht "Deine Schuld" sind. Jetzt fällt mir auf, daß tatsächlich ohne für mich ersichtlichen Grund beim 3. und 4. Akkord der Kapo im falschen Bund (dem ersten) dargestellt wird! Er müßte genau wie bei den ersten beiden ebenfalls im 2. Bund sein - ist er aber nicht!?

Em7 und F#m7:
in beiden Fällen müßte der Kapo im 2. Bund sein. Erstens, weil's richtig wäre, zweitens, weil Du es so geschrieben hast (capo 2). Dargestellt wird er aber trotzdem im 1. Bund.

Ding-dong und ich hatten wohl nur auf's Bild geschaut, gesehen, daß der Kapo im 1. Bund sitzt und keine Bundnummer angegeben war. Die Begründung war richtig, ging aber am eigentlichen Problem vorbei: der Kapo wird im falschen Bund dargestellt!

Entweder ich habe da etwas grundsätzlich mißverstanden, aber unter gewissen Umständen (wenn die vorkommenden place-fret-Bünde innerhalb der dargestellten Bund-Anzahl (fret-number, Defaultwert 4) sind, wird der Kapo immer im 1. Bund dargestellt, egal, was man eingetragen hat.

Grund:
Es werden fret-number Bünde angezeigt (Voreinstellung: 4).
Wenn ein place-fret-Wert größer ist, wird der Anzeigebereich "verschoben" und die unterste Bundnummer angedruckt.
So weit so gut.
Nun kommt das Kapo-Problem.
Offensichtlich wird der Kapo immer im ersten dargestellten Bund gedruckt (die Anleitung sagt auch: "Der Bund mit dem Capo ist der unterste Bund im Diagramm."
Und hier liegt der Lilypond-Denkfehler: wenn alle gegriffenen Bünde in den innerhalb der "4-Bünde-Grenze" (bei Default-Einstellung), wird der Anzeigebereich nicht verschoben, der Kapo aber trotzdem im ersten dargestellten Bund (also dem ersten) gedruckt - völlig egal, was als Kapo-Bund vorgegeben ist!

Hallo Gitarristen:
Ist das bekannt (ich habe nichts gefunden) oder bin ich völlig auf dem falschen Dampfer???
Hier ein Beispiel: Kapo sollte jeweils im 2. Bund sein, ist er aber nicht:

\version "2.16.0"

\markup { \column { "Kapo im 2. Bund" "e-Saite im 5. Bund" \with-color #green "OK" } }
\markup {
      \fret-diagram-verbose #'(
        (capo 2)
        (place-fret 1 5))
}

\markup { \vspace #2 \column { "Kapo im 2. Bund" "e-Saite im 4. Bund" \with-color #red "Kapo im falschen Bund dargestellt!" } }
\markup {
      \fret-diagram-verbose #'(
        (capo 2)
        (place-fret 1 4))
}

Viele Grüße
Torsten

Titel: Re: Kapodaster Gitarre
Beitrag von: iugin am Dienstag, 13. November 2012, 11:48
Hallo Torsten,

danke vielmals für die grosse Mühe!  :)
Zitat
in meinem ersten Beispiel (wenn Du das mit dem "handgemachten Markup" meinst) erscheint die Zahl "i" einfach deshalb, weil ich sie dort hingeschrieben habe
ist klar, ich meinte den anderen Beispiel.

Ich bin froh, dass du das Problem so deutlich schildern konntest (Deutsch ist nicht meine Sprache und wie gesagt bin ich kein Gitarrist, das macht alles viel schwerer).
Ich kann jetzt weiter arbeiten (mit \markup) und das ist das wichtigste.
Ich lasse aber die Diskussion noch offen, mal schauen was noch kommt.
Es ist halt spannend, so wie nur Lilypond spannend sein kann.  ;D

Liebe Grüsse

Eugenio
Titel: Re: Kapodaster Gitarre
Beitrag von: harm6 am Dienstag, 13. November 2012, 12:18
Hallo,

ich halte das von Torsten dargestellte Problem mit \fret-diagram-verbose für einen bug.

Torsten, Eugenio, kann einer von Euch einen bug-report einsenden?
Kann ich auch selber machen, bin aber im Moment mit zu vielen anderen Projekten beschäftigt. Würde also etwas dauern bis ich dazu käme, wenn ich es nicht ganz vergesse.

Eugenio, hast Du schon andere Möglichkeiten für Griffdiagramme versucht (es gibt ja nicht nur \fret-diagram-verbose)?

Gruß,
  Harm
Titel: Re: Kapodaster Gitarre
Beitrag von: iugin am Dienstag, 13. November 2012, 12:48
Hallo Harm
Hallo Torsten

Zitat
Eugenio, hast Du schon andere Möglichkeiten für Griffdiagramme versucht (es gibt ja nicht nur \fret-diagram-verbose)?
Laut Dokumentation geht es nur im verbose-Modus:
Zitat
Nur im ausführlichen Modus kann ein Capo angezeigt werden, das auf dem Bunddiagramm plaziert wird.

Wegen bug-report: es wird schwierig... ich kann leider kein Englisch  :-[
Ich kann aber jemanden finden, der für mich übersetzt.

Wenn Torsten es schnell machen könnte, wäre ich froh, sonst schaue ich selber.

Liebe Grüsse

Eugenio
Titel: Re: Kapodaster Gitarre
Beitrag von: Be-3 am Dienstag, 13. November 2012, 13:49
(Deutsch ist nicht meine Sprache [...]
Davon merkt man aber nichts - Dein Deutsch ist doch hervorragend!

Ich kann jetzt weiter arbeiten (mit \markup) und das ist das wichtigste.
Ich lasse aber die Diskussion noch offen, mal schauen was noch kommt.
Moooooment - mit diesem Fehler im Lilypond-Coding funktioniert das doch bisher nicht... Wenn Du in Deinem die Bünde abzählst, merkst Du, daß der Kapodaster tatsächlich im falschen Bund (nämlich dem ersten, nicht dem zweiten) dargestellt wird. Das ist definitiv falsch so!
In allen Akkorden müßte der Kapo im 2. Bund sitzen, egal, ob eine Nummer daneben steht oder nicht.

Ich habe mir nochmal das Scheme-Coding angeschaut, um zu verstehen, was Lilypond da tatsächlich zusammenrechnet, und siehe da:

Der dargestellte Standard-Bundbereich (die ersten vier Bünde) wird nur dann geändert, wenn gesetzte Punkte über diesen Bereich hinausgehen.
Das ist aber für "unseren Spezialfall" mit Kapo grundsätzlich falsch.
Denn sobald ein Kapo ins Spiel kommt, darf in jedem Fall erst ab dem Kapo-Bund dargestellt werden.

Für Interessierte hier das Coding (aus der Funktion fret-parse-marking-list):

    (if (> maxfret my-fret-count) [...]
    nur, wenn der maximal vorkommende Bund nicht in den standardmäßig dargestellten Bereich paßt, dann verschiebe dargestellten Bereich


Korrigierte Fassung:
    (if (or (> maxfret my-fret-count) (> capo-fret 1)) [...]
    Verschiebe dargestellten Bereich auf jeden Fall auch, wenn ein Kapo im zweiten Bund oder höher sitzt

Da ist es ja gut, eine eigene Include-Datei angefangen zu haben: Die ensprechend korrigierte Fassung von my-fret-diagrams.ily hängt an dieser Mail.
Ich habe die Änderung mit Angabe des 1. Bundes wieder zurückgenommen und die Funktion heißt wieder \fret-diagram-verbose.

Hier Dein Beispiel (die Tabulatur habe ich mir erspart) - man sieht, daß nun auch der 3. und 4. Akkord (Em7 und F#m7) richtig dargestellt werden, mit dem Kapo tatsächlich im 2. Bund (nicht nur danebengeschrieben): die Punkte sind nun auch näher an den Kapo herangerückt (so, wie es sein soll; Vergleich mit Deiner Grafik).

\version "2.16.0"

\include "deutsch.ly"
\include "my-fret-diagrams.ily"

\paper { ragged-last = ##f }

<<
  \chords {
    \chordmode {
      b1:m a e:m7 fis:m7 g:maj7 d d:sus4
    }
  }
  \relative c' {
    \key h \minor
    \override Staff.TimeSignature #'stencil = ##f
   
    <h fis' h d fis>1^\markup {
      \fret-diagram-verbose #'(
        (capo 2)
        (open 1)
        (place-fret 2 4)
        (place-fret 3 5)
        (place-fret 4 5)
        (open 5)
        (mute 6))
    }
    <a cis e a cis a'>1^\markup {
      \fret-diagram-verbose #'(
        (capo 2)
        (place-fret 1 5)
        (open 2)
        (open 3)
        (open 4)
        (place-fret 5 4)
        (place-fret 6 5))
    }
    <e' h' d g>1^\markup {
      \fret-diagram-verbose #'(
        (capo 2)
        (place-fret 1 3)
        (place-fret 2 3)
        (place-fret 3 4)
        (open 4)
        (mute 5)
        (mute 6))
    }
    <fis, cis' e a cis fis>1^\markup {
      \fret-diagram-verbose #'(
        (capo 2)
        (open 1)
        (place-fret 2 4)
        (open 3)
        (open 4)
        (open 5)
        (open 6))
    }
    <d' g h d fis>1^\markup {
      \fret-diagram-verbose #'(
        (capo 2)
        (open 1)
        (place-fret 2 3)
        (place-fret 3 4)
        (place-fret 4 5)
        (place-fret 5 5)
        (mute 6))
    }
    <d fis a d fis>1^\markup {
      \fret-diagram-verbose #'(
        (capo 2)
        (open 1)
        (place-fret 2 3)
        (open 3)
        (place-fret 4 4)
        (place-fret 5 5)
        (mute 6))
    }
    <d a' d g>1^\markup {
      \fret-diagram-verbose #'(
        (capo 2)
        (place-fret 1 3)
        (place-fret 2 3)
        (open 3)
        (mute 4)
        (place-fret 5 5)
        (mute 6))
    } 
  }
>>

Viele Grüße
Torsten


Edit:
Nachdem in der Zwischenzeit (war mal "kurz" weg) noch zwei Antworten gekommen sind:

ich halte das von Torsten dargestellte Problem mit \fret-diagram-verbose für einen bug.

Torsten, Eugenio, kann einer von Euch einen bug-report einsenden?
Kann ich auch selber machen, bin aber im Moment mit zu vielen anderen Projekten beschäftigt. Würde also etwas dauern bis ich dazu käme, wenn ich es nicht ganz vergesse.
Ja, es ist offensichtlich ein Bug. Ich habe ja eine geänderte/korrigierte Version von fret-diagrams.scm hier (my-fret-diagrams.ily) angehängt, so daß man erst einmal damit arbeiten kann, ansonsten sollte das (zumindest so ähnlich) in den Standard einfließen - dann wird wohl Bug-Report fällig...

Wenn Torsten es schnell machen könnte, wäre ich froh, sonst schaue ich selber.

Im Moment gerade nicht, aber heute abend komme ich vielleicht dazu.
Ich habe allerdings noch nie einen Bug-Report gemacht  :-[
Nun denn, einmal ist immer das erste Mal...

Viele Grüße, ciao ed alla prossima
Torsten
Titel: Re: Kapodaster Gitarre
Beitrag von: iugin am Dienstag, 13. November 2012, 15:13
Hallo Torsten,

Zitat
Moooooment - mit diesem Fehler im Lilypond-Coding funktioniert das doch bisher nicht
Ich weiss es... :)  ich hätte nur getrickst, und der Bund "falsch" geschrieben (letzte drei Saiten 3 2 2 anstatt 4 3 3), aber das Resultat würde passen.
\version "2.16.0"

\include "deutsch.ly"
{
  \relative a {
     
    <e' h' d g>1
    ^\markup {
      \combine
      \fret-diagram-verbose #'(
        (capo 2)
        (mute 6)
        (mute 5)
        (open 4)
        (place-fret 3 3) %% sollte 4 sein
        (place-fret 2 2) %% sollte 3 sein
        (place-fret 1 2) %% sollte 3 sein
      )
      \translate #'(4.1 . -1.4) \fontsize #-6 \sans "ii"
    }
  }
}
Das natürlich nur, weil ich die Bandschule fertig schreiben wollte (es fehlt mir engentlich nur das).

Aber jetzt, wo du die Lösung gefunden hast, brauche ich das Tricklein nicht mehr.
Ich danke Dir für deine grosse Hilfe!

Ciao!

Eugenio

Ps: ich weiss es, was folgt ist off-topic... aber: ich wollte die ganze Bandschule mit deinen Jazzfonts drucken lassen (habe den Post vor 2-3 Wochen gelesen, aber erst heute habe ich gemerkt, dass es deine Arbeit ist... gratuliere!), aber der Bassschlüssel wird nicht gesetzt. Es kommt... :D

Titel: Re: Kapodaster Gitarre
Beitrag von: Be-3 am Dienstag, 13. November 2012, 15:24
Hallo zusammen,

ich habe jetzt (versucht), einen bug report abzusetzen, mal sehen, was draus wird...
Immerhin gibt es den Workaround mit der agepaßten my-fret-diagrams.ily-Datei, bis die Sache auch im Standard funktioniert.
Mich wundert nur, daß das noch niemandem aufgefallen ist (es schein ja schon immer so gewesen zu sein, zumindest schon in 2.12.3, das ist die älteste Version, die ich noch installiert habe).

Ps: ich weiss es, was folgt ist off-topic... aber: ich wollte die ganze Bandschule mit deinen Jazzfonts drucken lassen (habe den Post vor 2-3 Wochen gelesen, aber erst heute habe ich gemerkt, dass es deine Arbeit ist... gratuliere!), aber der Bassschlüssel wird nicht gesetzt. Es kommt... :D
Ach ja, ich wollte schon seit Wooochen wieder was aktuelles posten, aber ich komme einfach nicht dazu...
Schlüssel, Tonarten und Taktangaben (unter anderem) funktionieren übrigens mittlerweile wie sie sollten.

Viele Grüße
Torsten


Update: So, meine Eingabe ist als Issue 2961 (http://"http://code.google.com/p/lilypond/issues/detail?id=2961") gelistet, hat den Status "Accepted" und Type "Defect" und wurde von Project Member  "Elu...@gmail.com" weitergeleitet (das wird wohl Eluze sein, der auch hier im deutschen Lilypond-Forum aktiv ist).
Titel: Re: Kapodaster Gitarre
Beitrag von: ding-dong am Dienstag, 13. November 2012, 16:26
Zitat
Immerhin gibt es den Workaround mit der agepaßten my-fret-diagrams.ily-Datei, bis die Sache auch im Standard funktioniert.

oh schreck - und dann das ständige updaten bei jedem versionswechsel!

Zitat
Mich wundert nur, daß das noch niemandem aufgefallen ist

viele werden sich wohl sagen "ach, das verstehe ich nicht richtig" und werden nach anderen lösungen suchen (LilyPond oder andere)

nebenbei: ist das richtig, dass man wenn man d-dur im 2. bund mit dem c-dur-griff spielt (mit Kapo) die bünde so abzählen muss wie wenn kein Kapo da wäre - es wäre doch sinnvoller, vom Kapo aus zu zählen, oder ?!

danke für den bug report!

ding-dong
Titel: Re: Kapodaster Gitarre
Beitrag von: Be-3 am Dienstag, 13. November 2012, 18:31
oh schreck - und dann das ständige updaten bei jedem versionswechsel!

Ich hoffe mal, daß es nicht allzuviele Versionswechsel dauert, bis die Korrektur eigebaut ist - immerhin ist die Lösung schon bekannt (zu Risiken und Nebenwirkungen lesen Sie die Packungsbeilage usw.) ;)


nebenbei: ist das richtig, dass man wenn man d-dur im 2. bund mit dem c-dur-griff spielt (mit Kapo) die bünde so abzählen muss wie wenn kein Kapo da wäre - es wäre doch sinnvoller, vom Kapo aus zu zählen, oder ?!

Na ja, ich habe mich an dem orientiert, was die Anleitung hergibt. Und es ist offensichtlich so gedacht. Nicht schlimm, denn es handelt sich ja nur um eine "interne" Programmier-Schreibweise.
Erschwerend kommt hinzu, daß ausgerechnet das Kapo-Beispiel von \fret-diagram-verbose in der Anleitung dahingehend fehlerhaft ist, daß die Noten darunter nicht (ganz) mit dem übereinstimmen, was das Diagramm zeigt: Der C-Dur-Akkord wird mit Kapo im 3. Bund als A-Dur gegriffen, das ist ok, aber in den Noten darunter steht c-e-g-c-e statt c-g-c-e-g  :o

Aber die Bund-Abzählerei ist ein guter Hinweis für Eugenio: in seinem Beispiel sind mir (inhaltlich) ein paar Dinge aufgefallen. Vieles davon ist Geschmacksache bzw. didaktisch vielleicht so gewollt, aber nur zur Sicherheit:


Als Anhang ein Beispielbild mit Eugenios Hm und ding-dongs D-Dur, wie ich mir das vorstellen würde.

Viele Grüße
Torsten
Titel: Re: Kapodaster Gitarre
Beitrag von: harm6 am Dienstag, 13. November 2012, 21:14
ich habe jetzt (versucht), einen bug report abzusetzen, mal sehen, was draus wird...
Immerhin gibt es den Workaround mit der agepaßten my-fret-diagrams.ily-Datei, bis die Sache auch im Standard funktioniert.

Hallo Torsten,

kannst Du einen patch aus Deiner my-fret-diagrams.ily-Datei machen?

Falls nicht, soll ich das machen?
Wie oben schon angedeutet, haben andere Projekte allerdings Priorität.

Gruß,
  Harm
Titel: Re: Kapodaster Gitarre
Beitrag von: Be-3 am Mittwoch, 14. November 2012, 09:34
kannst Du einen patch aus Deiner my-fret-diagrams.ily-Datei machen?

Falls nicht, soll ich das machen?
Wie oben schon angedeutet, haben andere Projekte allerdings Priorität.

Hallo Harm,

danke, das ist nett von Dir.
Mein Bug-Report ist ja mittlerweile angekommen:

Update: So, meine Eingabe ist als Issue 2961 (http://"http://code.google.com/p/lilypond/issues/detail?id=2961") gelistet, hat den Status "Accepted" und Type "Defect" und wurde von Project Member  "Elu...@gmail.com" weitergeleitet (das wird wohl Eluze sein, der auch hier im deutschen Lilypond-Forum aktiv ist).

und ich habe als Kommentar auch die zu ändernde Zeile in fret-diagrams.scm nebst Korrekturvorschlag eingefügt.

Wenn man sieht, welche Liste das Entwicklerteam abzuarbeiten hat, wäre es wohl tatsächlich hilfreich, selbst einen Patch zu schreiben. Die Änderung einer einzigen Zeile ist ja auch recht übersichtlich und inhaltlich nachvollziehbar.
Allerdings wäre das tatsächlich mein erster Patch...
Sollte ich mich den "Frogs" anschließen (das ist ja wie bei Edgar Wallace...)?
Ich werde mich heute abend auf jeden Fall mal den Contributor's Guide anschauen, diese Lilypond-Ubuntu-Entwicklungsumgebung und die aktuelle Developer-Version 2.17.6 runterladen. Ich muß zwar nichts compilieren (ist ja nur eine scm-Datei), aber mal sehen...

Hast Du noch irgendwelche Tips oder Hinweise?

Danke und viele Grüße
Torsten
Titel: Re: Kapodaster Gitarre
Beitrag von: iugin am Mittwoch, 14. November 2012, 11:28
Hallo miteinander,

ich bin wieder im Büro und kann an der Bandschule weiter arbeiten.
Allerdings sind die Probleme nicht fertig (das Leben wäre sonst nicht so spannend... ) ;)

Als ich versucht habe mit der Datei von Torsten zu kompilieren, bekam ich einen Fehler.
Ich poste einen Minimalbeispiel:

\version "2.16.0"
%\include "./Import/my-fret-diagrams.ily"

ChordOne = \relative c' {   
  c1^\markup
  \fret-diagram #"c:6-1-2;6-x;4-4;3-4;2-3;" 
}

ChordTwo = \relative c' { 
  c1^\markup {
    \fret-diagram-verbose #'(
      (capo 2)
      (place-fret 2 4)
    )
  }   
}

\score {
  \new Staff { \ChordOne \ChordTwo }
}
So funktioniert tadellos.
Wenn ich allerdings die zweite Zeile unkommentiere, damit ich den File von Torsten brauchen kann, passiert folgendes:
Zitat
LilyPond [TestMyFretsDiagram.ly] startet (Vorschau-Modus)...
»TestMyFretsDiagram.ly« wird verarbeitet
Analysieren...
Interpretation der Musik...
Vorverarbeitung der grafischen Elemente..../Import/my-fret-diagrams.ily:486:10: In expression (make-bezier-sandwich-stencil bezier-list (* size bezier-thick) ...):
./Import/my-fret-diagrams.ily:486:10: Unbound variable: make-bezier-sandwich-stencil
LilyPond [TestMyFretsDiagram.ly] wurde mit dem Return-Code 1 beendet.
Der Fehler passiert bei der Verarbeitung von ChordOne.

Vielleicht ist es für Torsten interessant.

Liebe Grüsse

Eugenio
Titel: Re: Kapodaster Gitarre
Beitrag von: harm6 am Mittwoch, 14. November 2012, 12:38
Hallo Eugenio,

Zitat von: iugin

Als ich versucht habe mit der Datei von Torsten zu kompilieren, bekam ich einen Fehler.
[...]
Zitat
LilyPond [TestMyFretsDiagram.ly] startet (Vorschau-Modus)...
»TestMyFretsDiagram.ly« wird verarbeitet
Analysieren...
Interpretation der Musik...
Vorverarbeitung der grafischen Elemente..../Import/my-fret-diagrams.ily:486:10: In expression (make-bezier-sandwich-stencil bezier-list (* size bezier-thick) ...):
./Import/my-fret-diagrams.ily:486:10: Unbound variable: make-bezier-sandwich-stencil
LilyPond [TestMyFretsDiagram.ly] wurde mit dem Return-Code 1 beendet.

Dein erster Akkord benutzt eine andere Art von fret-diagram: \fret-diagram
als der zweite \fret-diagram-verbose

Mit \fret-diagram wird der Barré als Kurve dargestellt, insoweit wird `make-bezier-sandwich-stencil´ benötigt. Diese Funktion ist aber nicht Teil von my-fret-diagrams.ily
Und auch nicht vom originalen fret-diagrams.scm.
Im der originalen file ist das auch kein Problem, denn die .scm-files werden so geladen, daß die benötigten Definitionen zur Verfügung stehen.
Wenn man jetzt aber mit my-fret-diagrams.ily arbeiten möchte, muß man selber Sorge tragen, daß alles da ist was gebraucht wird. Allerdings fällt wahrscheinlich nur dann auf, daß etwas fehlt, sobald ein Fehler auftaucht. :(
Solange der Source-Code nicht geändert wird, kann das eben passieren.

Ausweg:

`make-bezier-sandwich-stencil´ findet sich in stencil.scm

#(define (make-bezier-sandwich-stencil coords thick xext yext)
  (let* ((command-list `(moveto
                         ,(car (list-ref coords 3))
                         ,(cdr (list-ref coords 3))
                         curveto
                         ,(car (list-ref coords 0))
                         ,(cdr (list-ref coords 0))
                         ,(car (list-ref coords 1))
                         ,(cdr (list-ref coords 1))
                         ,(car (list-ref coords 2))
                         ,(cdr (list-ref coords 2))
                         curveto
                         ,(car (list-ref coords 4))
                         ,(cdr (list-ref coords 4))
                         ,(car (list-ref coords 5))
                         ,(cdr (list-ref coords 5))
                         ,(car (list-ref coords 6))
                         ,(cdr (list-ref coords 6))
                         closepath)))
  (ly:make-stencil
    `(path ,thick `(,@' ,command-list) 'round 'round #t)
    xext
    yext)))

Einfach rauskopieren und in Dein file einfügen oder direkt in my-fret-diagrams.ily (mit dem hinzugefügten #-Zeichen)

Beides klappt, hab' ich getestet.

Gruß,
  Harm
Titel: Re: Kapodaster Gitarre
Beitrag von: eluze am Mittwoch, 14. November 2012, 12:49
hallo Torsten

freut mich sehr, dass wir einen neuen deutsch- und scheme-sprachigen contributor begrüssen können!

ich habe die probleme, die hier im umfeld kapodaster beschrieben wurden, als dokumentation und enhancement request erfasst und hoffe, dass sie bald gelöst werden können!

https://code.google.com/p/lilypond/issues/detail?id=2963&colspec=ID%20Type%20Status%20Stars%20Owner%20Patch%20Needs%20Summary
https://code.google.com/p/lilypond/issues/detail?id=2964&colspec=ID%20Type%20Status%20Stars%20Owner%20Patch%20Needs%20Summary

noch ein kleine frage: für meinen geschmack liegt  das Kapo-Label etwas zu tief, es sollte bündig mit dem Kapo-balken liegen. wer teilt diese ansicht (nicht)?

Eluze
Titel: Re: Kapodaster Gitarre
Beitrag von: harm6 am Mittwoch, 14. November 2012, 13:00
Hallo Torsten,

Zitat von: Be-3
Wenn man sieht, welche Liste das Entwicklerteam abzuarbeiten hat, wäre es wohl tatsächlich hilfreich, selbst einen Patch zu schreiben. Die Änderung einer einzigen Zeile ist ja auch recht übersichtlich und inhaltlich nachvollziehbar.
Allerdings wäre das tatsächlich mein erster Patch...

Ja, die issue-Liste hat eine beindruckende Länge und irgendwann ist immer das erste mal. :)

Zitat von: Be-3
Sollte ich mich den "Frogs" anschließen (das ist ja wie bei Edgar Wallace...)?

Eher nicht. Die frog-mailing-list ist praktisch tot. Wenn es Probleme gibt schreib direkt auf der devel-list.

Zitat von: Be-3
Ich werde mich heute abend auf jeden Fall mal den Contributor's Guide anschauen, diese Lilypond-Ubuntu-Entwicklungsumgebung und die aktuelle Developer-Version 2.17.6 runterladen. Ich muß zwar nichts compilieren (ist ja nur eine scm-Datei), aber mal sehen...

Hast Du noch irgendwelche Tips oder Hinweise?

Der Contributor's Guide (CG) ist schon sehr nützlich, leider nicht immer auf dem neuesten Stand. Auch hier: bei Problemen -> devel-list.
Wenn Du Lilydev hast, dann kannst Du ja selbst kompilieren und so die wirklich allerneueste lily-Version benutzen. Das wäre dann momentan 2.17.7.
Ich würde dazu raten Lilypond selbst zu kompilieren um dann mit Deinem patch die Regression-Tests zu prüfen, sowie die Dokumentation zu bilden.
Also den kompletten Test-Zyklus, wie im CG beschrieben.
Häufig erkennt man dann Probleme, an die man zuvor überhaupt nicht gedacht hat.

Ist aber alles nicht so einfach (viele Detail-Probleme müssen gelöst werden) und vor allem zeitraubend.
make doc (um die Dokumentation zu bilden) dauert auf meinem Rechner ca 1 Stunde.


So, das waren jetzt meine gesammelten Erfahrungen/Ratschläge basierend auf der überwältigenden Anzahl von zwei eingereichten patches (von denen nur einer auch akzeptiert wurde)
:)

Gruß,
  Harm
Titel: Re: Kapodaster Gitarre
Beitrag von: Be-3 am Mittwoch, 14. November 2012, 14:10
Ausweg:

`make-bezier-sandwich-stencil´ findet sich in stencil.scm

Danke, Harm, für's Einspringen!

Ja, das ist der Nachteil, wenn man aus scm-Dateien ly-Dateien zum Einbinden macht - man muß allerlei Definitionen mitkopieren und in der Regel fällt's erst auf, daß etwas fehlt, wenn es aufgerufen wird.
In diesem Fall ist es der Barré-"Bindebogen" ...

Und übrigens auch Dank für die Hinweise zum Entwickeln und Beitragen!

noch ein kleine frage: für meinen geschmack liegt  das Kapo-Label etwas zu tief, es sollte bündig mit dem Kapo-balken liegen. wer teilt diese ansicht (nicht)?

Hallo Eluze,

erst einmal danke für das Willkommen; so wird man "unverhofft" zum Contributor... :)

Der Kapo-Label ist eigentlich nur eine ganz normale "Bundnummer", die immer angezeigt wird, sobald das abgebildete Griffbrett nicht im 1. Bund beginnt. Sie steht (das ist so beabsichtigt) genau mittig neben dem Bund, nicht neben dem Kapodaster.
Die Darstellung und Positionierung dieses Labels ist also Standard und meine Änderung bewirkt auch nur, daß der fret-range auf jeden Fall im Kapo-Bund beginnt, sobald ein Kapo im Spiel ist. Alles andere bleibt unverändert.

Viele Grüße
Torsten
Titel: Re: Kapodaster Gitarre
Beitrag von: iugin am Mittwoch, 14. November 2012, 15:32
Hallo Harm,

danke vielmals, ist alles klar! Ich werde es ausprobieren.

Ciao a tutti!

Eugenio

Ps: Ich sollte wirklich langsam Scheme lernen. Alle schreiben, es sei einfach, eine Programmiersprache für Anfänger. Nach vielen Jahren Java, und nachdem ich Lilypond kennen gelernt habe, habe ich gedacht, dass ich jetzt Scheme lernen könnte...... Keine Chance... ich habe aufgegeben  :-[
Naja, es ist nie zu spät...
Titel: Re: Kapodaster Gitarre
Beitrag von: eluze am Mittwoch, 14. November 2012, 23:19
hallo Torsten

Zitat
Der Kapo-Label ist eigentlich nur eine ganz normale "Bundnummer"
.

danke für diese präzisierung - ich hatte nach oberflächlichem hinschauen irrtümlich geglaubt, es sei ein kapo-label

aber natürlich genügt es vollauf, wenn man am anfang eines stückes (oder vielleicht auch mal mittendrin) einfach per markup  oder  ähnlich hinschreibt wo der zu liegen kommt!

Eluze
Titel: Re: Kapodaster Gitarre
Beitrag von: Be-3 am Donnerstag, 15. November 2012, 11:18
Zwischenbericht:

So, ich habe jetzt gestern die VirtualBox und das LilyDev-Ubuntu-Image runtergeladen, installiert, den aktuellen Stand 2.17.7 gezogen, Lilypond compiliert und die Änderungen (erst mal Issue 2961 (Defect), der Kapo-Fehler) eingebaut und erfolgreich gestestet.

Für Issue 2964 (Enhancement), auf ding-dongs Frage hin von Eluze eröffnet, habe ich auch schon eine Lösung. Es geht darum, daß es natürlicher, logischer und handlicher wäre, wenn man bei Kapo-Einsatz die Bund-Angaben nicht mehr absolut machen müßte, sondern erst ab dem Kapo zählen könnte.

Beispiel:

Ein "normaler" C-Dur-Akkord ...

\markup {
  \fret-diagram-verbose #'(
    (mute 6)
    (place-fret 5 3)
    (place-fret 4 2)
    (place-fret 2 1)
    )
}

... kann dann einfach durch Einfügen von (capo 2) zwei Bünde nach oben geschoben werden, ohne, daß man die einzelnen Bundnummern ändern muß:

\markup {
  \fret-diagram-verbose #'(
    (capo 2)
    (mute 6)
    (place-fret 5 3)
    (place-fret 4 2)
    (place-fret 2 1)
    )
}



Beobachtungen

Heute abend, wenn ich nach ein paar hundert Autobahn-Kilometern wieder zu Hause bin, werde ich versuchen, Issue 2961 "zu committen".

Viele Grüße
Torsten
Titel: Re: Kapodaster Gitarre
Beitrag von: harm6 am Donnerstag, 15. November 2012, 12:04
Hallo Torsten,

Zitat von: Be-3

  • Ja, verdammt noch mal, kann es im Jahr 2012 immer noch Probleme mit der deutschen Tastatur geben!? AltGr funktioniert ums Verrecken nicht und man kommt weder an \ noch @ noch ~. Habe zusätzlich den Ami-Tastaturtreiber installiert und vertippe mich nun ständig...

Hmm, ich habe (auf meiner deutschen Tastatur) keine Probleme mit AltGr bei Lilydev-Benutzung.
Keine Ahnung warum es bei Dir nicht klappt.

Zitat von: Be-3

  • um Lilypond compilieren zu können, mußten noch Kyrillische Fonts für TeX installiert werden

Tut mir leid. Hab' nicht dran gedacht Dich darauf hinzuweisen. Die kyrillischen Fonts sind erst voll etabliert worden, nachdem die derzeit aktuelle Lilydev-Version erstellt wurde.


Zitat von: Be-3
Heute abend, wenn ich nach ein paar hundert Autobahn-Kilometern wieder zu Hause bin, werde ich versuchen, Issue 2961 "zu committen".

Gute Fahrt und viel Erfolg!


Viele Grüße,
  Harm
Titel: Re: Kapodaster Gitarre
Beitrag von: Be-3 am Freitag, 16. November 2012, 16:51
Hallo Harm,

so, hat jetzt doch alles ein wenig länger gedauert, aber ich habe das "volle Programm" mit Compilieren, vergleichenden Regression-Tests vorher und nachher durchlaufen und schließlich meinen ersten Patch erstellt.
Ich habe die erzeugte Patch-Datei hier angehängt.

Nun müßte sie also per Mail an lilypond-devel@gnu.org geschickt werden, stimmt's?

Diesen Beitrag habe ich übrigens von meiner virtuellen LilyDev-Box aus geschrieben - und das Problem mit der deutschen Tastatur hat sich auch gelöst: die AltGr-Taste war falsch gemappt.

Viele Grüße
Torsten
Titel: Re: Kapodaster Gitarre
Beitrag von: harm6 am Freitag, 16. November 2012, 23:18
Hallo Torsten,

Zitat von: Be-3
Ich habe die erzeugte Patch-Datei hier angehängt.
Nun müßte sie also per Mail an lilypond-devel@gnu.org geschickt werden, stimmt's?

Du kannst den patch natürlich an -devel schicken. Der review-Prozeß startet allerdings erst dann, wenn jemand den patch dann auf Rietveld einstellt.

Deshalb hatte ich meine patches direkt auf Rietveld gepostet.
Siehe dazu:
CG 3.3.4 Commits and patches (http://lilypond.org/doc/v2.17/Documentation/contributor-big-page#commits-and-patches)
CG Uploading a patch for review (http://lilypond.org/doc/v2.17/Documentation/contributor-big-page#uploading-a-patch-for-review)

Ich muß allerdings gestehen, daß ich mich nicht mehr an alle Einzelheiten bzw Probleme dieser Vorgehemsweise erinnere.

Trotzdem würde ich diesen Weg wieder gehen (und wenn ich nicht weiter weiß auf -devel fragen) :)

Gruß,
  Harm



Titel: Re: Kapodaster Gitarre
Beitrag von: harm6 am Mittwoch, 21. November 2012, 13:48
Hallo Torsten,

ich habe gerade einen eigenen patch (zu einem gänzlich anderen Thema) hochgeladen.
Insoweit sind meine Erinnerungen wieder aufgefrischt. Falls ich mit irgendwas helfen kann, dann melde Dich.

Grüße,
  Harm
Titel: Re: Kapodaster Gitarre
Beitrag von: Be-3 am Mittwoch, 21. November 2012, 14:18
Danke, Harm.
Da jetzt seit 2.17.7 offiziell verfügbar ist, hatte ich mich dazu entschlossen, nicht ausgerechnet genau zum Redaktionsschluß noch meinen Patch reinzudrücken. Deshalb werde ich die Übung mit 2.17.8 machen - wenn ich dazukomme, heute abend.

Viele Grüße
Torsten
Titel: Re: Kapodaster Gitarre
Beitrag von: harm6 am Dienstag, 4. Dezember 2012, 11:47
Hallo Torsten,

ich hab' Deinen patch ja schon auf Rietveld (https://codereview.appspot.com/6854106) gesehen, aber aus irgendeinem Grund hat der review-prozess noch nicht einmal begonnen.
Vielleicht hast Du irgendwas vergessen, frag doch nochmal nach.

Gruß,
  Harm
Titel: Re: Kapodaster Gitarre
Beitrag von: Be-3 am Dienstag, 4. Dezember 2012, 14:18
Hallo Harm,

ich hatte mich noch nicht in die lilypond-devel-Liste eingeschrieben, deshalb hat das "Publish+Mail comments" erst gestern (2. Versuch) funktioniert.
Wahrscheinlich ist das der Grund, warum der Review-Prozeß noch nicht begonnen hat.

Danke und Gruß
Torsten