Emphasize the downbeats of a track by a separate marker on the waveform

Bug #1128005 reported by jus on 2013-02-17
This bug affects 6 people
Affects Status Importance Assigned to Milestone

Bug Description

Mixxx should provide a visual guidance for the downbeats of a track. The downbeat is the first beat in a bar, often a bass note, and is important when mixing. It is critical to know when the music is playing a downbeat and when it is not. You can hear it when cueing a track, but it requires some experience with beatmatching.

Currently, Mixxx differs not between the various beat in a bar, all beat marker look the same which makes mixing by looking at the waveform harder then with other programs.

Related branches

jus (jus) wrote :
description: updated
Be (be.ing) wrote :

Related: #753301

This is a great feature that can also be extended to phrases (i.e different lines for every 4th and 32th beat). Is there any way to merge the code change that looks already available?

Be (be.ing) wrote :

The old merge request linked above was never completed and is outdated.

Yes, I tried merging the change into the latest code base and it seems broken. There is a problem with the isFirstBeat() method, I will try to fix it.

Sample of the first successful grid with first beat emphasis attached. It would be nice to have some guidelines how all the beat grid elements (beats, cues, loop markers, etc.) are supposed to be laid out, because there are cases when they overlap each other.

Daniel Schürmann (daschuer) wrote :

Yes, a guideline for that would be nice.
Feel free to draft one on our wiki.

Take 2 on the measure/phrase markers, finally managed to find a position that is not overlapped by hotcues and loop markers. Measure markers are the same color as the grid lines and the phrase markers are hard-coded as red for now. Will try to add measure size/phrase size and phrase marker color as part of the skin. Reading measure size/phrase size turned out to be a lot of work and is probably not worth it.

Changed in mixxx:
assignee: nobody → NT Music (ntmusic)
Changed in mixxx:
status: New → In Progress

Added a pre-requirement bug#1754997

Javor (javier-vilarroig) wrote :


I'm really interested in this feature. And as a C++ developer, a little bit rusty as I moved to project management some time ago, I was thinking on taking it as my first contribution to Mixxx.

I see the bug is unasigned but for the comments it seems that someone (NT Music ?) is already working on it.

If that's the case I have some other candidates to work on them, so no problem. Just wanting to be of help.

I'm new to launchpad and the Mixxx community, so please excuse me if I'm asking something self evident. :)

Benis (beenisss) wrote :

NT Music seems to have vanished from Launchpad, GitHub and Zulip :/

In the discussion for that pull request it's suggested that Mixxx needs a time signature column first. I've been working on that but need to sort out a couple of details before submitting the PR. Your C++ is guaranteed to be better than mine, so having another person get involved would be most welcome.

There are a few threads on Zulip about this:




And a forum thread on it:

Probably others also.

Does anybody know if NT Music signed the contributor agreement or are we potentially stuck with unusable code in that PR?

Be (be.ing) wrote :

NT Music did sign the contributor agreement before deleting their accounts.

Javor (javier-vilarroig) wrote :

Ok. So I can grab that ticket. :)

Thanks for the pointers. I will take a look at all of them.

Will have you informed.

Javor (javier-vilarroig) on 2018-09-14
Changed in mixxx:
assignee: nobody → Javor (javier-vilarroig)
RJ Skerry-Ryan (rryan) on 2018-09-20
Changed in mixxx:
milestone: none → 2.3.0
Javor (javier-vilarroig) wrote :

I have started to work on that bug.

At lest I have managed to have a working development environment :)

It's going to take some time as there are a lot of things to understand before I really begin able to deliver something.

My first thought is to start modifying the beatgrid class to make it aware of the type of beats, normal, bar, phrase.

I plan, for simplifying, to start with the assumption of bars being 4 beats and phrases being 16. Later on I can add the information in the DB.

Any comment?

BTW. This is the right place to discuss this kind of topics or is better to go to the mailing list?


Daniel Schürmann (daschuer) wrote :

Yes this is the right place for collect requirements and I plementation details.
If you like to discuss the whole thing, mixxx.zulipchat.com is a good place.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers