Autor Thema: Kapodaster Gitarre  (Gelesen 16801 mal)

harm6

  • Gast
Re: Kapodaster Gitarre
« Antwort #15 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

Be-3

  • Gast
Re: Kapodaster Gitarre
« Antwort #16 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 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

iugin

  • Gast
Re: Kapodaster Gitarre
« Antwort #17 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

harm6

  • Gast
Re: Kapodaster Gitarre
« Antwort #18 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

eluze

  • Gast
Re: Kapodaster Gitarre
« Antwort #19 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

harm6

  • Gast
Re: Kapodaster Gitarre
« Antwort #20 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

Be-3

  • Gast
Re: Kapodaster Gitarre
« Antwort #21 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

iugin

  • Gast
Re: Kapodaster Gitarre
« Antwort #22 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...

eluze

  • Gast
Re: Kapodaster Gitarre
« Antwort #23 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

Be-3

  • Gast
Re: Kapodaster Gitarre
« Antwort #24 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
  • über 900 MB im Hotel runterzuladen kann schon eine Weile dauern
  • nach ein paar Speicherplatzproblemen ließ sich Ubuntu schließlich installieren
  • 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...
  • um Lilypond compilieren zu können, mußten noch Kyrillische Fonts für TeX installiert werden

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

harm6

  • Gast
Re: Kapodaster Gitarre
« Antwort #25 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

Be-3

  • Gast
Re: Kapodaster Gitarre
« Antwort #26 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
« Letzte Änderung: Freitag, 16. November 2012, 16:53 von Be-3 »

harm6

  • Gast
Re: Kapodaster Gitarre
« Antwort #27 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
CG 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




harm6

  • Gast
Re: Kapodaster Gitarre
« Antwort #28 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

Be-3

  • Gast
Re: Kapodaster Gitarre
« Antwort #29 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