Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'Record date' writing unwanted month/day/time info #86

Closed
stax76 opened this issue Aug 11, 2022 · 5 comments
Closed

'Record date' writing unwanted month/day/time info #86

stax76 opened this issue Aug 11, 2022 · 5 comments

Comments

@stax76
Copy link

stax76 commented Aug 11, 2022

I get mpv and mediainfo showing 2002-01-01 00:00 as record date.

Is there a way to always only write the year 2002?

month/day/time 01-01 00:00 is generated by Tag Editor, I would prefer Tag Editor not writing month/day/time info, or at least not when the value is 01-01 00:00, possibly nobody really wants it since it's not correct.

General

Count                           : 331
StreamCount                     : 1
StreamKind                      : General
StreamKind/String               : General
StreamKindID                    : 0
AudioCount                      : 1
Audio_Format_List               : MPEG Audio
Audio_Format_WithHint_List      : MPEG Audio
Audio_Codec_List                : MPEG Audio
Audio_Language_List             : English
CompleteName                    : E:\Music\Archive\Amethystium - Shadow To Light.mp3
FolderName                      : E:\Music\Archive
FileNameExtension               : Amethystium - Shadow To Light.mp3
FileName                        : Amethystium - Shadow To Light
FileExtension                   : mp3
Format                          : MPEG Audio
Format/String                   : MPEG Audio
Format/Extensions               : m1a mpa mpa1 mp1 m2a mpa2 mp2 mp3
Format_Commercial               : MPEG Audio
InternetMediaType               : audio/mpeg
FileSize                        : 14217522
FileSize/String                 : 13.6 MiB
FileSize/String1                : 14 MiB
FileSize/String2                : 14 MiB
FileSize/String3                : 13.6 MiB
FileSize/String4                : 13.56 MiB
Duration                        : 352104
Duration/String                 : 5 min 52 s
Duration/String1                : 5 min 52 s 104 ms
Duration/String2                : 5 min 52 s
Duration/String3                : 00:05:52.104
Duration/String5                : 00:05:52.104
OverallBitRate_Mode             : CBR
OverallBitRate_Mode/String      : Constant
OverallBitRate                  : 320000
OverallBitRate/String           : 320 kb/s
StreamSize                      : 132402
StreamSize/String               : 129 KiB (1%)
StreamSize/String1              : 129 KiB
StreamSize/String2              : 129 KiB
StreamSize/String3              : 129 KiB
StreamSize/String4              : 129.3 KiB
StreamSize/String5              : 129 KiB (1%)
StreamSize_Proportion           : 0.00931
Title                           : Shadow To Light
Album                           : Transversa
Track                           : Shadow To Light
Performer                       : Amethystium
Genre                           : Electronic
Recorded_Date                   : 2002-01-01 00:00
File_Created_Date               : UTC 2022-08-11 07:03:08.298
File_Created_Date_Local         : 2022-08-11 09:03:08.298
File_Modified_Date              : UTC 2022-08-11 07:03:08.323
File_Modified_Date_Local        : 2022-08-11 09:03:08.323
Encoded_Library                 : LAME3.100
Encoded_Library/String          : LAME3.100
Cover                           : Yes
Cover_Mime                      : image/jpeg

Audio

Count                           : 285
StreamCount                     : 1
StreamKind                      : Audio
StreamKind/String               : Audio
StreamKindID                    : 0
Format                          : MPEG Audio
Format/String                   : MPEG Audio
Format_Commercial               : MPEG Audio
Format_Version                  : Version 1
Format_Profile                  : Layer 3
Format_Settings                 : Joint stereo
Format_Settings_Mode            : Joint stereo
InternetMediaType               : audio/mpeg
Duration                        : 352104
Duration/String                 : 5 min 52 s
Duration/String1                : 5 min 52 s 104 ms
Duration/String2                : 5 min 52 s
Duration/String3                : 00:05:52.104
Duration/String5                : 00:05:52.104
BitRate_Mode                    : CBR
BitRate_Mode/String             : Constant
BitRate                         : 320000
BitRate/String                  : 320 kb/s
Channel(s)                      : 2
Channel(s)/String               : 2 channels
SamplesPerFrame                 : 1152
SamplingRate                    : 48000
SamplingRate/String             : 48.0 kHz
SamplingCount                   : 16900992
FrameRate                       : 41.667
FrameRate/String                : 41.667 FPS (1152 SPF)
FrameCount                      : 14671
Compression_Mode                : Lossy
Compression_Mode/String         : Lossy
ReplayGain_Gain                 : 12.79
ReplayGain_Gain/String          : 12.79 dB
ReplayGain_Peak                 : 0.103311
StreamSize                      : 14084160
StreamSize/String               : 13.4 MiB (99%)
StreamSize/String1              : 13 MiB
StreamSize/String2              : 13 MiB
StreamSize/String3              : 13.4 MiB
StreamSize/String4              : 13.43 MiB
StreamSize/String5              : 13.4 MiB (99%)
StreamSize_Proportion           : 0.99062
Encoded_Library                 : LAME3.100
Encoded_Library/String          : LAME3.100
Encoded_Library_Settings        : -m j -V 4 -q 3 -lowpass 20.5
Language                        : en
Language/String                 : English
Language/String1                : English
Language/String2                : en
Language/String3                : eng
Language/String4                : en
@Martchus
Copy link
Owner

I can look into it if I have time. I suppose only ID3v2 is affected as otherwise it is just stored as one string (which can be arbitrary and is not validated or otherwise messed with). Did it had to convert from one ID3v2 version to another? (The annoying thing is that different ID3v2 versions use different fields; in fact ID3 versions older than v2.4 spread this information over multiple fields so the underlying library needs to do a little bit more work.)

@stax76
Copy link
Author

stax76 commented Aug 11, 2022

Did it had to convert from one ID3v2 version to another?

I think no, it happens often, if not always. I didn't change tagging related settings. My files that were tagged with MusicBee are ID3v2 2.3.0.

@Martchus
Copy link
Owner

Martchus commented Aug 12, 2022

This little detail is annoyingly a bit more involved than expected. I've already changed the timestamp parser to keep track of the parsed parts (Martchus/cpp-utilities@f20d596) but I still need to use it in the tag parsing library.

@Martchus
Copy link
Owner

Martchus commented Aug 13, 2022

This should be implemented on master. Now it only adds the ID3v2.3 fields that are present in the specified timestamp. Note that some parts of the date/time are still tied together because that's what the spec requires (e.g. if you have a month you also will have a day) but the use-case of just specifying the year should be covered. ID3v2.4 is more flexible about the format so you can also have everything as mentioned in the spec.

@stax76
Copy link
Author

stax76 commented Sep 9, 2022

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants