示例#1
0
  /** Adds a new recording to the currently selected sample. */
  public static void addNewRecording() {

    if (SampleController.getSelectedSampleIndex() > -1) {
      FHX2_Recording newRecording = null;
      FHX2_Sample selectedSample =
          IOController.getFile()
              .getRequiredPart()
              .getSample(SampleController.getSelectedSampleIndex());
      if (selectedSample.getNumOfRecordings() > 0) {
        FHX2_Recording prevRecording =
            selectedSample.getRecording(selectedSample.getNumOfRecordings() - 1);
        int year = selectedSample.getNextAvailableRecordingYear(prevRecording.getEndYear() + 1);
        if (year != 0) {
          newRecording = new FHX2_Recording(year, year);
        }
      } else {
        int firstyear = selectedSample.getNextAvailableRecordingYear();
        int lastyear = selectedSample.getSampleLastYear() - 1;
        if (firstyear != 0 && lastyear != 0) {
          newRecording = new FHX2_Recording(firstyear, lastyear);
        }
      }
      if (newRecording != null) {
        selectedSample.addRecording(newRecording);
      }
    }
    SampleController.setSelectedSampleIndex(SampleController.getSelectedSampleIndex());
  }