n2ma wrote:Nice One!
I'd give you +1000 karma if it still existed (and if I had the admin rights of course) here
You code works perfectly!
You are welcomed. I am glad it works for you.
n2ma wrote:The Locator LEDs now light up in blue. Do you know which value to tweak to get them back to red?
if you look at the MIDI table you can see that there are a few options. For example: Lets take button #1 for locator.
The table list SW/LED/LED2 as 14/14/31 and shift as 53/14/31
So the switch input to Cross when you press it is 14 or 53 when using it with shift.
The response output from Cross for the LED is 14 or 31. You must have used either 14 or 31. Whichever it was the other is the other color.
Assuming that 14 is red, then 31 is blue and if you use them both the resulting visual is purple so you have different options.
In addition, in order for locator buttons/LEDs be able to provide a different indication for locator and locator/loop then the following commands are needed.
Locator1Control
Locator1KindControl
The example code below is using 2 LED to light up different color tones on the button and also blink if the button indicates a loop. As always, make sure that parameter and channel are correct for your controller.
- Code: Select all
<mapping>
<control alias="fam(Player)[0x1].Locator1Control" value="true"/>
<MIDI type="Note" parameter="0x18" channel="0x1" value="127"/>
<MIDI type="Note" parameter="0x19" channel="0x1" value="15"/>
</mapping>
<mapping>
<control alias="fam(Player)[0x1].Locator1Control" value="false"/>
<MIDI type="Note" parameter="0x18" channel="0x1" value="127"/>
<MIDI type="Note" parameter="0x19" channel="0x1" value="0"/>
</mapping>
<mapping>
<control alias="fam(Player)[0x1].Locator1KindControl" value="0"/>
<MIDI type="Note" parameter="0x18" channel="0x1" value="127"/>
<MIDI type="Note" parameter="0x19" channel="0x1" value="0"/>
</mapping>
<mapping>
<control alias="fam(Player)[0x3].Locator1KindControl" value="1"/>
<MIDI type="Note" parameter="0x18" channel="0x1" value="127"/>
<MIDI type="Note" parameter="0x19" channel="0x1" value="15"/>
</mapping>
<mapping>
<control alias="fam(Player)[0x3].Locator1KindControl" value="2"/>
<MIDI loop="true"/>
<MIDI type="Note" parameter="0x19" channel="0x1" value="15" duration="500"/>
<MIDI type="Note" parameter="0x19" channel="0x1" value="0" duration="500"/>
<MIDI type="Note" parameter="0x18" channel="0x1" value="127"/>
</mapping>
n2ma wrote:Any ideas for the needlepostion led around the jog? the whole jog lights up when the platter is touched in MIDI mode without any mapping to it. Is it possible that it is not MIDI mappable?
Cross supports a needle position output relative to the entire track but not a Clock circle output(I have been asking for this for years now).
The the documentation does provide information on mapping the jog LEDs is at the top of the table and "CC" must be used.
An example of the neddlesearch code is as follows
- Code: Select all
<mapping>
<control alias="fam(Mixer).NeedleSearch" value="%"/>
<MIDI type="CC" parameter="0x2" channel="0x1" value="%"/>
</mapping>
In that example, the needle search output of Cross varies from 0 to 127. That is why is a "CC" type which means continuous change.
by using the % value means that the LEDs will follow whatever value the needle search is at the time.
There is a work around way to test clock output it even if Cross does not support the output by mapping to a needle search output of one of the sampler pads.
n2ma wrote:Do you know any tutorial for MIDI code writing (especially outputs)? Unfortunatelly I do not understand the code in total so that further help calls are probable...
I don't know of any tutorials for the code, I learn it by reading and trying things but I am also a software and hardware engineer.
If you post your current map and are willing to follow additional instructions for testing perhaps we can get the most out of your controller. Things like layered modes to support sample triggering using your locator button can be done.
Up to you. This kind of process requires some trial and error because I don't have the equipment to test it directly and a little bit of patience as we communicate, develop code, test it and start again until is perfect.