Also fix tst_links building. The test was broken since the
Score::addText function was moved to plugins API where it was used
exclusively aside from this test.
* without SCRIPT_INTERFACE, Qt 5.7 is enough
* cursor.cpp depends on FractionWrapper
* backwards-compatible QString + QStringRef construction
* let Q_NAMESPACE and Q_ENUM_NS depend on SCRIPT_INTERFACE
* Ms::Direction must be Q_DECLARE_METATYPE
* elide plugin-related headers from the build without SCRIPT_INTERFACE
* supply matching ifdefs for pluginManager calls in main code
This is based on changes by ABL <antonio.lotti@alice.it>
and I merely made it rely on the SCRIPT_INTERFACE compilation
option more (so it does not break anything when SCRIPT_INTERFACE
is on — that is, by default), to make backporting this easier.
Add header defining DBL_MIN and DBL_MAX, and add multiple
inclusion guards around "config.h" as it’s included in many
places.
Previous code crashed when doing a timewise insert at the beginning of
a measure. This was because the call to msMeasure->findFirst searches
for a segment at tick 0, but segment ticks had already been shifted
forward in time with the earlier call to InsertTime. Using
msMeasure->first(SegmentType::ChordRest) avoids that problem.
Second problem was a crash when inserting to beginning of a
multi-measure rest. This was fixed by testing for isMMRest() and using
the multi-measure rest if true.
I also had to change behavior to convert all measure-rests into normal
(non-measure) rests(s) of equivalent duration first before inserting
any additional space. Unfortunately it would have been ideal to
simply keep measure rests and exapand them to fill the new space, but
I couldn't figure out a clean way to do that. So I opted for the
simpler and safer method of converting them into...
Additional note from dmitrio95:
Added handling of situations where other tracks contain non-measure
rests or notes overlapping with the input area. Ensured that all
changes are undoable.
Add channel switch texts to Text palette and make most instruments
with multiple channels have a name for the 1st channel rather than
fallback to 'normal' (all but harp and the e-basses), having 'open' for
brass, 'arco' for strings, 'pizzicato' for acoustic bass. Add 'mute'
(and' open') channel to all brass using trumpet sound, add 'pop' and
'slap' to bass guitar and 6-string electric bass., add 'mute' to
classical guitar.
Naming unnamed channels, more channels for guitars and bass
and naming the sounds of the channels after GM in comments to the
channels
See also https://musescore.org/en/node/269784 and
https://musescore.org/en/node/278497