Re: Syntax for multiple slurs per Voice?

2017-07-31 Thread Trevor Bača
Hi David,

On Thu, Jul 27, 2017 at 8:11 PM, David Nalesnik 
wrote:

> Hi Trevor,
>
> On Thu, Jul 27, 2017 at 8:38 AM, Trevor Bača  wrote:
> > Hi David (Nalesnik),
> >
> > On Tue, Oct 20, 2015 at 11:49 AM, David Nalesnik <
> david.nales...@gmail.com>
> > wrote:
> >>
> >> Hi Trevor,
> >>
> >> On Tue, Oct 20, 2015 at 11:31 AM, Trevor Bača 
> >> wrote:
> >>>
> >>> Hi,
> >>>
> >>> I'm coming late to this discussion, but potentially *very* excited
> about
> >>> what this might mean. Will the available of spanner IDs mean that a
> single
> >>> voice will (eventually) be able to carry multiple *text spanners*???
> >>>
> >>> This would be incredibly useful in my own scores (and probably also in
> >>> the scores of very many other composers who work with simultaneous
> >>> continuous transitions). I've attached a PNG of an example from a
> recent
> >>> cello piece. The score is in LilyPond, but the engraving required
> multiple
> >>> (redundant) invisible markup voices. Would be so elegant to be need
> only a
> >>> single voice.
> >>>
> >>>
> >>
> >> I recently rewrote Text_spanner_engraver, incorporating 'spanner-id to
> >> allow an unlimited number of TextSpanners per voice.  The entry method
> isn't
> >> particularly pretty (basically it's equivalent to what you had to do
> with
> >> slurs before David Kastrup came up with the current solution).
> >>
> >> I'd like to get this into the codebase, but I'm unsure if I need to port
> >> it to C++.  Also, there's a chance another engraver to bind the
> simultaneous
> >> spanners might be needed (as piano pedal lines are bound by an alignment
> >> engraver).
> >>
> >> Attached is a more recent version than the one found here:
> >> http://www.mail-archive.com/lilypond-user%40gnu.org/msg105470.html
> >>
> >> Hope this helps!
> >
> >
> >
> > I'm (finally!) working at integrating your alternateTextSpannerEngraver.
> My
> > testing so far shows that it allows for very much of what I'm looking for
> > (ie, multiple text spanners overlapping each other in a single voice).
> >
> > Two questions:
> >
> > 1. Is the version you attached as "text-spanner-id.ly" (way back in
> October
> > 2015!) still the most recent version of your work?
>
> Ugh -- I was going to say that a (perhaps) more current version is on
> GitHub, but I seem to have never created a repository for it...  Old
> age.
>
> So I guess your version is the newest :(
>
> Let me know if you run into any difficulties, and I'll be happy to
> create that newer version.
>

Ok, great. Thanks very much; that was the confirm I was looking for. I'll
let you know how integration goes.

Thanks!

Trevor.


-- 
Trevor Bača
www.trevorbaca.com
soundcloud.com/trevorbaca
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Syntax for multiple slurs per Voice?

2017-07-27 Thread David Nalesnik
Hi Trevor,

On Thu, Jul 27, 2017 at 8:38 AM, Trevor Bača  wrote:
> Hi David (Nalesnik),
>
> On Tue, Oct 20, 2015 at 11:49 AM, David Nalesnik 
> wrote:
>>
>> Hi Trevor,
>>
>> On Tue, Oct 20, 2015 at 11:31 AM, Trevor Bača 
>> wrote:
>>>
>>> Hi,
>>>
>>> I'm coming late to this discussion, but potentially *very* excited about
>>> what this might mean. Will the available of spanner IDs mean that a single
>>> voice will (eventually) be able to carry multiple *text spanners*???
>>>
>>> This would be incredibly useful in my own scores (and probably also in
>>> the scores of very many other composers who work with simultaneous
>>> continuous transitions). I've attached a PNG of an example from a recent
>>> cello piece. The score is in LilyPond, but the engraving required multiple
>>> (redundant) invisible markup voices. Would be so elegant to be need only a
>>> single voice.
>>>
>>>
>>
>> I recently rewrote Text_spanner_engraver, incorporating 'spanner-id to
>> allow an unlimited number of TextSpanners per voice.  The entry method isn't
>> particularly pretty (basically it's equivalent to what you had to do with
>> slurs before David Kastrup came up with the current solution).
>>
>> I'd like to get this into the codebase, but I'm unsure if I need to port
>> it to C++.  Also, there's a chance another engraver to bind the simultaneous
>> spanners might be needed (as piano pedal lines are bound by an alignment
>> engraver).
>>
>> Attached is a more recent version than the one found here:
>> http://www.mail-archive.com/lilypond-user%40gnu.org/msg105470.html
>>
>> Hope this helps!
>
>
>
> I'm (finally!) working at integrating your alternateTextSpannerEngraver. My
> testing so far shows that it allows for very much of what I'm looking for
> (ie, multiple text spanners overlapping each other in a single voice).
>
> Two questions:
>
> 1. Is the version you attached as "text-spanner-id.ly" (way back in October
> 2015!) still the most recent version of your work?

Ugh -- I was going to say that a (perhaps) more current version is on
GitHub, but I seem to have never created a repository for it...  Old
age.

So I guess your version is the newest :(

Let me know if you run into any difficulties, and I'll be happy to
create that newer version.

>
> 2. Was there ever any movement towards integrating the functionality of your
> rewritten engraver into the Lily's primary codebase? (Back in October 2015
> David Kastrup wrote that he was also thinking through how multiple spanners
> might be integrated, too, if I remember correctly.)
>

I'm not aware of anything new in the codebase.  I thought that a
recent GSoC project touched on this topic, but I don't know what if
anything made it into LilyPond.

DN

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Syntax for multiple slurs per Voice?

2017-07-27 Thread Trevor Bača
Hi David (Nalesnik),

On Tue, Oct 20, 2015 at 11:49 AM, David Nalesnik 
wrote:

> Hi Trevor,
>
> On Tue, Oct 20, 2015 at 11:31 AM, Trevor Bača 
> wrote:
>
>> Hi,
>>
>> I'm coming late to this discussion, but potentially *very* excited about
>> what this might mean. Will the available of spanner IDs mean that a single
>> voice will (eventually) be able to carry multiple *text spanners*???
>>
>> This would be incredibly useful in my own scores (and probably also in
>> the scores of very many other composers who work with simultaneous
>> continuous transitions). I've attached a PNG of an example from a recent
>> cello piece. The score is in LilyPond, but the engraving required multiple
>> (redundant) invisible markup voices. Would be so elegant to be need only a
>> single voice.
>>
>>
>>
> I recently rewrote Text_spanner_engraver, incorporating 'spanner-id to
> allow an unlimited number of TextSpanners per voice.  The entry method
> isn't particularly pretty (basically it's equivalent to what you had to do
> with slurs before David Kastrup came up with the current solution).
>
> I'd like to get this into the codebase, but I'm unsure if I need to port
> it to C++.  Also, there's a chance another engraver to bind the
> simultaneous spanners might be needed (as piano pedal lines are bound by an
> alignment engraver).
>
> Attached is a more recent version than the one found here:
> http://www.mail-archive.com/lilypond-user%40gnu.org/msg105470.html
>
> Hope this helps!
>


I'm (finally!) working at integrating your alternateTextSpannerEngraver. My
testing so far shows that it allows for very much of what I'm looking for
(ie, multiple text spanners overlapping each other in a single voice).

Two questions:

1. Is the version you attached as "text-spanner-id.ly" (way back in October
2015!) still the most recent version of your work?

2. Was there ever any movement towards integrating the functionality of
your rewritten engraver into the Lily's primary codebase? (Back in October
2015 David Kastrup wrote that he was also thinking through how multiple
spanners might be integrated, too, if I remember correctly.)

Thanks much,

Trevor.

-- 
Trevor Bača
www.trevorbaca.com
soundcloud.com/trevorbaca
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Syntax for multiple slurs per Voice?

2015-10-20 Thread David Nalesnik
Hi Trevor,

On Tue, Oct 20, 2015 at 11:31 AM, Trevor Bača  wrote:

> Hi,
>
> I'm coming late to this discussion, but potentially *very* excited about
> what this might mean. Will the available of spanner IDs mean that a single
> voice will (eventually) be able to carry multiple *text spanners*???
>
> This would be incredibly useful in my own scores (and probably also in the
> scores of very many other composers who work with simultaneous continuous
> transitions). I've attached a PNG of an example from a recent cello piece.
> The score is in LilyPond, but the engraving required multiple (redundant)
> invisible markup voices. Would be so elegant to be need only a single voice.
>
>
>
I recently rewrote Text_spanner_engraver, incorporating 'spanner-id to
allow an unlimited number of TextSpanners per voice.  The entry method
isn't particularly pretty (basically it's equivalent to what you had to do
with slurs before David Kastrup came up with the current solution).

I'd like to get this into the codebase, but I'm unsure if I need to port it
to C++.  Also, there's a chance another engraver to bind the simultaneous
spanners might be needed (as piano pedal lines are bound by an alignment
engraver).

Attached is a more recent version than the one found here:
http://www.mail-archive.com/lilypond-user%40gnu.org/msg105470.html

Hope this helps!

David
\version "2.19"

%% Incorporating some code from the rewrite in Scheme of
%% Text_spanner_engraver in input/regression/scheme-text-spanner.ly

#(define (add-bound-item spanner item)
   (if (null? (ly:spanner-bound spanner LEFT))
   (ly:spanner-set-bound! spanner LEFT item)
   (ly:spanner-set-bound! spanner RIGHT item)))

#(define (axis-offset-symbol axis)
   (if (eq? axis X) 'X-offset 'Y-offset))

#(define (set-axis! grob axis)
   (if (not (number? (ly:grob-property grob 'side-axis)))
   (begin
(set! (ly:grob-property grob 'side-axis) axis)
(ly:grob-chain-callback
 grob
 (if (eq? axis X)
 ly:side-position-interface::x-aligned-side
 side-position-interface::y-aligned-side)
 (axis-offset-symbol axis)

#(define (assign-spanner-index spanner orig-ls)
   "Determine the position of a new spanner in an ordered sequence
of spanners.  The goal is for the sequence to begin with zero and
contain no gaps.  Return the index representing the spanner's position."
   (if (null? orig-ls)
   0
   (let loop ((ls orig-ls) (insert? #t) (result 0))
 (cond
  ((null? ls) result)
  ;; position at head of list
  ((and insert? (> (caar orig-ls) 0))
   (loop ls #f 0))
  ;; no gaps, put at end of list
  ((and insert? (null? (cdr ls)))
   (loop (cdr ls) #f (1+ (caar ls
  ;; fill lowest position of gap
  ((and insert?
(> (caadr ls) (1+ (caar ls
   (loop (cdr ls) #f (1+ (caar ls
  (else (loop (cdr ls) insert? result))

alternateTextSpannerEngraver =
#(lambda (context)
   (let (;; a list of pairs comprising a spanner index
  ;;  (not spanner-id) and a spanner which has been begun
  (spanners '())
  (finished '()) ; list of spanners in completion stage
  (start-events '()) ; list of START events
  (stop-events '())) ; list of STOP events
 (make-engraver
  ;; \startTextSpan, \stopTextSpan, and the like create events
  ;; which we collect here.
  (listeners
   ((text-span-event engraver event)
(if (= START (ly:event-property event 'span-direction))
(set! start-events (cons event start-events))
(set! stop-events (cons event stop-events)
  ;; Populate 'note-columns property of spanners.  Bounds are
  ;; set to note columns, and each spanner keeps a record of
  ;; the note columns it traverses.
  (acknowledgers
   ((note-column-interface engraver grob source-engraver)
(for-each (lambda (s)
(ly:pointer-group-interface::add-grob
 (cdr s) 'note-columns grob)
(add-bound-item (cdr s) grob))
  spanners)
;; finished only contains spanners, no indices
(for-each (lambda (f)
(ly:pointer-group-interface::add-grob
 f 'note-columns grob)
(add-bound-item f grob))
  finished)))

  ((process-music trans)
   ;; Move begun spanners from 'spanners' to 'finished'.  We do this
   ;; on the basis of 'spanner-id.  If we find a match--either
   ;; the strings are the same, or both are unset--a transfer
   ;; can be made.  Return a warning if we find no match: spanner
   ;; hasn't been properly begun.
   (for-each
(lambda (es)
  (let ((es-id (ly:event-property es 'spanner-id)))
(let loop ((sp spanners))
  (if (null? sp)
  (ly:warning "No spanner 

Re: Syntax for multiple slurs per Voice?

2015-10-20 Thread David Kastrup
Trevor Bača  writes:

> Hi,
>
> I'm coming late to this discussion, but potentially *very* excited
> about what this might mean. Will the available of spanner IDs mean
> that a single voice will (eventually) be able to carry multiple *text
> spanners*???

Well, that was the motivation for renaming the originally proposed
"slur-id" to "spanner-id" before it made it through code review.  There
is no code backing this so far except for slurs and phrasing slurs, but
it's pretty clear that when such code appears, there would be no point
in inventing a different interface for it.

I've been starting some sketches for a C++ class solution encapsulating
the multiple-spanner part (so that text spanners and likely some other
ones can share the spanner-id implementation of slurs) but so far have
not actually invested enough work to call this "sketches" rather than
"doodles".

-- 
David Kastrup

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Syntax for multiple slurs per Voice?

2015-10-20 Thread David Kastrup
David Nalesnik  writes:

> Hi Trevor,
>
> On Tue, Oct 20, 2015 at 11:31 AM, Trevor Bača  wrote:
>
>> Hi,
>>
>> I'm coming late to this discussion, but potentially *very* excited about
>> what this might mean. Will the available of spanner IDs mean that a single
>> voice will (eventually) be able to carry multiple *text spanners*???
>>
>> This would be incredibly useful in my own scores (and probably also in the
>> scores of very many other composers who work with simultaneous continuous
>> transitions). I've attached a PNG of an example from a recent cello piece.
>> The score is in LilyPond, but the engraving required multiple (redundant)
>> invisible markup voices. Would be so elegant to be need only a single voice.
>>
>>
>>
> I recently rewrote Text_spanner_engraver, incorporating 'spanner-id to
> allow an unlimited number of TextSpanners per voice.  The entry method
> isn't particularly pretty (basically it's equivalent to what you had
> to do with slurs before David Kastrup came up with the current
> solution).
>
> I'd like to get this into the codebase, but I'm unsure if I need to
> port it to C++.

That would be the most straightforward solution.  Of course, given your
current existing work it would also seem like a good incentive to bug me
into completing work on issue 1375 at some point of time so that one can
register Scheme engravers in a fully equivalent manner to C++ engravers
(namely included in our documentation and accessible by name).

-- 
David Kastrup

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Syntax for multiple slurs per Voice?

2015-10-20 Thread Trevor Bača
Hi,

I'm coming late to this discussion, but potentially *very* excited about
what this might mean. Will the available of spanner IDs mean that a single
voice will (eventually) be able to carry multiple *text spanners*???

This would be incredibly useful in my own scores (and probably also in the
scores of very many other composers who work with simultaneous continuous
transitions). I've attached a PNG of an example from a recent cello piece.
The score is in LilyPond, but the engraving required multiple (redundant)
invisible markup voices. Would be so elegant to be need only a single voice.

Trevor.



On Fri, Oct 2, 2015 at 4:43 PM, David Kastrup  wrote:

> Thomas Morley  writes:
>
> > (4)
> > Observation:
> > Using Slurs with and without setted 'spanner-id works as well
> > \relative { c'\=1( d( e\=1) f) }
> >
> > \relative { c'\=1(^( e\=1)) }
>
> The default is a spanner-id of "" so that's not much of a surprise.
>
> --
> David Kastrup
>
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user
>



-- 
Trevor Bača
www.trevorbaca.com
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Syntax for multiple slurs per Voice?

2015-10-02 Thread David Kastrup

Hi, issue 4625 in the tracker
 is the final
straw to provide an actual input syntax for setting the spanner-id
property introduced before version 2.16.  I think currently only slurs
and phrasing slurs heed them.  While the principal property is a string,
I think it makes sense to also allow numbers.

How do people feel about choosing one of the following variations of
\- and \= (code compiles and does the expected thing even in 2.18):

\version "2.18.0"

"\\=" =
#(define-event-function (parser location id ev) (number-or-string? ly:event?)
  (set! (ly:music-property ev 'spanner-id)
(if (number? id) (number->string id) id))
  ev)

"\\-" =
#(define-event-function (parser location id ev) (number-or-string? ly:event?)
  (set! (ly:music-property ev 'spanner-id)
(if (number? id) (number->string id) id))
  ev)

\relative { c'\=1( d\=2( e\=1) f\=2) }

\relative { c'\-1( d\-2( e\-1) f\-2) }

% should we prefer this variant in the docs?

\relative { c'\-1-( d\-2-( e\-1-) f\-2-) }

% if so, how to write slur directions?

\relative { c'\-1^( d\-2_( e\-1-) f\-2-) }

\relative { c'^\-1-( d_\-2-( e\-1-) f\-2-) }

% using simple strings

\relative { c'\=x( d\=y( e\=x) f\=y) }

\relative { c'\-x( d\-y( e\-x) f\-y) }

\relative { c'\-x-( d\-y-( e\-x-) f\-y-) }

Other options I have thought about would be \# but it turns out that
looks really clunky and works worse logically with strings than with
numbers.  Also it might be more trouble with syntax highlighting because
of already existing meanings of # .

-- 
David Kastrup
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Syntax for multiple slurs per Voice?

2015-10-02 Thread Kieren MacMillan
Hi David,

> Personally I'd rather keep @ for user extensions.

Fair enough.

> At any rate, a nice idea might be to have a context property slur-ids
> (and phrasing-slur-ids and beam-ids) that can be set to a list and will
> then cause the Slur_engraver to only look at slurs in that set of ids.
> […] it would be comparatively simple to implement.

Very interesting idea! That could be quite helpful.

Thanks, as always.
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Syntax for multiple slurs per Voice?

2015-10-02 Thread Kieren MacMillan
Hi David,

> issue 4625 in the tracker
>  is the final
> straw to provide an actual input syntax for setting the spanner-id
> property introduced before version 2.16.

Fabulous!

> How do people feel about choosing one of the following variations of
> \- and \= (code compiles and does the expected thing even in 2.18):

I think I prefer \=, but I would be happy with either.

> Other options I have thought about would be \# but it turns out that
> looks really clunky and works worse logically with strings than with
> numbers.  Also it might be more trouble with syntax highlighting because
> of already existing meanings of # .

Is this possibly the right time/situation to finally use the [currently unused, 
I believe??] @?

Thanks for all your great work on this issue.
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Syntax for multiple slurs per Voice?

2015-10-02 Thread David Kastrup
Kieren MacMillan  writes:

> Hi David,
>
>> issue 4625 in the tracker
>>  is the final
>> straw to provide an actual input syntax for setting the spanner-id
>> property introduced before version 2.16.
>
> Fabulous!
>
>> How do people feel about choosing one of the following variations of
>> \- and \= (code compiles and does the expected thing even in 2.18):
>
> I think I prefer \=, but I would be happy with either.
>
>> Other options I have thought about would be \# but it turns out that
>> looks really clunky and works worse logically with strings than with
>> numbers.  Also it might be more trouble with syntax highlighting because
>> of already existing meanings of # .
>
> Is this possibly the right time/situation to finally use the
> [currently unused, I believe??] @?

Well, this would turn the test code into
\version "2.18.0"

"@" =
#(define-event-function (parser location id ev) (number-or-string? ly:event?)
  (set! (ly:music-property ev 'spanner-id)
(if (number? id) (number->string id) id))
  ev)

"\\=" =
#(define-event-function (parser location id ev) (number-or-string? ly:event?)
  (set! (ly:music-property ev 'spanner-id)
(if (number? id) (number->string id) id))
  ev)

"\\-" =
#(define-event-function (parser location id ev) (number-or-string? ly:event?)
  (set! (ly:music-property ev 'spanner-id)
(if (number? id) (number->string id) id))
  ev)

\relative { c'@1( d@2( e@1) f@2) }

\relative { c'\=1( d\=2( e\=1) f\=2) }

\relative { c'\-1( d\-2( e\-1) f\-2) }

% should we prefer this variant in the docs?

\relative { c'\-1-( d\-2-( e\-1-) f\-2-) }

% if so, how to write slur directions?

\relative { c'\-1^( d\-2_( e\-1-) f\-2-) }

\relative { c'^\-1-( d_\-2-( e\-1-) f\-2-) }

% using simple strings

\relative { c'@x( d@y( e@x) f@y) }

\relative { c'\=x( d\=y( e\=x) f\=y) }

\relative { c'\-x( d\-y( e\-x) f\-y) }

\relative { c'\-x-( d\-y-( e\-x-) f\-y-) }

I'm not particularly fond of that but it does get rid of the backslash.
Personally I'd rather keep @ for user extensions.

At any rate, a nice idea might be to have a context property slur-ids
(and phrasing-slur-ids and beam-ids) that can be set to a list and will
then cause the Slur_engraver to only look at slurs in that set of ids.

Where is the point?  You can then do something like

\layout {
  \context {
\Voice
slur-ids = #'("" "1" "2")
  }
  \context {
\Staff
\consists "Slur_engraver"
slur-ids = #'("3" "4")
  }
}

and then spanner-id "3" or "4" will work for cross-Voice slurs.  I'm not
entirely convinced of the concept since it requires a lot checking at
each involved level and one will likely want to do the same for other
engravers so that one has to wonder if it would not be better to
filter/distribute events before they even reach engravers.

But it would be comparatively simple to implement.

-- 
David Kastrup
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Syntax for multiple slurs per Voice?

2015-10-02 Thread Werner LEMBERG

>>> How do people feel about choosing one of the following variations of
>>> \- and \= (code compiles and does the expected thing even in 2.18):
>>
>> I think I prefer \=, but I would be happy with either.

+1 for `\=', since `@' looks a bit clumsy.


Werner

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Syntax for multiple slurs per Voice?

2015-10-02 Thread Urs Liska


Am 02.10.2015 um 16:06 schrieb Kieren MacMillan:
> Hi David,
>
>> issue 4625 in the tracker
>>  is the final
>> straw to provide an actual input syntax for setting the spanner-id
>> property introduced before version 2.16.
> Fabulous!
>
>> How do people feel about choosing one of the following variations of
>> \- and \= (code compiles and does the expected thing even in 2.18):
> I think I prefer \=, but I would be happy with either.

I also think that \= looks better, because
a) what we're doing is *assigning* an id (at least from a user's
perspective)
b) \- looks more like a misspelled -\ (as in -\markup) and thus somewhat
confusing.


This is indeed very exiting "news" - and the fact that a new interface
seems necessary to make that option known is indeed interesting.

Is the request for making it possible to have an "id"ed slur/spanner go
to another voice/staff related to that issue or is it technically a
different thing?

Urs

>
>> Other options I have thought about would be \# but it turns out that
>> looks really clunky and works worse logically with strings than with
>> numbers.  Also it might be more trouble with syntax highlighting because
>> of already existing meanings of # .
> Is this possibly the right time/situation to finally use the [currently 
> unused, I believe??] @?
>
> Thanks for all your great work on this issue.
> Kieren.
> 
>
> Kieren MacMillan, composer
> ‣ website: www.kierenmacmillan.info
> ‣ email: i...@kierenmacmillan.info
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Syntax for multiple slurs per Voice?

2015-10-02 Thread Thomas Morley
2015-10-02 13:13 GMT+02:00 David Kastrup :
>
> Hi, issue 4625 in the tracker
>  is the final
> straw to provide an actual input syntax for setting the spanner-id
> property introduced before version 2.16.  I think currently only slurs
> and phrasing slurs heed them.  While the principal property is a string,
> I think it makes sense to also allow numbers.
>
> How do people feel about choosing one of the following variations of
> \- and \= (code compiles and does the expected thing even in 2.18):

(1)
I'd prefer \=


(2)
> % should we prefer this variant in the docs?
>
> \relative { c'\-1-( d\-2-( e\-1-) f\-2-) }

I don't think we show Slurs with "-" very often in the docs, thus I'd go for:

\relative { c'\=1( d\=2( e\=1) f\=2) }


(3)
> % if so, how to write slur directions?

I'd only demonstrate:

\relative { c'^\=1( d\=2( e\=1) f\=2) }

because for conflicting direction-modifiers the one typed first will win.
See:

\relative { c'^\=1_( d\=2( e\=1) f\=2) }


(4)
Observation:
Using Slurs with and without setted 'spanner-id works as well
\relative { c'\=1( d( e\=1) f) }

\relative { c'\=1(^( e\=1)) }


Cheers,
 Harm

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Syntax for multiple slurs per Voice?

2015-10-02 Thread David Kastrup
Thomas Morley  writes:

> (4)
> Observation:
> Using Slurs with and without setted 'spanner-id works as well
> \relative { c'\=1( d( e\=1) f) }
>
> \relative { c'\=1(^( e\=1)) }

The default is a spanner-id of "" so that's not much of a surprise.

-- 
David Kastrup

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user