Adjust beatgrid pixel by pixel
Bug #1645054 reported by
John doe
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mixxx |
Won't Fix
|
Wishlist
|
John doe |
Bug Description
It's not possible to accurately adjust the beatgrid with the
current behavior of beats_adjust_faster and beats_adjust_
especially at the end of the track. A possible solution is
to adjust the beatmarkers pixel by pixel at the current position
in the track instead of adjusting the BPM by a constant value.
Please see the attached patch. The code modifications is
public domain.
To post a comment you must log in.
Thanks for the patch, John Doe :).
As I understand it, your forumula is equivalent to:
new_bpm *= closest_beat / (closest_beat +/- audio_samples_ per_pixel)
So, as closest_beat gets bigger (you are farther into the song) the adjustment gets smaller. I don't understand why this is desirable, could you say some more about this?
Am I wrong, that your needs would be met by having a finer grained beats_adjust_ faster/ slower control (e.g. an adjust by 0.005) ? Tying things to the track zoom level is slightly arbitrary IMHO :).
Some minor technical points:
- A track can be loaded into multiple decks at once, each with different waveform zoom levels. So storing the pixel-to-sample ratio in the TrackInfoObject isn't going to work reliably.
- The patch is against an old version of Mixxx. Could you please base future patches on the latest master branch? It's just about the same except src/trackinfoob ject.cpp has moved to src/track/ track.cpp.
- It would be ideal if you could submit a pull request on GitHub, since that makes it easier for team members to comment on specific lines of your code and helps us attribute your contributions to you via your commit author details. (though maybe you'd prefer to be anonymous given your LP username? :) ).