http://codereview.appspot.com/5729057/diff/1/lily/note-collision.cc File lily/note-collision.cc (right): http://codereview.appspot.com/5729057/diff/1/lily/note-collision.cc#newcode131 lily/note-collision.cc:131: min_downs = min (min_ups, dps[i][X_AXIS]); min (min_ups, ... Seriously? ...
13 years, 2 months ago
(2012-03-04 14:15:52 UTC)
#1
http://codereview.appspot.com/5729057/diff/1/lily/note-collision.cc
File lily/note-collision.cc (right):
http://codereview.appspot.com/5729057/diff/1/lily/note-collision.cc#newcode131
lily/note-collision.cc:131: min_downs = min (min_ups, dps[i][X_AXIS]);
min (min_ups, ...
Seriously?
And it is nonsensical to compare the mins on either side, since for the
stem-down configuration, the max is the part to merge.
http://codereview.appspot.com/5729057/diff/1/lily/note-collision.cc#newcode139
lily/note-collision.cc:139: }
This assumes that only mins/maxes need to be considered when merging when in
reality it is every pairing that has a chance to overlap. It is just that the
min/max pairing with the smallest distance determines which stem distance has a
chance of succeeding, and once one has determined that, one needs to do a
merge-like run through both columns to make sure that at this stem distance, all
note heads either merge to identical positions, or don't touch one another.
On Mar 4, 2012, at 8:37 PM, k-ohara5a5a@oco.net wrote: > Mike I begin to suspect ...
13 years, 2 months ago
(2012-03-04 20:13:10 UTC)
#3
On Mar 4, 2012, at 8:37 PM, k-ohara5a5a@oco.net wrote:
> Mike I begin to suspect that you employ an army of monkeys on keyboards.
> This code works by accident.
>
I obviously don't pay them enough :)
I just took a stab at it to see if I could get it done quickly: David has a few
solid criticisms of the approach's fitness for real music, and if it works by
accident as you say (I was following the TODO), then I think he'll be able to
spend the time to make it work on purpose. I unfortunately have very little
time over the next couple weeks, and I think he can do a good job bringing it to
push stage.
Cheers,
MS
On Sun, 04 Mar 2012 12:12:57 -0800, mike@apollinemike.com <mike@apollinemike.com> wrote: > I just took a ...
13 years, 2 months ago
(2012-03-04 21:29:32 UTC)
#4
On Sun, 04 Mar 2012 12:12:57 -0800, mike@apollinemike.com
<mike@apollinemike.com> wrote:
> I just took a stab at it to see if I could get it done quickly [...]
> if it works by accident as you say (I was following the TODO),
You misunderstand what you, or your army of monkeys, did.
The TODO suggested filtering out heads not in the main note-column, which would
be those with non-zero x-coordinate relative to the note-column. Your army
created code to compute min_ups and min_downs, and consider only heads at those
positions. If min_* were actually the minimums, this would do something
different from what the TODO suggested.
--
Keith
Issue 5729057: Allows seconds to merge
Created 13 years, 2 months ago by MikeSol
Modified 13 years, 2 months ago
Reviewers: dak, Keith, mike_apollinemike.com
Base URL:
Comments: 6