Re: [Mixxx-devel] sync button and LONGPRESSLATCHING for master sync

2017-06-28 Thread Be
Serato's Smart Sync turning off is not the same as using Mixxx's 
one-time sync. When the deck transport is manipulated with Serato's 
Smart Sync, Serato will still manipulate the tempo of all synced decks 
together, including when the beatgrid of the master track has been 
manually set to a non constant beatgrid, but it won't snap the beats 
together. As explained in the video, the way Serato implements that is 
less than ideal because it will switch to that mode after doing 
quantized actions like pressing hotcues or beatjumping. This article 
from Serato support explains it in a bit more detail:

https://support.serato.com/hc/en-us/articles/203056994-SYNC-with-Serato-DJ

On 06/28/2017 03:51 PM, Daniel Schürmann wrote:

Thank you for the tutorial Links.

It looks  like Serato targets the issue a bit different. It has "smart 
sync", that falls off as soon you touch anything from the deck. That is 
pretty much the same than our one time sync feature. I like our approach 
more, because you have both sync modes available at the same time. 
Unfortunately there is not explained how smart  sync works with non 
const beat grids.


But anyway I think we have a conclusion here that a preference option, 
to enable sync with a short click is a good idea. Right?





Am 28.06.2017 um 22:23 schrieb Be:

On 06/28/2017 09:38 AM, Owen Williams wrote:

There are lots of situations where DJs just want a one-shot sync without
locking two tracks together.  This is especially true if they are going
to do any scratching tricks like backspins or vinyl break stops.


I don't use vinyl or jog wheels, so I'm not sure how Mixxx behaves 
with sync in these situations. I thought Mixxx only manipulates the 
deck being scratched regardless of whether it has master sync on, in 
which case I don't understand how it would make a difference whether 
pressing the sync button turns on master sync or does a one time sync.



And,
most DJ applications and hardware still operate on the "tap once to
sync" and don't support an advanced master mode like we have. So I
think new users would get confused if suddenly the decks are "tied"
together just because they synced tempo.


Serato and Traktor have functionality like Mixxx's master sync to keep 
manipulate the tempo of multiple decks together except it is toggled 
with a preference option and does not require holding the sync button 
to activate.


Traktor sync tutorial: https://www.youtube.com/watch?v=VZ7TQ1Z1BUo
Serato sync tutorial: https://www.youtube.com/watch?v=oD9J7azlhrQ



I think if you or any other user prefers master sync as a toggle button,
it's fine to map the sync buttons on one's own controller to toggle
master sync.  But the default really should be to tap for momentary,
hold for lock.  The lights on the buttons should reinforce this.  The
sync button should stay lit when master is on, whereas it'll be off when
sync is off.
Were any usability tests done when developing the master sync 
workflow? I wouldn't be surprised if there are still lots of Mixxx 
users who aren't aware that master sync exists. Even though it is 
explained in the manual and in the tooltip, why would a user think to 
look at the tooltip or hold the button down if they click the button 
and it seems to do what it is labeled for?




This is a great example, btw, where "controller preferences" would
really help. A simple checkbox for "sync always enables master" would be
super convenient.


I am not sure I agree. This issue applies to skins as much as it does 
to controller mappings. I think controller preferences should be for 
changing options specific to that device. This is a general issue that 
applies to any controller with a sync button, which is just about 
every DJ controller, so I think it should be handled by Mixxx.




On Tue, 2017-06-27 at 20:39 -0500, Be wrote:

In a recent pull request ( 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?


Re: [Mixxx-devel] sync button and LONGPRESSLATCHING for master sync

2017-06-28 Thread Be
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" mailto:b...@gmx.com>>:

In a recent pull request (
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
 

Re: [Mixxx-devel] sync button and LONGPRESSLATCHING for master sync

2017-06-28 Thread Daniel Schürmann

Thank you for the tutorial Links.

It looks  like Serato targets the issue a bit different. It has "smart 
sync", that falls off as soon you touch anything from the deck. That is 
pretty much the same than our one time sync feature. I like our approach 
more, because you have both sync modes available at the same time. 
Unfortunately there is not explained how smart  sync works with non 
const beat grids.


But anyway I think we have a conclusion here that a preference option, 
to enable sync with a short click is a good idea. Right?





Am 28.06.2017 um 22:23 schrieb Be:

On 06/28/2017 09:38 AM, Owen Williams wrote:

There are lots of situations where DJs just want a one-shot sync without
locking two tracks together.  This is especially true if they are going
to do any scratching tricks like backspins or vinyl break stops.


I don't use vinyl or jog wheels, so I'm not sure how Mixxx behaves 
with sync in these situations. I thought Mixxx only manipulates the 
deck being scratched regardless of whether it has master sync on, in 
which case I don't understand how it would make a difference whether 
pressing the sync button turns on master sync or does a one time sync.



And,
most DJ applications and hardware still operate on the "tap once to
sync" and don't support an advanced master mode like we have. So I
think new users would get confused if suddenly the decks are "tied"
together just because they synced tempo.


Serato and Traktor have functionality like Mixxx's master sync to keep 
manipulate the tempo of multiple decks together except it is toggled 
with a preference option and does not require holding the sync button 
to activate.


Traktor sync tutorial: https://www.youtube.com/watch?v=VZ7TQ1Z1BUo
Serato sync tutorial: https://www.youtube.com/watch?v=oD9J7azlhrQ



I think if you or any other user prefers master sync as a toggle button,
it's fine to map the sync buttons on one's own controller to toggle
master sync.  But the default really should be to tap for momentary,
hold for lock.  The lights on the buttons should reinforce this.  The
sync button should stay lit when master is on, whereas it'll be off when
sync is off.
Were any usability tests done when developing the master sync 
workflow? I wouldn't be surprised if there are still lots of Mixxx 
users who aren't aware that master sync exists. Even though it is 
explained in the manual and in the tooltip, why would a user think to 
look at the tooltip or hold the button down if they click the button 
and it seems to do what it is labeled for?




This is a great example, btw, where "controller preferences" would
really help. A simple checkbox for "sync always enables master" would be
super convenient.


I am not sure I agree. This issue applies to skins as much as it does 
to controller mappings. I think controller preferences should be for 
changing options specific to that device. This is a general issue that 
applies to any controller with a sync button, which is just about 
every DJ controller, so I think it should be handled by Mixxx.




On Tue, 2017-06-27 at 20:39 -0500, Be wrote:

In a recent pull request ( 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
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-dev

Re: [Mixxx-devel] sync button and LONGPRESSLATCHING for master sync

2017-06-28 Thread Be

On 06/28/2017 09:38 AM, Owen Williams wrote:

There are lots of situations where DJs just want a one-shot sync without
locking two tracks together.  This is especially true if they are going
to do any scratching tricks like backspins or vinyl break stops.


I don't use vinyl or jog wheels, so I'm not sure how Mixxx behaves with 
sync in these situations. I thought Mixxx only manipulates the deck 
being scratched regardless of whether it has master sync on, in which 
case I don't understand how it would make a difference whether pressing 
the sync button turns on master sync or does a one time sync.



And,
most DJ applications and hardware still operate on the "tap once to
sync" and don't support an advanced master mode like we have.  So I
think new users would get confused if suddenly the decks are "tied"
together just because they synced tempo.


Serato and Traktor have functionality like Mixxx's master sync to keep 
manipulate the tempo of multiple decks together except it is toggled 
with a preference option and does not require holding the sync button to 
activate.


Traktor sync tutorial: https://www.youtube.com/watch?v=VZ7TQ1Z1BUo
Serato sync tutorial: https://www.youtube.com/watch?v=oD9J7azlhrQ



I think if you or any other user prefers master sync as a toggle button,
it's fine to map the sync buttons on one's own controller to toggle
master sync.  But the default really should be to tap for momentary,
hold for lock.  The lights on the buttons should reinforce this.  The
sync button should stay lit when master is on, whereas it'll be off when
sync is off.
Were any usability tests done when developing the master sync workflow? 
I wouldn't be surprised if there are still lots of Mixxx users who 
aren't aware that master sync exists. Even though it is explained in the 
manual and in the tooltip, why would a user think to look at the tooltip 
or hold the button down if they click the button and it seems to do what 
it is labeled for?




This is a great example, btw, where "controller preferences" would
really help. A simple checkbox for "sync always enables master" would be
super convenient.


I am not sure I agree. This issue applies to skins as much as it does to 
controller mappings. I think controller preferences should be for 
changing options specific to that device. This is a general issue that 
applies to any controller with a sync button, which is just about every 
DJ controller, so I think it should be handled by Mixxx.




On Tue, 2017-06-27 at 20:39 -0500, Be wrote:

In a recent pull request ( 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
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


Re: [Mixxx-devel] sync button and LONGPRESSLATCHING for master sync

2017-06-28 Thread Owen Williams
There are lots of situations where DJs just want a one-shot sync without
locking two tracks together.  This is especially true if they are going
to do any scratching tricks like backspins or vinyl break stops.  And,
most DJ applications and hardware still operate on the "tap once to
sync" and don't support an advanced master mode like we have.  So I
think new users would get confused if suddenly the decks are "tied"
together just because they synced tempo. 

I think if you or any other user prefers master sync as a toggle button,
it's fine to map the sync buttons on one's own controller to toggle
master sync.  But the default really should be to tap for momentary,
hold for lock.  The lights on the buttons should reinforce this.  The
sync button should stay lit when master is on, whereas it'll be off when
sync is off.

This is a great example, btw, where "controller preferences" would
really help. A simple checkbox for "sync always enables master" would be
super convenient.




On Tue, 2017-06-27 at 20:39 -0500, Be wrote:
> In a recent pull request ( 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
> 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


Re: [Mixxx-devel] sync button and LONGPRESSLATCHING for master sync

2017-06-27 Thread Radu Suciu
I like the current behavior as well.
--
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

Re: [Mixxx-devel] sync button and LONGPRESSLATCHING for master sync

2017-06-27 Thread Daniel Schürmann
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" :

In a recent pull request ( 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
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