Beispiel #1
0
KeySigEvent KeyList::key(int tick) const
      {
      if (empty())
            return KeySigEvent();
      ciKeyList i = upper_bound(tick);
      if (i == begin())
            return KeySigEvent();
      --i;
      return i->second;
      }
Beispiel #2
0
void KeySig::read(XmlReader& e)
      {
      _sig = KeySigEvent();   // invalidate _sig
      int subtype = 0;

      while (e.readNextStartElement()) {
            const QStringRef& tag(e.name());
            if (tag == "KeySym") {
                  KeySym ks;
                  while (e.readNextStartElement()) {
                        const QStringRef& tag(e.name());
                        if (tag == "sym") {
                              QString val(e.readElementText());
                              bool valid;
                              SymId id = SymId(val.toInt(&valid));
                              if (!valid)
                                    id = Sym::name2id(val);
                              if (score()->mscVersion() <= 114) {
                                    if (valid)
                                          id = KeySig::convertFromOldId(val.toInt(&valid));
                                    else
                                          id = Sym::oldName2id(val);
                                    }
                              ks.sym = id;
                              }
                        else if (tag == "pos")
                              ks.spos = e.readPoint();
                        else
                              e.unknown();
                        }
                  _sig.keySymbols().append(ks);
                  }
            else if (tag == "showCourtesySig")
                  _showCourtesy = e.readInt();
            else if (tag == "showNaturals")           // obsolete
                  e.readInt();
            else if (tag == "accidental")
                  _sig.setKey(Key(e.readInt()));
            else if (tag == "natural")                // obsolete
                  e.readInt();
            else if (tag == "custom") {
                  e.readInt();
                  _sig.setCustom(true);
                  }
            else if (tag == "subtype")
                  subtype = e.readInt();
            else if (!Element::readProperties(e))
                  e.unknown();
            }
      if (!_sig.isValid())
            _sig.initFromSubtype(subtype);     // for backward compatibility
      }
Beispiel #3
0
Palette* MuseScore::newKeySigPalette()
{
    Palette* sp = new Palette;
    sp->setName(QT_TRANSLATE_NOOP("Palette", "Key Signatures"));
    sp->setMag(0.8);
    sp->setGrid(56, 45);
    sp->setYOffset(1.0);

    for (int i = 0; i < 7; ++i) {
        KeySig* k = new KeySig(gscore);
        k->setKeySigEvent(KeySigEvent(i+1));
        sp->append(k, keyNames[i*2]);
    }
    for (int i = -7; i < 0; ++i) {
        KeySig* k = new KeySig(gscore);
        k->setKeySigEvent(KeySigEvent(i));
        sp->append(k, keyNames[(7 + i) * 2 + 1]);
    }
    KeySig* k = new KeySig(gscore);
    k->setKeySigEvent(KeySigEvent(0));
    sp->append(k, keyNames[14]);
    return sp;
}
Beispiel #4
0
Palette* newKeySigPalette()
      {
      Palette* sp = new Palette;
      sp->setName(qApp->translate("MuseScore", "Key Signatures"));
      sp->setMag(0.8);
      sp->setGrid(56, 45);
      sp->setYOffset(6.0);

      for (int i = 0; i < 7; ++i) {
            KeySig* k = new KeySig(gscore);
            k->setKeySigEvent(KeySigEvent(i+1));
            sp->append(k, qApp->translate("MuseScore", keyNames[i*2]));
            }
      for (int i = -7; i < 0; ++i) {
            KeySig* k = new KeySig(gscore);
            k->setKeySigEvent(KeySigEvent(i));
            sp->append(k, qApp->translate("MuseScore", keyNames[(7 + i) * 2 + 1]));
            }
      KeySig* k = new KeySig(gscore);
      k->setKeySigEvent(KeySigEvent(0));
      sp->append(k, qApp->translate("MuseScore", keyNames[14]));
      return sp;
      }