From: SourceForge.net <no...@so...> - 2011-02-17 15:57:53
|
Patches item #3184480, was opened at 2011-02-17 04:54 Message generated for change (Comment added) made by You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=304932&aid=3184480&group_id=4932 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Daren Beattie () Assigned to: Nobody/Anonymous (nobody) Summary: Don't add marks to rests Initial Comment: This patch will bypass adding a mark to an event if the event is a rest. The primary impetus for this patch came from an error in the LilyPond export, wherein LilyPond was unable to parse three measures of a piece that involved a mix of notes (all staccato) and rests. In particular, it was getting hung up on the staccato marking applied to quarter rests. After re-doing those three measures and applying the staccato marks to each note individually (rather than selecting all three measures and applying the staccato to the whole selection, as I had done before), the LilyPond export worked. However, another section of the piece has alternating eighth notes and eighth rests for six measures, with each note having a mordent, which I had applied in the same way (entire selection at once). The mordents don't appear over the rests in RoseGarden, but they do in the LilyPond output. So I was left to re-do them one note at a time, which is a bit tedious. Looking through the list of mark types that can be applied in AddMarkCommand::modifySegment(), I don't see any that should be applied to rests. Hence the patch. ---------------------------------------------------------------------- >Comment By: Daren Beattie () Date: 2011-02-17 15:57 Message: Easy peasy. It looks like I can use Marks::isTextMark() to check for text marks. Would you prefer that I call that method and also check for Marks::Pause directly in AddMarkCommand::modifySegment(), or create a new Marks::isApplicableToRests() method? ---------------------------------------------------------------------- Comment By: D. Michael McIntyre (dmmcintyr) Date: 2011-02-17 06:44 Message: OK, so I've had a deeper look. The intention was to allow only text marks and fermatas on rests. If only rests are selected, then only these marks are available. I've verified that LilyPond can cope with both of these. In particular, text marks over rests are especially important, because people use them to mark chord changes in sections where there is no melody. (Rosegarden displays none of this properly, but that's a separate matter.) Where all of this good-intentioned allowing of marks on rests went wrong was in failing to deal with a mixed selection properly. That's how you've hit this. The type of thing selected switches on various options, and when you've got both rests and notes in the same selection, it effectively turns everything on. So I suppose you're in the right place with this indeed, but it needs doctoring to pass fermatas and text marks through, while stripping everything else one might be trying to tack onto a rest. Feel up for it? ---------------------------------------------------------------------- Comment By: D. Michael McIntyre (dmmcintyr) Date: 2011-02-17 06:13 Message: It's always great to see reports of trouble that are accompanied by patches! As it happens, there's at least one mark that does occur over a rest, so I'll have to think about this one a little bit before committing away. I was on a mission not too long ago to get a fermata over a rest to work properly, because I encountered this in some piece of music I was rearranging. (I never did get that to work as I wanted. It exports, but it doesn't display properly in Rosegarden for tricky reasons I never worked out.) I suppose we need to try all the possible marks, and see which ones LilyPond can cope with. There might be something more than a fermata that's musically valid, although I can't think of anything off hand. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=304932&aid=3184480&group_id=4932 |