On 11/21/2015 07:00 AM, David Faure wrote:

Let me say up top that doing this much work to put a slash on a grace 
note is preposterous, I agree. That's why I'm not offering to go through 
with any of this.

This gets a cheap solution or no solution on the horizon.

The cheap solution is to hijack existing things in a novel way. You can 
put tremolo slashes on grace notes (although they make no sense). Modify 
LilyPond export to interpret this as a slashy grace note, and voilĂ , the 
latest cheap LilyPond hack that would have liked to be a real feature, 
but it just wasn't worth that much work.

> Wouldn't it be simpler to have a single "slash" toggle action, applicable
> to any duration? So that one might slash a 16th grace note too.

The duration toolbar would show the slashed durations when appropriate, 
and hide them when not.  A toggle is possible too.  (Research suggests 
the slash is appropriate for 8th and 16th notes only.)

"Toggle slash on grace notes" is a much harder concept to represent with 
a little picture so that people can discover what the thing does.

"Flagged note with a slash" is a picture that has a precedent in 
notation world, so I think it is the more intuitive choice.

The choice of presentation isn't important to the code.  The two options 
are of similar complexity.  "Make something new available under 
appropriate circumstances."

> I just looked a bit more into the existing grace note feature, and grace notes
> already have zero-duration. So I'm not sure why anything would have to be
> changed there. See existing screenshot.

I'm talking about printed duration on the page, not performance 
duration.  Establishing a new duration for the slashed variants seems 
like a good way to handle the situation.  Again, there are certainly 
other ways, but they aren't any more or less complicated to code.

>> * This becomes a real property, with many cascading effects
>
> Sounds like a simple boolean property to me :)

It's an XML string that needs handling in assorted places, and a 
property that needs testing in assorted places.

>> * Modify umpteen commands to deal with the cascading effects
>
> Isn't that just one "make it slashed" command?

Many other commands consider grace notes in some way.  I would need to 
go through everything to find the few places that needed additional 
handling.

> Ah. This is something I don't have any clue about. We don't do custom QPainter
> drawing but we expect to find a font that contains 8ths and 16ths etc? 
> Surprising,
> how do we connect beaming to that then?

Poorly.  We fought and fought with half pixel and alignment problems. 
We concluded there is no magic setting that works for everyone 
everywhere.  Different screen resolutions, different graphics systems, 
different graphics drivers.  Results were all over the place.

Note fonts are a huge pain.  That is why I forked KCharSelect as 
QCharSelect.  I had to bring the old one back to life, because the new 
fancy one is totally useless for finding the note glyphs in the fonts, 
so I can do the mappings.

> I'm surprised that this is seen as something that complex to add. I see it
> as a simple on/off setting with no other effect than rendering (and lilypond 
> export),
> given that the duration calculations are already just fine for grace notes.

If anything, I've probably skipped a few steps.  Adding things to the 
notation editor is complicated and hard to get right.  You see "just add 
a slash" and I see "just add a new property and a whole pile of things 
to deal with it when saving/loading/editing/rendering/exporting/etc."
-- 
D. Michael McIntyre

------------------------------------------------------------------------------
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to