Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1895)

Issue 3789044: Issue 1278: Arrow notation for quarter-tones.

Can't Edit
Can't Publish+Mail
Start Review
Created:
13 years, 3 months ago by Felipe
Modified:
13 years, 2 months ago
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

Issue 1278: Arrow notation for quarter-tones. We change the internal pitch representation so as to account for two levels of alteration. Basically, instead of representing alterations by a rational number, we represent them by a pair of integers. The main changes are the addition of an Alteration struct, and modifications in the Pitch and Scale classes. The Pitch class was reimplemented. Its interface was mostly preserved. No pitch normalisation policy is implemented, though. (see lily/include/pitch.hh and lily/pitch.cc) Class Scale was completely rewritten. (see lily/include/scale.hh and lily/scale.hh) Finally, new note names are defined, and the arrow style accidentals are made available via the new arrow-alteration-glyph-name-alist. (see scm/lily-library.scm, scm/define-note-names.scm and scm/output-lib.scm) Other changes are basically simple side-effects of these.

Patch Set 1 #

Patch Set 2 : ly/makam.ly: Fix typo. #

Patch Set 3 : Update new regression tests. #

Patch Set 4 : Just rebasing. #

Patch Set 5 : Fix upload of scm files by git-cl. #

Total comments: 9
Unified diffs Side-by-side diffs Delta from patch set Stats (+795 lines, -400 lines) Patch
M input/regression/scheme-book-scores.ly View 1 chunk +1 line, -1 line 0 comments Download
M input/regression/tablature-letter.ly View 1 2 1 chunk +6 lines, -6 lines 0 comments Download
M input/regression/tablature-string-tunings.ly View 1 2 1 chunk +1 line, -1 line 0 comments Download
M lily/accidental-engraver.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M lily/accidental-placement.cc View 1 2 2 chunks +3 lines, -3 lines 1 comment Download
A lily/alteration.cc View 1 chunk +24 lines, -0 lines 0 comments Download
M lily/ambitus-engraver.cc View 1 2 2 chunks +4 lines, -4 lines 0 comments Download
A lily/include/alteration.hh View 1 chunk +181 lines, -0 lines 0 comments Download
M lily/include/lily-guile.hh View 1 2 3 chunks +5 lines, -1 line 0 comments Download
M lily/include/pitch.hh View 1 2 3 chunks +18 lines, -13 lines 1 comment Download
M lily/include/scale.hh View 1 2 1 chunk +11 lines, -5 lines 0 comments Download
M lily/key-engraver.cc View 1 2 3 5 chunks +7 lines, -7 lines 0 comments Download
M lily/key-performer.cc View 1 2 2 chunks +4 lines, -4 lines 0 comments Download
M lily/key-signature-interface.cc View 1 2 3 chunks +4 lines, -4 lines 0 comments Download
M lily/lily-guile.cc View 1 2 1 chunk +21 lines, -0 lines 0 comments Download
M lily/music.cc View 1 2 1 chunk +8 lines, -3 lines 0 comments Download
M lily/music-scheme.cc View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M lily/parser.yy View 1 2 3 5 chunks +10 lines, -10 lines 0 comments Download
M lily/pitch.cc View 1 2 9 chunks +96 lines, -46 lines 0 comments Download
M lily/pitch-scheme.cc View 1 2 2 chunks +6 lines, -6 lines 0 comments Download
M lily/pitched-trill-engraver.cc View 1 2 2 chunks +3 lines, -3 lines 0 comments Download
M lily/scale.cc View 1 2 5 chunks +52 lines, -32 lines 2 comments Download
M lily/slur-scoring.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M ly/engraver-init.ly View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M ly/makam.ly View 1 5 chunks +86 lines, -70 lines 1 comment Download
M ly/scale-definitions-init.ly View 2 chunks +44 lines, -44 lines 0 comments Download
M python/musicexp.py View 1 2 1 chunk +1 line, -1 line 2 comments Download
M scm/chord-entry.scm View 1 2 7 chunks +11 lines, -11 lines 0 comments Download
M scm/chord-generic-names.scm View 1 2 3 chunks +13 lines, -7 lines 0 comments Download
M scm/chord-ignatzek-names.scm View 1 2 7 chunks +10 lines, -8 lines 0 comments Download
M scm/chord-name.scm View 1 2 6 chunks +10 lines, -10 lines 0 comments Download
M scm/define-grob-properties.scm View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M scm/define-markup-commands.scm View 1 2 9 chunks +9 lines, -9 lines 1 comment Download
M scm/define-music-display-methods.scm View 1 2 3 3 chunks +7 lines, -7 lines 0 comments Download
M scm/define-music-properties.scm View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M scm/define-note-names.scm View 1 2 7 chunks +14 lines, -0 lines 0 comments Download
M scm/lily.scm View 1 2 1 chunk +1 line, -1 line 1 comment Download
M scm/lily-library.scm View 1 2 1 chunk +16 lines, -10 lines 0 comments Download
M scm/midi.scm View 1 2 1 chunk +1 line, -1 line 0 comments Download
M scm/music-functions.scm View 1 2 5 chunks +25 lines, -12 lines 0 comments Download
M scm/output-lib.scm View 1 2 4 chunks +61 lines, -39 lines 0 comments Download
M scm/tablature.scm View 1 2 1 chunk +9 lines, -9 lines 0 comments Download
M scm/translation-functions.scm View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download

Messages

Total messages: 30
Felipe
This patch is first and foremost a change in the internal Pitch representation. I then ...
13 years, 3 months ago (2010-12-30 07:26:08 UTC) #1
Graham Percival (old account)
Hi Felipe, I'm very sorry about the delay, but at least I'm looking at it ...
13 years, 2 months ago (2011-01-28 14:17:01 UTC) #2
felipeg.assis_gmail.com
Right, I will have a look at that. Thanks! Felipe On 28 January 2011 12:17, ...
13 years, 2 months ago (2011-01-29 10:38:20 UTC) #3
Graham Percival (old account)
Sorry, I still can't apply this cleanly to git master. Are you sure you did ...
13 years, 2 months ago (2011-02-10 18:13:40 UTC) #4
felipeg.assis_gmail.com
Hi, In fact, yesterday's "make key cancellations independent of extraNatural" introduced a simple conflict with ...
13 years, 2 months ago (2011-02-10 19:35:25 UTC) #5
Graham Percival (old account)
Thanks! Regtests look fine, and there's nothing obviously wrong with the code. However, none of ...
13 years, 2 months ago (2011-02-10 22:32:07 UTC) #6
felipeg.assis_gmail.com
Hi, A new patch set was uploaded, now including the scm files. On 10 February ...
13 years, 2 months ago (2011-02-13 14:32:48 UTC) #7
Graham Percival (old account)
I think it's ready for review now. http://codereview.appspot.com/3789044/diff/29001/ly/makam.ly File ly/makam.ly (right): http://codereview.appspot.com/3789044/diff/29001/ly/makam.ly#newcode9 ly/makam.ly:9: #(ly:set-default-scale (ly:make-scale ...
13 years, 2 months ago (2011-02-14 22:27:51 UTC) #8
MikeSol
LGTM. I admittedly don't know this part of the source well, so I'll leave comments ...
13 years, 2 months ago (2011-02-17 19:03:22 UTC) #9
felipeg.assis_gmail.com
Hi, In fact, this patch is divided in a few commits in my local branch. ...
13 years, 2 months ago (2011-02-17 19:27:46 UTC) #10
Carl
This work looks good to me, but I'm not an expert in this area. I ...
13 years, 2 months ago (2011-02-17 20:01:25 UTC) #11
Graham Percival
On 2/17/11, Carl.D.Sorensen@gmail.com <Carl.D.Sorensen@gmail.com> wrote: > I have one question, I think. Right now, the ...
13 years, 2 months ago (2011-02-17 20:19:59 UTC) #12
felipeg.assis_gmail.com
Hi Carl, The denominators are not implicit. They are set in the file scm/lily.scm via ...
13 years, 2 months ago (2011-02-17 20:34:35 UTC) #13
Felipe
http://codereview.appspot.com/3789044/diff/29001/python/musicexp.py File python/musicexp.py (right): http://codereview.appspot.com/3789044/diff/29001/python/musicexp.py#newcode308 python/musicexp.py:308: return '(ly:make-pitch %d %d \'(%d . 0))' % (self.octave, ...
13 years, 2 months ago (2011-02-17 20:39:13 UTC) #14
c_sorensen
On 2/17/11 1:34 PM, "Felipe Gonçalves Assis" <felipeg.assis@gmail.com> wrote: > Hi Carl, > > The ...
13 years, 2 months ago (2011-02-18 04:35:00 UTC) #15
Keith
I advise against changing the internal representation of pitches. I say that even though this ...
13 years, 2 months ago (2011-02-18 05:43:36 UTC) #16
Graham Percival (old account)
On 2011/02/18 05:43:36, Keith wrote: > The extra complication, for which the care was > ...
13 years, 2 months ago (2011-02-18 05:58:28 UTC) #17
gbreed
Graham Percival <graham@percival-music.ca> wrote: > On 2/17/11, Carl.D.Sorensen@gmail.com > <Carl.D.Sorensen@gmail.com> wrote: > > I have ...
13 years, 2 months ago (2011-02-18 06:24:29 UTC) #18
hanwenn
On Fri, Feb 18, 2011 at 3:43 AM, <k-ohara5a5a@oco.net> wrote: > I advise against changing ...
13 years, 2 months ago (2011-02-18 10:18:47 UTC) #19
hanwenn
On Fri, Jan 28, 2011 at 12:17 PM, <percival.music.ca@gmail.com> wrote: > Hi Felipe, > > ...
13 years, 2 months ago (2011-02-18 10:21:07 UTC) #20
gbreed
The obvious workaround to distinguish cis+1/4 and cis-1/4 is to replace 1/4 with something like ...
13 years, 2 months ago (2011-02-18 11:20:04 UTC) #21
Keith
On 2011/02/18 11:20:04, gbreed wrote: > The worst that can happen is > (0 . ...
13 years, 2 months ago (2011-02-18 21:46:35 UTC) #22
Carl
On 2011/02/18 11:20:04, gbreed wrote: > Unfortunately, that doesn't seem to be what's happening here. ...
13 years, 2 months ago (2011-02-18 22:03:49 UTC) #23
Keith
On 2011/02/18 22:03:49, Carl wrote: > > work, you have to set a rule that ...
13 years, 2 months ago (2011-02-18 22:11:46 UTC) #24
gbreed
On 2011/02/18 21:46:35, Keith wrote: > The request on the tracker > (http://code.google.com/p/lilypond/issues/detail?id=1278) asks for ...
13 years, 2 months ago (2011-02-19 08:50:25 UTC) #25
hanwenn
On Fri, Feb 18, 2011 at 7:46 PM, <k-ohara5a5a@oco.net> wrote: >> Why not use a ...
13 years, 2 months ago (2011-02-19 13:00:17 UTC) #26
felipeg.assis_gmail.com
Hello everyone, First of all, thanks for the extensive comments made on this. I will ...
13 years, 2 months ago (2011-02-19 18:59:32 UTC) #27
Keith
On 2011/02/18 04:35:00, c_sorensen_byu.edu wrote: > I think that the arguments to make-scale should not ...
13 years, 2 months ago (2011-02-20 21:34:34 UTC) #28
Keith
On 2011/02/19 13:00:17, hanwenn wrote: > > In scales where cih is logically distinct from ...
13 years, 2 months ago (2011-02-20 21:40:17 UTC) #29
gbreed
13 years, 2 months ago (2011-02-21 10:36:10 UTC) #30
On 2011/02/20 21:40:17, Keith wrote:

> For just-intonation schemes, different alteration-types keep their separation
so
> long as the representation of pitch is sufficiently accurate.  For example, an
> "extended Helmholz-Ellis" alteration with B sharps/flats, C arrows, and D
hooks
> is (B * 114/200 + C * 22/200 + D * 27/200) in terms of the current system.

Extended Helmholtz-Ellis can be, and to an extent has been, implemented in the
current system.  But it's cumbersome because you have to define a huge number of
potential alterations that may (I don't know if this is a problem in practice)
slow down the system.  You can also build accidental strings through tweaks and
overrides.  A list of alterations would make it all more straightforward, should
that be on the table.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b