Monday, 1 February 2010

Focus on adornments

Here's where I have to set some design in stone for v1.

So adornments are all the non-musical elements that make up a score, i.e. text strings the user might use for say the author, a copyright statement, the title, the setting (march, strathspey etc), name of the band written for, date. Approach is not to dictate any requirement except the title, you got to have one of those!

The storyboard for a new score is to create an empty A4 document, give it a title of Untitled, define a distance from top of page for staff line start, and create 8 staff lines in portrait mode and hand it over to the user. (V2 note: define header area, footer area and implement ability to create more than 1 page; implement choice of paper size)

So what can the user do next? Select File->Properties to set page orientation and number of staff lines on the page. Warn user if number of lines reduced and it would mean deleting a populated line. If user increases number of lines (more than 8? good luck) then they'll be appended at the end and all the lines proportionally spaced on the page, below the defined header space.

Now adornments - we've already created one - the title string, which is located at a default position. User needs to be able to move it, change fonts, bold, underline, italic and of course change the content. Also will need the capability to create a new one!

Moving an adornment
User selects the adornment by pressing and holding the (left) mouse button down. Next the mouse is moved (while still holding the button down), and the adornment follows, i.e. dragged to the new location, as determined by where it is, when the mouse button is released.

Changing the content of an adornment
User double-clicks the adornment, dialogue box opens.

Deleting an adornment
User selects the adornment with a single click (enables Cut menu item), hits delete, backspace or Ctrl-X as accelerator to Edit->Cut menu item
User right clicks adornment, triggers pop-up menu, include Cut, Delete menu items
No difference between Cut and Delete in V1
(V2 note: implement undo / redo and Copy, Paste capability)

Creating an adornment
Not sure what menu item this needs to be on, e.g. Insert->Label->Text
User right clicks mouse button, triggers pop-up menu with Insert->Label menu items
Not happy with this! Seems clunky. If the create is triggered by the mouse then we have the location to create the adornment. From the menu, we need to think of where we create it - if we default to say somewhere need top left, the next thing the user needs to do is move it.
The create action pops up a dialogue box appropriate to the adornment type.
Am only formally supporting text adornments in V1, will include a jpeg logo adornment with in V2 or before if it helps build the code framework for extensibility. (i.e. factory methods which select class to create at run time)

No comments:

Post a Comment