Ticket #3425: audioimp.txt

File audioimp.txt, 2.8 KB (added by dmuecke, 15 years ago)
Line 
1Index: src/org/openstreetmap/josm/gui/layer/GpxLayer.java
2===================================================================
3--- src/org/openstreetmap/josm/gui/layer/GpxLayer.java (revision 2143)
4+++ src/org/openstreetmap/josm/gui/layer/GpxLayer.java (working copy)
5@@ -80,6 +80,11 @@
6 private int computeCacheColorTracksTune;
7 private boolean isLocalFile;
8
9+ private class Markers {
10+ public boolean timedMarkersOmitted = false;
11+ public boolean untimedMarkersOmitted = false;
12+ }
13+
14 public GpxLayer(GpxData d) {
15 super((String) d.attr.get("name"));
16 data = d;
17@@ -260,8 +265,10 @@
18 if (sel != null) {
19 double firstStartTime = sel[0].lastModified() / 1000.0 /* ms -> seconds */
20 - AudioUtil.getCalibratedDuration(sel[0]);
21+
22+ Markers m = new Markers();
23 for (int i = 0; i < sel.length; i++) {
24- importAudio(sel[i], ml, firstStartTime);
25+ importAudio(sel[i], ml, firstStartTime, m);
26 }
27 }
28 Main.main.addLayer(ml);
29@@ -948,8 +955,9 @@
30 * timestamp on the wav file (e) (in future) voice recognised markers in the sound recording (f)
31 * a single marker at the beginning of the track
32 * @param wavFile : the file to be associated with the markers in the new marker layer
33+ * @param markers : keeps track of warning messages to avoid repeated warnings
34 */
35- private void importAudio(File wavFile, MarkerLayer ml, double firstStartTime) {
36+ private void importAudio(File wavFile, MarkerLayer ml, double firstStartTime, Markers markers) {
37 String uri = "file:".concat(wavFile.getAbsolutePath());
38 Collection<WayPoint> waypoints = new ArrayList<WayPoint>();
39 boolean timedMarkersOmitted = false;
40@@ -1150,17 +1158,19 @@
41 ml.data.add(am);
42 }
43
44- if (timedMarkersOmitted) {
45+ if (timedMarkersOmitted && !markers.timedMarkersOmitted) {
46 JOptionPane
47 .showMessageDialog(
48 Main.parent,
49 tr("Some waypoints with timestamps from before the start of the track or after the end were omitted or moved to the start."));
50+ markers.timedMarkersOmitted = timedMarkersOmitted;
51 }
52- if (untimedMarkersOmitted) {
53+ if (untimedMarkersOmitted && !markers.untimedMarkersOmitted) {
54 JOptionPane
55 .showMessageDialog(
56 Main.parent,
57 tr("Some waypoints which were too far from the track to sensibly estimate their time were omitted."));
58+ markers.untimedMarkersOmitted = untimedMarkersOmitted;
59 }
60 }
61