Kontrol D2 - Effects Control for FX 3&4

Options
Dan Sky
Dan Sky Member Posts: 7 Newcomer

Is it possible to control FX Units 3&4 with the standard mapping of a single D2 unit?

So far, I wasn't able to figure this out myself, so I was hoping for some help from the online-world :-)

Tagged:

Best Answers

  • Stevan
    Stevan Traktor Mapping Mod Posts: 1,737 mod
    edited March 25 Answer ✓
    Options

    Pretty sure it is possible with 4 endless encoders. You only need to navigate to the fx mode by pressing those small arrow buttons in each side of the screen. Note that the FX Unit is linked to the specific Deck.

    Deck A = Unit 1

    Deck C = Unit 3

    Deck B = Unit 2

    Deck D = Unit 4

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 1,860 mod
    Answer ✓
    Options

    You are correct, both D2 and S8 use the same file for parameter controls.

    Looking at the D2 only code for FX assignments, using assignment buttons with shift (with 4fxunits) allows assignments unit 3 (for left decks D2) and 4 (for right decks D2):

       WiresGroup
       {
         enabled: deck.shift && (fxMode.value == FxMode.FourFxUnits)
         WiresGroup
         {
           enabled: decksAssignment.value == DecksAssignment.AC
           Wire { from: "surface.fx.assign.1"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.1.fx.assign.3"; } }
           Wire { from: "surface.fx.assign.2"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.2.fx.assign.3"; } }
           Wire { from: "surface.fx.assign.3"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.3.fx.assign.3"; } }
           Wire { from: "surface.fx.assign.4"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.4.fx.assign.3"; } }
         }
    
         WiresGroup
         {
           enabled: decksAssignment.value == DecksAssignment.BD
           Wire { from: "surface.fx.assign.1"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.1.fx.assign.4"; } }
           Wire { from: "surface.fx.assign.2"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.2.fx.assign.4"; } }
           Wire { from: "surface.fx.assign.3"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.3.fx.assign.4"; } }
           Wire { from: "surface.fx.assign.4"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.4.fx.assign.4"; } }
         }
       }
    


    The endless encoders and buttons below the screen control FX of Units 3 and 4 as long as they are not set to control remix/stem parameters:

       WiresGroup
       {
         enabled: (fxMode.value == FxMode.FourFxUnits) && (footerPage.value == FooterPage.fx) && !isInEditMode
    
         // Effect Unit 3
         WiresGroup
         {
           enabled: decksAssignment == DecksAssignment.AC
    
           WiresGroup
           {
             enabled: screenOverlay.value != Overlay.fx
    
             Wire { from: "%surface%.buttons.1";  to: "fx_units.3.enabled" }
             Wire { from: "%surface%.buttons.2";  to: "fx_units.3.button1" }
             Wire { from: "%surface%.buttons.3";  to: "fx_units.3.button2" }
             Wire { from: "%surface%.buttons.4";  to: "fx_units.3.button3" }
           }
    
           Wire { from: "%surface%.knobs.1"; to: "fx_units.3.dry_wet" }
           Wire { from: "%surface%.knobs.2"; to: "fx_units.3.knob1"  }
           Wire { from: "%surface%.knobs.3"; to: "fx_units.3.knob2"  }
           Wire { from: "%surface%.knobs.4"; to: "fx_units.3.knob3"  }
         }
    
         // Effect Unit 4
         WiresGroup
         {
           enabled: decksAssignment == DecksAssignment.BD
    
           WiresGroup
           {
             enabled: screenOverlay.value != Overlay.fx
    
             Wire { from: "%surface%.buttons.1";  to: "fx_units.4.enabled" }
             Wire { from: "%surface%.buttons.2";  to: "fx_units.4.button1" }
             Wire { from: "%surface%.buttons.3";  to: "fx_units.4.button2" }
             Wire { from: "%surface%.buttons.4";  to: "fx_units.4.button3" }
           }
    
           Wire { from: "%surface%.knobs.1"; to: "fx_units.4.dry_wet" }
           Wire { from: "%surface%.knobs.2"; to: "fx_units.4.knob1"  }
           Wire { from: "%surface%.knobs.3"; to: "fx_units.4.knob2"  }
           Wire { from: "%surface%.knobs.4"; to: "fx_units.4.knob3"  }
         }
       }
    

    The answer to this is yes. FX assignment with shift controls Unit 3 and 4 assignments, encoders and buttons below the screen control Unit 3 and 4 parameters (when not using remix deck, stem deck controls or when in EDIT mode).

Answers

  • Stevan
    Stevan Traktor Mapping Mod Posts: 1,737 mod
    edited March 25 Answer ✓
    Options

    Pretty sure it is possible with 4 endless encoders. You only need to navigate to the fx mode by pressing those small arrow buttons in each side of the screen. Note that the FX Unit is linked to the specific Deck.

    Deck A = Unit 1

    Deck C = Unit 3

    Deck B = Unit 2

    Deck D = Unit 4

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 1,860 mod
    edited March 25
    Options
  • Stevan
    Stevan Traktor Mapping Mod Posts: 1,737 mod
    Options

    That S5 manual? My S8 can control all four fx units and I think D2 is the same basic mapping.

  • Stevan
    Stevan Traktor Mapping Mod Posts: 1,737 mod
    Options

    I looked at the manual, it says S5 but is D2 manual haha.

    I saw this:


    Which applies to the top effect section but the encoders should have the fx mode too. Or at least a midi mode so that Units 3 and 4 can be mapped manually on those encoders.

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 1,860 mod
    Answer ✓
    Options

    You are correct, both D2 and S8 use the same file for parameter controls.

    Looking at the D2 only code for FX assignments, using assignment buttons with shift (with 4fxunits) allows assignments unit 3 (for left decks D2) and 4 (for right decks D2):

       WiresGroup
       {
         enabled: deck.shift && (fxMode.value == FxMode.FourFxUnits)
         WiresGroup
         {
           enabled: decksAssignment.value == DecksAssignment.AC
           Wire { from: "surface.fx.assign.1"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.1.fx.assign.3"; } }
           Wire { from: "surface.fx.assign.2"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.2.fx.assign.3"; } }
           Wire { from: "surface.fx.assign.3"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.3.fx.assign.3"; } }
           Wire { from: "surface.fx.assign.4"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.4.fx.assign.3"; } }
         }
    
         WiresGroup
         {
           enabled: decksAssignment.value == DecksAssignment.BD
           Wire { from: "surface.fx.assign.1"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.1.fx.assign.4"; } }
           Wire { from: "surface.fx.assign.2"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.2.fx.assign.4"; } }
           Wire { from: "surface.fx.assign.3"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.3.fx.assign.4"; } }
           Wire { from: "surface.fx.assign.4"; to: TogglePropertyAdapter { path: "app.traktor.mixer.channels.4.fx.assign.4"; } }
         }
       }
    


    The endless encoders and buttons below the screen control FX of Units 3 and 4 as long as they are not set to control remix/stem parameters:

       WiresGroup
       {
         enabled: (fxMode.value == FxMode.FourFxUnits) && (footerPage.value == FooterPage.fx) && !isInEditMode
    
         // Effect Unit 3
         WiresGroup
         {
           enabled: decksAssignment == DecksAssignment.AC
    
           WiresGroup
           {
             enabled: screenOverlay.value != Overlay.fx
    
             Wire { from: "%surface%.buttons.1";  to: "fx_units.3.enabled" }
             Wire { from: "%surface%.buttons.2";  to: "fx_units.3.button1" }
             Wire { from: "%surface%.buttons.3";  to: "fx_units.3.button2" }
             Wire { from: "%surface%.buttons.4";  to: "fx_units.3.button3" }
           }
    
           Wire { from: "%surface%.knobs.1"; to: "fx_units.3.dry_wet" }
           Wire { from: "%surface%.knobs.2"; to: "fx_units.3.knob1"  }
           Wire { from: "%surface%.knobs.3"; to: "fx_units.3.knob2"  }
           Wire { from: "%surface%.knobs.4"; to: "fx_units.3.knob3"  }
         }
    
         // Effect Unit 4
         WiresGroup
         {
           enabled: decksAssignment == DecksAssignment.BD
    
           WiresGroup
           {
             enabled: screenOverlay.value != Overlay.fx
    
             Wire { from: "%surface%.buttons.1";  to: "fx_units.4.enabled" }
             Wire { from: "%surface%.buttons.2";  to: "fx_units.4.button1" }
             Wire { from: "%surface%.buttons.3";  to: "fx_units.4.button2" }
             Wire { from: "%surface%.buttons.4";  to: "fx_units.4.button3" }
           }
    
           Wire { from: "%surface%.knobs.1"; to: "fx_units.4.dry_wet" }
           Wire { from: "%surface%.knobs.2"; to: "fx_units.4.knob1"  }
           Wire { from: "%surface%.knobs.3"; to: "fx_units.4.knob2"  }
           Wire { from: "%surface%.knobs.4"; to: "fx_units.4.knob3"  }
         }
       }
    

    The answer to this is yes. FX assignment with shift controls Unit 3 and 4 assignments, encoders and buttons below the screen control Unit 3 and 4 parameters (when not using remix deck, stem deck controls or when in EDIT mode).

  • Dan Sky
    Dan Sky Member Posts: 7 Newcomer
    Options

    Thank you for all those replies and the time that you have put in for researching!

    May I add another question?

    So if I set up my D2 so that it controls Deck D in Stems-Mode (I am also the lucky owner of a S4 MK3 which controls Deck B), is it possible to set the top row encoders and buttons so that they control the effect unit 3?

    Out of the box they only control effect unit 2, which is also controlled by my S4 MK3. I would like to utilize the available encoders and buttons on the D2 instead of them being useless as they do the same as the ones on the S4.

    If it is too complicated to get that working: Should I just use an X1 and set it to Deck CD so that I can control FX units 3&4 with it?

    Thank you for your time, knowledge and wisdom in advance!

  • Sûlherokhh
    Sûlherokhh Member, Traktor Mapping Mod Posts: 1,860 mod
    Options

    The encoders and buttons directly below the screen control Units 3 or 4 as long as they don't control stem parameters (you can switch this with the arrow buttons at the bottom left and bottom right of the screen).

    But you can use the overmapping capabilities of the controller manager to remap the top controls to any Unit you like, but without screen feedback.

    Or just use the X1 as you indicated.

Back To Top