void NoteGroups::noteClicked(Note* note) { Chord* chord = note->chord(); if (chord->beamMode() == Beam::Mode::AUTO) chord->setBeamMode(Beam::Mode::BEGIN); else if (chord->beamMode() == Beam::Mode::BEGIN) chord->setBeamMode(Beam::Mode::AUTO); chord->score()->doLayout(); view8->update(); view16->update(); view32->update(); }
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); } } }