Re: ly: Updates to predefined Ukulele fretboards (issue 367880043 by pkxgnugi...@runbox.com)
This has now been pushed ly: Updates to predefined Ukulele fretboards master staging author Davide Bonetti Fri, 18 Jan 2019 11:34:37 + (11:34 +) committer James Lowe Fri, 18 Jan 2019 11:36:47 + (11:36 +) commit 17c0c74440f5a9b26617b274d927e8e4db1a1d4e -- Thank you Davide. https://codereview.appspot.com/367880043/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: ly: Updates to predefined Ukulele fretboards (issue 367880043 by pkxgnugi...@runbox.com)
Patch on countdown for January 17th https://codereview.appspot.com/367880043/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: ly: Updates to predefined Ukulele fretboards (issue 367880043 by pkxgnugi...@runbox.com)
Passes make, make check and a full make doc. Please review https://codereview.appspot.com/367880043/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Ukulele fretboards
Hello Davide, On 06/01/2019 5:02 pm, Davide Bonetti wrote: Hello everyone. I worked on ukulele fretboards, fixing errors and adding new predefined fretboards. Here the result of my work. Regards Davide Thank you for your time on this. I will submit a patch on your behalf and it will go through the review process. I will also add you as a CC to the Rietveld (which we use for comments/questions) so that you can see and answer anyone who may have any problems or questions about your changes. -- Regards James ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Ukulele fretboards
Hello everyone. I worked on ukulele fretboards, fixing errors and adding new predefined fretboards. Here the result of my work. Regards Davide --- Questa e-mail è stata controllata per individuare virus con Avast antivirus. https://www.avast.com/antivirus \version "2.18.0" \include "predefined-ukulele-fretboards.ly" mychords = \chordmode { c1 c:m c:aug c:dim c:7 c:maj7 c:m7 c:6 c:m6 \break c:m6- c:m7+ c:m7.5- c:dim7 c:sus2 c:sus4 c:7sus4 c:9 c:7.9- \break } chordsline = { \mychords \transpose c cis { \mychords } \transpose c des { \mychords } \transpose c d { \mychords } \transpose c dis { \mychords } \transpose c ees { \mychords } \transpose c e { \mychords } \transpose c f { \mychords } \transpose c fis { \mychords } \transpose c ges { \mychords } \transpose c g { \mychords } \transpose c gis { \mychords } \transpose c aes { \mychords } \transpose c a { \mychords } \transpose c ais { \mychords } \transpose c bes { \mychords } \transpose c b { \mychords } } \score { << \new ChordNames { \chordsline } \new FretBoards { \set Staff.stringTunings = #ukulele-tuning \chordsline } >> \layout { indent = 0 \context { \Score \remove "Bar_number_engraver" } } } This file is part of LilyPond, the GNU music typesetter. Copyright (C) 2009--2015 Matt Corks LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. LilyPond is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with LilyPond. If not, see <http://www.gnu.org/licenses/>. \version "2.18.0" sources: ukulele hall of fame museum website (http://www.ukulele.org/), kiwi ukulele website (http://www.kiwiukulele.co.nz/) % chord definitions require default pitchnames \languageSaveAndChange #default-language %%% a chords \storePredefinedDiagram #default-fret-table \chordmode {a} #ukulele-tuning #"2-2;1-1;o;o;" \storePredefinedDiagram #default-fret-table \chordmode {a:m} #ukulele-tuning #"2-2;o;o;o;" \storePredefinedDiagram #default-fret-table \chordmode {a:7} #ukulele-tuning #"o;1-1;o;o;" \storePredefinedDiagram #default-fret-table \chordmode {a:m7} #ukulele-tuning #"o;o;o;o;" \storePredefinedDiagram #default-fret-table \chordmode {a:dim7} #ukulele-tuning #"2-1;3-3;2-2;3-4;" \storePredefinedDiagram #default-fret-table \chordmode {a:maj7} #ukulele-tuning #"1-1;1-2;o;o;" \storePredefinedDiagram #default-fret-table \chordmode {a:6} #ukulele-tuning #"2-1;4-3;2-2;4-4;" \storePredefinedDiagram #default-fret-table \chordmode {a:sus2} #ukulele-tuning #"2-1;4-3;o;2-2;" \storePredefinedDiagram #default-fret-table \chordmode {a:sus4} #ukulele-tuning #"2-1;2-2;o;o;" \storePredefinedDiagram #default-fret-table \chordmode {a:aug} #ukulele-tuning #"2-3;1-1;1-2;O;" \storePredefinedDiagram #default-fret-table \chordmode {a:9} #ukulele-tuning #"o;1-1;o;2-2;" \storePredefinedDiagram #default-fret-table \chordmode {a:dim} #ukulele-tuning #"2-1;3-2;5-4;3-4;" \storePredefinedDiagram #default-fret-table \chordmode {a:m6} #ukulele-tuning #"2-1-(;4-3;2-1-);3-2;" \storePredefinedDiagram #default-fret-table \chordmode {a:m6-} #ukulele-tuning #"2-2;4-4;1-1;3-3;" \storePredefinedDiagram #default-fret-table \chordmode {a:m7.5-} #ukulele-tuning #"2-1;3-2-(;3-2;3-2-);" \storePredefinedDiagram #default-fret-table \chordmode {a:m7+} #ukulele-tuning #"1-1;o;o;o;" \storePredefinedDiagram #defa
Re: quarter tones in tablature - FretBoards
On 2015-10-31 12:49, pls wrote: d...@faithful.be writes: On 2015-10-31 11:39, pls wrote: Thomas Morley <thomasmorle...@gmail.com> writes: Personally, I don't like any of those and lean towards excluding quarter-tones from FretBoards at all and let output the warning about "Missing fret for pitch ~a on string ~a" as before. Letting only TabStaff display quarter-tones. I'm of the same opinion as it doesn't/shouldn't really matter pitchwise where exactly you place your finger within a fret space on a fretted instrument. I'm no guitarist, but don't they sometimes pull sideways on the string or use a mechanical attachment to sharpen a note? Yes, pull-offs are quite common but it's rather a technique to pluck the string with your fretting hand. With "mechanical attachment" you're probably alluding to a capo. It acts like a sort of artificial "barre". It fits around the neck of the guitar and raises the pitch of all (or only some of the) strings. LilyPond already displays capo indications as a thick bar in fret diagrams. Bottlenecks are also used to sharpen or lower a note. It works like some sort of a "movable fret". But I've never seen quarter tone indications in fret diagrams. Cheers, Patrick I was thinking of things like these: https://en.wikipedia.org/wiki/Vibrato_systems_for_guitar BTW: Did you deliberately not reply to the list? No. I'm stuck using an unfamiliar web-mail interface while my main computer is being repaired; I must have hit the wrong button. Thanks for noticing. -- Dan ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: quarter tones in tablature - FretBoards
d...@faithful.be writes: > On 2015-10-31 12:49, pls wrote: >> d...@faithful.be writes: >> >>> On 2015-10-31 11:39, pls wrote: >>>> Thomas Morley <thomasmorle...@gmail.com> writes: >>>>> Personally, I don't like any of those and lean towards excluding >>>>> quarter-tones from FretBoards at all and let output the warning >>>>> about >>>>> "Missing fret for pitch ~a on string ~a" as before. >>>>> Letting only TabStaff display quarter-tones. >>>> >>>> I'm of the same opinion as it doesn't/shouldn't really matter >>>> pitchwise where exactly you >>>> place your finger within a fret space on a fretted instrument. >>> >>> I'm no guitarist, but don't they sometimes pull sideways on the string >>> or use a mechanical attachment to sharpen a note? >> >> Yes, pull-offs are quite common but it's rather a technique to pluck >> the >> string with your fretting hand. With "mechanical attachment" you're >> probably alluding to a capo. It acts like a sort of artificial >> "barre". It fits around the neck of the guitar and raises the pitch of >> all (or only some of the) strings. LilyPond already displays capo >> indications as a thick bar >> in fret diagrams. Bottlenecks are also used to sharpen or lower a >> note. It works like some sort of a "movable fret". >> But I've never seen quarter tone indications in fret diagrams. >> >> Cheers, >> Patrick > > I was thinking of things like these: > https://en.wikipedia.org/wiki/Vibrato_systems_for_guitar Yes, electric guitars can be equipped with a whammy bar. Those effects usually have their own symbols in traditional notation and tablature but not in fret diagrams (see attachment). > >> BTW: Did you deliberately not reply to the list? > > No. I'm stuck using an unfamiliar web-mail interface while my main > computer is being repaired; I must have hit the wrong button. Thanks > for noticing. You're welcome! Patrick ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: quarter tones in tablature - FretBoards
Thomas Morley <thomasmorle...@gmail.com> writes: > Personally, I don't like any of those and lean towards excluding > quarter-tones from FretBoards at all and let output the warning about > "Missing fret for pitch ~a on string ~a" as before. > Letting only TabStaff display quarter-tones. I'm of the same opinion as it doesn't/shouldn't really matter pitchwise where exactly you place your finger within a fret space on a fretted instrument. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
quarter tones in tablature - FretBoards
Hi all, I'm working on "quarter tones in tablature" https://sourceforge.net/p/testlilyissues/issues/4643/ I've locally some code which does it by modifying `determine-frets' from translation-functions.scm Though automatic fret-diagrams in FretBoards rely on it as well. The problem arises how to print quarter-tones in fret-diagrams and how to print/format a fret-label. In the attached image you'll see that in first position the dot moves within a fret. In a higher position a fret-label would be needed, though, currently it's impossible to display a non-integer. But I could code to put out one of the listed possibilities. Personally, I don't like any of those and lean towards excluding quarter-tones from FretBoards at all and let output the warning about "Missing fret for pitch ~a on string ~a" as before. Letting only TabStaff display quarter-tones. Opinions/suggestions? Cheers, Harm ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Fretboards: markup strings in dot positions (issue 238180043 by thomasmorle...@gmail.com)
Reviewers: , Description: Fretboards: markup strings in dot positions Issue 4120 Fixes disappeared strings, restores the behaviour before the fix for Issue 2752 Does not scale those strings, though, in order to fix the regression first and do other feature requests for issue 4120 in a follow up. Please review this at https://codereview.appspot.com/238180043/ Affected files (+6, -5 lines): M scm/fret-diagrams.scm Index: scm/fret-diagrams.scm diff --git a/scm/fret-diagrams.scm b/scm/fret-diagrams.scm index 74ab65fedd0788fb29e79e712a8d4afec45431f8..f8ccb59a111886ce250590d822c6f7bb9624aa6e 100644 --- a/scm/fret-diagrams.scm +++ b/scm/fret-diagrams.scm @@ -109,11 +109,12 @@ to end-point. (car this-list) ;; fret (- (second this-list) base-fret) -;; finger - (if (or (null? (cddr this-list)) -(not (number? (caddr this-list - '() - (third this-list)) +;; finger-number or markup + (if (and (not (null? (cddr this-list))) + (or (markup? (caddr this-list)) + (number? (caddr this-list + (third this-list) + '()) ;; inverted (dot-is-inverted this-list) ;; parenthesis ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
FretBoards aligned to bar lines
Hi list, in the following example, I want to align the FretBoards to the bar lines. Now they are centered over the first beat in each measure. TIA, Marc --- \version 2.19.0 \paper { indent = 0 ragged-right = ##f } frets = { d'\3 g'\2 b'\1 1 | g\4 cis'\3 e'\2 | cis'\3 fis'\2 a'\1 | fis\4 b\3 d'\2 | b\3 e'\2 g'\1 | e\4 ais\3 cis'\2 | a\3 d'\2 fis'\1 | a\4 dis'\3 fis'\2 } chordnames = \chordmode { e1:m7 | a:7 | d:maj7 | g:maj7 | cis:m7.5- | fis:7 | b:m7 | b:7 | } \layout { \context { \FretBoards \override FretBoard.fret-diagram-details.fret-count = #8 \override FretBoard.size = #1.5 } } \score { \new FretBoards { \frets } \new ChordNames { \chordnames } \new Staff \with { \omit Stem } { \improvisationOn \repeat unfold 32 b'4 \bar :|. } } ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: FretBoards aligned to bar lines
Am 04.07.2014 09:46, schrieb Marc Hohl: Hi list, sorry, wrong list ... I re-posted this question on -user, sorry for the noise. ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Add predefined mandolin fretboards to lilypond. (issue4370054)
Marc: can you send me the patch so that I can push it? http://codereview.appspot.com/4370054/ ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Add predefined mandolin fretboards to lilypond. (issue4370054)
Am 25.04.2011 13:24, schrieb percival.music...@gmail.com: Marc: can you send me the patch so that I can push it? http://codereview.appspot.com/4370054/ Here it is. Regards, Marc From 6933e27f08ac93330511946f3c69b887aeefc1a9 Mon Sep 17 00:00:00 2001 From: Marc Hohl m...@hohlart.de Date: Thu, 7 Apr 2011 10:42:11 +0200 Subject: [PATCH] Add predefined mandolin fretboards to lilypond. --- .../display-predefined-mandolin-fretboards.ly | 74 ++ Documentation/notation/fretted-strings.itely | 24 +- Documentation/notation/notation-appendices.itely |4 + ly/predefined-mandolin-fretboards.ly | 876 4 files changed, 976 insertions(+), 2 deletions(-) create mode 100644 Documentation/included/display-predefined-mandolin-fretboards.ly create mode 100644 ly/predefined-mandolin-fretboards.ly diff --git a/Documentation/included/display-predefined-mandolin-fretboards.ly b/Documentation/included/display-predefined-mandolin-fretboards.ly new file mode 100644 index 000..0435a91 --- /dev/null +++ b/Documentation/included/display-predefined-mandolin-fretboards.ly @@ -0,0 +1,74 @@ +\version 2.13.61 +\include ./predefined-mandolin-fretboards.ly + + +mychords = \chordmode { + c1 c:m c:aug c:dim7 c:7 c:maj7 c:m7 c:m7.5- + c:6 c:sus2 c:sus4 c:9 + \break +} + +chordsline = { + \mychords + \transpose c cis { +\mychords + } + \transpose c des { +\mychords + } + \transpose c d { +\mychords + } + \transpose c dis { +\mychords + } + \transpose c ees { +\mychords + } + \transpose c e { +\mychords + } + \transpose c f { +\mychords + } + \transpose c fis { +\mychords + } + \transpose c ges { +\mychords + } + \transpose c g { +\mychords + } + \transpose c gis { +\mychords + } + \transpose c aes { +\mychords + } + \transpose c a { +\mychords + } + \transpose c ais { +\mychords + } + \transpose c bes { +\mychords + } + \transpose c b { +\mychords + } +} + + + \context ChordNames { +\chordsline + } + \context FretBoards { +\set stringTunings = #mandolin-tuning +\chordsline + } + \context Staff { +\chordsline + } + diff --git a/Documentation/notation/fretted-strings.itely b/Documentation/notation/fretted-strings.itely index c60ddd4..850557f 100644 --- a/Documentation/notation/fretted-strings.itely +++ b/Documentation/notation/fretted-strings.itely @@ -,6 +,7 @@ Internals Reference: @cindex fret diagrams @cindex fret diagrams, ukulele +@cindex fret diagrams, mandolin @cindex chord diagrams @funindex FretBoards @@ -1157,6 +1158,24 @@ myChords = \chordmode { a1 a:m a:aug } } @end lilypond +Fret diagrams for the mandolin are contained in the file +@file{predefined-mandolin-fretboards.ly}. + +@lilypond[verbatim, ragged-right, quote] +\include predefined-mandolin-fretboards.ly + +myChords = \chordmode { c1 c:m7.5- c:aug } + +\new ChordNames { + \myChords +} + +\new FretBoards { + \set stringTunings = #mandolin-tuning + \myChords +} +@end lilypond + Chord pitches can be entered either as simultaneous music or using chord mode (see @ref{Chord mode overview}). @@ -1394,7 +1413,8 @@ Notation Reference: Installed Files: @file{ly/predefined-guitar-fretboards.ly}, @file{ly/predefined-guitar-ninth-fretboards.ly}, -@file{ly/predefined-ukulele-fretboards.ly}. +@file{ly/predefined-ukulele-fretboards.ly}, +@file{ly/predefined-mandolin-fretboards.ly}. Snippets: @rlsr{Fretted strings}. @@ -1882,4 +1902,4 @@ Snippets: @rlsr{Fretted strings}. Installed Files: -@file{scm/output-lib.scm} contains predefined banjo tunings. +@file{scm/string-tunings-init.scm} contains predefined banjo tunings. diff --git a/Documentation/notation/notation-appendices.itely b/Documentation/notation/notation-appendices.itely index fb5cb99..f89e563 100644 --- a/Documentation/notation/notation-appendices.itely +++ b/Documentation/notation/notation-appendices.itely @@ -435,6 +435,10 @@ The chart below shows the predefined fretboard diagrams for ukulele. @lilypondfile{display-predefined-ukulele-fretboards.ly} +The chart below shows the predefined fretboard diagrams for mandolin. + +@lilypondfile{display-predefined-mandolin-fretboards.ly} + @node MIDI instruments @appendixsec MIDI instruments diff --git a/ly/predefined-mandolin-fretboards.ly b/ly/predefined-mandolin-fretboards.ly new file mode 100644 index 000..a971234 --- /dev/null +++ b/ly/predefined-mandolin-fretboards.ly @@ -0,0 +1,876 @@ + This file is part of LilyPond, the GNU music typesetter. + + Copyright (C) 2011 Marc Hohl m...@hohlart.de + + LilyPond is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + LilyPond is distributed in the hope that it will be useful
Re: Add predefined mandolin fretboards to lilypond. (issue4370054)
On Mon, Apr 25, 2011 at 04:43:45PM +0200, Marc Hohl wrote: Am 25.04.2011 13:24, schrieb percival.music...@gmail.com: Marc: can you send me the patch so that I can push it? http://codereview.appspot.com/4370054/ Here it is. thanks, pushed. Cheers, - Graham ___ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Add predefined mandolin fretboards to lilypond. (issue4384055)
Am 11.04.2011 10:34, schrieb Marc Hohl: [...] So please have a look at http://codereview.appspot.com/4370054/ LGTM, anyone? ;-) Marc ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Add predefined mandolin fretboards to lilypond. (issue4370054)
I can't see anything wrong, but I'm away from my desktop so I haven't tried a regtest comparison. I can't see how it would break anything, though. http://codereview.appspot.com/4370054/ ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Add predefined mandolin fretboards to lilypond. (issue4370054)
LGTM. If I had done it I would have defined chordShapes for the common shapes and moved them up and down the fretboard. But that's not necessary; I'd totally support this addition. Sorry I'm so slow on this -- I reviewed it a while ago and forgot to comment. Carl http://codereview.appspot.com/4370054/ ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Add predefined mandolin fretboards to lilypond. (issue4384055)
Am 11.04.2011 06:43, schrieb carl.d.soren...@gmail.com: Reviewers: , Message: Marc Hohl has prepared a patch for mandolin predefined fretboards. The patch looks good to me. Please review. Thanks, Carl http://codereview.appspot.com/4384055/diff/1/Documentation/notation/fretted-strings.itely File Documentation/notation/fretted-strings.itely (right): http://codereview.appspot.com/4384055/diff/1/Documentation/notation/fretted-strings.itely#newcode1905 Documentation/notation/fretted-strings.itely:1905: @file{scm/string-tunings-init.scm} contains predefined banjo tunings. Thanks for the catch! Description: Add predefined mandolin fretboards to lilypond. Please review this at http://codereview.appspot.com/4384055/ Oops, I just uploaded it myself and corrected the version numbers and the path for inclusion (it was \include ./predefined-... instead of just \include predefined-... ) So please have a look at http://codereview.appspot.com/4370054/ @Carl: sorry for messing all up... Regards, Marc Affected files: A Documentation/included/display-predefined-mandolin-fretboards.ly M Documentation/notation/fretted-strings.itely M Documentation/notation/notation-appendices.itely A ly/predefined-mandolin-fretboards.ly ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Add predefined mandolin fretboards to lilypond. (issue4384055)
Reviewers: , Message: Marc Hohl has prepared a patch for mandolin predefined fretboards. The patch looks good to me. Please review. Thanks, Carl http://codereview.appspot.com/4384055/diff/1/Documentation/notation/fretted-strings.itely File Documentation/notation/fretted-strings.itely (right): http://codereview.appspot.com/4384055/diff/1/Documentation/notation/fretted-strings.itely#newcode1905 Documentation/notation/fretted-strings.itely:1905: @file{scm/string-tunings-init.scm} contains predefined banjo tunings. Thanks for the catch! Description: Add predefined mandolin fretboards to lilypond. Please review this at http://codereview.appspot.com/4384055/ Affected files: A Documentation/included/display-predefined-mandolin-fretboards.ly M Documentation/notation/fretted-strings.itely M Documentation/notation/notation-appendices.itely A ly/predefined-mandolin-fretboards.ly ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Make tab-note-heads and fretboards use common code. (issue186268)
Hi Carl, I've just tested this, and it breaks two regtests: 1) dead-notes.ly The \deadNote command inside a chord is ignored (i.e., the tabs appear as numbers rather than crosses). Replacing \deadNote with \tweak also fails. 2) tablature-harmonic.ly The harmonic brackets have disappeared. Weirdly, if you move the \harmonic command between the notes in the chord, both heads get harmonics. Regards, Neil http://codereview.appspot.com/186268/diff/3011/3012 File lily/context-scheme.cc (right): http://codereview.appspot.com/186268/diff/3011/3012#newcode97 lily/context-scheme.cc:97: If @var{def} is given, and property value is SCM_EOL, SCM_EOL will be unfamiliar to most users http://codereview.appspot.com/186268/show ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Make tab-note-heads and fretboards use common code. (issue186268)
On 1/30/10 11:44 AM, n.putt...@gmail.com n.putt...@gmail.com wrote: Hi Carl, I've just tested this, and it breaks two regtests: 1) dead-notes.ly The \deadNote command inside a chord is ignored (i.e., the tabs appear as numbers rather than crosses). Replacing \deadNote with \tweak also fails. I saw this earlier, but my last regtest check didn't show it up. I wonder what I'm doing wrong with my regtest running. I never fixed the deadNote error; when the regtest run came back clean I forgot about it. 2) tablature-harmonic.ly The harmonic brackets have disappeared. Weirdly, if you move the \harmonic command between the notes in the chord, both heads get harmonics. I'll check it out. Regards, Neil http://codereview.appspot.com/186268/diff/3011/3012 File lily/context-scheme.cc (right): http://codereview.appspot.com/186268/diff/3011/3012#newcode97 lily/context-scheme.cc:97: If @var{def} is given, and property value is SCM_EOL, SCM_EOL will be unfamiliar to most users Thanks, I'll fix it. Carl ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Make tab-note-heads and fretboards use common code. (issue186268)
The patch set now seems to be complete. I've responded to Neil's comments, and regression tests all pass. Please review. Thanks, Carl http://codereview.appspot.com/186268/show ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Make tab-note-heads and fretboards use common code. (issue186268)
OK, so I added the optional default to ly:context-property, and fixed the indentation. make check works. I think it's good to go now. http://codereview.appspot.com/186268/diff/1/7 File scm/translation-functions.scm (right): http://codereview.appspot.com/186268/diff/1/7#newcode236 scm/translation-functions.scm:236: Convert @var{placement-list} to string-fret list. On 2010/01/24 01:36:35, Carl wrote: On 2010/01/23 16:42:33, Neil Puttock wrote: indentation What is the indentation issue here? Done. http://codereview.appspot.com/186268/diff/1/7#newcode287 scm/translation-functions.scm:287: (ensure-number On 2010/01/24 01:36:35, Carl wrote: On 2010/01/23 16:42:33, Neil Puttock wrote: Default for ly:context-property instead? Do you mean to modify ly:context-property so that it asks for a (probably optional) default, and then returns the default if the property isn't found? Done. http://codereview.appspot.com/186268/show ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Make tab-note-heads and fretboards use common code. (issue186268)
I've found a bug in this code that showed up with the latest changes in the regression tests. I'll have a new patch set later; don't spend any time on this one right now. THanks, Carl http://codereview.appspot.com/186268/show ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Make tab-note-heads and fretboards use common code. (issue186268)
I've found a bug in this code that showed up with the latest changes in the regression tests. I'll have a new patch set later; don't spend any time on this one right now. THanks, Carl http://codereview.appspot.com/186268/show ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Make tab-note-heads and fretboards use common code. (issue186268)
2010/1/26 Carl Sorensen c_soren...@byu.edu: Should this be a separate patch, probably applied before the current patch? Definitely a separate patch, though I think it can wait until this patch has been sorted. I tried scm_call_5, and got a compile error. Then I looked at the guile page, and no scm_call_5, nor a scm_call_n. git grep scm_call_5 returns nothing. So does git grep scm_call_n. How can I use scm_call_5 or scm_call_n? (Although I think the solution I got is actually just as good). Sorry, I must've been completely befuddled last night; I was thinking of scm_list_5/scm_list_n, which are obviously no use in this situation. Yes, I found and fixed those. This question was about lines 235-239 Oops. :) (define placement-list- Convert . (map (lambda (x) (...) (filter ((lambda (l) ...) placement-list That indentation seems to me to be correct. The docstring and body are out by one space, (same for the docstring in get-predefined-fretboard). Cheers, Neil ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Make tab-note-heads and fretboards use common code. (issue186268)
On 2010/01/24 01:36:35, Carl wrote: I think I've dealt with everything, but there is still an open question on ly:context-property. As far as I can see, there is not currently a means of putting a default in the ly:context-property call. I can see that it would be good to have that. I'm not sure I know how to do it, but I'll look into it. Exactly. Though it's not going to be as useful as defaults in ly:grob-property, it'd be a nice enhancement. Oops -- yes I did. I wanted a boolean, but there is not a scm_call_5, and anytime the boolean was true I needed a grob, so I just used the grob as the fretboard indicator. Though it's undocumented, there is a scm_call_5 (I used it when fixing \put-adjacent). You could use scm_call_n instead of course. What is the indentation issue here? The two-space indentation, e.g., below (let ((string-frets or (ensure-number Regards, Neil http://codereview.appspot.com/186268/show ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: PATCH: Use same fret-assignment code for FretBoards and TabStaff
Hi Carl, On 22 January 2010 03:14, Carl Sorensen c_soren...@byu.edu wrote: Please review the patch at http://codereview.appspot.com/186268/show I'll post some comments on Rietveld soon. Cheers, Neil ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Make tab-note-heads and fretboards use common code. (issue186268)
http://codereview.appspot.com/186268/diff/1/2 File lily/fretboard-engraver.cc (left): http://codereview.appspot.com/186268/diff/1/2#oldcode100 lily/fretboard-engraver.cc:100: SCM changes = get_property(chordChanges); get_property ( http://codereview.appspot.com/186268/diff/1/2#oldcode101 lily/fretboard-engraver.cc:101: if (to_boolean (changes) scm_is_pair(last_fret_notes_) scm_is_pair ( http://codereview.appspot.com/186268/diff/1/2 File lily/fretboard-engraver.cc (right): http://codereview.appspot.com/186268/diff/1/2#newcode96 lily/fretboard-engraver.cc:96: ly_cxx_vector_to_list (tabstring_events_), indent (hard tabs) (and below in ADD_TRANSLATOR ()) http://codereview.appspot.com/186268/diff/1/3 File lily/tab-note-heads-engraver.cc (right): http://codereview.appspot.com/186268/diff/1/3#newcode81 lily/tab-note-heads-engraver.cc:81: vectorStream_event* string_events; Stream_event * http://codereview.appspot.com/186268/diff/1/3#newcode106 lily/tab-note-heads-engraver.cc:106: a string_event is generated, so if there was no string string-number-event http://codereview.appspot.com/186268/diff/1/3#newcode136 lily/tab-note-heads-engraver.cc:136: SCM pos_proc = get_property (tablatureStaffPosition); For normal staves, we have staffLineLayoutFunction, so something similar would be better (though tabStaffLineLayoutFunction is a bit cumbersome). http://codereview.appspot.com/186268/diff/1/3#newcode139 lily/tab-note-heads-engraver.cc:139: for (int i=0; i scm_to_int (scm_length (string_fret_finger)); i++) (int i = 0; i scm_ilength (string_fret_finger)); i++) http://codereview.appspot.com/186268/diff/1/3#newcode149 lily/tab-note-heads-engraver.cc:149: context ()-self_scm ()); More a general comment, but we're lacking consistency in argument ordering for translation functions: some start with the context, whereas others place it last. Since you're adding a rest arg to one of the functions, perhaps we should settle for context first for all functions. http://codereview.appspot.com/186268/diff/1/4 File ly/engraver-init.ly (right): http://codereview.appspot.com/186268/diff/1/4#newcode621 ly/engraver-init.ly:621: %% One may change the string tunings as following : follows: http://codereview.appspot.com/186268/diff/1/6 File scm/define-context-properties.scm (right): http://codereview.appspot.com/186268/diff/1/6#newcode353 scm/define-context-properties.scm:353: tabstring events, a boolean defining whether to make a fretboard, I assume you removed the boolean arg in an earlier revision. http://codereview.appspot.com/186268/diff/1/6#newcode460 scm/define-context-properties.scm:460: note head. Called with two arguments: string number and a fret number Removing the context makes this less flexible. http://codereview.appspot.com/186268/diff/1/7 File scm/translation-functions.scm (right): http://codereview.appspot.com/186268/diff/1/7#newcode193 scm/translation-functions.scm:193: (acons 'string-count my-string-count '()) If details is null, then this line is equivalent to the following line. http://codereview.appspot.com/186268/diff/1/7#newcode218 scm/translation-functions.scm:218: (map (lambda (x) (list 'mute (1+ x))) 'mute (1+ x) http://codereview.appspot.com/186268/diff/1/7#newcode236 scm/translation-functions.scm:236: Convert @var{placement-list} to string-fret list. indentation http://codereview.appspot.com/186268/diff/1/7#newcode284 scm/translation-functions.scm:284: (determine-frets-and-strings indentation (and following lines) http://codereview.appspot.com/186268/diff/1/7#newcode287 scm/translation-functions.scm:287: (ensure-number Default for ly:context-property instead? http://codereview.appspot.com/186268/diff/1/7#newcode377 scm/translation-functions.scm:377: ;;; body of determined-frets-and-strings determine http://codereview.appspot.com/186268/diff/1/7#newcode419 scm/translation-functions.scm:419: ((= 0 (length labels)) Need to keep context to read fretLabels http://codereview.appspot.com/186268/diff/1/7#newcode420 scm/translation-functions.scm:420: (string (integer-char (+ fret (char-integer #\a) fret-number (same below) http://codereview.appspot.com/186268/diff/1/7#newcode432 scm/translation-functions.scm:432: (format ~a fret-number))) indent http://codereview.appspot.com/186268/diff/1/7#newcode442 scm/translation-functions.scm:442: (number-string (cond indent http://codereview.appspot.com/186268/show ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: Make tab-note-heads and fretboards use common code. (issue186268)
context to read fretLabels Done. http://codereview.appspot.com/186268/diff/1/7#newcode420 scm/translation-functions.scm:420: (string (integer-char (+ fret (char-integer #\a) On 2010/01/23 16:42:33, Neil Puttock wrote: fret-number (same below) Done. http://codereview.appspot.com/186268/diff/1/7#newcode432 scm/translation-functions.scm:432: (format ~a fret-number))) On 2010/01/23 16:42:33, Neil Puttock wrote: indent Done. http://codereview.appspot.com/186268/diff/1/7#newcode442 scm/translation-functions.scm:442: (number-string (cond On 2010/01/23 16:42:33, Neil Puttock wrote: indent Done. Description: Make tab-note-heads and fretboards use common code. This combines the string and fret assigning code of the tab-note-heads engraver and the fret-boards engraver. Both will use scheme procedures defined in scm/translation-functions.scm and specified by context properties initialized in ly/engraver-init.ly * Modify the calling sequence of noteToFretFunction so that it takes a context, a note-list, a string-list, and an optional grob. If grob is included, noteToFretFunction will add the fretboard to the grob. If grob is not included, noteToFretFunction will return a list of (string fret finger) tuples. * Refactor the code in scm/translation-functions.scm to support this separation of function. * predefinedDiagramTable is now a context property for TabStaff as well as for FretBoards. This means that if a chord is present in TabStaff, and predefinedDiagramTable for that TabStaff is not #f, and a predefined diagram for the chord exists, the TabStaff will display the notes of the predefined diagram. * Change tab-note-heads-engraver so that it calls noteToFretFunction instead of having the fret calculation code inside the engraver. * Change the noteToFretFunction calling sequence in fretboard-engraver to match the new definition Please review this at http://codereview.appspot.com/186268/show Affected files: M lily/fretboard-engraver.cc M lily/tab-note-heads-engraver.cc M ly/engraver-init.ly M ly/property-init.ly M scm/define-context-properties.scm M scm/translation-functions.scm ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
PATCH: Use same fret-assignment code for FretBoards and TabStaff
In response to a request from Patrick Schmidt on the tablatures list, I became aware of the fact that we have two separate methods of finding strings and frets given notes -- one for the tab-note-heads-engraver and one for the fretboards-engraver. This didn't seem to me to be a very good situation, so I rewrote the code so that both engravers call the procedure specified in the context property noteToFretFunction to get frets and strings from notes. Please review the patch at http://codereview.appspot.com/186268/show Thanks, Carl ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel
Re: FretBoards
On 12/10/08 4:41 AM, Richard Schoeller [EMAIL PROTECTED] wrote: I'd like to represent the capo point as a straight barre, but then still indicate the unfingered strings with 'x' or 'o'. I think that you can do it in standard form as well, just not in terse. Better still for the capo, would be to show a straight barre without the dots. But that's for another day. Since the capo is not going to be moved very often during playing, and will always cover all of the strings, would it make sense just to add a (capo fret) setting to the verbose string? The capo fret would become the lowest fret on the diagram, and a solid bar would be drawn across the strings at that point. Since the capo is not part of the fingering, we could perhaps add the capo as part of the fret-diagram-details properties. But as I think more about it, the fret diagram depends on the capo setting, so it should be part of the diagram definition. It's probably the right thing to do to add a verbose interface to storePredefinedFretBoard, so things like scales can be added if desired, with the idea of moving all fret diagrams to the FretBoards context. I think that your request is doable. I'll try to do it over the next couple of weeks. Carl Carl D. Sorensen wrote: On 12/9/08 10:22 PM, Richard Schoeller [EMAIL PROTECTED] wrote: Is there any way to build a chord diagram using the verbose syntax and use it FretBoards? I didn't see anything in the docs for this. There are few things that I'd like to try for showing the use of a capo that I can't do with terse. As of now, there is no way to use the verbose syntax with FretBoards. However, it could potentially be added. Can you tell me more about what you'd like to do? Perhaps show me the diagram you'd like to use as a markup? I've avoided using verbose as the primary syntax for fret diagrams because it's so user unfriendly. But now that I think about it, I could make verbose syntax the primary form, and create a terse_to_verbose function that would still allow users to specify the fret diagram with a terse string. The only thing I can think of that verbose allows but terse doesn't is multiple dots on a single string. Thanks, Carl Sorensen ___ lilypond-devel mailing list lilypond-devel@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-devel