Re: [frogs] Enhancement: string bends (issue216051)

[ Thread Index | Date Index | More lilynet.net/frogs Archives ]


Hello Neil,

n.puttock@xxxxxxxxx schrieb:

http://codereview.appspot.com/216051/diff/1/2
File bend-implementation-roadmap.txt (right):

http://codereview.appspot.com/216051/diff/1/2#newcode21
bend-implementation-roadmap.txt:21: c4 d\bend
I see why you want to use this syntax, but it goes against the
convention for postfix notation.  Since you're creating a spanner, one
would expect the \bend command to follow the c4 (like a glissando or
tie)
I don't know whether you followed the discussion between Carl and me closely, but we ended up making \bend an *articulation* of a note (I wanted to use \bend
as a spanner, but Carl convinced me not to do so). The main advantage is
- as far as I can see - that it is possible to play intermediate notes between two bent notes by using the string information without explicitly creating spanners
which would mean to use separate voices for each separate string involved.

But I think Carl can explain this far better than me...

Furthermore, it's rather inefficient since it requires the engraver to
cache every note in case a string-bend-event arrives at the next
timestep.
Does this influence the performance very much? The engraver looks for a
bend-event and saves a pitch information when there is none, otherwise
he draws the bend.


http://codereview.appspot.com/216051/diff/1/3
File lily/string-bend-engraver.cc (right):

http://codereview.appspot.com/216051/diff/1/3#newcode21
lily/string-bend-engraver.cc:21: #include "international.hh"
insert

#include "spanner.hh"

http://codereview.appspot.com/216051/diff/1/3#newcode33
lily/string-bend-engraver.cc:33: virtual void finalize();
finalize ()

http://codereview.appspot.com/216051/diff/1/3#newcode95
lily/string-bend-engraver.cc:95: "String_bend ",
StringBend
Ok.

The whole c++ story is still not very clear to me - I just wanted to get the basics done, and still it looks as if the bend implementation is far from being settled down.
I pushed the patch as a discussion platform and furthermore, I want to
archieve consensus before going further - I don't want to write an engraver if it is
then told I should do it the other way.

http://codereview.appspot.com/216051/diff/1/5
File ly/script-init.ly (right):

http://codereview.appspot.com/216051/diff/1/5#newcode14
ly/script-init.ly:14: bend = #(make-music 'StringBendEvent)
This should go in declarations-init.ly or property-init.ly (it's not
really clear which, since we have several similar make-music definitions
in both files)
Ok, I looked for "articulations" and placed the \bend definition there.

http://codereview.appspot.com/216051/show

---
----
Join the Frogs!




---
----
Join the Frogs!


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/