You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Beets currently allows the Model to set and the library to store any value for a field which is declared as types.INTEGER in the Item class. This behaviour however is not supported by MediaFile and for fields (such as bpm) which are declared as integers these values are casted to integer before being written to the audio file tags. This results in the Model remaining always dirty and hence in the impossibility to have the library fully aligned with the media files.
This issue has been reported in #762 and discussed here on the forum. I am opening a new issue because even though this issue is most evident with the bpm field in reality it affects all fields declared types.INTEGERin the Item class.
In short, for any item in the library which has a bpm value in a non-integer format:
...
bpm: 119.434509277
...
Running this command:
$ beet write
will produce:
...
Madness - Full House: The Very Best of Madness - My Girl
bpm: 119 -> 119.434509277
...
repeatedly. The audio file, if inspected through beet info "My Girl" will report:
...
bpm: 119
...
Therefore library and mediafile will remain forever out of sync.
The Curse of the Floating BPM Value
Problem
Beets currently allows the Model to set and the library to store any value for a field which is declared as
types.INTEGER
in the Item class. This behaviour however is not supported by MediaFile and for fields (such as bpm) which are declared as integers these values are casted to integer before being written to the audio file tags. This results in the Model remaining always dirty and hence in the impossibility to have the library fully aligned with the media files.This issue has been reported in #762 and discussed here on the forum. I am opening a new issue because even though this issue is most evident with the bpm field in reality it affects all fields declared
types.INTEGER
in the Item class.In short, for any item in the library which has a bpm value in a non-integer format:
Running this command:
will produce:
repeatedly. The audio file, if inspected through
beet info "My Girl"
will report:Therefore library and mediafile will remain forever out of sync.
Setup
My configuration (output of
beet config
) is:The text was updated successfully, but these errors were encountered: