bool ChordRest::setProperty(P_ID propertyId, const QVariant& v) { switch(propertyId) { case P_ID::SMALL: setSmall(v.toBool()); break; case P_ID::BEAM_MODE: setBeamMode(Beam::Mode(v.toInt())); break; case P_ID::STAFF_MOVE: setStaffMove(v.toInt()); break; default: return DurationElement::setProperty(propertyId, v); } score()->setLayoutAll(true); return true; }
void InputState::update(Element* e) { if (e == 0) return; if (e && e->type() == Element::Type::CHORD) e = static_cast<Chord*>(e)->upNote(); setDrumNote(-1); if (e->type() == Element::Type::NOTE) { Note* note = static_cast<Note*>(e); Chord* chord = note->chord(); setDuration(chord->durationType()); setRest(false); setTrack(note->track()); setNoteType(note->noteType()); setBeamMode(chord->beamMode()); } else if (e->type() == Element::Type::REST) { Rest* rest = static_cast<Rest*>(e); if (rest->durationType().type() == TDuration::DurationType::V_MEASURE) setDuration(TDuration::DurationType::V_QUARTER); else setDuration(rest->durationType()); setRest(true); setTrack(rest->track()); setBeamMode(rest->beamMode()); setNoteType(NoteType::NORMAL); } if (e->type() == Element::Type::NOTE || e->type() == Element::Type::REST) { const Instrument* instr = e->part()->instrument(); if (instr->useDrumset()) { if (e->type() == Element::Type::NOTE) setDrumNote(static_cast<Note*>(e)->pitch()); else setDrumNote(-1); } } }