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
