I am a bit tired so forgive me for my writing style. What I understand
right now is that the way in which RG adds something to the sheet music
is in a two pass method. First pass is creating the command. The second
pass is actually modifying the Segment by adding an Event. So I believe
I have a plan:

        ---- First Pass ----
        1. When the user clicks on a measure I will launch the Guitar
        Tab Editor (GTE)
           from within my new inserter class 'FretboardInserter'
        
        2. The user selects the chord they want and clicks 'OK'
        
        3. Upon return the FretboardInserter will grab the Fingering
        selected from the GTE.
        
        4. If Fingering object is ok, create a FingeringInsertionCommand
        with the new
           Fingering object
        
        5. Add new command to the m_parentView

    /* In theory I think I understand the second pass as follows: */
    ---- Second Pass ----
    For all commands:
        1. Call modifySegment()

    In command function modifySegment():
        1. Grab SegmentNotationHelper (SGH) pointer
        2. Call insertFretboard() on SGH  (Note: insertFretboard is a new 
           function)

    In SGH function insertFretboard():
        1. Call Fingering::getAsEvent() on Fingering object
        2. Add new Event to master event list in class Segment
        3. Update segment display

I believe I have a good understanding of the first pass. Right now the
second pass that stumps me. So I have a few questions, which I will
research myself tomorrow, are:

1. Where is the function execute() called on my
FingeringInsertionCommand?

2. How does the Event object passed to SegmentNotationHelper for
insertText, for example, get displayed?

I will start with these for now. There are more questions but my mind is
too tired to really articulate what I want to say in an intelligent way.

Stephen

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to