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

Reply via email to