I really wanted to try and avoid this - particularly once the first milestone was released. Oh well.
The theory with the current format is that we read in a TrackInfo.VersionX object as a TrackInfo object, check the version number, and proceed. Unfortunately, I realized that the first bit won't work, as the JVM still needs to try and read is as a TrackInfo.VersionX, and if that version doesn't exist we are going to have massive errors.
The .track format will have to be changed to where the version number is serialized individually before the TrackInfo object, so we have a chance to figure out if something went wrong.
I really wanted to try and avoid this - particularly once the first milestone was released. Oh well.
The theory with the current format is that we read in a TrackInfo.VersionX object as a TrackInfo object, check the version number, and proceed. Unfortunately, I realized that the first bit won't work, as the JVM still needs to try and read is as a TrackInfo.VersionX, and if that version doesn't exist we are going to have massive errors.
The .track format will have to be changed to where the version number is serialized individually before the TrackInfo object, so we have a chance to figure out if something went wrong.