View Issue Details

IDProjectCategoryView StatusLast Update
0014449MMW 5Tagging / organizing (properties / auto-tools)public2024-07-15 06:41
Reporterpeke Assigned To 
PriorityhighSeveritytweakReproducibilityalways
Status assignedResolutionreopened 
Target Version5.2Fixed in Version5.0 
Summary0014449: BPM: BPM should be shown with Two decimals
DescriptionBPM should be shown with Two decimals like all other apps.
TagsNo tags attached.
Attached Files
0MhCPVA[1].png (120,270 bytes)   
0MhCPVA[1].png (120,270 bytes)   
Fixed in build2116

Relationships

related to 0020949 closedmichal MediaMonkey modifies BPM when saving other tags 

Activities

jiri

2017-10-09 07:39

administrator   ~0048917

Is there any significant request for this feature? As I see, ID3v2 specs this as integer, so we'd either have to not follow the specs or introduce an inconsistency between the DB and tags.

That said, if it's necessary, we certainly can do it. The field is declared as integer in the DB, but SQLite should let us to store floats anyway.

michal

2018-07-13 10:12

developer   ~0050746

Last edited: 2018-07-13 10:32

We currently limit BPM to max 999. I would remove this restriction and allow values till 32767. So it can be saved to standard tags, and other apps can interpret them with decimal point. But I wouldn't show decimal point in our UI, there should be what is really saved in tags I think, as it is not standard and could be confusing.

michal

2018-07-13 10:41

developer   ~0050747

Last edited: 2018-07-13 10:47

999 limit changed to 32767 in build 2116.
Resolving, I think it should be enough. Displaying 2525 as 25.25 in views can be added e.g. by simple script (only change needed is in trackListView_add.js, object uitools.tracklistFieldDefs.bpm).

peke

2018-07-25 01:14

developer   ~0050828

Verified 2116

lowlander

2024-05-27 18:23

developer   ~0075577

Returning from 0020949, Mixxx calculates BPM with 2 decimal accuracy, which MediaMonkey overwrites when any tag changes are made to the files.

michal

2024-05-27 18:44

developer   ~0075579

Note - it is because FLAC stores this value as string and can save there anything. But we handle it as integer, so cannot keep the original value. But arguments can still be the same, it is not standard and cannot be stored to other formats anyway...

jiri

2024-05-28 11:23

administrator   ~0075593

I think that we could implement the following (discussed with Michal):

1. Internally store BPM as float.
2. Store floats wherever possible (e.g. flac).
3. Store integers as is in id3, store floats as x100.
4. BPM>=1000 from ID3 would be read as /100.

Michal possibly prefers 3&4 to be optional, I think that it's hardly anytime necessary to make this configurable. A notable exception might be is flac with float bpm is converted to id3. That probably more useful would be an addon that resets fractional part of bpm in id3 tags. This way e.g. 12345 would be converted to 123.

Planned as MM2025 feature.