From: Chris Cannam <chris.cannam@fe...> - 2005-07-29 12:55:49
Sorry, I haven't been able to find much time to follow this recently. Hopefully I should have a bit more time again once STG 1.5 is out.
> When you say that the notation editor must be able to scale an image are
> you saying that it must be able to say "Hey, I need a fretboard image of
> 80 pixels wide by 60 pixels high" to the Fingering class?
Well, that's not quite how it goes for the other objects. In most cases the notation class (specifically NotationStaff) just asks NotePixmapFactory to return it a pixmap (or draw onto a canvas directly, for printing), and NotePixmapFactory knows how big it should be because it was given the inter-line staff size ("resolution" in its terms) when it was constructed. In your case, perhaps a NotePixmapFactory method that calculates the right size for a fretboard relative to staff size and calls out to your class to get one might be in order.
> I believe that I need to:
> 1. Give the pixmap to Fingering object
> a. Draw fretboard layout
> b. Draw muted/open string actions
> c. Draw notes
> d. Draw barres
> 2. Return generated pixmap
And I suppose you could make the NPF create the pixmap or direct canvas painter (as it does already as a preliminary for drawing anything else) then hand off parts 1a, b, c and d to your class before returning the pixmap.