Reset pitch when loading new track

Bug #1090546 reported by Mel Grubb
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Mixxx
Fix Released
Wishlist
Rahul Behl

Bug Description

I would like the option to reset the pitch slider when a new track is loaded into a deck. This doesn't have to be mandatory, but I would like the option as it fits my style better. I have, on more than one occasion, synced a track to the one currently playing, and then forgotten to reset it when that track is done playing. Usually I catch it during preview, but not always. It seems to me that it would be highly unlikely for the next track I load to need exactly the same speed tweak that the current one does. It could happen, but I don't think it's the majority use case.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Not a bad idea. I don't see how it would be useful to keep the pitch slider where it was when you load a new track unless you load a track that had exactly the same BPM as the previous track it won't be in sync rate-wise with any other tracks.

Changed in mixxx:
status: New → Confirmed
importance: Undecided → Wishlist
Revision history for this message
Rahul Behl (raulbehl) wrote :

Should we have this as a default or preference enabled ?

Changed in mixxx:
assignee: nobody → Rahul Behl (raulbehl)
Revision history for this message
Daniel Schürmann (daschuer) wrote :

The only reason for not resetting is that a Hardware controller will get out of sync.
But even this might be better than playing a song accidentally with the same pitch of the previous song.

So +1 for default = reset on track load.

Revision history for this message
Mel Grubb (melgrubb) wrote :

It would probably be safest to default this to off, but make it available. Unless there are statistics available to show that the majority of users have controllers that would not be bothered by this, the safest route is to maintain the current behavior. I myself use a controller with rotary knobs for pitch, so there's no sync problem for me. Someone with fader-style controls would find this a problem, though.

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

+1 to default to not resetting the pitch control.

Revision history for this message
Rahul Behl (raulbehl) wrote :

I think it is better to have it as preference enabled. We can reset pitch along with the gain knobs (given that Reset Equalizers on Track Load check box is checked). We can alter the name of the check box to something like
Reset Equalizer and Pitch on Track Load

Any suggestions?

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

In general our preference defaults have a traditional DJ setup with hardware in mind, so that's why rate and eq don't get reset on track load.

The preferences should not be linked.

Revision history for this message
RJ Skerry-Ryan (rryan) wrote : Re: [Bug 1090546] Re: Reset pitch when loading new track

FYI
https://github.com/mixxxdj/mixxx/blob/master/src/engine/enginebuffer.cpp#L533

On Mon, Nov 24, 2014 at 10:55 PM, Owen Williams <email address hidden> wrote:

> In general our preference defaults have a traditional DJ setup with
> hardware in mind, so that's why rate and eq don't get reset on track
> load.
>
> The preferences should not be linked.
>
> --
> You received this bug notification because you are a member of Mixxx
> Development Team, which is subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/1090546
>
> Title:
> Reset pitch when loading new track
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/mixxx/+bug/1090546/+subscriptions
>

Revision history for this message
Rahul Behl (raulbehl) wrote :

This is already happening by default as per enginebuffer.cpp
But as I see "pitch" is not declared as a valid mixxxcontrol thus, we do not see this happening currently.
Changing "pitch" to "rate" (at line 261 in enginebuffer.cpp) resets the pitch every time a new song is loaded.

How should I go about it?

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

RJ, That's the melodic pitch slider, which has to be reset because of the weirdness in rubberband that can set the value of the melodic pitch by itself. I thought this bug was talking about the traditional vinyl-style rate slider. (thus the mention of "speed" in the original bug)

Revision history for this message
RJ Skerry-Ryan (rryan) wrote :

Oh -- I totally misunderstood this bug. Carry on :).

On Tue, Nov 25, 2014, 9:20 AM Owen Williams <email address hidden> wrote:

> RJ, That's the melodic pitch slider, which has to be reset because of
> the weirdness in rubberband that can set the value of the melodic pitch
> by itself. I thought this bug was talking about the traditional vinyl-
> style rate slider. (thus the mention of "speed" in the original bug)
>
> --
> You received this bug notification because you are a member of Mixxx
> Development Team, which is subscribed to Mixxx.
> https://bugs.launchpad.net/bugs/1090546
>
> Title:
> Reset pitch when loading new track
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/mixxx/+bug/1090546/+subscriptions
>

Revision history for this message
Rahul Behl (raulbehl) wrote :

If I am getting this right, we do not want this to happen by default. So we should probably be enabling it through a check box inside preferences>equalizers ?

Correct me if I am taking it the other way.

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

I wouldn't put it in the equalizers page, probably the controls page. But yes, it can be an option if someone wants to write it. I'm going to target 1.13 because it's not really necessary.

Changed in mixxx:
milestone: none → 2.1
Revision history for this message
Mel Grubb (melgrubb) wrote :

I can see a case where the preference might not be as simple as a checkbox. Now that the concept of a master tempo is on the way, I think the choice for resetting pitch/speed on reload should have three choices.

1) Never reset speed
2) Always reset speed
3) Reset speed only when no master tempo is in effect.

I haven't played with the master tempo stuff, so I don't know the mechanics of it yet, but if there are any preferences having to do with master tempo, then I would think this setting would belong next to those.

Revision history for this message
Daniel Schürmann (daschuer) wrote :

3) might be "Keep Tempo" or "Auto Sync Tempo"
This feature is also strong connected with the "sync" button
It should react sensible for all three options.

Please consider Bug #1258617 as well.

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

If master sync is on and "reset speed" is selected, the speed will still match master sync.

I have a strict NO PREFERENCES policy with master sync. It is master sync, and it rules your world. All others bow before master sync.

Checkbox will be fine.

Rahul Behl (raulbehl)
Changed in mixxx:
status: Confirmed → In Progress
Revision history for this message
Owen Williams (ywwg) wrote :

Thanks for working on this Rahul, but please note that since we're targetting 2.1 instead of 1.12, this work may have to sit around for a while before it gets merged. If you're ok with that, please continue. But if you're looking for something that will get merged sooner please focus on bugs marked for 1.12

Revision history for this message
Rahul Behl (raulbehl) wrote :

Thanks for the advice Owen. Well I have already implemented it. I'll upload the patch here and when it is the right time, we can always come back to it.
I'll search for some bugs marked for 1.12. :-)

Revision history for this message
Daniel Schürmann (daschuer) wrote :

Hi Rahul,

thank you for the patch. Would you mind to do a Github pull request as well?

RJ Skerry-Ryan (rryan)
Changed in mixxx:
milestone: 2.1 → 1.12.0
Rahul Behl (raulbehl)
Changed in mixxx:
status: In Progress → Fix Committed
RJ Skerry-Ryan (rryan)
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/6776

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.