Ejemplo n.º 1
0
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();
      }
Ejemplo n.º 2
0
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);
                  }
            }
      }