Revision 2.1 – 08/29/2009
This page is a reference for the branch/obsolete/notation_toolbar_2 branch.
NOTE: This branch was not intended as a rewrite of the entire notation view interface but is limited to a few very focused aspects related to notation entry which requires a rewrite of the NoteInserter and RestInserter classes.
Create a consistent notation entry flow in notation view (mouse, keyboard, or MIDI device–step record.)
NOTE: This tool will actually add little new code. The Notation Inserter Tool will basically just act a the glue to make restInserter and noteInserter behave as two parts of one tool. Doing this will all the gui and users to treat it as one tool and see it as distinct mode in notation view.
The Notation Inserter Tool will:
GUI related information:
NOTE: Notation Inserter Tool will have one icon associated with it to match the Draw mode of other RG windows.
Notation Inserter Tool State Information:
NOTE: These states are listed to show how things will work, they do not imply how things will actually be coded. Code that achieves the same effect in a relatively efficient matter is acceptable.
NOTE: This state is entered only when notation view first opens. After entering Initial State, a duration will always be associated with throughout the life of the notation view window. This is new. Initial state was handled differently.
NOTE: This state occurs when another tool (mode) is entered. These actions outline what happens during this time visually and also mentions methods the will trigger Active State, but does not imply any special coding.
Entering Active State:
NOTE: These items outline commands that trigger active state along with the actions tied to the keys. Basically, with all of the actions and ways to interact via keyboard, mouse, etc. a proper notationInsert mode or restInserter mode can be entered in a consistent (and hopefully sane matter) that allows for predictable keyboard sequences and predictable durations based on the state recall of the Notation Inserter Tool.
These terms a used to help focus the discussion in a way top make this page readable and transparent. So when these words are used, they are meant in the context as stated in this section.
Draw (Tool): This name is given in the source code. Draw is the draw mode, typically represented by a red pencil and accessed via the Tools toolbar button, the F3 key, or from the pulldown menu.
Mode: I refer to this as the current state of input activity. Draw mode, Select Mode, Erase Mode. So this suggests RG functions in modes or states.
Inserter: In the RG source code, it appear to be anything that draw events. Ther word inserter appears to be asscociated with clefs, text, notes, rest, etc.
noteInserter: The name is given in the source code. noteInserts deal with drawing notes. restInserter: The name is given in the source code. restInserters deal with drawing rests.
Notation: Notes and Rests. Other items are notation, but not in the context of this page.
Notation Inserter Tool: A Tool for drawing notes and rests. The Draw (Tool) for notation view. (See main text for details).
Current state / prior state: In reference to Notation Inserter Tool, The tool remembers its last state (noteInserter/restInserter, and duration) upon returning to it from another mode (tool).
Depress: to show that a current item of a group is selected (implies the other items in group an “deselecte.”
Branch date: August 25, 2009
Estimated branch merge date: September 6th, 2009
Branch creation commit information: Committed revision 10761.