Package info.textgrid.lab.noteeditor.model

Examples of info.textgrid.lab.noteeditor.model.ScoreDefForm


        ending.getRegsAndSuppliedsAndCurves().add(
            handleScoreChild(endingChildForm, saveAllVariants));
      }
      return ending;
    } else if (childForm instanceof ScoreDefForm) {
      ScoreDefForm contentForm = (ScoreDefForm) childForm;
      ScoreDef contentNode = (ScoreDef) contentForm.getMeiNode();
      for (BasicElement contentChildForm : contentForm.getChildren()) {
        contentNode.setStaffGrp((StaffGrp) handleScoreChild(
            contentChildForm, saveAllVariants));
      }
      return contentNode;
    } else if (childForm instanceof StaffGroupForm) {
      StaffGroupForm contentForm = (StaffGroupForm) childForm;
      StaffGrp contentNode = (StaffGrp) contentForm.getMeiNode();
      contentNode.getInstrDevesAndGrpSymsAndStaffDeves().clear();
      if(contentForm.getChildren().size() == 0) {
        //an empty staffGrp is not allowed and is being cut
        return null;
      }
      for (BasicElement contentChildForm : contentForm.getChildren()) {
        contentNode.getInstrDevesAndGrpSymsAndStaffDeves().add(
            handleScoreChild(contentChildForm, saveAllVariants));
      }
      return contentNode;
    } else if (childForm instanceof StaffDefForm) {
      StaffDefForm contentForm = (StaffDefForm) childForm;
      StaffDef contentNode = (StaffDef) contentForm.getMeiNode();
      contentNode.getMensursAndProportsAndClefGrps().clear();
      for (BasicElement contentChildForm : contentForm.getChildren()) {
        contentNode.getMensursAndProportsAndClefGrps().add(
            handleScoreChild(contentChildForm, saveAllVariants));
      }
      return contentNode;
    } else if (childForm instanceof MeasureForm) {
      MeasureForm measureForm = (MeasureForm) childForm;
      Measure measureNode = (Measure) measureForm.getMeiNode();
      measureNode.getAnnotsAndSlursAndTupletSpen().clear();
      for (BasicElement measureChildForm : measureForm.getChildren()) {
        measureNode.getAnnotsAndSlursAndTupletSpen().add(
            handleScoreChild(measureChildForm, saveAllVariants));
      }
      return measureNode;
    } else if (childForm instanceof StaffForm) {
      StaffForm contentForm = (StaffForm) childForm;
      Staff contentNode = (Staff) contentForm.getMeiNode();
      contentNode.getSbsAndSymbolsAndOrigs().clear();
      for (BasicElement contentChildForm : contentForm.getChildren()) {
        contentNode.getSbsAndSymbolsAndOrigs().add(
            handleScoreChild(contentChildForm, saveAllVariants));
      }
      return contentNode;
    } else if (childForm instanceof AppForm) {
      AppForm contentForm = (AppForm) childForm;
      App contentNode = (App) contentForm.getMeiNode();
      contentNode.getRdgs().clear();
      for (BasicElement contentChildForm : contentForm.getChildren()) {
        contentNode.getRdgs().add(
            (Rdg) handleScoreChild(contentChildForm,
                saveAllVariants));
      }
      if (contentNode.isSetRdgs() && contentNode.getRdgs().isEmpty())
        contentNode.unsetRdgs();
      if (contentNode.isSetN() && contentNode.getN().isEmpty())
        contentNode.setN(null);
      if (!saveAllVariants) {
        for (BasicElement contentChildForm : contentForm.getChildren()) {
          if(contentChildForm instanceof ReadingForm && ((ReadingForm)contentChildForm).isActive() ) {
            MeiNode parentMeiNode = contentForm.getParent().getMeiNode();
            for(BasicElement grandChild : ((ReadingForm)contentChildForm).getChildren()){
              MeiNodeNavigator.addMeiNodeAsChild(parentMeiNode, grandChild.getMeiNode());
            }           
          }
        }
        return null;

      }
      return contentNode;
    } else if (childForm instanceof ReadingForm) {
      Rdg contentNode;
      ReadingForm contentForm = (ReadingForm) childForm;
      if (!saveAllVariants && !contentForm.isActive()) {
        // ignore this very reading
        return null;
      }
      contentNode = (Rdg) contentForm.getMeiNode();
      contentNode.getSources().clear();
      for (SourceBindingWrapper sbw : contentForm
          .getSourceBindingWrappers()) { // insert the wrapped sources
        contentNode.getSources().add(sbw.getSource().getId());
      }
      if (contentNode.getSources().isEmpty())
        contentNode.unsetSources();
      contentNode.getMRestsAndKeySigsAndProports().clear();
      for (BasicElement contentChildForm : contentForm.getChildren()) {
        contentNode.getMRestsAndKeySigsAndProports().add(
            handleScoreChild(contentChildForm, saveAllVariants));
      }
      return contentNode;
    } else if (childForm instanceof LayerForm) {
      LayerForm contentForm = (LayerForm) childForm;
      Layer contentNode = (Layer) contentForm.getMeiNode();
      contentNode.getBarLinesAndSyllablesAndGaps().clear();
      for (BasicElement contentChildForm : contentForm.getChildren()) {
        contentNode.getBarLinesAndSyllablesAndGaps().add(
            handleScoreChild(contentChildForm, saveAllVariants));
      }
      return contentNode;
    } else if (childForm instanceof ChordGroupForm) {
      ChordGroupForm contentForm = (ChordGroupForm) childForm;
      Chord contentNode = (Chord) contentForm.getMeiNode();
      contentNode.getRestoresAndArticsAndUnclears().clear();
      for (BasicElement contentChildForm : contentForm.getChildren()) {
        contentNode.getRestoresAndArticsAndUnclears().add(
            handleScoreChild(contentChildForm, saveAllVariants));
      }
      if(contentNode.getArtics().isEmpty()) {
        contentNode.unsetArtics();
      }
      return contentNode;
    } else if (childForm instanceof BeamGroupForm) {
      BeamGroupForm contentForm = (BeamGroupForm) childForm;
      Beam contentNode = (Beam) contentForm.getMeiNode();
      contentNode.getFTremsAndChordsAndDamages().clear();
      for (BasicElement contentChildForm : contentForm.getChildren()) {
        contentNode.getFTremsAndChordsAndDamages().add(
            handleScoreChild(contentChildForm, saveAllVariants));
      }
      return contentNode;
    } else if (childForm instanceof NoteForm) {
      NoteForm contentForm = (NoteForm) childForm;
      Note contentNode = (Note) contentForm.getMeiNode();
      if (contentNode.getArtics().isEmpty())
        contentNode.unsetArtics();
      return contentNode;
    } else if (childForm instanceof RestForm) {
      RestForm contentForm = (RestForm) childForm;
      Rest contentNode = (Rest) contentForm.getMeiNode();
      return contentNode;
    } else if (childForm instanceof MRestForm) {
      MRestForm contentForm = (MRestForm) childForm;
      MRest contentNode = (MRest) contentForm.getMeiNode();
      return contentNode;
    } else if (childForm instanceof SpaceForm) {
      SpaceForm contentForm = (SpaceForm) childForm;
      Space contentNode = (Space) contentForm.getMeiNode();
      return contentNode;
    } else if (childForm instanceof DynamForm) {
      DynamForm contentForm = (DynamForm) childForm;
      Dynam contentNode = (Dynam) contentForm.getMeiNode();
      for (BasicElement contentChildForm : contentForm.getChildren()) {
        contentNode.getContent().add(
            handleScoreChild(contentChildForm, saveAllVariants));
      }
      return contentNode;
    } else if (childForm instanceof TieForm) {
      TieForm contentForm = (TieForm) childForm;
      Tie contentNode = (Tie) contentForm.getMeiNode();
      return contentNode;
    } else if (childForm instanceof SlurForm) {
      SlurForm contentForm = (SlurForm) childForm;
      Slur contentNode = (Slur) contentForm.getMeiNode();
      return contentNode;
    } else if (childForm instanceof FermataForm) {
      FermataForm contentForm = (FermataForm) childForm;
      Fermata contentNode = (Fermata) contentForm.getMeiNode();
      return contentNode;
    } else {
      // write back a node of a currently unknown type
      UnknownMeiNodeForm contentForm = (UnknownMeiNodeForm) childForm;
      return contentForm.getMeiNode();
    }
  }
View Full Code Here


  }

  private static BasicElement handleScoreDef(ScoreDef scoreDef,
      BasicElement parentForm) {
    if (scoreDef.isSetStaffGrp() && parentForm instanceof MusicDiagram) {
      ScoreDefForm scoreDefForm = new ScoreDefForm();
      scoreDefForm.setScoreDef(scoreDef);
      scoreDefForm.setMeiNode(scoreDef);
      scoreDefForm.setParent(parentForm);
      handleMeiElement(scoreDef.getStaffGrp(), scoreDefForm);
      ArrayList<Integer> systemPositions = new ArrayList<Integer>();
      for (int i = 0; i < scoreDefForm.getStaffDefs().size(); i++) {
        // default placement of the systems with default distances
        systemPositions
            .add(GraphicalConstants.SHAPE_SCOREDEFSHAPE_HEIGHT
                * i
                + GraphicalConstants.SHAPE_MEASURESHAPE_INTERMEDIATE);
      }
      scoreDefForm.setSystemPositions(systemPositions);
      Dimension dimScoreDef = new Dimension();

      BasicElement handleSectionContent = handleMeiElement(
          scoreDef.getStaffGrp(), scoreDefForm);
      if (handleSectionContent != null)
        scoreDefForm.addChild(handleSectionContent);
      dimScoreDef.width = 1;
      dimScoreDef.height = 1;
      scoreDefForm.setSize(dimScoreDef);
      return scoreDefForm;
    } else {
      // TODO second ScoreDef not yet supported
      return null;
    }
View Full Code Here

    return slurForm;
  }

  private static BasicElement handleStaffGrp(StaffGrp staffGrp,
      BasicElement parentForm) {
    ScoreDefForm scoreDefForm = (ScoreDefForm) MeiNodeNavigator
        .findAncestorForm(ScoreDefForm.class, parentForm);
    ScoreDef scoreDef = (ScoreDef)scoreDefForm.getMeiNode();
    StaffGroupForm staffGroupForm = new StaffGroupForm();
    staffGroupForm.setParent(parentForm);
    staffGroupForm.setMeiNode(staffGrp);
    for (MeiNode child : staffGrp.getInstrDevesAndGrpSymsAndStaffDeves()) {
      if (child instanceof StaffDef) {
        StaffDef staffDef = (StaffDef) child;
        if (null == staffDef.getMeterCount()) {
          if (null != scoreDef.getMeterCount()) {
            staffDef.setMeterCount(scoreDef.getMeterCount());
          } else {
            staffDef.setMeterCount(
                StringConstants.STRING_EMPTY
                    + GraphicalConstants.DEFAULT_METER_COUNT);
          }
        }
        if (null == staffDef.getMeterUnit()) {
          if (null != scoreDef.getMeterUnit()) {
            staffDef.setMeterUnit(scoreDef.getMeterUnit());
          } else {
            staffDef.setMeterUnit(new BigDecimal(
                StringConstants.STRING_EMPTY
                    + GraphicalConstants.DEFAULT_METER_UNIT));
          }
        }
        if (null == scoreDef.getMeterSym()) {
          if (null != staffDef.getMeterSym()) {
            staffDef.setMeterSym(scoreDef.getMeterSym());
          } else {
            staffDef.setMeterSym(HelperMethods
                .convertStringToSign(GraphicalConstants.DEFAULT_METER_SYM));
          }
        }
        scoreDefForm.getStaffDefN().put(
            (staffDef.getN() != null) ? staffDef.getN()
                : staffDef.getId(),
            scoreDefForm.getSystemsCount());
        scoreDefForm.addStaffDef(staffDef, staffGrp);
      } else if (child instanceof StaffGrp) {
        // recursive call
        scoreDefForm.addStaffgroup(staffGrp, (StaffGrp) child);
        handleStaffGrp((StaffGrp) child, scoreDefForm);
      }
      BasicElement handleLayerContent = handleMeiElement(child,
          staffGroupForm);
      if (handleLayerContent != null)
View Full Code Here

TOP

Related Classes of info.textgrid.lab.noteeditor.model.ScoreDefForm

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.