|
|
Created:
12 years, 1 month ago by MikeSol Modified:
11 years, 11 months ago Reviewers:
Keith, janek, wl, mike7, Neil Puttock, x.scheuer, Ian Hulin (gmail), lemzwerg, dak, t.daniels, pkx166h CC:
lilypond-devel_gnu.org Visibility:
Public. |
DescriptionAllows slurs to break at barlines.
Patch Set 1 #
Total comments: 1
Patch Set 2 : Uses breakSlurHere command #Patch Set 3 : Allows either side of the broken slur to be junked #Patch Set 4 : Small cleanups #Patch Set 5 : From Neil's suggestions. #Patch Set 6 : Breaks slurs at repeats by default. #
Total comments: 1
Patch Set 7 : Fixes bug in alternative count #Patch Set 8 : Allows slurs to naturally stop and end at barlines. #Patch Set 9 : Implements inheritence in slur engravers to avoid code dups #Patch Set 10 : After large rebase #
Total comments: 1
Patch Set 11 : Rebases against master #
Total comments: 1
Patch Set 12 : Uses \broken command for manually starting and ending repeat slurs. #Patch Set 13 : Adds copying of direction. #
Total comments: 1
Patch Set 14 : Correctly handles directions for broken slurs #Patch Set 15 : Adds comments. #
Total comments: 1
Patch Set 16 : Two backslashes #
Total comments: 1
Patch Set 17 : Changes name, harmonizes slur direction #
MessagesTotal messages: 83
https://codereview.appspot.com/7424049/diff/1/input/regression/repeat-slur.ly File input/regression/repeat-slur.ly (right): https://codereview.appspot.com/7424049/diff/1/input/regression/repeat-slur.ly... input/regression/repeat-slur.ly:14: \alternative { { a' ) b' \set breakSlurAtBarLine = ##t c' ( d' } Can't you use 'to-barline for this?
Sign in to reply to this message.
Uses breakSlurHere command
Sign in to reply to this message.
On 28 févr. 2013, at 21:30, n.puttock@gmail.com wrote: > > https://codereview.appspot.com/7424049/diff/1/input/regression/repeat-slur.ly > File input/regression/repeat-slur.ly (right): > > https://codereview.appspot.com/7424049/diff/1/input/regression/repeat-slur.ly... > input/regression/repeat-slur.ly:14: \alternative { { a' ) b' \set > breakSlurAtBarLine = ##t c' ( d' } > Can't you use 'to-barline for this? > > https://codereview.appspot.com/7424049/ > You're right, but I've opted for the breaking behavior in the most recent patch-set (\breakSlurHere). Otherwise, slurs wouldn't be able to span only one musical moment. We miss you! Come back! Cheers, MS
Sign in to reply to this message.
Allows either side of the broken slur to be junked
Sign in to reply to this message.
Small cleanups
Sign in to reply to this message.
On Feb 28, 2013 8:37 PM, "mike@mikesolomon.org" <mike@mikesolomon.org> wrote: > You're right, but I've opted for the breaking behavior in the most recent patch-set (\breakSlurHere). Otherwise, slurs wouldn't be able to span only one musical moment. Ok, so how about using an event of class break-span-event (like \breakDynamicSpan)? > We miss you! Come back! Thanks. :-) I can feel the itch returning, but really need to get a laptop first unless I can commandeer our new iMac when it arrives next month and work out how to do things iOS fashion. Cheers, Neil
Sign in to reply to this message.
From Neil's suggestions.
Sign in to reply to this message.
On 28 févr. 2013, at 22:29, Neil Puttock <n.puttock@gmail.com> wrote: > > On Feb 28, 2013 8:37 PM, "mike@mikesolomon.org" <mike@mikesolomon.org> wrote: > > > You're right, but I've opted for the breaking behavior in the most recent patch-set (\breakSlurHere). Otherwise, slurs wouldn't be able to span only one musical moment. > > Ok, so how about using an event of class break-span-event (like \breakDynamicSpan)? > > Brilliant! Done. > > We miss you! Come back! > > Thanks. :-) > > I can feel the itch returning, but really need to get a laptop first unless I can commandeer our new iMac when it arrives next month and work out how to do things iOS fashion. > > Good deal. I'm a Mac user but I do all my development in a virtual box to keep from messing up my OS. Looking forward to more of your contributions and reviews! Cheers, MS
Sign in to reply to this message.
Breaks slurs at repeats by default.
Sign in to reply to this message.
Fixes bug in alternative count
Sign in to reply to this message.
Very nice, and thanks a lot! From visual inspection only, LGTM. Just curious: You apparently like the word `junk', however, I find it not optimal. Can you replace this with `discard' or `cut' within the command names? https://codereview.appspot.com/7424049/diff/3002/scm/define-music-types.scm File scm/define-music-types.scm (right): https://codereview.appspot.com/7424049/diff/3002/scm/define-music-types.scm#n... scm/define-music-types.scm:122: . ((description . "End a slur here.") -> "End a phrasing slur here."
Sign in to reply to this message.
Allows slurs to naturally stop and end at barlines.
Sign in to reply to this message.
Much better, thanks!
Sign in to reply to this message.
Implements inheritence in slur engravers to avoid code dups
Sign in to reply to this message.
On 2013/03/01 10:56:57, MikeSol wrote: > Implements inheritence in slur engravers to avoid code dups Mike, can you make that a separate review placed on issue 2689? Things become too tangled up to review on their respective merits otherwise.
Sign in to reply to this message.
After large rebase
Sign in to reply to this message.
https://codereview.appspot.com/7424049/diff/19022/ly/spanners-init.ly File ly/spanners-init.ly (right): https://codereview.appspot.com/7424049/diff/19022/ly/spanners-init.ly#newcode114 ly/spanners-init.ly:114: breakSlur = #(make-music 'BreakSlurEvent) I am not happy with a new event type here. Can't this become an additional property on the existing events? That way, we could do make with a single command \broken used like c\broken( and similar. That's one new user interface rather than half a dozen and growing.
Sign in to reply to this message.
On 8 mars 2013, at 13:54, dak@gnu.org wrote: > > https://codereview.appspot.com/7424049/diff/19022/ly/spanners-init.ly > File ly/spanners-init.ly (right): > > https://codereview.appspot.com/7424049/diff/19022/ly/spanners-init.ly#newcode114 > ly/spanners-init.ly:114: breakSlur = #(make-music 'BreakSlurEvent) > I am not happy with a new event type here. Can't this become an > additional property on the existing events? That way, we could do make > with a single command \broken used like > c\broken( > and similar. > > That's one new user interface rather than half a dozen and growing. > I like the idea of using BreakSlurEvent and BreakPhrasingSlurEvent because they function like BreakDynamicSpanEvent. Essentially, each event that creates a spanner can have a Break*Event to break said spanner. This also allows the event to not be a post event, which is important when you want to start a score with a broken slur. https://codereview.appspot.com/7424049/
Sign in to reply to this message.
Rebases against master
Sign in to reply to this message.
https://codereview.appspot.com/7424049/diff/41001/input/regression/repeat-slu... File input/regression/repeat-slur.ly (right): https://codereview.appspot.com/7424049/diff/41001/input/regression/repeat-slu... input/regression/repeat-slur.ly:10: " This should be rather @code{\\breakSlur}, @code{\\startBrokenSlur} and @code{\\stopBrokenSlur}. And what exactly does \breakSlur? It's missing in the regtest. Finally, you should mention phrasing slurs also.
Sign in to reply to this message.
Uses \broken command for manually starting and ending repeat slurs.
Sign in to reply to this message.
Adds copying of direction.
Sign in to reply to this message.
The most recent patch set copies direction from SlurEvents and PhrasingSlurEvents, but this doesn't seem to work as intended (it fails silently). Everything else is operational.
Sign in to reply to this message.
LGTM. I can't help with the problem you are mentioning, but I have the feeling that the overall code has improved (and probably become simpler also) w.r.t. previous versions of the patch. Congrats! https://codereview.appspot.com/7424049/diff/53001/input/regression/repeat-slu... File input/regression/repeat-slur.ly (right): https://codereview.appspot.com/7424049/diff/53001/input/regression/repeat-slu... input/regression/repeat-slur.ly:9: broken slur at a bar, use @code{broken} with a closing parenthesis. You don't like the backslash, do you? :-) Please say `@code{\\broken}', etc.
Sign in to reply to this message.
Correctly handles directions for broken slurs
Sign in to reply to this message.
Adds comments.
Sign in to reply to this message.
https://codereview.appspot.com/7424049/diff/62001/input/regression/repeat-slu... File input/regression/repeat-slur.ly (right): https://codereview.appspot.com/7424049/diff/62001/input/regression/repeat-slu... input/regression/repeat-slur.ly:9: broken slur at a bar, use @code{\broken} with a closing parenthesis. Sorry to bother you again, but *two* backslashes are needed: @code{\\broken}
Sign in to reply to this message.
Two backslashes
Sign in to reply to this message.
On 2013/03/19 15:22:41, MikeSol wrote: > Two backslashes After some consideration, I consider the name \broken suboptimal since it implies two pieces. Two other possibilities would be \detached and \fake.
Sign in to reply to this message.
On 19 mars 2013, at 22:26, dak@gnu.org wrote: > On 2013/03/19 15:22:41, MikeSol wrote: >> Two backslashes > > After some consideration, I consider the name \broken suboptimal since > it implies two pieces. Two other possibilities would be \detached and > \fake. > > https://codereview.appspot.com/7424049/ I vote for detached. Cheers, MS
Sign in to reply to this message.
>> After some consideration, I consider the name \broken suboptimal since >> it implies two pieces. Two other possibilities would be \detached and >> \fake. > > I vote for detached. I vote for \broken. For me, it doesn't imply two pieces. This was David's first, quick suggestion, and I think it's good for exactly this reason. Werner
Sign in to reply to this message.
On 19 mars 2013, at 23:37, Werner LEMBERG <wl@gnu.org> wrote: >>> After some consideration, I consider the name \broken suboptimal since >>> it implies two pieces. Two other possibilities would be \detached and >>> \fake. >> >> I vote for detached. > > I vote for \broken. For me, it doesn't imply two pieces. This was > David's first, quick suggestion, and I think it's good for exactly > this reason. > > > Werner I amend my statement - I should have said that I don't have a preference. Anything that people like is fine. Cheers, MS
Sign in to reply to this message.
On 2013/03/19 22:37:14, wl_gnu.org wrote: > >> After some consideration, I consider the name \broken suboptimal since > >> it implies two pieces. Two other possibilities would be \detached and > >> \fake. > > > > I vote for detached. > > I vote for \broken. For me, it doesn't imply two pieces. This was > David's first, quick suggestion, and I think it's good for exactly > this reason. The first suggestion just picked this off the proposed music event name. Here is why I consider \fake or \detached better: when I see \broken\< or \broken\!, this does not really help me figure out where to use them. \broken\! actually looks, uh, broken. How do you break an end spanner? However, \fake\< or \fake\! immediately make clear that we are talking about something still being used in the function of a starting and ending spanner, respectively. I like it somewhat better than \detached, but of course the latter is a bit more dignified. It's also longer.
Sign in to reply to this message.
On 20 mars 2013, at 03:24, dak@gnu.org wrote: > On 2013/03/19 22:37:14, wl_gnu.org wrote: >> >> After some consideration, I consider the name \broken suboptimal > since >> >> it implies two pieces. Two other possibilities would be \detached > and >> >> \fake. >> > >> > I vote for detached. > >> I vote for \broken. For me, it doesn't imply two pieces. This was >> David's first, quick suggestion, and I think it's good for exactly >> this reason. > > The first suggestion just picked this off the proposed music event name. > Here is why I consider \fake or \detached better: > > when I see \broken\< or \broken\!, this does not really help me figure > out where to use them. \broken\! actually looks, uh, broken. How do > you break an end spanner? > > However, \fake\< or \fake\! immediately make clear that we are talking > about something still being used in the function of a starting and > ending spanner, respectively. Trying to put myself in the shoes of the average user, \fake would not mean a function that uses a fake post event, but rather a function that produces a \fake something. I would think "this makes a fake slur", which is not the case. I like \detached because it describes accurately what is going on - if I were reading the manual and saw that \detached ( created a slur detached from noteheads, I'd remember the command. \broken slightly less because we are not always breaking something (we are only doing that with \breakSlur). Cheers, MS
Sign in to reply to this message.
"mike@mikesolomon.org" <mike@mikesolomon.org> writes: > Trying to put myself in the shoes of the average user, \fake would not > mean a function that uses a fake post event, but rather a function > that produces a \fake something. I would think "this makes a fake > slur", which is not the case. It makes a fake slur start or end. When using \unfoldRepeats, the fake slur starts and ends will actually get dropped. If we have something like g f e d( \repeat { c d) e f ( } \alternatives { { g) a b( a \fake) } { \fake( e) d c( d \fake) } { \fake( d) c d( e } } d c) d c Then when doing \unfoldRepeats, all fakes are removed and the remaining non-faked slur end points are actually combined instead of getting their respective slurs stopped short at the discontinuity of a repeat bar line. > I like \detached because it describes accurately what is going on - if > I were reading the manual and saw that \detached ( created a slur > detached from noteheads, I'd remember the command. But it doesn't. It provides a temporary artificially detached start or end point of a slur. It is not the slur that is detached but rather its true anchor elsewhere. > \broken slightly less because we are not always breaking something (we > are only doing that with \breakSlur). Not even then. The name is not accurate. I'll agree that \fake is somewhat cheesy. But it's nicer than \onlyWhenNotUnfolded or \whenFolded or so. -- David Kastrup
Sign in to reply to this message.
On 20 mars 2013, at 06:07, David Kastrup <dak@gnu.org> wrote: > "mike@mikesolomon.org" <mike@mikesolomon.org> writes: > >> Trying to put myself in the shoes of the average user, \fake would not >> mean a function that uses a fake post event, but rather a function >> that produces a \fake something. I would think "this makes a fake >> slur", which is not the case. > > It makes a fake slur start or end. The word "fake" still doesn't sit right with me... There is nothing fake about the slur: { a \fake ( b c d ) } It is real. The function, to me, should describe an attribute of the slur. The slur looks detached and broken, but not fake. There are commands like slurDashed, slurDotted, etc. that describe what the output will be like. I think it's important to stay in that logic. If we're going to use this for many spanners, my vote would be \broken. The slurs look broken, and things like beams and hairpins will definitely look broken as well if we split them using the same sort of algorithm. To me, something can look "broken" and this designation does not have any bearing on if all the pieces are there or not. It is a quality of the object. Cheers, MS
Sign in to reply to this message.
>> I vote for \broken. For me, it doesn't imply two pieces. This was >> David's first, quick suggestion, and I think it's good for exactly >> this reason. > > when I see \broken\< or \broken\!, this does not really help me > figure out where to use them. \broken\! actually looks, uh, broken. > How do you break an end spanner? > > However, \fake\< or \fake\! immediately make clear that we are > talking about something still being used in the function of a > starting and ending spanner, respectively. I like it somewhat > better than \detached, but of course the latter is a bit more > dignified. It's also longer. Hmm, I don't like \detached. It has no connection to a partial slur whatsoever. Since \partial is already taken, what about \cut? The spanner gets cut a bit, right? Werner
Sign in to reply to this message.
> Since \partial is already taken, what about \cut? The > spanner gets cut a bit, right? I can even imagine to use to commands, \start and \end to get, say, `\start(' or `\end\>'. Who knows, maybe this destinction is advantageous sometime in the future. Werner
Sign in to reply to this message.
> I can even imagine to use to commands, \start and \end to get, say, > `\start(' or `\end\>'. Who knows, maybe this destinction is > advantageous sometime in the future. Maybe even better \startOf and \endOf. Werner
Sign in to reply to this message.
On 20 mars 2013, at 07:25, Werner LEMBERG <wl@gnu.org> wrote: > >> I can even imagine to use to commands, \start and \end to get, say, >> `\start(' or `\end\>'. Who knows, maybe this destinction is >> advantageous sometime in the future. > > Maybe even better \startOf and \endOf. > > > Werner The problem with \cut is that it is both a verb and adjective - the thing looks "cut", but people might think that cutting is done. As for start/end, all spanners are started and ended by definition, so this may be confusing. My vote: 1) \broken 2) \detached 3) \cut 4) \alignSpannerToNonMusicalPaperColumn 5) \fake Cheers, MS
Sign in to reply to this message.
"mike@mikesolomon.org" <mike@mikesolomon.org> writes: > On 20 mars 2013, at 06:07, David Kastrup <dak@gnu.org> wrote: > >> "mike@mikesolomon.org" <mike@mikesolomon.org> writes: >> >>> Trying to put myself in the shoes of the average user, \fake would >>> not mean a function that uses a fake post event, but rather a >>> function that produces a \fake something. I would think "this makes >>> a fake slur", which is not the case. >> >> It makes a fake slur start or end. > > The word "fake" still doesn't sit right with me... There is nothing > fake about the slur: > > { a \fake ( b c d ) } Mike, that code does not even make any sense. You would not place a fake slur start or fake slur end anywhere except right after or right before a visual discontinuity from a repeat construct. You probably did not understand what I wrote, probably because "it makes a fake slur start or end" is not grammatically clear. I mean "It makes a fake slur-start or a fake slur-end" by that. > It is real. The slur is real. The end point isn't. > The function, to me, should describe an attribute of the slur. But it doesn't. It describes an attribute of its visual start or end point. > The slur looks detached and broken, but not fake. But the attachment is fake, and the slur will get properly attached to the proper end points when repeats are unfolded. > There are commands like slurDashed, slurDotted, etc. that describe > what the output will be like. And the output will be like that even when repeats are unfolded. > I think it's important to stay in that logic. If we're going to use > this for many spanners, my vote would be \broken. But it is not the slur that is "broken" but rather its visual connection to _one_ or even _two_ of its end points. You can perfectly well and meaningfully have an alternative written as { \fake\( c d e f \fake\) } and when unfolding, the phrasing slur will start at some point preceding this passage and end at some point succeeding it. > The slurs look broken, If you want to, but the whole of ( \broken) \broken( \broken) \broken( ) is just _one_ slur broken into three pieces, not one whole slur and two broken slurs. That logic is more apparent with writing ( \fake) \fake( \fake) \fake( ) The breaking occurs at artificial points not related to the music function of the slur, and it will get dissolved when unfolding repeats. The break of the slur does not occur where \broken is written, but rather it is at a visual discontinuity logically connected with matching pairs of \broken) ... \broken(. Your above example suggests that this relation does not seem clear to you. > and things like beams and hairpins will definitely look broken as well > if we split them using the same sort of algorithm. Sure, and again the split will be between matching pairs of artificial end and start points that are not logical end and start points and will disappear when repeats are unfolded and the broken construct gets joined visually as well as logically. > To me, something can look "broken" and this designation does not have > any bearing on if all the pieces are there or not. It is a quality of > the object. No, it is a quality of the respective visual (but not logical) start and end points. And I would prefer a naming choice that makes it easier for people to understand what they are doing. You are making a strong case for this being hard enough to make it prudent to avoid fallacious naming. -- David Kastrup
Sign in to reply to this message.
On 20 mars 2013, at 07:50, David Kastrup <dak@gnu.org> wrote: > "mike@mikesolomon.org" <mike@mikesolomon.org> writes: > >> On 20 mars 2013, at 06:07, David Kastrup <dak@gnu.org> wrote: >> >>> "mike@mikesolomon.org" <mike@mikesolomon.org> writes: >>> >>>> Trying to put myself in the shoes of the average user, \fake would >>>> not mean a function that uses a fake post event, but rather a >>>> function that produces a \fake something. I would think "this makes >>>> a fake slur", which is not the case. >>> >>> It makes a fake slur start or end. >> >> The word "fake" still doesn't sit right with me... There is nothing >> fake about the slur: >> >> { a \fake ( b c d ) } > > Mike, that code does not even make any sense. If one is quoting another instrument starting in mid-measure, why wouldn't that make sense? > You would not place a > fake slur start or fake slur end anywhere except right after or right > before a visual discontinuity from a repeat construct. You probably did > not understand what I wrote, probably because "it makes a fake slur > start or end" is not grammatically clear. I mean "It makes a fake > slur-start or a fake slur-end" by that. Ok, I'm getting what you're saying. I still don't like "fake" just because the begin and start are still real. They are just offset. > >> It is real. > > The slur is real. The end point isn't. What is not real about the endpoint? If I jump on a train in between two stations, it is still a real getting-on-board. > >> The function, to me, should describe an attribute of the slur. > > But it doesn't. It describes an attribute of its visual start or end > point. This is a good idea. > >> The slur looks detached and broken, but not fake. > > But the attachment is fake, and the slur will get properly attached to > the proper end points when repeats are unfolded. Perhaps non-musical? > >> There are commands like slurDashed, slurDotted, etc. that describe >> what the output will be like. > > And the output will be like that even when repeats are unfolded. > >> I think it's important to stay in that logic. If we're going to use >> this for many spanners, my vote would be \broken. > > But it is not the slur that is "broken" but rather its visual connection > to _one_ or even _two_ of its end points. You can perfectly well and > meaningfully have an alternative written as > > { \fake\( c d e f \fake\) } > > and when unfolding, the phrasing slur will start at some point preceding > this passage and end at some point succeeding it. > >> The slurs look broken, > > If you want to, but the whole of > ( \broken) \broken( \broken) \broken( ) > is just _one_ slur broken into three pieces, not one whole slur and two > broken slurs. That logic is more apparent with writing > ( \fake) \fake( \fake) \fake( ) > > The breaking occurs at artificial points not related to the music > function of the slur, and it will get dissolved when unfolding repeats. > > The break of the slur does not occur where \broken is written, but > rather it is at a visual discontinuity logically connected with matching > pairs of \broken) ... \broken(. Your above example suggests that this > relation does not seem clear to you. > >> and things like beams and hairpins will definitely look broken as well >> if we split them using the same sort of algorithm. > > Sure, and again the split will be between matching pairs of artificial > end and start points that are not logical end and start points and will > disappear when repeats are unfolded and the broken construct gets joined > visually as well as logically. > >> To me, something can look "broken" and this designation does not have >> any bearing on if all the pieces are there or not. It is a quality of >> the object. > > No, it is a quality of the respective visual (but not logical) start and > end points. And I would prefer a naming choice that makes it easier for > people to understand what they are doing. You are making a strong case > for this being hard enough to make it prudent to avoid fallacious > naming. I completely agree. It's just that "fake" in English means false or counterfeit. It needs another word, just don't know what yet. unchained? free? Cheers, MS
Sign in to reply to this message.
mike@mikesolomon.org > I completely agree. It's just that "fake" in English means false or counterfeit. It needs another word, just don't know what yet. unchained? free? At the risk of prolonging the bike-shedding, here's my take. For me, the key consideration is to provide an easily remembered name that can be internally vocalised as the slur is typed in. And we need a user-centric (not developer-centric) word - what is the user's conception of such a slur? Also we need an attribute of the end point of the slur, not the slur as a whole, since it is to be applied to an end point. The word should fit comfortably as an adjective in the phrase "xxx slur start/end" as "free slur end" to aid vocalisation. I'm not keen on \broken or \fake; they have other incorrect and unhelpful connotations. \detached or \free are better. Others might be \floating, \hanging, \loose, \dangling, although these are a bit long. Of all the suggestions so far I prefer \free. Trevor
Sign in to reply to this message.
"mike@mikesolomon.org" <mike@mikesolomon.org> writes: > On 20 mars 2013, at 07:50, David Kastrup <dak@gnu.org> wrote: > >> "mike@mikesolomon.org" <mike@mikesolomon.org> writes: >> >>> The word "fake" still doesn't sit right with me... There is nothing >>> fake about the slur: >>> >>> { a \fake ( b c d ) } >> >> Mike, that code does not even make any sense. > > If one is quoting another instrument starting in mid-measure, why > wouldn't that make sense? A quote without any indication of it being a quote, starting immediately after a non-quoted note? Isn't that kind of a fake example? >> You would not place a fake slur start or fake slur end anywhere >> except right after or right before a visual discontinuity from a >> repeat construct. You probably did not understand what I wrote, >> probably because "it makes a fake slur start or end" is not >> grammatically clear. I mean "It makes a fake slur-start or a fake >> slur-end" by that. > > Ok, I'm getting what you're saying. I still don't like "fake" just > because the begin and start are still real. They are just offset. Now it is my turn not to be able to figure out the meaning. "offset" in the meaning of adjusted, or relocated? >>> It is real. >> >> The slur is real. The end point isn't. > > What is not real about the endpoint? If I jump on a train in between > two stations, it is still a real getting-on-board. [...] >>> The slur looks detached and broken, but not fake. >> >> But the attachment is fake, and the slur will get properly attached to >> the proper end points when repeats are unfolded. > > Perhaps non-musical? "non-musical" is definitely a good term to be used in the documentation. It captures an important concept. But there is also a musical component: \fake) is the entrance of a wormhole ultimately leading to some musical ), and \fake( is the exit from a wormhole that ultimately had some musical ( before it. So they are a binding promise of real musical content at a different visual location, restoring the spanner symmetry broken by the non-linear visual arrangement. >> No, it is a quality of the respective visual (but not logical) start >> and end points. And I would prefer a naming choice that makes it >> easier for people to understand what they are doing. You are making >> a strong case for this being hard enough to make it prudent to avoid >> fallacious naming. > > I completely agree. It's just that "fake" in English means false or > counterfeit. It needs another word, just don't know what yet. > unchained? free? What's a term for the other side of a wormhole? \surrogate would also reflect one part of the concept, but that word is so artificial... I'd prefer some term that would grow into a natural concept to a degree where people would prefer using it extensively over having an automatism that leads to source code with unmatched delimiters. Like electrical engineers preferring to add an imaginary component to differential equations in order to have something much nicer to work with, even if they are going to throw the imaginary component away after they have finished solving the equation. -- David Kastrup
Sign in to reply to this message.
\fake and \broken are concise but "feel" wrong, implying something's wrong with something else but the name doesn't describe it. I think a function name where we've got to resort to being clever maybe indicate we're trying to solve the wrong problem: we're trying to make the name short at the expense of descriptiveness. Brevity is good, but a top-level LilyPond function name has to describe what it does reasonably accurately. Wow, talking about wormholes, does this mean we could think of properties like Slur.EventHorizon or Slur.GravityWell :-) ? I understand even less about electrical engineers as they aren't cool enough for their techno-babble to make it into Sci-Fi. Let's maybe invent a descriptive function name like \slurInRepeat. If the design needs it at both ends of the repeated block you could consider a single keyword parameter for the function, o \slurInRepeat #'begin - to appear at the end of the block and indicate you're starting a new, partial slur and o \slurInRepeat #'complete - to appear at the beginning of the block and indicate you need to generate the rest of of the slur. This would also fit better with the current set of \slur* commands which are basically slur property setter commands e.g. \slurDotted \slurUp \slurSolid. Cheers Ian
Sign in to reply to this message.
On 20 March 2013 12:35, <ianhulin44@gmail.com> wrote: > \fake and \broken are concise but "feel" wrong, implying something's > wrong with something else but the name doesn't describe it. > > I think a function name where we've got to resort to being clever maybe > indicate we're trying to solve the wrong problem: we're trying to make > the name short at the expense of descriptiveness. Brevity is good, but a > top-level LilyPond function name has to describe what it does reasonably > accurately. > \pointAndClickOff :) James
Sign in to reply to this message.
On 2013/03/20 12:35:37, Ian Hulin (gmail) wrote: > \fake and \broken are concise but "feel" wrong, implying something's > wrong with something else but the name doesn't describe it. Without pointing out what makes you think they feel wrong, that's not helpful. > I think a function name where we've got to resort to being clever "clever" is pretty much the opposite of "descriptive", so I consider that a mischaracterization of the discussion. > maybe indicate we're trying to solve the wrong problem: we're trying > to make the name short at the expense of descriptiveness. Brevity is > good, but a top-level LilyPond function name has to describe what it > does reasonably accurately. Again, I feel you are mischaracterizing what we are doing. > Let's maybe invent a descriptive function name like \slurInRepeat. > If the design needs it at both ends of the repeated block you could > consider a single keyword parameter for the function, > o \slurInRepeat #'begin - to appear at the end of the block and indicate you're > starting a new, partial slur and > o \slurInRepeat #'complete - to appear at the beginning of the block and > indicate you need to generate the rest of of the slur. Oh great. And let's invent another similarly "descriptive" unique function name not related to the actual phrasing slur command for partial phrasing slurs. And yet another function name for partial dynamics. My, how simple life is going to get for users! > This would also fit better with the current set of \slur* commands > which are basically slur property setter commands e.g. \slurDotted > \slurUp \slurSolid. But they are not matched with slur property setter commands (which set permanent overrides) but with actual slur start and end commands. Which an editor (and the human observer) will hopefully match with written start and end commands, so it makes sense to have them visually matched with actually written start and end commands. And since with repeat constructs, the actually _true_ start and end commands _don't_ need to match, it makes perfect sense to use the same commands as part of visual slur starts and ends (which _have_ to match together with the actual slur starts and ends) that we do for the actual slur starts and ends. I think that the advantages of that scheme are clear enough that discussing far more awkward approaches does not make sense. We still need a name we can agree on. Other names than \fake with a more positive connotation would be \visual or \virtual.
Sign in to reply to this message.
Yet another possibility would be \inner but that implies a hierarchy. More accurate would be \continued.
Sign in to reply to this message.
> If the design needs it at both ends of the repeated block you could > consider a single keyword parameter for the function, > > o \slurInRepeat #'begin - to appear at the end of the block and > indicate you're starting a new, partial slur and > > o \slurInRepeat #'complete - to appear at the beginning of the block > and indicate you need to generate the rest of of the slur. > > This would also fit better with the current set of \slur* commands > which are basically slur property setter commands e.g. \slurDotted > \slurUp \slurSolid. For me, this is too verbose. What about \leftPart( \rightPart) or \leftPartOf( \rightPartOf) ? This should be quite universal for all spanners. Werner
Sign in to reply to this message.
And yet another would be \silent as a sort of negative variant of \visual.
Sign in to reply to this message.
On 20 mars 2013, at 14:26, dak@gnu.org wrote: > Yet another possibility would be \inner but that implies a hierarchy. > More accurate would be \continued. > > https://codereview.appspot.com/7424049/ I like \interrupted Cheers, MS
Sign in to reply to this message.
>> More accurate would be \continued. >> >> https://codereview.appspot.com/7424049/ > > I like \interrupted I can live with both \continued and \interrupted. Werner
Sign in to reply to this message.
Hello On 20 March 2013 13:40, Werner LEMBERG <wl@gnu.org> wrote: > >> More accurate would be \continued. > >> > >> https://codereview.appspot.com/7424049/ > > > > I like \interrupted > > I can live with both \continued and \interrupted. > Is that with two 'r's or two 'p's or both? ... are you sure? James
Sign in to reply to this message.
"mike@mikesolomon.org" <mike@mikesolomon.org> writes: > On 20 mars 2013, at 14:26, dak@gnu.org wrote: > >> Yet another possibility would be \inner but that implies a hierarchy. >> More accurate would be \continued. >> >> https://codereview.appspot.com/7424049/ > > I like \interrupted I considered that but self-censored because it leads to the visual pairings ( ... \interrupted) and \interrupted( ... ). That is, \interrupted) talks about ) being interrupted when ) has not yet been seen. For \interrupted( the naming choice works better. I'd prefer it if we found a word that makes good sense in both places/directions, saving the user from dealing with a naming redundancy. -- David Kastrup
Sign in to reply to this message.
Werner LEMBERG <wl@gnu.org> writes: >> If the design needs it at both ends of the repeated block you could >> consider a single keyword parameter for the function, >> >> o \slurInRepeat #'begin - to appear at the end of the block and >> indicate you're starting a new, partial slur and >> >> o \slurInRepeat #'complete - to appear at the beginning of the block >> and indicate you need to generate the rest of of the slur. >> >> This would also fit better with the current set of \slur* commands >> which are basically slur property setter commands e.g. \slurDotted >> \slurUp \slurSolid. > > For me, this is too verbose. What about > > \leftPart( > \rightPart) > > or > > \leftPartOf( > \rightPartOf) > > ? This should be quite universal for all spanners. I think any further proposals should _definitely_ explain how to write the given example g f e d( \repeat { c d) e f ( } \alternatives { { g) a b( a \fake) } { \fake( e) d c( d \fake) } { \fake( d) c d( e } } d c) d c with them. According to what you wrote above, this would probably become g f e d( \repeat { c d) e f ( } \alternatives { { g) a b( a \rightPart) } { \leftPart( e) d c( d \rightPart) } { \leftPart( d) c d( e } } d c) d c I have no idea what "rightPart" is supposed to mean here and why ( on its own would _not_ be a left part of anything. We also have no matchup of left and right parts: the \rightPart in the first alternative is the visual match of a paren not called \leftPart, and it connects logically to the closing paren in the \repeat phrase which is not called any part either. -- David Kastrup
Sign in to reply to this message.
James <pkx166h@gmail.com> writes: > Hello > > On 20 March 2013 13:40, Werner LEMBERG <wl@gnu.org> wrote: > > >> More accurate would be \continued. > >> > >> https://codereview.appspot.com/7424049/ > > > > I like \interrupted > > I can live with both \continued and \interrupted. > > Is that with two 'r's or two 'p's or both? We could call it \shed( and \shed) since those slur starts and ends will be shed when repeats are unfolded. -- David Kastrup
Sign in to reply to this message.
On 20 mars 2013, at 14:52, David Kastrup <dak@gnu.org> wrote: > "mike@mikesolomon.org" <mike@mikesolomon.org> writes: > >> On 20 mars 2013, at 14:26, dak@gnu.org wrote: >> >>> Yet another possibility would be \inner but that implies a hierarchy. >>> More accurate would be \continued. >>> >>> https://codereview.appspot.com/7424049/ >> >> I like \interrupted > > I considered that but self-censored because it leads to the visual > pairings ( ... \interrupted) and \interrupted( ... ). > > That is, \interrupted) talks about ) being interrupted when ) has not > yet been seen. For \interrupted( the naming choice works better. I'd > prefer it if we found a word that makes good sense in both > places/directions, saving the user from dealing with a naming > redundancy. > I don't completely follow what you're saying above - could you say it another way? Cheers, MS
Sign in to reply to this message.
> I think any further proposals should _definitely_ explain how to write > the given example > > g f e d( > \repeat { c d) e f ( } > \alternatives { > { g) a b( a \fake) } > { \fake( e) d c( d \fake) } > { \fake( d) c d( e } > } > d c) d c Hmm. It's not clear to me why lilypond can't handle this automatically: g f e d( \repeat { c d) e f( } \alternatives { { g) a b( a } { e) d c( d } { d) c d( e } } d c) d c I thought that Mike's patch is implementing exactly that... It seems that I've *completely* misunderstood the syntax we were talking about, so thanks for this detailed example. However, I still don't like \fake. Looking at your syntax about, the corresponding TeX name would be \phantom which I do now suggest. Werner
Sign in to reply to this message.
On 20 March 2013 15:01, mike@mikesolomon.org <mike@mikesolomon.org> wrote: > > I don't completely follow what you're saying above - could you say it > another way? I don't follow this whole developers discussion about choosing the best command name for the users. Please correct me if I'm wrong. 1. After this has been implemented, slurs across repeats would be actually printed (broken, up to/from the bar line), with the part printed looking like as if the repeat was unfolded. 2. This would be the default behavior (great, huge improvement!). 3. This behavior could be prevented (I can't understand why people would choose this, but well) by setting the property slurOverRepeat=##f 4. "\broken" (or so) would be manual a command to print such "invisible start/end of slur", anywhere in the piece (for which purpose??). Shouldn't you need a "starting pitch"? The shape of a slur c( f) is different from slur g( f) , so should be the broken version. If so, why not a command like LaTeX \phantom? \phantom { c( } f) d( \phantom { c( } Cheers, Xavier -- Xavier Scheuer <x.scheuer@gmail.com>
Sign in to reply to this message.
Werner LEMBERG <wl@gnu.org> writes: >> I think any further proposals should _definitely_ explain how to write >> the given example >> >> g f e d( >> \repeat { c d) e f ( } >> \alternatives { >> { g) a b( a \fake) } >> { \fake( e) d c( d \fake) } >> { \fake( d) c d( e } >> } >> d c) d c > > Hmm. It's not clear to me why lilypond can't handle this > automatically: > > g f e d( > \repeat { c d) e f( } > \alternatives { > { g) a b( a } > { e) d c( d } > { d) c d( e } > } > d c) d c The example actually is a bit too orthogonal to illustrate all pertinent points. Here are some variations: g f e d( \fake) \repeat { \fake( c d) e f ( } [...] Now the first slur will _not_ lead into the repeat unbroken, a valid variation. g f e d( \fake) \repeat { \fake\single\slurDotted( c d) e f [...] This is typical for lyrics where there is a melisma leading into the first repeat but not into all subsequent ones. If there is no melisma into the first repeat but in some alternative, you'd write instead g f e d \repeat { \fake\single\slurDotted( c d) e f } [...] Now since \unfoldRepeats would remove all \fake slurs, the result would be fine here. The opposite case, where a repeat leads into only some alternatives, would be \repeat { c d e f\single\slurDotted( \fake) } which works less well. One possible way around that would be to combine tweaks from start and end slur events, leading to \repeat { c d e f( \fake\single\slurDotted) } which is still not good enough for unfolding unless one starts slur-less alternatives with something like \fake( d\single\omit). Which would not work for audio so for that case we probably really need an explicit slur killing command. Here is another example: g f e d( \repeat { c d) e f } \alternatives { { g a b( a \fake) } { e d c( d \fake) } { d c d e } } d c d c The suggested automatism would turn this into g f e d( \repeat { c d) e f } \alternatives { { g a b( a } { e d c( d } { d c d e } } d c d c which makes for a lot of visually unpaired opening parens in the source code. Mind you: this is pretty much what I have asked for myself. I just have my doubts that an automatism for some cases will not make it harder for other cases and will leave the music source in a less convincing state. I have to admit that leaving _all_ automatism aside does not seem warranted: I can think of no case where inconsistent slur orientation across visual jumps would be desirable. > It seems that I've *completely* misunderstood the syntax we were > talking about, so thanks for this detailed example. However, I still > don't like \fake. Looking at your syntax about, the corresponding TeX > name would be \phantom which I do now suggest. Well, TeX uses \phantom for something which has dimensions but no visual appearance, whereas we would use it for something which has visual appearance (before unfolding) but no sound. But TeX is separate enough from LilyPond that I actually like \phantom rather well for this purpose. -- David Kastrup
Sign in to reply to this message.
Sent from my iPhone On 20 mars 2013, at 16:38, David Kastrup <dak@gnu.org> wrote: > Werner LEMBERG <wl@gnu.org> writes: > >>> I think any further proposals should _definitely_ explain how to write >>> the given example >>> >>> g f e d( >>> \repeat { c d) e f ( } >>> \alternatives { >>> { g) a b( a \fake) } >>> { \fake( e) d c( d \fake) } >>> { \fake( d) c d( e } >>> } >>> d c) d c >> >> Hmm. It's not clear to me why lilypond can't handle this >> automatically: >> >> g f e d( >> \repeat { c d) e f( } >> \alternatives { >> { g) a b( a } >> { e) d c( d } >> { d) c d( e } >> } >> d c) d c > > The example actually is a bit too orthogonal to illustrate all pertinent > points. Here are some variations: > > g f e d( \fake) > \repeat { \fake( c d) e f ( } > [...] > > Now the first slur will _not_ lead into the repeat unbroken, a valid > variation. > > g f e d( \fake) > \repeat { \fake\single\slurDotted( c d) e f > [...] > > This is typical for lyrics where there is a melisma leading into the > first repeat but not into all subsequent ones. If there is no melisma > into the first repeat but in some alternative, you'd write instead > > g f e d > \repeat { \fake\single\slurDotted( c d) e f } > [...] > > Now since \unfoldRepeats would remove all \fake slurs, the result would > be fine here. The opposite case, where a repeat leads into only some > alternatives, would be > > \repeat { c d e f\single\slurDotted( \fake) } > > which works less well. One possible way around that would be to combine > tweaks from start and end slur events, leading to > > \repeat { c d e f( \fake\single\slurDotted) } > > which is still not good enough for unfolding unless one starts slur-less > alternatives with something like \fake( d\single\omit). Which would not > work for audio so for that case we probably really need an explicit slur > killing command. > > > Here is another example: > > g f e d( > \repeat { c d) e f } > \alternatives { > { g a b( a \fake) } > { e d c( d \fake) } > { d c d e } > } > d c d c > > The suggested automatism would turn this into > > g f e d( > \repeat { c d) e f } > \alternatives { > { g a b( a } > { e d c( d } > { d c d e } > } > d c d c > > which makes for a lot of visually unpaired opening parens in the source > code. Mind you: this is pretty much what I have asked for myself. I > just have my doubts that an automatism for some cases will not make it > harder for other cases and will leave the music source in a less > convincing state. > > I have to admit that leaving _all_ automatism aside does not seem > warranted: I can think of no case where inconsistent slur orientation > across visual jumps would be desirable. > >> It seems that I've *completely* misunderstood the syntax we were >> talking about, so thanks for this detailed example. However, I still >> don't like \fake. Looking at your syntax about, the corresponding TeX >> name would be \phantom which I do now suggest. > > Well, TeX uses \phantom for something which has dimensions but no visual > appearance, whereas we would use it for something which has visual > appearance (before unfolding) but no sound. > > But TeX is separate enough from LilyPond that I actually like \phantom > rather well for this purpose. > Anything like phantom, fake and co doesn't sit right in English. Granted, the majority of LilyPond users are non-native speakers, so this probably doesn't make have the same impact. But, given that English is the language of lilypond, I think it's important to pay heed to the underlying sense of words. 'faux' in French, which means fake, would feel more suitable here, as it also means false and can apply to real things. But LilyPond is not in French. Some other English ideas: unhinged unbridled unanchored loose split chopped frayed Cheers, MS
Sign in to reply to this message.
On 20 mars 2013, at 18:25, "mike@mikesolomon.org" <mike@mikesolomon.org> wrote: > Sent from my iPhone > > On 20 mars 2013, at 16:38, David Kastrup <dak@gnu.org> wrote: > >> Werner LEMBERG <wl@gnu.org> writes: >> >>>> I think any further proposals should _definitely_ explain how to write >>>> the given example >>>> >>>> g f e d( >>>> \repeat { c d) e f ( } >>>> \alternatives { >>>> { g) a b( a \fake) } >>>> { \fake( e) d c( d \fake) } >>>> { \fake( d) c d( e } >>>> } >>>> d c) d c >>> >>> Hmm. It's not clear to me why lilypond can't handle this >>> automatically: >>> >>> g f e d( >>> \repeat { c d) e f( } >>> \alternatives { >>> { g) a b( a } >>> { e) d c( d } >>> { d) c d( e } >>> } >>> d c) d c >> >> The example actually is a bit too orthogonal to illustrate all pertinent >> points. Here are some variations: >> >> g f e d( \fake) >> \repeat { \fake( c d) e f ( } >> [...] >> >> Now the first slur will _not_ lead into the repeat unbroken, a valid >> variation. >> >> g f e d( \fake) >> \repeat { \fake\single\slurDotted( c d) e f >> [...] >> >> This is typical for lyrics where there is a melisma leading into the >> first repeat but not into all subsequent ones. If there is no melisma >> into the first repeat but in some alternative, you'd write instead >> >> g f e d >> \repeat { \fake\single\slurDotted( c d) e f } >> [...] >> >> Now since \unfoldRepeats would remove all \fake slurs, the result would >> be fine here. The opposite case, where a repeat leads into only some >> alternatives, would be >> >> \repeat { c d e f\single\slurDotted( \fake) } >> >> which works less well. One possible way around that would be to combine >> tweaks from start and end slur events, leading to >> >> \repeat { c d e f( \fake\single\slurDotted) } >> >> which is still not good enough for unfolding unless one starts slur-less >> alternatives with something like \fake( d\single\omit). Which would not >> work for audio so for that case we probably really need an explicit slur >> killing command. >> >> >> Here is another example: >> >> g f e d( >> \repeat { c d) e f } >> \alternatives { >> { g a b( a \fake) } >> { e d c( d \fake) } >> { d c d e } >> } >> d c d c >> >> The suggested automatism would turn this into >> >> g f e d( >> \repeat { c d) e f } >> \alternatives { >> { g a b( a } >> { e d c( d } >> { d c d e } >> } >> d c d c >> >> which makes for a lot of visually unpaired opening parens in the source >> code. Mind you: this is pretty much what I have asked for myself. I >> just have my doubts that an automatism for some cases will not make it >> harder for other cases and will leave the music source in a less >> convincing state. >> >> I have to admit that leaving _all_ automatism aside does not seem >> warranted: I can think of no case where inconsistent slur orientation >> across visual jumps would be desirable. >> >>> It seems that I've *completely* misunderstood the syntax we were >>> talking about, so thanks for this detailed example. However, I still >>> don't like \fake. Looking at your syntax about, the corresponding TeX >>> name would be \phantom which I do now suggest. >> >> Well, TeX uses \phantom for something which has dimensions but no visual >> appearance, whereas we would use it for something which has visual >> appearance (before unfolding) but no sound. >> >> But TeX is separate enough from LilyPond that I actually like \phantom >> rather well for this purpose. > > Anything like phantom, fake and co doesn't sit right in English. Granted, the majority of LilyPond users are non-native speakers, so this probably doesn't make have the same impact. But, given that English is the language of lilypond, I think it's important to pay heed to the underlying sense of words. 'faux' in French, which means fake, would feel more suitable here, as it also means false and can apply to real things. But LilyPond is not in French. > > Some other English ideas: > > unhinged > unbridled > unanchored > loose > split > chopped > frayed > > Cheers, > MS Even better, how about: \anderston The Anderston pedestrian bridge is a real life example of what we're talking about. http://en.m.wikipedia.org/wiki/M8_Bridge_to_Nowhere#section_3 I'm totally for this - it would be fantastic if people called these things "Anderston slurs" or "Anderston beams." Why not be poetic? There are plenty of musical terms that use metaphors/allusions. So that's my new vote... Cheers, MS
Sign in to reply to this message.
"mike@mikesolomon.org" <mike@mikesolomon.org> writes: > Even better, how about: > > \anderston > > The Anderston pedestrian bridge is a real life example of what we're > talking about. > > http://en.m.wikipedia.org/wiki/M8_Bridge_to_Nowhere#section_3 > > I'm totally for this - it would be fantastic if people called these > things "Anderston slurs" or "Anderston beams." > Why not be poetic? There are plenty of musical terms that use > metaphors/allusions. > > So that's my new vote... If you are voting for a bridge, obviously my vote has to be for a tunnel. \alternative { { \tunnel( \tunnel) } ... is just _perfect_ for tunneling the real slur through the repeat construct. And ( ) even look like tunnel portals. -- David Kastrup
Sign in to reply to this message.
>> But TeX is separate enough from LilyPond that I actually like >> \phantom rather well for this purpose. > > Anything like phantom, fake and co doesn't sit right in > English. [...] But there are millions of TeX users who are used to \phantom. And I believe that a lot of Lilypond users are TeX users also. This means that those users are already acquainted with this command and can easily deduce what it does. Werner
Sign in to reply to this message.
On 20 mars 2013, at 09:26, Trevor Daniels <t.daniels@treda.co.uk> wrote: > > mike@mikesolomon.org > >> I completely agree. It's just that "fake" in English means false or counterfeit. It needs another word, just don't know what yet. unchained? free? > > At the risk of prolonging the bike-shedding, here's my take. For me, the key consideration is to provide an easily remembered name that can be internally vocalised as the slur is typed in. And we need a user-centric (not developer-centric) word - what is the user's conception of such a slur? Also we need an attribute of the end point of the slur, not the slur as a whole, since it is to be applied to an end point. The word should fit comfortably as an adjective in the phrase "xxx slur start/end" as "free slur end" to aid vocalisation. > > I'm not keen on \broken or \fake; they have other incorrect and unhelpful connotations. \detached or \free are better. Others might be \floating, \hanging, \loose, \dangling, although these are a bit long. Of all the suggestions so far I prefer \free. > > Trevor If we're not going to refer to unfinished bridges in Scotland (tear), I like \free and \loose. Cheers, MS
Sign in to reply to this message.
> Even better, how about: > > \anderston Uhmm, no. :-) Werner
Sign in to reply to this message.
"mike@mikesolomon.org" <mike@mikesolomon.org> writes: > On 20 mars 2013, at 09:26, Trevor Daniels <t.daniels@treda.co.uk> wrote: > >> >> mike@mikesolomon.org >> >>> I completely agree. It's just that "fake" in English means false >> or counterfeit. It needs another word, just don't know what yet. >> unchained? free? >> >> At the risk of prolonging the bike-shedding, here's my take. For >> me, the key consideration is to provide an easily remembered name >> that can be internally vocalised as the slur is typed in. And we >> need a user-centric (not developer-centric) word - what is the >> user's conception of such a slur? Also we need an attribute of the >> end point of the slur, not the slur as a whole, since it is to be >> applied to an end point. The word should fit comfortably as an >> adjective in the phrase "xxx slur start/end" as "free slur end" to >> aid vocalisation. >> >> I'm not keen on \broken or \fake; they have other incorrect and >> unhelpful connotations. \detached or \free are better. Others >> might be \floating, \hanging, \loose, \dangling, although these are >> a bit long. Of all the suggestions so far I prefer \free. >> >> Trevor > > If we're not going to refer to unfinished bridges in Scotland (tear), > I like \free and \loose. \free sounds connected to garbage collection. I'm not fond of \loose but could not give a good reason. Maybe because of its connotations with spacing. \dangling seems pretty accurate, but a bit contrived for reading it five times in a row. \span is already taken by Scheme. \split seems available. It's a tiny bit nicer than broken in that a) it's not the same "broken" as in line break where the pieces stay next to each other b) it's not the same "broken" as in broken clocks c) "split" suggests somewhat more that the pieces go separate ways Oh, and \splice. That one has a bit more focus on the pieces connecting again. What kind of word would people pick when describing a score on the phone? For a single occurence, "interrupted" is likely a good candidate, but five times in a row something catchier would likely win. Probably "split" has a slightly better chance than "splice". Now for something completely different: To support really complex unfolded dashed/whatever spanners where just throwing every split/broken/spliced/fake span end away might not be sufficient, we might conceivably work with tags (remove tag volta-1, volta-2 in sequence when unfolding, or some similar scheme). -- David Kastrup
Sign in to reply to this message.
David Kastrup wrote Wednesday, March 20, 2013 10:38 PM > "mike@mikesolomon.org" <mike@mikesolomon.org> writes: > >> On 20 mars 2013, at 09:26, Trevor Daniels <t.daniels@treda.co.uk> wrote: >> >>> At the risk of prolonging the bike-shedding, here's my take. For >>> me, the key consideration is to provide an easily remembered name >>> that can be internally vocalised as the slur is typed in. And we >>> need a user-centric (not developer-centric) word - what is the >>> user's conception of such a slur? Also we need an attribute of the >>> end point of the slur, not the slur as a whole, since it is to be >>> applied to an end point. The word should fit comfortably as an >>> adjective in the phrase "xxx slur start/end" as "free slur end" to >>> aid vocalisation. >>> >>> I'm not keen on \broken or \fake; they have other incorrect and >>> unhelpful connotations. \detached or \free are better. Others >>> might be \floating, \hanging, \loose, \dangling, although these are >>> a bit long. Of all the suggestions so far I prefer \free. > > \free sounds connected to garbage collection. Not to a LilyPond user - that's development-think and not really relevant to a user interface. See this piece of string? Take the free end and ... See this slur? Take the free end and ... \free still seems the best to me - ticks all the boxes. > I'm not fond of \loose > but could not give a good reason. Maybe because of its connotations > with spacing. It doesn't sit comfortably when applied to the end of a slur, it suggests something in danger of becoming disconnected. > \dangling seems pretty accurate, but a bit contrived for > reading it five times in a row. And it implies the end is hanging down. > \span is already taken by Scheme. \split seems available. It's a tiny > bit nicer than broken in that > a) it's not the same "broken" as in line break where the pieces stay > next to each other > b) it's not the same "broken" as in broken clocks > c) "split" suggests somewhat more that the pieces go separate ways Only when applied to the slur as a whole. But we want something that applied to a slur ending. The end can't be split. > Oh, and \splice. That one has a bit more focus on the pieces connecting > again. Ditto. > What kind of word would people pick when describing a score on the > phone? For a single occurence, "interrupted" is likely a good > candidate, but five times in a row something catchier would likely win. > Probably "split" has a slightly better chance than "splice". Ditto, > Now for something completely different: > > To support really complex unfolded dashed/whatever spanners where just > throwing every split/broken/spliced/fake span end away might not be > sufficient, we might conceivably work with tags (remove tag volta-1, > volta-2 in sequence when unfolding, or some similar scheme). Ah, this needs more thought. Trevor
Sign in to reply to this message.
"Trevor Daniels" <t.daniels@treda.co.uk> writes: > David Kastrup wrote Wednesday, March 20, 2013 10:38 PM > > >> "mike@mikesolomon.org" <mike@mikesolomon.org> writes: >> >>> On 20 mars 2013, at 09:26, Trevor Daniels <t.daniels@treda.co.uk> wrote: >>> >>>> At the risk of prolonging the bike-shedding, here's my take. For >>>> me, the key consideration is to provide an easily remembered name >>>> that can be internally vocalised as the slur is typed in. And we >>>> need a user-centric (not developer-centric) word - what is the >>>> user's conception of such a slur? Also we need an attribute of the >>>> end point of the slur, not the slur as a whole, since it is to be >>>> applied to an end point. The word should fit comfortably as an >>>> adjective in the phrase "xxx slur start/end" as "free slur end" to >>>> aid vocalisation. >>>> >>>> I'm not keen on \broken or \fake; they have other incorrect and >>>> unhelpful connotations. \detached or \free are better. Others >>>> might be \floating, \hanging, \loose, \dangling, although these are >>>> a bit long. Of all the suggestions so far I prefer \free. >> >> \free sounds connected to garbage collection. > > Not to a LilyPond user - that's development-think and not really > relevant to a user interface. > > See this piece of string? Take the free end and ... > See this slur? Take the free end and ... > > \free still seems the best to me - ticks all the boxes. It's not really free since it can only occur in particular places and needs to get matched to other spanner ends in a rather rigid way. What about \extra ? It's similar to \free but sounds like a more likely candidate for removal (when unfolding). >> \span is already taken by Scheme. \split seems available. It's a tiny >> bit nicer than broken in that >> a) it's not the same "broken" as in line break where the pieces stay >> next to each other >> b) it's not the same "broken" as in broken clocks >> c) "split" suggests somewhat more that the pieces go separate ways > > Only when applied to the slur as a whole. But we want something > that applied to a slur ending. The end can't be split. Yup, that's why it's just a tiny bit nicer than "broken". >> What kind of word would people pick when describing a score on the >> phone? For a single occurence, "interrupted" is likely a good >> candidate, but five times in a row something catchier would likely >> win. Probably "split" has a slightly better chance than "splice". > > Ditto, "At the start of the second alternative, we have an extra slur start, the slur ends on beat 2, a phrasing slur starts on beat 3 and at the end of the alternative, there is an extra slur end". Huh. Works better with "detached". Probably worth a night's sleep or two. -- David Kastrup
Sign in to reply to this message.
David Kastrup <dak@gnu.org> writes: > "Trevor Daniels" <t.daniels@treda.co.uk> writes: > >>> What kind of word would people pick when describing a score on the >>> phone? For a single occurence, "interrupted" is likely a good >>> candidate, but five times in a row something catchier would likely >>> win. Probably "split" has a slightly better chance than "splice". >> >> Ditto, > > "At the start of the second alternative, we have an extra slur start, > the slur ends on beat 2, a phrasing slur starts on beat 3 and at the end > of the alternative, there is an extra slur end". Huh. Works better > with "detached". And actually works rather well with "\inner" since there must ultimately be a "true" outer slur start and end. > Probably worth a night's sleep or two. That too. -- David Kastrup
Sign in to reply to this message.
> "At the start of the second alternative, we have an extra slur > start, the slur ends on beat 2, a phrasing slur starts on beat 3 and > at the end of the alternative, there is an extra slur end". Huh. > Works better with "detached". In this sentence, \phantom works quite nicely :-) This is still my current favourite. Werner
Sign in to reply to this message.
Thanks for taking the time to do this. No-one else knows enough of the various stages of processing to bring all the pieces together. It looks like you try to use a common UP/DOWN direction for the portions of a broken slur, and the image you posted to the bug-tracker showed a common direction for each half of a broken slur, but the current patch gives me inconsistent directions (in every case but especially line 3). > After some consideration, I consider the name \broken > suboptimal since it implies two pieces. Conceptually, of course, there *are* two pieces. The other piece is probably at the other end of the repeat. The automatic behavior is quite good, so fortunately we will rarely need to look up whatever name the committee approves for the command to make a broken slur. https://codereview.appspot.com/7424049/diff/65002/input/regression/repeat-slu... File input/regression/repeat-slur.ly (right): https://codereview.appspot.com/7424049/diff/65002/input/regression/repeat-slu... input/regression/repeat-slur.ly:2: Please do just one manual review of the regression suite between versions before adding another test of this length.
Sign in to reply to this message.
On 25 mars 2013, at 07:10, k-ohara5a5a@oco.net wrote: > Thanks for taking the time to do this. No-one else knows enough of the > various stages of processing to bring all the pieces together. > > It looks like you try to use a common UP/DOWN direction for the portions > of a broken slur, and the image you posted to the bug-tracker showed a > common direction for each half of a broken slur, but the current patch > gives me inconsistent directions (in every case but especially line 3). > I only use a common UP/DOWN if it is set by the user beforehand. Otherwise, it is calculated with the usual callbacks. > >> After some consideration, I consider the name \broken >> suboptimal since it implies two pieces. > > Conceptually, of course, there *are* two pieces. The other piece is > probably at the other end of the repeat. The automatic behavior is quite > good, so fortunately we will rarely need to look up whatever name the > committee approves for the command to make a broken slur. > It'd be a shame for this to get stuck in the pipes because we can't figure out a good name. I am indifferent and I don't mind \broken or whatever really. > > https://codereview.appspot.com/7424049/diff/65002/input/regression/repeat-slu... > File input/regression/repeat-slur.ly (right): > > https://codereview.appspot.com/7424049/diff/65002/input/regression/repeat-slu... > input/regression/repeat-slur.ly:2: > Please do just one manual review of the regression suite between > versions before adding another test of this length. > What do you mean here? Thanks for the review! Cheers, MS > https://codereview.appspot.com/7424049/
Sign in to reply to this message.
mike@mikesolomon.org wrote Monday, March 25, 2013 7:29 AM > On 25 mars 2013, at 07:10, k-ohara5a5a@oco.net wrote: > >> Conceptually, of course, there *are* two pieces. The other piece is >> probably at the other end of the repeat. The automatic behavior is quite >> good, so fortunately we will rarely need to look up whatever name the >> committee approves for the command to make a broken slur. > > It'd be a shame for this to get stuck in the pipes because we can't figure out a good name. I am indifferent and I don't mind \broken or whatever really. Yes, let's move this on now. If we want the name to apply to the slur as a whole then \broken or \split look good. I'd be happy with that. But as the function is being applied to an end point of a slur, not the whole slur, I actually prefer "\free(" and "\free)", to be vocalised as "free opening slur" and "free closing slur", or possibly \floating. But I'll accept anything now to move this on :) Trevor
Sign in to reply to this message.
On Mon, 25 Mar 2013 00:29:35 -0700, mike@mikesolomon.org <mike@mikesolomon.org> wrote: > On 25 mars 2013, at 07:10, k-ohara5a5a@oco.net wrote: > >> It looks like you try to use a common UP/DOWN direction for the portions >> of a broken slur, and the image you posted to the bug-tracker showed a >> common direction for each half of a broken slur, but the current patch >> gives me inconsistent directions (in every case but especially line 3). >> > > I only use a common UP/DOWN if it is set by the user beforehand. Otherwise, it is calculated with the usual callbacks. > I see. I thought you were using the same machinery that breaks slurs at line-breaks, which uses a common direction between halves. I see now that you are breaking earlier, at 'engraving', before all the notes under a slur are engraved, thus befor the slur directions are determined. Shucks. >> Please do just one manual review of the regression suite between >> versions before adding another test of this length. > > What do you mean here? You'll see a large number of very small regression tests, and a few huge very repetitive tests. You might think the huge repetitive tests get in the way of review.
Sign in to reply to this message.
On 26 mars 2013, at 05:58, "Keith OHara" <k-ohara5a5a@oco.net> wrote: > On Mon, 25 Mar 2013 00:29:35 -0700, mike@mikesolomon.org <mike@mikesolomon.org> wrote: > >> On 25 mars 2013, at 07:10, k-ohara5a5a@oco.net wrote: >> >>> It looks like you try to use a common UP/DOWN direction for the portions >>> of a broken slur, and the image you posted to the bug-tracker showed a >>> common direction for each half of a broken slur, but the current patch >>> gives me inconsistent directions (in every case but especially line 3). >> >> I only use a common UP/DOWN if it is set by the user beforehand. Otherwise, it is calculated with the usual callbacks. > > I see. I thought you were using the same machinery that breaks slurs at line-breaks, which uses a common direction between halves. I see now that you are breaking earlier, at 'engraving', before all the notes under a slur are engraved, thus befor the slur directions are determined. Shucks. I can look into this. > >>> Please do just one manual review of the regression suite between >>> versions before adding another test of this length. >> >> What do you mean here? > > You'll see a large number of very small regression tests, and a few huge very repetitive tests. You might think the huge repetitive tests get in the way of review. > I wanted to exhaust as many possibilities as I could think of (broken slurs over one note, several notes, beginning broken, and broken, etc.) for both slur and phrasing. Would it be better to split each system up into a separate test? Get rid of some tests? Cheers, MS
Sign in to reply to this message.
Changes name, harmonizes slur direction
Sign in to reply to this message.
Looks good. Gotta love monogamy.
Sign in to reply to this message.
Hi, please update the Rietveld issue description with current version of commit message. thanks, Janek
Sign in to reply to this message.
On 2013/03/27 22:02:42, janek wrote: > current version of commit message. > I'll write a commit message, just so Janek can review the patch: Break slurs between alternative endings in repeats; issue 1698. Create new event-types BreakPhrasingSlurEvent BreakSlurEvent, and a music-function \free \( so that users can create them. Create these event-types in the volta-repeat-iterator to break slurs between alternatives in a \repeat volta structure.
Sign in to reply to this message.
Hi Keith, On 2013/04/04 06:48:22, Keith wrote: > I'll write a commit message, just so Janek can review the patch: > > Break slurs between alternative endings in repeats; issue 1698. > > Create new event-types BreakPhrasingSlurEvent BreakSlurEvent, > and a music-function \free \( so that users can create them. > Create these event-types in the volta-repeat-iterator to break > slurs between alternatives in a \repeat volta structure. I apologize for not replying. However, i didn't receive any email that would notify me of your comment (and i don't see any in list archives) - did you uncheck the "Send mail to reviewers" checkbox? Anyway, i think there's no point in me reviewing the patch after it was pushed... Janek
Sign in to reply to this message.
On 2013/03/26 04:10:38, mike7 wrote: > >> On 25 mars 2013, at 07:10, mailto:k-ohara5a5a@oco.net wrote: > >> > >>> Please do just one manual review of the regression suite between > >>> versions before adding another test of this length. > >> > I wanted to exhaust as many possibilities as I could think of (broken slurs over > one note, several notes, beginning broken, and broken, etc.) for both slur and > phrasing. Would it be better to split each system up into a separate test? Get > rid of some tests? We need exhaustive test files while debugging, but probably we should reduce them to the essentials for the regtest that gets pushed. Issue 3307 was plain to see in the regtest ‘rest-on-nonstandard-staff.ly’, but nobody succeeded in seeing the problem.
Sign in to reply to this message.
On 9 avr. 2013, at 20:31, k-ohara5a5a@oco.net wrote: > On 2013/03/26 04:10:38, mike7 wrote: >> >> On 25 mars 2013, at 07:10, mailto:k-ohara5a5a@oco.net wrote: >> >> >> >>> Please do just one manual review of the regression suite between >> >>> versions before adding another test of this length. >> >> >> I wanted to exhaust as many possibilities as I could think of (broken > slurs over >> one note, several notes, beginning broken, and broken, etc.) for both > slur and >> phrasing. Would it be better to split each system up into a separate > test? Get >> rid of some tests? > > We need exhaustive test files while debugging, but probably we should > reduce them to the essentials for the regtest that gets pushed. > > Issue 3307 was plain to see in the regtest > ‘rest-on-nonstandard-staff.ly’, but nobody succeeded in seeing the > problem. > Ok - feel free to chop this down however you see fit - I trust you. Cheers, MS > https://codereview.appspot.com/7424049/
Sign in to reply to this message.
|