How to make xfader default to off?

In a skin, I can hide the crossfader with <attribute persist="true" config_key="[Skin],show_xfader">0</attribute> but that leaves the fader still enabled. To disable it the user has to unhide it, set both toggles to the middle position, and then hide it again.

Is it possible to set a skin attribute, that makes the crossfader default to disabled for both channels, so it wont be effective unless the user unhides and enables it?

Thanks in advance! :slight_smile:

Why is it a problem if it is hidden? Are you concerned with accidentally moving it on a controller? In that case, remove it from the controller mapping.

just add <attribute config_key="[ChannelN],orientation_center">1</attribute> to skin.xml, with N being all channels you want to lock.

Interestingly, <attribute config_key="[Channel1],orientation">1</attribute> should accomplish the same but is not working…

1 Like

in case you want to lock channels only when using a specific controller you can also add

for (var i=1; i<=numDecks; i++) {
    engine.setValue("[Channel"+i+"]", "orientation_center", 1);
}

to the init function of the mapping script.

1 Like

Great, thanks for replying!

I missed your response, but just for clarity I like to keep the functionality as an option, so even though I am personally more concerned with accidentally moving it, a person who uses another style of mixing can enable the option if they use my controller.

I don’t think a controller mapping is a great way to implement this considering it’s not specific to any particular controller. I agree with @ronso that it would be better to use the crossfader orientation switches. I am unsure if the state of these is remembered across restarts of Mixxx, but if they are not we could consider changing that.

I did use @ronso 's option to put the default orientation in my skin. I just did not want to remove the option from my controller, so it still had the option to turn it on when needed :slight_smile:

Edit> I did initially ask because I found I had to set the orientation switches on restarts.

IIRC the this was supposed to avoids situations after start that are kinda hard to debug. If the orientation switches have been changed unnoticed previously, or ‘in the heat of the night’.
Now (2.3) all skins (except Shade) show the crossafder switches both in 2- and 4-deck mode. Only in Tango skin they are in an unusual position, not the mixer, which is also far from the mixer.

There are at least two use cases that are affected by crossfader/orientation persistence. I assume they affect the 4-decks mode only, so we can ignore Shade skin here.

  1. multiple DJs share a computer during a set and want to switch between regular crossfader usage and ‘all channels centered, crossfader ignored’ without the need to flip all decks switches and show/hide the crossfader via Skin Settings.

For that we could add an option to Preferences > Crossfader called
“Ignore crossfader”, plus a CO that can be mapped in skins and on
controllers.
Toggle “Ignore crossfader” ON does

  • (center the crossfader, store position??)
  • store orientation of all decks
  • put all decks into their default position
  • hide the crossfader in skins
  • ignore crossfader input from controllers
    Toggle OFF does
  • restore orientation of all decks
  • (restore crossfader position??)
  • show the crossfader in skins
  1. Save & restore the custom channel orientation across restarts
    Example: outer decks 3/4 are left/right, decks 1+2 are always centered.
    It’s tempting to add a respective option into the Decks preferences page
    (default off). But actually, since it’s tightly coupled to the crossfader
    and the deck page is crammed already, it should better be in the
    Crossfader page.

cross-posted to Bug #1896832 “Crossfader orientation isn't saved/restored” : Bugs : Mixxx

An option much like what you are describing is present in Serato at least and I am guessing also Traktor and Rekordbox, and initially I found it odd that is was missing from Preferences > Crossfader, because for me personally it is the most important crossfader setting :smiley:

Having a theme option is great though, because it lets me use a theme that is great for my use and still gives me a gui option to enable the fader when needed, and another user can pick a theme that is more tailored towards use of the crossfader.