Modify

Opened 20 months ago

Last modified 14 months ago

#6912 new enhancement

Regression: IOException playing a marker: This is after the end of the recording

Reported by: mdk Owned by: OliverW
Priority: normal 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 19 months 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 17 months ago.

Download all attachments as: .zip

Change History (25)

comment:1 Changed 20 months ago by Don-vip

  • Component changed from Core to Plugin columbuscsv
  • Owner changed from team to OliverW

comment:2 Changed 20 months ago by mdk

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

comment:3 Changed 20 months 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 follow-up: Changed 19 months 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 19 months 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 19 months ago by mdk

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

comment:6 Changed 18 months 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 follow-up: Changed 18 months 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 18 months ago by OliverW1969

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 17 months 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 17 months ago by Pontiac_CZ

comment:10 Changed 17 months 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 follow-up: Changed 17 months 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 17 months 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 17 months ago by skyper (previous) (diff)

comment:13 Changed 17 months ago by skyper

  • Keywords play marker added
  • Summary changed from IOException playing a marker: This is after the end of the recording to Regression: IOException playing a marker: This is after the end of the recording

comment:14 follow-up: Changed 17 months 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 17 months 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: 11.

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 login on Trac.

Version 0, edited 17 months ago by skyper (next)

comment:16 follow-up: Changed 17 months 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 17 months 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 17 months 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 16 months ago by bastiK

  • Component changed from Core to Plugin columbuscsv
  • Owner changed from team to OliverW

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

comment:20 Changed 15 months ago by skyper

  • Type changed from defect to enhancement

Is this fixed ?

comment:21 Changed 14 months 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 14 months 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 14 months 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.

Add Comment

Modify Ticket

Change Properties
<Author field>
Action
as new .
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from OliverW. Next status will be 'new'.
Next status will be 'needinfo'.The owner will change to mdk
as duplicate The resolution will be set to duplicate. Next status will be 'closed'.The specified ticket will be cross-referenced with this ticket
The owner will be changed from OliverW to anonymous. Next status will be 'assigned'.
Author


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

 
Note: See TracTickets for help on using tickets.