Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(12830)

Issue 216051: Enhancement: string bends (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
14 years, 2 months ago by marc
Modified:
12 years, 7 months ago
Reviewers:
carl.d.sorensen, Neil Puttock
CC:
frogs_lilynet.net
Visibility:
Public.

Description

Enhancement: string bends First steps: a new event called string-bend-event is instantiated and a new engraver is established which does nothing at the moment. Hopefully this will change soon ;-) The main roadmap is in the (temporary) file bend-implementation-roadmap.txt where I collected the main ideas and conclusions of former discussions.

Patch Set 1 #

Total comments: 10

Patch Set 2 : Small corrections due to Neil's comments #

Patch Set 3 : Annotations in roadmap; first structures in string-bend-engraver.cc #

Total comments: 2

Patch Set 4 : Corrections in roadmap #

Patch Set 5 : Some progression on string-bend-engraver.cc #

Patch Set 6 : added \bend as articulation #

Patch Set 7 : more work on string-bend-engraver #

Patch Set 8 : Removed wrong articulation definition #

Patch Set 9 : Drawing details added in roadmap #

Unified diffs Side-by-side diffs Delta from patch set Stats (+29 lines, -0 lines) Patch
M bend-implementation-roadmap.txt View 1 2 3 4 8 1 chunk +29 lines, -0 lines 0 comments Download

Messages

Total messages: 19
Neil Puttock
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 ...
14 years, 2 months ago (2010-02-20 17:01:12 UTC) #1
marc
Hello Neil, n.puttock@gmail.com schrieb: > > http://codereview.appspot.com/216051/diff/1/2 > File bend-implementation-roadmap.txt (right): > > http://codereview.appspot.com/216051/diff/1/2#newcode21 > ...
14 years, 2 months ago (2010-02-20 18:34:45 UTC) #2
Neil Puttock
On 20 February 2010 18:34, Marc Hohl <marc@hohlart.de> wrote: > I don't know whether you ...
14 years, 2 months ago (2010-02-20 22:04:10 UTC) #3
marc
Neil Puttock schrieb: > On 20 February 2010 18:34, Marc Hohl <marc@hohlart.de> wrote: > > ...
14 years, 2 months ago (2010-02-21 09:47:18 UTC) #4
Carl
Marc, I'm sorry I was so slow on this. My life has been crazy recently. ...
14 years, 1 month ago (2010-03-06 16:59:59 UTC) #5
marc
Carl.D.Sorensen@gmail.com schrieb: > Marc, > > I'm sorry I was so slow on this. My ...
14 years, 1 month ago (2010-03-07 09:13:40 UTC) #6
c_sorensen
On 3/7/10 2:13 AM, "Marc Hohl" <marc@hohlart.de> wrote: > Ok. I thought about situations like ...
14 years, 1 month ago (2010-03-08 01:04:52 UTC) #7
marc
Carl Sorensen schrieb: > > On 3/7/10 2:13 AM, "Marc Hohl" <marc@hohlart.de> wrote: > > ...
14 years, 1 month ago (2010-03-08 08:35:37 UTC) #8
marc
Marc Hohl schrieb: > [...] > > Thanks again for your comments. WIthin the next ...
14 years, 1 month ago (2010-03-14 18:50:56 UTC) #9
marc
I uploaded my latest version of string-bend-engraver.cc. I think I am on the right track ...
14 years, 1 month ago (2010-03-16 19:59:38 UTC) #10
Carl
Inside a chord, the string numbers don't come as events, they come as articulations on ...
14 years, 1 month ago (2010-03-17 16:43:19 UTC) #11
marc
Carl.D.Sorensen@gmail.com schrieb: > Inside a chord, the string numbers don't come as events, they come ...
14 years, 1 month ago (2010-03-17 19:12:27 UTC) #12
c_sorensen
On 3/17/10 1:12 PM, "Marc Hohl" <marc@hohlart.de> wrote: > Carl.D.Sorensen@gmail.com schrieb: >> Inside a chord, ...
14 years, 1 month ago (2010-03-18 00:19:48 UTC) #13
marc
Carl Sorensen schrieb: > > On 3/17/10 1:12 PM, "Marc Hohl" <marc@hohlart.de> wrote: > > ...
14 years, 1 month ago (2010-03-21 13:28:12 UTC) #14
marc
Marc Hohl schrieb: > Carl Sorensen schrieb: >> >> On 3/17/10 1:12 PM, "Marc Hohl" ...
14 years, 1 month ago (2010-03-21 17:12:33 UTC) #15
Neil Puttock
On 2010/03/21 13:28:12, marc wrote: > please review the current changes. IIUC, articulations can be ...
14 years, 1 month ago (2010-03-22 23:12:45 UTC) #16
marc
n.puttock@gmail.com schrieb: > On 2010/03/21 13:28:12, marc wrote: > >> please review the current changes. ...
14 years, 1 month ago (2010-03-23 06:53:16 UTC) #17
marc
Marc Hohl schrieb: > [...] > Now (given that the engraver structure is ok) I ...
14 years ago (2010-04-03 14:12:47 UTC) #18
c_sorensen
14 years ago (2010-04-09 00:50:02 UTC) #19


On 4/3/10 8:12 AM, "Marc Hohl" <marc@hohlart.de> wrote:

> Marc Hohl schrieb:
>> [...]
>> Now (given that the engraver structure is ok) I have to include the
>> actual
>> drawing routine. How do I tell the routine which note-events it should
>> use?
>> If I look at glissando-engraver.cc, I see a function called make_spanner,
>> but it is still mysterious to me how the function gets its starting
>> and ending points/events.
> It is still not clear to me how to proceed.
> Assume I have a note-event in
> 
> bend_reference_events_[string_nr]
> 
> and a corresponding note-event in
> 
> note_events_[string_nr]
> 
> How do I call make_spanner? It should draw a spanner between
> bend_reference_events_[string_nr] and note_events_[string_nr].
> 
> Any hints are welcome.

I've been really busy, and not had time to look this up at all, so I was
hoping somebody else would answer.  But since nobody has, I thought I'd tell
you what I've been able to find out.

I've been looking at lily/slur-engraver.cc.

In Slur_engraver::process_music(), line 187, a slur grob is created by
calling make_spanner.

In line 192, the slur is added to a vector of slurs.

In line 172-179, slurs are ended.

In Slur_engraver::stop_translation_timestep()

events are added to the encompass list for the active slurs.  I think this
gives the slur grob the info it needs to do the calculations.

I think this is the code that sets up the grob with all of its information.

lily/slur.cc is the c++ code (that is also exported to scheme) that does the
actual layout work.  You can see in that code that the encompassed columns
are available.

I think that what you need to do is at the time you create a bend_spanner,
you will pass in the start_note and the end_note.  Then at the time you want
to print the spanner, you will set the ends relative to the properties of
the start_note and the end_note.

I'm sorry I don't have a better answer for you than this.  I've never done
what you're doing.

HTH,

Carl

Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b