atldotnet: `Track.Date` does not work with iTunes (maybe also `Track.Description`?)

The problem

I recently came across a problem with setting the Recording Date (©day) via Track.Date - the track is saved, but it does not show up in iTunes.

After some experiments, I tried the following piece of code:

        var d = DateTime.Parse("2020-01-31");
// does not show up in iTunes
        var t = new Track(
            "Santa Claus_atldotnet.mp4");
        t.Date = d;
        t.Save();
        
// shows up in iTunes
        var t2 = new Track(
            "Santa Claus_atldotnet_af.mp4");
        t2.AdditionalFields["©day"] = d.ToString("yyyy-MM-dd");
        t2.Save();
        return 0;

Where the Track.AdditionalFields part shows up in iTunes, but the Track.Date does not.

Unfortunately, this is not an acceptable workaround, because

  • writing ©day to AdditionalFields sometimes KILLS every other existing entry in AdditionalFields (maybe due to the fact that ©day is already mapped via Track.Date)
  • or does not store the date correctly (e.g. 2020-01-31 is stored as 2020-01-01)
  • or if it has been stored like this once, is completely ignored (AdditionalFields never shows up ©day, because it is already mapped to Date - this might also be the case for other mapped fields)

Another tool (mp4v2) also then reports that there are multiple ©day fields and that the file is bogus.

I’m gonna attach 4 files for experiments:

  1. Original (without ©day) - Santa Claus_noday.mp4
  2. Track.Date variant that does not work with iTunes - Santa Claus_atldotnet.mp4
  3. AdditionalFields variant, that does work but has side effects - Santa Claus_atldotnet_af.mp4
  4. mp4tags (mp4v2) variant, tagged with a tool that works like expected - Santa Claus_mp4tags.mp4

Hope you can work with these? Thanks

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 15 (14 by maintainers)

Most upvoted comments

Thanks. v4.09 has just been released

I know what it is to have one’s project depending on a 3rd party library for complex operations.

True, as always 😃 tone heavily relies on atldotnet and without it, I could stop further development 😃

Could you upload the file where that happens ? As far as I understand, there are 3 fields to play with (desc, ©des and ldes), and I am not sure which ones your file ended up with.

I’ll add a separate issue for this one, because I have to investigate this - as it was not a specific file or track, but everytime I try the Track.Description to "" or null, it just keeps the description as is and SOMETIMES it falls back to the ldes… very strange and hard to reproduce. So this one should not be in the way of 4.9.0.