@Slak_Jaw, please escalate this to the R&D team again. Let us have a “Conditions” in the Advanced Section, where we can see and set per command modifier conditions in the mappings UI.
They modifiers support is there in the engine, and every command can evaluate a condition. It’s just not accessible to us, the users. And we need it.
As a first step, just let us see and edit them per command. That should be relatively easy for the Dev Team.
A full implementation to manage and construct new modifiers would also be useful for unsupported controllers, but for enhancing supported ones, the mapping team does great job in defining modifiers, and we can just build on top of what they did.
Example Use Cases:
I’m overmapping stuff with a custom SHIFT (secondary) key on an MC7000.
- I want and to set 3rd action for the PADs. But through the UI, I cannot take into account the selected Pad Mode. There’s a “condition” defined in the XML which evaluates the Pad mode, and does different things, but it’s not accessible to me at mapping time through the UI. Therefore, I can only set one custom SHIFT override for all the PAD modes for the deck. If I can adjust the condition in the mapping UI, I will be able to set different things for the pads to perform in each of the Pad Modes (Cue/Roll/Slicer/etc). This would give me tons of extra actions to perform in the context of the selected Pad mode.
If the UI has the “Condition” section, I would read the conditions of the stock Pads maps; do a “Duplicate” of the (+SHIFT) entry; edit the condition of the duplicate; set the right condition for it and define the assignment command for selected PAD mode.
- I want to set the FX1/2/3 On/Off buttons of the controller to assign the Drums/Harmonic/Vocal NM channel to the respective FX 1/2/3 slots when a custom +SHIFT is pressed. It works well for decks 1 & 2, but it’s not working for Decks 3 & 4, as there’s a hidden condition in the mapping file for when we switch decks 1/3 & 2/4. As I cannot see/edit a condition in the mapping UI, my custom SHIFT mapping only works for 1&2 no matter that decks 3/4 are active.
If the UI has the “Condition” section, I would read how the stock FX maps are configured, will do a “Duplicate”; edit the condition of the duplicated entry; and apply the NM FX assignment command with the right condition for Decks 3 & 4.
A condition in the XML looks like this:
<key>condition</key>
<string>modifier5 == 0</string>
For the MC7000, “modifier5” holds the state of which deck is selected - Deck1=0, Deck3=1. Simple.
I’m now playing with this and achieve what I want with a “duplicate” through the UI, followed by adding/editing the conditions in the XML, but that’s a very hard way to do it. Dev-wise, it’d be relatively easy to expose the “Condition” string in the Mapping editor UI.
I will create a HOWTO post for others to do these settings with their controllers too, but messing with these XMLs directly is unsafe and not the right way to do it. Yet, it works
There are multiple modifiers in the XML, and are not documented (and no comments in the XML), but who cares. It’s easy to check what is used in a similar command, test one-two values and figure out what does the job. If we have access to the string in the UI, we don’t need to mess with the XML code in the file.
BTW, we have communication on this in a thread from few years back…