Modify

Opened 9 years ago

Closed 6 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 Xelgen)

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)

columbus900track.zip (237.1 KB) - added by mdk 9 years ago.
This is a sample track with audio files. It could also be used for testing #6907.
track_Pontiac_CZ.zip (226.7 KB) - added by Pontiac_CZ 9 years ago.

Download all attachments as: .zip

Change History (26)

comment:1 Changed 9 years ago by Don-vip

Component: CorePlugin columbuscsv
Owner: changed from team to OliverW

comment:2 Changed 9 years ago by mdk

Component: Plugin columbuscsvCore
Owner: changed from OliverW to team
Summary: ColumbusCSV IOException playing a marker: This is after the end of the recordingIOException playing a marker: This is after the end of the recording
Version: tested

comment:3 Changed 9 years ago by mdk

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.

comment:4 Changed 9 years ago by Xelgen

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 in reply to:  4 Changed 9 years ago by skyper

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 9 years ago by mdk

Attachment: columbus900track.zip added

This is a sample track with audio files. It could also be used for testing #6907.

comment:6 Changed 9 years ago by flittle@…

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 Changed 9 years ago by 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.

comment:8 in reply to:  7 Changed 9 years ago by OliverW

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 9 years ago by Pontiac_CZ

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 9 years ago by Pontiac_CZ

Attachment: track_Pontiac_CZ.zip added

comment:10 Changed 9 years ago by OliverW

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 Changed 9 years ago by 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.

comment:12 in reply to:  11 Changed 9 years ago by skyper

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.

Last edited 9 years ago by skyper (previous) (diff)

comment:13 Changed 9 years ago by skyper

Keywords: play marker added
Summary: IOException playing a marker: This is after the end of the recordingRegression: IOException playing a marker: This is after the end of the recording

comment:14 Changed 9 years ago by 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?

comment:15 in reply to:  14 Changed 9 years ago by skyper

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.

Last edited 9 years ago by skyper (previous) (diff)

comment:16 Changed 9 years ago by 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.

comment:17 Changed 9 years ago by Pontiac_CZ

Not yet fixed. It is a JOSM core issue so no setting up will help you.

comment:18 in reply to:  16 Changed 9 years ago by skyper

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 9 years ago by bastiK

Component: CorePlugin columbuscsv
Owner: changed from team to OliverW

The core bug should be fixed in [4831]. Plugin probably needs to be updated.

comment:20 Changed 9 years ago by skyper

Type: defectenhancement

Is this fixed ?

comment:21 Changed 9 years ago by OliverW

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 9 years ago by akks

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 9 years ago by anonymous

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 6 years ago by Don-vip

Resolution: fixed
Status: newclosed

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain OliverW.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.