Hi Nicolas,

Current implementations of TAB and Jianpu is too intrusive to and too 
coupled with Standard notation implementation.
It is kind of messy and mingled together, and it will be hard to 
understand/maintain and extend functionality in the future.

I'm not trying to change everything overnight all at once.
I'd like to re-factor the code gradually for a better design. I do not 
mean the existing design is bad.

For example:
Staff class has "StaffType _staffType;" and the StaffType class includes 
configuration settings of all staff types (standard, TAB and now 
Jianpu). So every staff object we have for individual staff always 
contains unnecessary data structures that are not relevant to its staff 
type.
We should have an interface class (or a common base class) StaffType and 
derived classes like TabStaffType, JianpuStaffType, etc.
Probably I'll start by having a separate JianpuStaffType that derives 
from StaffType, still using the existing StaffType.
Gradually we should move other stuff out of StaffType to corresponding 
classes, i.e., TabStaffType, etc.

Also I'll try to start with separate JianpuNote and JianpuRest classes 
as helper classes without deriving them from Note and Rest for now.

What do you think?

Regards,
Brian




------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Mscore-developer mailing list
Mscore-developer@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mscore-developer

Reply via email to