Opened 12 years ago
Closed 9 years ago
#6912 closed enhancement (fixed)
Regression: IOException playing a marker: This is after the end of the recording
Reported by: | mdk | Owned by: | OliverW |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | Plugin columbuscsv | Version: | tested |
Keywords: | play marker | Cc: |
Description (last modified by )
ColumbusCSV uses a separate audio file for each Marker. While debugging I found, that the Markers (in Marker.java) are created with a offfset. Only the first Marker has (the correct) offset of 0.0. The following (in my example) have increasing offsets (313, 338, 369, 413, 468, ...). Because the offset is in seconds and my recordings are NOT 5min.+ long, this cause the seen errors.
The offset calculation makes only sense, if I have ONE audio file for all markers. If there are separate offset files for each Marker, the offset must always be 0.0.
Possible solutions:
1) A hack in ColumbusCSV.java after creating the new MarkerLayer in line 88:
loop over all markers and set offset to 0.0.
2) A little bit shaky solution in the MarkerLayer constructor (line 79) where the individual markers are created (Marker.createMarker()):
Reset firstTime to time if indata.storageFile changes (this did not handle alternate re-usage of some files)
3) A new MarkerLayer constructor (or a new parameter in GPXData) specially for the case that indata has separate audio files for each Marker.
I wonder if nobody else has problems using ColumbusCSV plugin, or if the problem only occure with a new version of the Logger.
I choose Core for the component, because ColumbusCSV plugin can only implement a hack and not a real solution.
Attachments (2)
Change History (26)
comment:1 Changed 12 years ago by
Component: | Core → Plugin columbuscsv |
---|---|
Owner: | changed from team to OliverW |
comment:2 Changed 12 years ago by
Component: | Plugin columbuscsv → Core |
---|---|
Owner: | changed from OliverW to team |
Summary: | ColumbusCSV IOException playing a marker: This is after the end of the recording → IOException playing a marker: This is after the end of the recording |
Version: | → tested |
comment:3 Changed 12 years ago by
comment:4 follow-up: 5 Changed 12 years ago by
Description: | modified (diff) |
---|
I experience the very same problem, and it's very annoying because I have a lot of fresh tracks with voice markets in it, but I'm only able to hear the very first marker in the track.
I'd be happy to assist, by providing more details, testing, etc..
As voice records is main feature, which makes mappers choose Columbus tracker, I believe, we can rise priority of this issue till major. Personally for me it's blocker.
Unfortunaltely I've never done Java programming, nor I've looked in code of JOSM, to help with more.
comment:5 Changed 12 years ago by
Replying to Xelgen:
I experience the very same problem, and it's very annoying because I have a lot of fresh tracks with voice markets in it, but I'm only able to hear the very first marker in the track.
I'd be happy to assist, by providing more details, testing, etc..
Please attach a sample file (track +audios) that would be helpful.
Changed 12 years ago by
Attachment: | columbus900track.zip added |
---|
This is a sample track with audio files. It could also be used for testing #6907.
comment:6 Changed 12 years ago by
Yes, this is a real problem if you use the Columbus/VisionTAC logger to record notes for OSM and then JOSM to listen to the note at the correct location. Most of my work on OSM is halted (with many km of notes to work from) until a solution is found. Hoping for a solution soon.
comment:7 follow-up: 8 Changed 12 years ago by
Fixed in 27103. Chose method A (offset is set to 0 after import).
However, I do not perceive this as a proper solution since this fixes rather the symptoms instead of the root cause.
comment:8 Changed 12 years ago by
Replying to OliverW:
Fixed in 27103. Chose method A (offset is set to 0 after import).
However, I do not perceive this as a proper solution since this fixes rather the symptoms instead of the root cause.
Thus I left this ticket open. It is just to make ColumbusCSV users happy.
comment:9 Changed 12 years ago by
I experience the same problem with tracks recorded by OSM Tracker 0.10.1-rev730.
I have JOSM 4665.
Only the first audio can be played, the others show described error.
I'll try to attach my files - track_Pontiac_CZ.zip
Changed 12 years ago by
Attachment: | track_Pontiac_CZ.zip added |
---|
comment:10 Changed 12 years ago by
Hi,
unfortunately I cannot test it since the ZIP does not contain the CSV file.
BTW: Please make sure, that you have the latest version of the plugin (27119).
comment:11 follow-up: 12 Changed 12 years ago by
Well, I don't have any CSV as OSM Tracker doesn't generate such a file. And I don't use ColumbusCSV plugin.
Just wanted to say - I now experience the same problem with audio marks (and I didn't a few months ago!). So it is probably some bug in the latest versions of JOSM.
comment:12 Changed 12 years ago by
Replying to Pontiac_CZ:
Well, I don't have any CSV as OSM Tracker doesn't generate such a file. And I don't use ColumbusCSV plugin.
Just wanted to say - I now experience the same problem with audio marks (and I didn't a few months ago!). So it is probably some bug in the latest versions of JOSM.
I can reproduce it on debian:
Last working version is r4281.
Sorry, but nothing on the console about the exception.
comment:13 Changed 12 years ago by
Keywords: | play marker added |
---|---|
Summary: | IOException playing a marker: This is after the end of the recording → Regression: IOException playing a marker: This is after the end of the recording |
comment:14 follow-up: 15 Changed 12 years ago by
I don't get any exception on the console as well. All I get is just the nonsense "This is after the end of the recording" message when trying to play audio markers except the very first one.
Since my problem doesn't regard ColumbusCSV plugin do you think I should create a separate ticket?
comment:15 Changed 12 years ago by
Replying to Pontiac_CZ:
I don't get any exception on the console as well. All I get is just the nonsense "This is after the end of the recording" message when trying to play audio markers except the very first one.
Since my problem doesn't regard ColumbusCSV plugin do you think I should create a separate ticket?
This ticket is about Core not ColumbusCSV plugin as stated on comment:3. I already tried your files: 12.
If you have more useful information, feel free to comment on this ticket and you also have the possibility to vote on a ticket if you are logged in on Trac.
comment:16 follow-up: 18 Changed 12 years ago by
I'm not clear if this has been fixed or not, but it doesn't seem to work for me in JOSM 4667 with the 27119 version of the plugin.
What settings do you need to use in the Audio Import preferences for it to work? I tried all the combinations, in case that was the problem, but I couldn't get it to work.
comment:17 Changed 12 years ago by
Not yet fixed. It is a JOSM core issue so no setting up will help you.
comment:18 Changed 12 years ago by
Replying to anonymous:
I'm not clear if this has been fixed or not, but it doesn't seem to work for me in JOSM 4667 with the 27119 version of the plugin.
What settings do you need to use in the Audio Import preferences for it to work? I tried all the combinations, in case that was the problem, but I couldn't get it to work.
Sorry, do not have time to check it out, but if you have problems with the columbus plugin, please open a new ticket as the plugin should include a hack to work around this core bug.
comment:19 Changed 12 years ago by
Component: | Core → Plugin columbuscsv |
---|---|
Owner: | changed from team to OliverW |
The core bug should be fixed in [4831]. Plugin probably needs to be updated.
comment:21 Changed 12 years ago by
Yes, but I experience strange problems with the marker layer:
When I run the plugin within Ecllipse Debug Mode everything works fine, but when trying JOSM standalone this fails
My code contains the following snippet
MarkerLayer ml = new MarkerLayer(gpxData, tr("Markers of ") + file.getName(), file, gpxLayer); assert(ml != null); assert(ml.data != null); System.out.println("Layer: " + ml); System.out.println("Data: " + ml.data != null); System.out.println("Data size: " + ml.data.size()); Main.main.addLayer(ml);
In debug mode I get this output
Layer: org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer@77fcac true Data size: 11
When running standalone, I get only this - without any error message
Layer: org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer@3f8fddac
I tried also the JOSM with windows installer - same result. Could this be a question of the right JVM (version/arguments)?
Or do I miss something?
comment:22 Changed 12 years ago by
As far as I remember, assertions are disabled by default. Only JVM option -ea enables it (maybe Eclipse have it enabled while debugging)
comment:23 Changed 12 years ago by
I have seen this too while mapping with OSM Tracker.
If I uncheck "Explicit waypoints ...." from audio settings then everything works fine.
comment:24 Changed 9 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
I put this ticket back to "Core", because (in my oppinion) it is a bug in the MarkerLayer while creating Markers with separate audio files and NOT a bug in ColumbusCVS.