X-Git-Url: http://gitweb.fperrin.net/?a=blobdiff_plain;f=tim%2Fprune%2Fcorrelate%2FAudioCorrelator.java;h=f60d687db38c2164e37f4cea72f62cecaa9d3234;hb=92dad5df664287acb51728e9ea599f150765d34a;hp=57ecb7f05b513416afa1b386fb5f0619e7de9f1c;hpb=f35b6d628f68e3b5ef19965ad8988d0dd1eb8efa;p=GpsPrune.git diff --git a/tim/prune/correlate/AudioCorrelator.java b/tim/prune/correlate/AudioCorrelator.java index 57ecb7f..f60d687 100644 --- a/tim/prune/correlate/AudioCorrelator.java +++ b/tim/prune/correlate/AudioCorrelator.java @@ -11,17 +11,19 @@ import tim.prune.App; import tim.prune.DataSubscriber; import tim.prune.I18nManager; import tim.prune.UpdateMessageBroker; -import tim.prune.data.AudioFile; +import tim.prune.config.TimezoneHelper; +import tim.prune.data.AudioClip; import tim.prune.data.AudioList; import tim.prune.data.DataPoint; -import tim.prune.data.MediaFile; +import tim.prune.data.MediaObject; import tim.prune.data.MediaList; import tim.prune.data.TimeDifference; import tim.prune.data.Timestamp; +import tim.prune.data.TimestampUtc; import tim.prune.undo.UndoCorrelateAudios; /** - * Class to manage the automatic correlation of audio files to points + * Class to manage the automatic correlation of audio clips to points * which is very similar to the PhotoCorrelator apart from the clip lengths */ public class AudioCorrelator extends Correlator @@ -92,7 +94,7 @@ public class AudioCorrelator extends Correlator { for (int i=0; i 0) {return true;} } return false; @@ -113,13 +115,13 @@ public class AudioCorrelator extends Correlator int numAudios = audios.getNumAudios(); for (int i=0; i 0 && secsToAdd != 0) { - tstamp = tstamp.createPlusOffset(secsToAdd); + if (audioLength > 0 && secsToAdd != 0) + { + mediaMillis += (secsToAdd * 1000L); + tstamp = new TimestampUtc(mediaMillis); + // Here we create a Utc timestamp but it's only temporary for the correlation + // so it will never have to react to timezone changes } } catch (ClassCastException cce) {} @@ -203,11 +210,11 @@ public class AudioCorrelator extends Correlator if (pair.getMinSeconds() == 0L) { // exact match - AudioFile pointAudio = pair.getPointBefore().getAudio(); + AudioClip pointAudio = pair.getPointBefore().getAudio(); if (pointAudio == null) { // photo coincides with audioless point so connect the two - pair.getPointBefore().setAudio((AudioFile) pair.getMedia()); + pair.getPointBefore().setAudio((AudioClip) pair.getMedia()); pair.getMedia().setDataPoint(pair.getPointBefore()); } else if (pointAudio.equals(pair.getMedia())) { @@ -253,7 +260,7 @@ public class AudioCorrelator extends Correlator if (pointToAdd != null) { // link audio to point - pointToAdd.setAudio((AudioFile) pair.getMedia()); + pointToAdd.setAudio((AudioClip) pair.getMedia()); pair.getMedia().setDataPoint(pointToAdd); // set to start of segment so not joined in track pointToAdd.setSegmentStart(true);