First off you can't go back to iTunes 10 unless you have a backup of the iTunes Library from iTunes 10 since iTunes 10 cannot open an iTunes 12 library. If you are going to try and go back, then restore the backup of your library file (typically named:
iTunes Library.itl) that is from iTunes 10, then open iTunes 10. Any changes that were made since the upgrade from 10 to 12 needs to be re-done like making playlists, importing songs and books, etc.
Second, my iTunes 12 seems to handle these just fine.
The time problem sounds like one of two problems.
First is an issue where the iTunes Library and the MP3 file have different lengths of the file.
This occasionally happens with Variable Bit Rate (VBR) MP3 tracks where iTunes does not see the end time properly.
I had written a script a while back to reset the start and end times in iTunes. Here is an altered version for you.
Code:
var iTunesApp = WScript.CreateObject("iTunes.Application");
var selectedTracks = iTunesApp.SelectedTracks;
var numTracks = selectedTracks.Count;
var countOfFinishUpdatedTracks = 0;
for (i = 1; i <= numTracks; i++)
{
var currTrack = selectedTracks.Item(i);
if (currTrack.Finish != currTrack.Duration) {
var finish = currTrack.Finish;
//WScript.Echo("Found " + currTrack.Name + " with finish time " + finish + " end time " + currTrack.Duration);
//currTrack.Finish = finish;
countOfFinishUpdatedTracks++;
}
}
if ( countOfFinishUpdatedTracks == 0 ) {
WScript.Echo("No tracks found with altered stop times");
}
else {
WScript.Echo("Found " + countOfFinishUpdatedTracks + " finish altered tracks.");
}
Copy the above code and save it as a text file named updateFinishTimes.js somewhere you can find it (Desktop or Documents)
Open a Command Prompt
Navigate to where you saved the file in the Command Prompt (CD C:\users\<login>\Documents)
Open iTunes
Select the Audiobook tracks you want to update in iTunes (click first track, hold Shift, click last track)
Type in the command prompt
wscript /nologo updateFinishTimes.js
I made the script to be non-changing initially.
This will show you a count of how many selected tracks have a different duration than their finish time.
If the count is zero the script will not help.
If the count is bigger than zero, then the script can help.
Edit the file updateFinishTimes.js using Notepad or other text editor.
Remove the "
//" from the
currTrack.Finish = finish; line
Save the file
Run the script again:
Type in the command prompt
wscript /nologo updateFinishTimes.js
Now the end time of the track will match the duration of the track.
The second possibility is the ID3 Tags in the MP3 file are old or incorrect, and iTunes is not understanding them.
It is possible that both issues are affecting the files, so I would do this fix as well as the first script fix.
Select the audiobook tracks (You can do all books if you want) in iTunes
Click on File->Convert->Convert ID3 Tags
In the popup window put a check mark in the box, select v2.4 from the drop down
Click OK.
Retest and see if the problem is resolved.