[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Cleanup beam scoring code. (issue4001046)
From: |
address@hidden |
Subject: |
Re: Cleanup beam scoring code. (issue4001046) |
Date: |
Wed, 2 Feb 2011 21:16:22 -0500 |
On Feb 2, 2011, at 9:54 AM, Han-Wen Nienhuys wrote:
> On Wed, Feb 2, 2011 at 3:49 AM, Werner LEMBERG <address@hidden> wrote:
>>> There is one diff remaining: see the attached file. I introduced
>>> some streamlining of an inner loop, which affects the way we handle
>>> beams that start/end with invisible stems.
>>>
>>> The compare image is the new one. I have no examples of tremolo beams
>>> handy, but the new layout actually looks better to me.
>>
>> For me, it doesn't. While the old behaviour is not optimal, the new
>> one looks really worse to me, especially in bar 3 (which is admittedly
>> a quite artificial example). The most important issue for me: Why is
>> there no slant of the beams? I currently have not enough time to
>
> But the old version also had no slant? I'm inclined to take interpret
> all these answers as "tremolo on whole notes was broken, and it still
> is, just differently," and commit.
>
> My concern is about breaking something that was working as intended before.
Hey all,
Han-Wen: I know that you had mentioned earlier revisiting the reasonable_score
problem. A thought just occurred to me. In a loop like:
for (vsize i = configs.size (); i--;)
if (configs[i]->demerits < reasonable_score)
{
score_count ++;
score_stem_lengths (configs[i]);
}
If the function score_stem_lengths returned the value of the score, then you
could do something like:
vector<Beam_configuration*> rejects;
Real high_score = 0.0;
for (vsize i = configs.size (); i--;)
if (configs[i]->demerits < reasonable_score)
{
score_count ++;
high_sore = max (high_score, score_stem_lengths (configs[i]));
}
else
rejects.push_back (configs[i]);
for (vsize i = rejects.size(); i--)
rejects[i]->add (high_score, "F");
rejects.clear ();
I don't have a good sense of how much compiling time this would add on, but it
is a way to pad the unreasonable scores with a value that preserves their
unreasonableness.
Cheers,
Mike
- Re: Cleanup beam scoring code. (issue4001046), percival . music . ca, 2011/02/01
- Re: Cleanup beam scoring code. (issue4001046), hanwenn, 2011/02/01
- Re: Cleanup beam scoring code. (issue4001046), Han-Wen Nienhuys, 2011/02/01
- Re: Cleanup beam scoring code. (issue4001046), Carl Sorensen, 2011/02/01
- Re: Cleanup beam scoring code. (issue4001046), Werner LEMBERG, 2011/02/02
- Re: Cleanup beam scoring code. (issue4001046), Reinhold Kainhofer, 2011/02/02
- Re: Cleanup beam scoring code. (issue4001046), Han-Wen Nienhuys, 2011/02/02
- Re: Cleanup beam scoring code. (issue4001046), Reinhold Kainhofer, 2011/02/02
- Re: Cleanup beam scoring code. (issue4001046), Werner LEMBERG, 2011/02/02
- Re: Cleanup beam scoring code. (issue4001046),
address@hidden <=