Some errors crept into the Balalaika definition added yesterday. This is
the fix for them. I have also made a better guess at clef information
although this is still not guaranteed correct
A response to this thread http://musescore.org/en/node/27581 but the
balalaika family was also asked for in 2012:
http://musescore.org/en/node/15908. A little digging this morning
enabled me to find the requisite string data. Not sure I have the clefs
correct though these are pure speculation in the absence of information
from the web
- Measure:
-- firstSegment
-- lastSegment
- MeasureBase:
-- nextMeasure
-- nextMeasureMM (new)
-- prevMeasure
-- prevMeasureMM (new)
- Score:
-- firstMeasure
-- firstMeasureMM (new)
-- (for firstSegment(), see special cases below)
-- lastMeasure
-- lastMeasureMM (new)
-- lastSegment
- Segment:
-- next (renamed from `next1`)
-- nextInMeasure (renamed from `next`)
-- prev (renamed from `prev1`)
-- prevInMeasure (renamed from prev)
Special cases:
- Cursor: The prototype of the `Q_INVOKABLE Ms::Note* Cursor::addNote(int pitch)` was wrong: corrected in `Q_INVOKABLE void Cursor::addNote(int pitch)`.
- QmlPlugin: `Q_INVOKABLE Score* QmlPlugin::readScore()` and `Q_INVOKABLE Score* QmlPlugin::newScore()` has been kept, as they are intended to be called from QML; code has been added to ensure the C++ ownership of the returned object.
- Score: `Q_INVOKABLE Segment* Score::firstSegment(Segment::Type segType)` is kept (as it needs a parameters), but code is added to ensure C++ ownership of the returned Segment*.
- Segment: `Ms::Element* Segment::element(int track)` has been made NOT Q_INVOKABLE; a variant `Q_INVOKABLE Ms::Element* elementAt(int track)` has been added specifically for QML with code to ensure the C++ ownership of the returned Element* (this was the cause for the crash of the Walk plug-in).
- FiguredBass: `Q_INVOKABLE Ms::FiguredBassItem* FiguredBass::addItem()` has been removed; plugin interface for FiguredBass needs to be redesigned anyway.
The few occurrences in the supplied plug-ins of the methods whose names did change have been updated.
A response to this post on the forum: http://musescore.org/en/node/27106
a simple GM Pipe organ has been added to
instruments.xml and the old Pipe Organ which controlled Aeolus has been
renamed to Aeolus Organ. This is part of the preparations required for
the removal of Aeolus should we fail to resolve issues with Fons
Adrianssen.
In the instrument wizard, when a staff is changed to standard type (from a previous different type), the standard clef of the istrument is lost.
Changes:
- Added a member variable to `StaffListItem` storing the default standard clef for the instrument.
- Modified `instruments.xml' to remove <clef> tags from tablature instrument definitions: all these instruments are inited from a standard-staff main entry, recording the default standard clef; this clef is used to init the `StaffListItem::_defaultClef` member variable.
NOTE: Percussion instruments are not covered (an number of percussion instruments seem to have old-style definitions in `instruments.xml`); conversion from percussion to standard staff may yield unexpected results.