X-Git-Url: https://gitweb.fperrin.net/?p=GpsPrune.git;a=blobdiff_plain;f=tim%2Fprune%2Fdata%2FTrackInfo.java;h=7bcbc641e75fcae730f07178d5ad93637486145c;hp=3df964b2652643624352a72b4e0c2be93114ed14;hb=4d5796d02a15808311c09448d79e6e7d1de9d636;hpb=f35b6d628f68e3b5ef19965ad8988d0dd1eb8efa diff --git a/tim/prune/data/TrackInfo.java b/tim/prune/data/TrackInfo.java index 3df964b..7bcbc64 100644 --- a/tim/prune/data/TrackInfo.java +++ b/tim/prune/data/TrackInfo.java @@ -92,10 +92,10 @@ public class TrackInfo } /** - * Get the currently selected audio file, if any - * @return AudioFile if selected, otherwise null + * Get the currently selected audio clip, if any + * @return AudioClip if selected, otherwise null */ - public AudioFile getCurrentAudio() { + public AudioClip getCurrentAudio() { return _audioList.getAudio(_selection.getCurrentAudioIndex()); } @@ -165,12 +165,12 @@ public class TrackInfo * @param inSet Set containing Audio objects * @return number of audio objects added */ - public int addAudios(Set inSet) + public int addAudios(Set inSet) { int numAudiosAdded = 0; if (inSet != null && !inSet.isEmpty()) { - for (AudioFile audio : inSet) + for (AudioClip audio : inSet) { if (audio != null && !_audioList.contains(audio)) { @@ -184,21 +184,6 @@ public class TrackInfo return numAudiosAdded; } - /** - * Delete the currently selected range of points - * @return true if successful - */ - public boolean deleteRange() - { - int startSel = _selection.getStart(); - int endSel = _selection.getEnd(); - boolean answer = _track.deleteRange(startSel, endSel); - // clear range selection - _selection.modifyRangeDeleted(); - return answer; - } - - /** * Delete the currently selected point * @return true if point deleted @@ -208,7 +193,6 @@ public class TrackInfo if (_track.deletePoint(_selection.getCurrentPointIndex())) { _selection.modifyPointDeleted(); - UpdateMessageBroker.informSubscribers(); return true; } return false; @@ -260,7 +244,7 @@ public class TrackInfo int audioIndex = _selection.getCurrentAudioIndex(); if (audioIndex >= 0) { - AudioFile audio = _audioList.getAudio(audioIndex); + AudioClip audio = _audioList.getAudio(audioIndex); _audioList.deleteAudio(audioIndex); // has it got a point? if (audio.getDataPoint() != null) @@ -336,20 +320,6 @@ public class TrackInfo return true; } - /** - * Interpolate extra points between two selected ones - * @param inNumPoints num points to insert - * @return true if successful - */ - public boolean interpolate(int inNumPoints) - { - boolean success = _track.interpolate(_selection.getStart(), inNumPoints); - if (success) { - _selection.selectRangeEnd(_selection.getEnd() + inNumPoints); - } - return success; - } - /** * Average selected points to create a new one @@ -374,6 +344,18 @@ public class TrackInfo selectPoint(_track.getPointIndex(inPoint)); } + /** + * Increment the selected point index by the given increment + * @param inPointIncrement +1 for next point, -1 for previous etc + */ + public void incrementPointIndex(int inPointIncrement) + { + int index = _selection.getCurrentPointIndex() + inPointIncrement; + if (index < 0) index = 0; + else if (index >= _track.getNumPoints()) index = _track.getNumPoints()-1; + selectPoint(index); + } + /** * Select the data point with the given index * @param inPointIndex index of DataPoint to select, or -1 for none @@ -400,7 +382,7 @@ public class TrackInfo audioIndex = _audioList.getAudioIndex(selectedPoint.getAudio()); } else if (audioIndex < 0 || _audioList.getAudio(audioIndex).isConnected()) { - // deselect current audio file + // deselect current audio clip audioIndex = -1; } // give to selection @@ -439,14 +421,16 @@ public class TrackInfo pointIndex = -1; } } - // Has the new point got an audio file? + // Has the new point got an audio clip? DataPoint selectedPoint = _track.getPoint(pointIndex); int audioIndex = _selection.getCurrentAudioIndex(); - if (selectedPoint != null) { - if (selectedPoint.getAudio() != null) audioIndex = _audioList.getAudioIndex(selectedPoint.getAudio()); + if (selectedPoint != null && selectedPoint.getAudio() != null) { + // New point has an audio, so select it + audioIndex = _audioList.getAudioIndex(selectedPoint.getAudio()); } - else { - if (selectedPoint != currPoint && currPoint.getAudio() != null) {audioIndex = -1;} + else if (currPoint != null && selectedPoint != currPoint && currPoint.getAudio() != null) { + // Old point had an audio, so deselect it + audioIndex = -1; } // give to selection object _selection.selectPointPhotoAudio(pointIndex, inPhotoIndex, audioIndex); @@ -460,7 +444,7 @@ public class TrackInfo { if (_selection.getCurrentAudioIndex() == inAudioIndex) {return;} // Audio selection takes priority, deselecting point if necessary - AudioFile audio = _audioList.getAudio(inAudioIndex); + AudioClip audio = _audioList.getAudio(inAudioIndex); int pointIndex = _selection.getCurrentPointIndex(); DataPoint currPoint = getCurrentPoint(); if (audio != null) @@ -485,11 +469,13 @@ public class TrackInfo // Has the new point got a photo? DataPoint selectedPoint = _track.getPoint(pointIndex); int photoIndex = _selection.getCurrentPhotoIndex(); - if (selectedPoint != null) { - if (selectedPoint.getPhoto() != null) photoIndex = _photoList.getPhotoIndex(selectedPoint.getPhoto()); + if (selectedPoint != null && selectedPoint.getPhoto() != null) { + // New point has a photo, so select it + photoIndex = _photoList.getPhotoIndex(selectedPoint.getPhoto()); } - else { - if (selectedPoint != currPoint && currPoint.getPhoto() != null) {photoIndex = -1;} + else if (currPoint != null && selectedPoint != currPoint && currPoint.getPhoto() != null) { + // Old point had a photo, so deselect it + photoIndex = -1; } // give to selection object _selection.selectPointPhotoAudio(pointIndex, photoIndex, inAudioIndex);