mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.52k stars 1.28k forks source link

Improve the beat marker behaviour to allow grid stretching #13768

Open acolombier opened 1 month ago

acolombier commented 1 month ago

Currently, beats_set_marker will only add a a new grid, leading the previous grid to have an uneven number of beats. This as to address the case with varying BPM or beat/half-beat track.

Going forward, we add a new CO to allow setting a new marker, which stretches the previous grid and keep complete (that is, contain an integer of beats)

A nice to have would be to make beats_set_marker configurable to allow its behaviour to optionally copy beats_stretch's behaviour. This would allow mappings to prioritise the use of beats_set_marker, but still allow user to change the default behaviour, in case they don't use tracks with varying BPM or beat phase.

Originally discussed in https://github.com/mixxxdj/mixxx/issues/13330

acolombier commented 3 weeks ago

Another valuable improvement would be for beats_set_marker to set a beatgrid start align with the previous beat grid if quantize is on

daschuer commented 3 weeks ago

Repsyps has a nice concept: https://elldev.com/repsyps/adv-grid It is however slightly different and we have dismissed in an earlier discussion. But IMHO the boundaries still apply.

It is not an original use case to start a new beat grid at a random position, which is we allow now. This should be possible, but is a new beat with a beat change marker in the left.

The use case is creating a different beat or bar. This implicit requires a beat change marker at the end of the previous bar.

So I think the following solution would work:

daschuer commented 10 hours ago

What do you think?