On Tuesday 07 March 2006 07:15 am, Vince Negri wrote: > If I understand correctly, RG thinks in terms of events. Each event can > have one or more named properties. So you only need to add the tab info to > a note event > when it is required. Presumably, if we use the built in event property > mechanism, saving > this info will almost code itself :)
That's how I understand it. I'm waiting for confirmation from one of the gurus. I'm not sure that everything can be done this way, but it looks like it should work for string & fret info at least. Not all tab effects are linked to a single note. Effects like P.M. and "let ring" apply to a series of notes, so they behave more like slurs. But code for slurs already exists, so we have a model to work from for these effects. > This really comes down to the desired effect in the GUI. I've seen two > main styles for tab: > 1) As a second staff underneath a trad notation staff. In this case, > all the tab shows are the frettings. Rhythm, dynamics etc are all on > the trad staff. > 2) As a self-sufficient staff where the rhythm and dynamics are marked > on the same staff. This style looks like trad notation, but with > numbers instead of blobs for the note heads. I'd like to go for 1). The other is only appropriate for simple tabs. Having the note durations and such in the tab makes more complicated tablatures very difficult to read. I think we can still use NotationStaff (or some simplified version of it) for 1). Don't think of it as two separate staves. Instead think of it as a single staff with extra stuff at the bottom. We don't have to figure out horizontal placement for two staves, like for piano notation. The tab stuff is kind of like lyrics or dynamic markers or something. The question is whether TabStaff contains a NotationStaff or whether it isa NotationStaff. I think we should be using the isa relationship. I have to look more at how NotationStaff is displayed. If we can derive from NotationStaff and plop in another LinedStaff, things would probably be easy, since that would give us our vertical spacing. I'm doubtful that this will work, however. It's overkill too, since we don't need much of its functionality. We might be able to add a group of StaffLines to the bottom of TabStaff. I don't know, though. We may have to make our own TabLine class. ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ Rosegarden-devel mailing list [email protected] - use the link below to unsubscribe https://lists.sourceforge.net/lists/listinfo/rosegarden-devel
