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
signature.asc
Description: This is a digitally signed message part
