As the very concept of "early music" is foggy and there is always a margin of subjectivity, it may be improved and also easily argued upon! :)
(I also added the 7th string to the viola da gamba)
* Replace "Tablature" with "StringData" in instruments.xml
* Remove support for "Tablature" tag from instrtemplate.cpp (but keep it in instrument.cpp for compatibility with existent 2.0 scores)
1) Built-in staff types have been removed.
2) Presets are internally used as source for the staff types of a new score, to match data in Instruments.xml and as reference to check for modifications.
3) Each new score is given by default one staff type for each preset with the same name.
4) The Instrument page of the New Score Wizard lists (under the name of "Staff types") the default staff types applicable to the instrument (actually it lists the preset, as the score does not have any staff type yet).
5) The "Add | Instruments" dlg box lists all the staff types applicable to the instrument: = to the list of 4) + any user-created staff type.
6) The Staff Properties dlg box lists all the staff types applicable to the instrument: = list in 5)
7) The Staff Type Editor lists all the staff types
This should ensure consistency among the several lists of staff types and avoid duplication of similar items
Terminology:
7) A new staff type created in the editor is named by default with the group name ("Standard-", "Perc-", "Tab-") + the index of the new type in its group + the suffix "[*]" marking a user customisation. The user is anyway able to rename it, if he want.
8) The pitched staff type has been renamed everywhere (hopefully!) to "Standard"
9) The term 'preset' have been removed from the UI, except from the Staff Type Editor where it keeps its meaning of ready-made collections of parameters
The commit affects many files, but a fair number of them have only changes in names of literals. The files with significant code changes are:
libmscore/score.cpp
libmscore/stafftype.cpp/.h
mscore/editstafftype.cpp (code for naming a new staff type)
mscore/instrdialog.cpp (building type list)
Note: as score files store staff type indications as integer indices and the number and order of new default staff types is different from the old built-in types, there is a compatibility issue with old 2.0 score which use percussion and tab staves. In Score::read() (libmscore/scorefile.cpp), there is a rudimentary attempt to cope with this.Old scores will need manual fix anyway. There should not be any (new) compatibility issue with 1.x scores, as they did not use staff types.
Tablature information has been added to the Electric Guitar definition
which for some reason had none. MusicXML id information has also been
added which was also missing.
Electronic instruments is now complete, the marching percussion group
has been added, some anomalies caused by use an <init> tag which is not
part of the DTD addressed. Checked for XML correctness and all appears
to be well.
so musescore should also use that as a default.
Tuning of a mandola is g-d-a-e one exactly the same as a
mandolin just one octave lower - not equivalent to a viola obviously
so the ranges also had to be fixed.
*) Custom styles read from scores are clones (rather than shared pointers) and set to non-built-in
*) Score::addStaffType() updates pointers to type in staves which use a modified type
*) EditStaffType sets its staff styles as non-built-in
*) Update of EditStaffType preview adapted to new Score::addStaffType()
*) TAB sample score for EditStaffType preview updated to latest version