/** * Add the a recording to the selected sample starting in the first event year and ending in the * last year of the sample. * * @param recording */ public static void addRecordingFromFirstEventToEnd() { if (SampleController.getSelectedSampleIndex() > -1) { FHX2_Recording newRecording = new FHX2_Recording(); FHX2_Sample selectedSample = IOController.getFile() .getRequiredPart() .getSample(SampleController.getSelectedSampleIndex()); @SuppressWarnings("unchecked") ArrayList<FHX2_Event> events = (ArrayList<FHX2_Event>) selectedSample.getEvents().clone(); if (events.size() == 0) return; Collections.sort(events, new CompareEventYears()); FHX2_Event event = events.get(0); int firstyear = event.getEventYear(); int lastyear = selectedSample.getSampleLastYear(); // Handle year 0 if (firstyear == 0) firstyear++; if (lastyear == 0) lastyear--; newRecording.setStartYear(firstyear); newRecording.setEndYear(lastyear); selectedSample.addRecording(newRecording); } SampleController.setSelectedSampleIndex(SampleController.getSelectedSampleIndex()); }
/** * Removes a recording from the currently selected sample. * * @param index */ public static void deleteRecording(int index) { FHX2_Sample selectedSample = IOController.getFile() .getRequiredPart() .getSample(SampleController.getSelectedSampleIndex()); selectedSample.removeRecording(index); }
/** Delete all recordings from the currently selected sample but don't delete any events. */ public static void deleteAllRecordingsButNotEvents() { FHX2_Sample selectedSample = IOController.getFile() .getRequiredPart() .getSample(SampleController.getSelectedSampleIndex()); while (selectedSample.getNumOfRecordings() > 0) { selectedSample.removeRecording(0, true); } }
/** 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()); }
/** * Add the a recording to the selected sample starting in the first event year and ending in the * last year of the sample. * * @param recording */ public static void addRecordingFromBeginningToEnd() { if (SampleController.getSelectedSampleIndex() > -1) { FHX2_Recording newRecording = new FHX2_Recording(); FHX2_Sample selectedSample = IOController.getFile() .getRequiredPart() .getSample(SampleController.getSelectedSampleIndex()); int firstyear = selectedSample.getSampleFirstYear(); int lastyear = selectedSample.getSampleLastYear(); // Handle year 0 if (firstyear == 0) firstyear++; if (lastyear == 0) lastyear--; newRecording.setStartYear(firstyear); newRecording.setEndYear(lastyear); selectedSample.addRecording(newRecording); } SampleController.setSelectedSampleIndex(SampleController.getSelectedSampleIndex()); }