In such cases a one-time sync is easy if the sync button simply toggles
master sync on each push. Just press the sync button again to turn off
master sync for that deck immediately after turning master sync on. Have
you tried playing this way? Does it work well for you? Admittedly if you
are accustomed to the current behavior you may forget to turn off master
sync sometimes when you want a momentary sync, but I am guessing that it
would not be too difficult to get used to. IMO this is better than the
current behavior because I have to watch my controller or screen to make
sure the sync button lights up before releasing it, and I often press
the sync button in time-sensitive moments when I am about to mix in a
track. I do not want to have to think about how long I hold down the
button then.
Speaking of variable beat grids, I don't find this feature useful
presently. The UX for using it is clunky. It requires going into the
preferences and toggling an option, then going back to the library,
finding the specific track I want to reanalyze, then going back to the
preferences to switch the option back. That is way too many steps,
especially during a set. Also, as you mentioned, master sync is no
longer useful because Mixxx treats the tempo as continuously shifting
even if it is constant for most of the track. I think it would work much
better to take an approach similar to Serato. In Serato, a constant
tempo is assumed for the initial beatgrid analysis, but the user can
manually mark downbeats throughout the track to stretch the grid for a
portion of the track. This allows the user to accurately mark the beats
during a tempo transition but treat the rest of the track as a constant
tempo. For tracks that actually do have a continuously varying tempo
(like with a live drummer), the user can set the beatgrid accurately for
only the parts of the track they use to mix in and out and let the grid
stay imperfect for most of the track where an extended mix would
probably sound weird no matter what the computer did to sync beats.
This video explains Serato's beatgridding system and how to use it well:
https://www.youtube.com/watch?v=oD9J7azlhrQ
As far as I can tell the only major issue with that workflow is that it
assumes 4 beats per bar. Perhaps we could use a similar workflow to mark
downbeats by default but let the user manually adjust the number of
beats per bar. We may even implement support for correctly beatgridding
tracks that change time signature this way. Ideally Mixxx would be able
to automatically detect the number of beats per bar, but that seems like
a hard task to develop an accurate algorithm for. I have searched for
libraries that can do that, but I have not found any (neither free nor
proprietary). It might be possible to develop an algorithm that analyzes
for repeated patterns in the audio then detects the number of beats
within each repetition, but I have not tested that idea and don't know
if it would actually work well.
It would be great if someone put in someone put in work to improve non
constant beatgrids. If that does not happen soon, I think implementing a
system similar to Serato could make a good GSOC project for next year.
On 06/28/2017 01:20 AM, Daniel Schürmann wrote:
The use case is, if you have non const beat grid in the master deck. In
this case the follower deck tries to follow this, which can sound funny.
So in this case you want just adopt the tempo one time to start the
transition and after that you have not think any longer about it.
I think it depends on the type of tracks an DJ style what works best.
Historical we come form a one time sync before master sync was
implemented. So it was natural to keep this behaviour on a normal click.
A preferences option works for me.
We schould keep the current behavior as default, because I get used to
it and it fits my type of music well.
Kind regards,
Daniel.
Am 28.06.2017 3:40 vorm. schrieb "Be" <b...@gmx.com <mailto:b...@gmx.com>>:
In a recent pull request (
https://github.com/mixxxdj/mixxx/pull/1244
<https://github.com/mixxxdj/mixxx/pull/1244> ) I modified the
SyncButton object in the Components controller mapping library to
behave like the sync buttons in skins. Short presses only use the
beatsync Control for one-time sync and long presses use sync_enabled
for master sync. Previously I had it so it just used sync_enabled
like a normal toggle button. The more I use the new way that mimics
the skins, the less I like it. I always want to use master sync when
I press the button, but sometimes I forget to hold down the button.
That is not something I want to have to think about while mixing.
Forgetting to hold down the button has messed up some mixes because
I expected decks to stay synced as I changed the tempo of one of
them, but only one of them changed tempo.
Is there a use case for using master sync sometimes but not all the
time? Perhaps it would be better to make a new preference option
that determines whether the sync button is a toggle button for
master sync or a push button for the old one-time sync. What do you
think?
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
<mailto:Mixxx-devel@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/mixxx-devel
<https://lists.sourceforge.net/lists/listinfo/mixxx-devel>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Get Mixxx, the #1 Free MP3 DJ Mixing software Today
http://mixxx.org
Mixxx-devel mailing list
Mixxx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mixxx-devel