Mapping MIDI - Where is the documentation?

  

Mapping MIDI - Where is the documentation?

Postby dnine on 31 Mar 2019, 23:18

Hi,

I'm in the process of trying to create a complete MIDI mapping (both input and output) for a controller and I find the lack of documentation striking.

I'm not talking about the controller specs; these are well defined and available (i.e. I know what message each control sends and what it can accept to turn leds to a specific color).
Cross has a simple MIDI learning module, but has nothing to support output mappings.

I consider myself pretty technically inclined, but find the process of reverse engineering existing mappings just to get some examples mind boggling.

What I'm looking for is a complete specification of the mappings xml file with all possible valid elements and their attributes.

I would be happy to start writing such a document myself by reverse engineering and getting help from both Mixvibes support and experienced community members (FigDj comes to mind...).

Can we expect any improvement in this department for Cross 4?
This could really help Mixvibes in to getting actual added value for their product by their own users.

Regards,
Lieven
dnine
 
Posts: 38
Joined: 11 Oct 2016, 12:41


Re: Mapping MIDI - Where is the documentation?

Postby RoJeC on 01 Apr 2019, 22:07

FigDJ is the best to help you out. In v4 mapping is handled a little different if I understand right (not tried it yet myself).
Output mapping with multiple options is relative new (in Cross development terms).

BTW al your post from now on should be visible for everyone right away as the first has been approved (and you posted 3 before this moment).

I do know some post exist on output mapping but it's pretty rare that users spend time on it.

Other suggestion is to mention your controller as it might be FigDJ has it mapped already... inclusing outputs.
Ronald

Image

downloads + more forums = Register license(ucp.php?i=169)
Apple store new user? first read viewtopic.php?f=259&t=34199
Manual? In Cross open menu, select Help (available 24/7).
Audio dropouts? Increase audio 'buffer size' value.
FAQ iOS / Android / PC / MAC http://www.mixvibes.com/help/
Soundcard not available/working? Try the 32bit version of Cross (is also installed).
RoJeC
 
Posts: 4727
Joined: 20 May 2011, 07:55
Location: Bussum, Netherlands


Re: Mapping MIDI - Where is the documentation?

Postby dnine on 02 Apr 2019, 12:12

Hi RoJeC,

Yes, I've seen FigDJ's work and it amazes me what had delivered so far!
Unfortunately this doesn't replace good documentation.

The complete specs of the mappings xml file format should be available so people (not only FigDJ!) can create mappings.
Now this is a daunting task, but with the specs that really doesn't need to be.

The past days I've been trying to find any info on using the ShiftSelector functionality. Not even 1 of the official mappings uses this, and no info is available, so how is anyone supposed to use this? (to be honest, after a lot of trial and error I'm beginning to see first results which I will post in the other thread soon).

Regards,
Lieven
dnine
 
Posts: 38
Joined: 11 Oct 2016, 12:41


Re: Mapping MIDI - Where is the documentation?

Postby FigDJ on 02 Apr 2019, 14:01

dnine wrote:Hi RoJeC,
The complete specs of the mappings xml file format should be available so people (not only FigDJ!) can create mappings.
Now this is a daunting task, but with the specs that really doesn't need to be.

The past days I've been trying to find any info on using the ShiftSelector functionality. Not even 1 of the official mappings uses this, and no info is available, so how is anyone supposed to use this? (to be honest, after a lot of trial and error I'm beginning to see first results which I will post in the other thread soon).

Regards,
Lieven


To be clear I never had or currently have a mapping xml spec sheet. Everything that I done has been by reading the MIDI mapping topic here and by experimenting.

On the Shift Selector
You can have up to 9 Modshiftlogic commands available.

You can map individual buttons to set on or off a particular shift logic . That would be 9 buttons.

Shift logic selector allows you to use 2 buttons using increment and decrement to change which Modshiftlogic you want to use.

This allows you to have up to 10 MIDI layers on the same controller
ML0 to ML9 where ML0 is just the normal non-shifted mapping.

Normally this is used in non-hardware capable controllers.

A non-hardware capable controller is one that relies on soft logic to change functions.

Example: Numark 7000 or 8000 series does not have a hardware MIDI address for each button mode. So to switch functionality of a pad from HOTCUE, LOOPS, SLICER, SAMPLER you must use soft layers.

A hardware capable controller ALL DDJ-S and DDJ-R series has a separate MIDI address for each pad in each mode. No software layer required to map.
Image
FigDJ
 
Posts: 1336
Joined: 22 Apr 2012, 16:03
Location: Odenton, MD


Re: Mapping MIDI - Where is the documentation?

Postby dnine on 02 Apr 2019, 14:22

Hi FigDJ,

I was not referring to the ShiftLogic modifiers (ML1-> ML9) but to the ShiftSelector, which I found out is MS10.

In contrast to the ShiftLogic modifiers, who can be true or false, the ShiftSelector (there is only one) can be a value from 1 to 7.

To use it you can specify
Code: Select all
modifiers="MS10=x"

where x is a value from 1 to 7 (value 0 does not seem to be valid).

This modifier seems to work in both input and output mappings, which is great, but I can't seem to get the actual buttons mapped to these ShiftSelector to light up (see my other thread: viewtopic.php?f=401&t=39728)

Do you mind experimenting with this as well?
My goal is to document everything and create a reference mapping shared through Github.

Regards,
Lieven
dnine
 
Posts: 38
Joined: 11 Oct 2016, 12:41


Re: Mapping MIDI - Where is the documentation?

Postby FigDJ on 02 Apr 2019, 20:15

dnine wrote:Hi FigDJ,

I was not referring to the ShiftLogic modifiers (ML1-> ML9) but to the ShiftSelector, which I found out is MS10.

In contrast to the ShiftLogic modifiers, who can be true or false, the ShiftSelector (there is only one) can be a value from 1 to 7.

To use it you can specify
Code: Select all
modifiers="MS10=x"

where x is a value from 1 to 7 (value 0 does not seem to be valid).

This modifier seems to work in both input and output mappings, which is great, but I can't seem to get the actual buttons mapped to these ShiftSelector to light up (see my other thread: viewtopic.php?f=401&t=39728)

Do you mind experimenting with this as well?
My goal is to document everything and create a reference mapping shared through Github.

Regards,
Lieven


My terminology was a little off as it has being a while. You are correct the syntax for shift selector is MS10= #

MS10=0 means there is none active.

You can have a command using ML1, ML2, MS10=2

In that case the particular command will work when ML1 is on at the same time ML2 is on but only if MS10=2.
Image
FigDJ
 
Posts: 1336
Joined: 22 Apr 2012, 16:03
Location: Odenton, MD


Re: Mapping MIDI - Where is the documentation?

Postby FigDJ on 02 Apr 2019, 20:50

I forgot to mention that you can use a rotary endless encoder to increment and decrement MS10=# or you can use a regular rotary with active zones to select MS10=#


________MS10=3

MS10=2________MS10=4

MS10=1________MS10=5
Image
FigDJ
 
Posts: 1336
Joined: 22 Apr 2012, 16:03
Location: Odenton, MD


Re: Mapping MIDI - Where is the documentation?

Postby dnine on 02 Apr 2019, 20:58

Thanks for confirming. It's things like this that aren't mentioned anywhere on the forum or used in any of the official mappings.

I'm successful in using MS10=x in both input and output like this:

Input mapping (simplified):
Code: Select all
<input-mappings>
  <mapping name="Deck 1">
    <events>
      <MIDI type="Note" parameter="0x10" channel="0x1"/>
    </events>
    <controls>
      <control alias="mod(ShiftSelector)"/>
    </controls>
    <preset name="Direct Modifier Button">
      <parameters>
        <parameter object="action-0" key="modifier" value="1"/>
        <parameter object="dispatch" key="interpretCCasNote" value="off"/>
      </parameters>
    </preset>
  </mapping>
  <mapping name="Play / Pause deck 1">
    <events>
      <MIDI type="Note" parameter="0x23" modifiers="MS10=1" channel="0x1"/>
    </events>
    <controls>
      <control alias="fam(Player)[0x1].PlayPause"/>
    </controls>
    <preset name="Toggler Button">
      <parameters>
        <parameter object="invert" key="on" value="off"/>
      </parameters>
    </preset>
  </mapping>
</input-mappings>


Output mapping works for Play / Pause button
Code: Select all
<output-mappings>
  <mapping>
    <control alias="fam(Player)[0x1].PlayPause" value="true" modifiers="MS10=1"/>
    <MIDI type="Note" parameter="0x23" channel="0x9" value="1"/>
  </mapping>
  <mapping>
    <control alias="fam(Player)[0x1].PlayPause" value="false" modifiers="MS10=1"/>
    <MIDI type="Note" parameter="0x23" channel="0x9" value="0"/>
  </mapping>
</output-mappings>


But to have the actual shift button itself change color I can't seem to find the right syntax (changing it to a simple ShiftLogic I can get it to light up, so I'm sending the right note/velocity)

The following is NOT working:
Code: Select all
<output-mappings>
  <mapping>
    <control alias="mod(ShiftSelector)" value="1"/>
    <MIDI type="Note" parameter="0x10" channel="0x1" value="1"/>
  </mapping>
</output-mappings>


I'm thinking either the value attribute for the control element is wrong (not "1" but something else, but I haven't figured out what that could be), or I need another attribute than "value". But here I'm in the dark too...

You don't happen to have experience with that or managed to get such an output mapping working?
dnine
 
Posts: 38
Joined: 11 Oct 2016, 12:41


Re: Mapping MIDI - Where is the documentation?

Postby FigDJ on 02 Apr 2019, 21:14

the 1st value=1 is the selected Modshift number

the second value=1, is the intensity of the LED. This value should 128 for fully on and 0 to turn off.

In your current example you are saying to turn the LED on when Modshift =1 at an intensity of 1 of possible 128. Almost turned off.
Image
FigDJ
 
Posts: 1336
Joined: 22 Apr 2012, 16:03
Location: Odenton, MD


Re: Mapping MIDI - Where is the documentation?

Postby dnine on 02 Apr 2019, 21:29

No, this controller is not following that standard and expects velocity 0 for Off, 1 for On and 2 for blinking...
I've tried that same MIDI out message for a ShiftLogic in Cross and using tools like MidiTerm and verified that the controller correctly lights up when that note/velocity is received...
dnine
 
Posts: 38
Joined: 11 Oct 2016, 12:41


Next

Return to Mapping Midi




Who is online

Users browsing this forum: No registered users and 6 guests

 
 
   
 
© 2014 Mixvibes