Feature Request: Add new rate slider range options: 12% 16%

Bug #1441161 reported by Owen Williams
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Wishlist
-MK-

Bug Description

Because 10 is to little and 20 is too much! Also 12 and 16 are very common numbers on turntables.

This should be implemented by changing the mixxx config file to store the range * 100 instead of an opaque enum. That way users could actually have a range like 42 if they really wanted.

Backwards compatibility should be preserved by changing the name of the configuration option from RateRange to RateRangeDecimal. Old RateRange settings would be seamlessly upgraded to the new RateRangeDecimal setting.

jus (jus)
Changed in mixxx:
importance: Undecided → Wishlist
status: New → Confirmed
Seemanta (seemanta)
Changed in mixxx:
assignee: nobody → Seemanta (seemanta)
Revision history for this message
Seemanta (seemanta) wrote :

I looked at the code. From the config file, the rate range is set to 2. This is an opaque enum type, right?
Can anyone point me in the code where this 2 is mapped to +/- 10% which I see in the deck slider for the rate change?

My understanding of this bug is as follows:

1. Add another entry in the config file called RateRangeDecimal and add support to parse this new key in the code in Dlgprefcontrols.cpp.

2. RateRangeDecimal can be any value between 0-100? So for 12, user will edit the file to 1200? For 16, the user will edit this to 1600? Am I right in my understanding?

3. We will still use RateRange for backwards compatibility and map this value to RateRangeDecimal. But if both are present, which will take precedence?

Thanks,
Seemanta

Revision history for this message
Owen Williams (ywwg) wrote :

Check here for how the conversion is currently done: https://github.com/mixxxdj/mixxx/blob/master/src/dlgprefcontrols.cpp#L377

You don't really have to add an entry to the config file, you can just call setValue and getValueString from the dialog code with whatever name you want and that entry will be created in the config. When you read the value from the config, you can specify a default value in case it's not in the config file. So you'll have to come up with a way to try to read RateRangeDecimal from the config, and if it doesn't exist, fall back on RageRange, and if that doesn't exist, use the default value.

I was thinking the value would be "12" for 12%, which is stored in the mixxx engine as 0.12. So the fractional value is multiplied by 100 so it can be stored in the config file as a whole number.

RateRangeDecimal will take precedence.

Revision history for this message
-MK- (mk42) wrote :

Sorry @seemanta, I needed that feature and worked on it...

I have a branch ready with those changes. Should I file a pull request on Github or how to continue?

Revision history for this message
-MK- (mk42) wrote :
jus (jus)
Changed in mixxx:
assignee: Seemanta (seemanta) → nobody
assignee: nobody → -MK- (mk42)
status: Confirmed → In Progress
milestone: none → 2.1
jus (jus)
Changed in mixxx:
status: In Progress → Fix Committed
Changed in mixxx:
status: Fix Committed → Fix Released
Revision history for this message
Swiftb0y (swiftb0y) wrote :

Mixxx now uses GitHub for bug tracking. This bug has been migrated to:
https://github.com/mixxxdj/mixxx/issues/7949

lock status: Metadata changes locked and limited to project staff
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.