bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SubdivideBeam gives undesired result when beaming over more than a q


From: Urs Liska
Subject: Re: SubdivideBeam gives undesired result when beaming over more than a quarter note
Date: Thu, 19 Nov 2015 14:57:00 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

I've implemented a fix for this (hey, my first working C++ patch :-) )
but now I'm stumbling over the new git-cl workflow (sorry, when that was
set up I didn't have the time to follow closely enough, and the CG
section on uploading patches doesn't seem to be updated yet).

I manage to do the web authentication and upload the patch to Rietveld,
but got stuck at

```
Issue created. URL: http://codereview.appspot.com/278060043
Uploading base file for lily/beaming-pattern.cc
This has been identified with issue 4355.
Is this correct? [y/n (y)]n
4355 will not be used as a google tracker number.
Please enter a valid google tracker issue number
(or enter nothing to create a new issue):
Command "git config allura.token" failed.
You must configure your review setup by running "git cl config".
address@hidden:~/git/lilypond/source$ git cl config
Rietveld server (host[:port]) [codereview.appspot.com]:
Allura server []:
You must provide the address of the Allura tracker server:
```

What should I do now?

Urs


Am 19.11.2015 um 10:43 schrieb Urs Liska:
> Since the fix for #4355, respectively commits 8fa2d858 and 0382ed88, it
> is not possible anymore to subdivide beams that are longer than a
> quarter note.
>
> \version "2.19.32"
>
> {
>   \set subdivideBeams = ##t
>   % This is correctly subdivided
>   \set baseMoment = #(ly:make-moment 1 8)
>   \repeat unfold 16 c'16
>  
>   % This should always keep one beam
>   \set baseMoment = #(ly:make-moment 1 4)
>   c' 16 [ \repeat unfold 14 c' c' ]
>  
> }
>
> The behaviour is consistent with the feature request for #4355, namely:
> the dividing beam should reflect the length of the following group,
> which is 1/4 and results in no beam.
>
> However, I think that this behaviour should be changed once more in that
> subdivideBeam leaves *at least* one beam.
>
> I admit I don't understand the modified code as per 0382ed88:
>
>   // Set the count on each side of the stem
>   // We need to run this code twice to make both the
>   // left and the right counts work properly
>   for (int i = 0; i < 2; i++)
>     for (vsize i = 1; i < infos_.size () - 1; i++)
>       {
>         Direction non_flag_dir = other_dir (flag_directions[i]);
>         if (non_flag_dir)
>           {
>             int importance = infos_[i + 1].rhythmic_importance_;
>             int count = (importance < 0 && options.subdivide_beams_)
>                         ? subdivide_beam_count
>                         : min (min (infos_[i].count (non_flag_dir),
>                                         infos_[i + non_flag_dir].count
> (-non_flag_dir)),
>                                    infos_[i - non_flag_dir].count
> (non_flag_dir));
>
>             infos_[i].beam_count_drul_[non_flag_dir] = count;
>           }
>       }
>
> so I don't know whether it would be better to
> - only consider values smaller than 1/4 in the calculation or
> - ensure (in the last line?) that at least one beam is left.
>
> I hope this is an easy fix.
>
> Urs
>
> _______________________________________________
> bug-lilypond mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/bug-lilypond




reply via email to

[Prev in Thread] Current Thread [Next in Thread]