Quick Sign In:  

Forum: Old versions

Topic: LED Button Mapping - Page: 1

Dieser Teil des Themas ist veraltet und kann veraltete oder falsche Informationen enthalten

my controller has multi color LEDs that can change color while stationary and pressed, if I can get some assistance to get started that would be great

so here's what i'm working with:

<led note="0x58" name="LED_DECK3" value="61" channel="2" deck="1" />
this makes one of the buttons green, but i'm wanting it to change to a different value/color when pressed

thanks in advance
 

geposted Thu 25 Apr 13 @ 2:42 am
Hey bro,

You need to find out what "value" changes the different colors it's usually in the manual. It will be between 0 - 127.

Next add 1 to the value and divide the value by 128 to get the decimal value.

Once you have that you can use the get command 'get constant' to change the led color

eg. if red equaled 46.

(46 + 1) / 128 = 0.3671875

in that case you would map "get constant 0.37" to the led it should turn red


 

geposted Thu 25 Apr 13 @ 2:54 am
synthet1c wrote :
Hey bro,

You need to find out what "value" changes the different colors it's usually in the manual. It will be between 0 - 127.

Next add 1 to the value and divide the value by 128 to get the decimal value.

Once you have that you can use the get command 'get constant' to change the led color

eg. if red equaled 46.

(46 + 1) / 128 = 0.3671875

in that case you would map "get constant 0.37" to the led it should turn red




yes yes, I have the manual, and I know what colors change to what

<led note="0x58" name="LED_DECK3" value="61" channel="2" deck="1" />

this does green, I was just giving an example. but what i'm trying to do is make it go lets say RED "7-12" when pressed. i'm not trying to change any function of the led, i'm just wanting it to change colors when its pressed so the user knows its been pressed, or is active as a toggle/whatever else, I just can't seem to explain myself clearly on what i'm wanting to achieve I guess.

"The ring illumination color of the arcade triggers has two states, active (pressed) and inactive (released).
The Utility can be used to set the inactive and active color state of each ring in each of the four virtual
banks.
By using MIDI messages the user can also overide the default inactive/active color setting and control
both the color and animation state of each arcade trigger ring."

right now I have my mapping set to where you HAVE to use the Utility provided to get he results, but I think it would be better (at least for me) to not use the utility each time, but if I wanted to open vdj then the controller will have its default settings based upon my mapping, then after closing vdj it will revert to its other LED settings
 

geposted Thu 25 Apr 13 @ 11:11 pm
something like this should work

down ? doSomething & get constant 0.5 : stopSomething & get constant 0.4

or maybe

doSomething & get constant 0.5 while_pressed

or even

doSomething while_pressed & get constant 0.5 while_pressed
 

geposted Fri 26 Apr 13 @ 1:09 am
sorry I know this sounds dumb, whats the get constant 0.5?
 

geposted Fri 26 Apr 13 @ 1:52 am
It's not dumb at all.. I only found out a couple of weeks ago..

From my understanding it will basically send a value to your LED's that can be utilised to change a LED bar, a LED with brightness settings and a LED with RGB. There are some exceptions of controllers that change the note to change the colour but things like the midifighter 3D/spectra, twitch & launchpad are capable of utilising the functionality.

As stated before you need to change it from a midi message which has 128 steps "hexadecimal" to a floating point number "decimal" from my understanding, maybe you can also send percentages but really they represent the exact same thing. Unfortunately I have only tested it remotely by helping someone map their controller.
 

geposted Fri 26 Apr 13 @ 2:56 am
i tried playing around with the get constant, i couldnt get it to work properly i guess i'm just not entirely sure on how it works. but yes i AM using a midi fighter spectra, i was able to map the "stationary" led colors through the device xml mapping, and i WAS going to just map each button individually through there giving them their own different name but it seems like there MUST be an easier way to do that. i think your way is what i'm looking for i just can't seem to get it to work :-(

thanks again for all your help, you deff know your stuff
 

geposted Wed 01 May 13 @ 4:10 pm
are you mapping 'get constant' to the LED or the button? I think the color value goes on the LED and the blink state goes on the button
 

geposted Wed 01 May 13 @ 4:24 pm
lol I was mapping it to the button omg, let me try this again. stand by
 

geposted Wed 01 May 13 @ 9:26 pm
If the LED uses a MIDI note (note="...", which is normally the case for most LED's), then to be able to use different intensities/colours, your LED definition will need to have min/max values specified, otherwise it will just be a normal on/off LED, e.g:

<led note="0x58" name="LED_DECK3" min="0x00" max="0x7F" channel="2" deck="1" />

The min/max values are the minimum and maximum values of intensities the LED accepts (See the user manual/MIDI specification of the controller for further details - The above assumes 1-127 (0x00 - 0x7F))

NOTE: LED's that use MIDI CC's (cc="...") don't require the above unless a specific range of minimum/maximum values needs to be specified.
 

geposted Thu 02 May 13 @ 4:54 am
Support staff wrote :
If the LED uses a MIDI note (note="...", which is normally the case for most LED's), then to be able to use different intensities/colours, your LED definition will need to have min/max values specified, otherwise it will just be a normal on/off LED, e.g:

<led note="0x58" name="LED_DECK3" min="0x00" max="0x7F" channel="2" deck="1" />

The min/max values are the minimum and maximum values of intensities the LED accepts (See the user manual/MIDI specification of the controller for further details - The above assumes 1-127 (0x00 - 0x7F))

NOTE: LED's that use MIDI CC's (cc="...") don't require the above unless a specific range of minimum/maximum values needs to be specified.


im still trying to sort this out, so i'll obviously need to do this with EVERY button, because i'm wanting all of them to change color when pressed/active. I also notice you didn't set a value, so does this mean I now change the value in the mapping side?

sorry, its just hard sometimes to fully understand by reading, I've always been a hands on learner.

I honestly do thank you guys for taking your time in helping me with this project
 

geposted Thu 09 May 13 @ 11:33 am
For a LED defined with intensity (min/max), the value is variable and set within the mapping using get constant, e.g:

play ? get constant 1.0 : cue ? get constant 0.5 : get constant 0.0

This would return the maximum value (100%) when playing, 50% when cued and 0% (Off) when stopped away from the cue point.

It can also be mapped directly to actions that return a percentage, e.g: get level
 

geposted Thu 09 May 13 @ 12:09 pm
is there a quick more effective way to do this? because i'm wanting to do this to 64+ buttons, it seems like I have to map each button with a separate LED note, with a separate name for that LED mapping or it triggers ALL of the buttons, maybe I'm doing it wrong.... i'm trying to keep my mapping as clean as possible. maybe there is a way to "hide" the LED mapping for other users? its starting to get ugly lol
 

geposted Fri 10 May 13 @ 1:22 pm
I take it no.... bummer
 

geposted Mon 13 May 13 @ 11:54 pm
If you wish to be able to control the colours and/or intensities, then yes, you will need to map each unique LED individually with min="" and max="" and then use queries as above in the mapping to make it return the appropriate colours depending on the functions that you have mapped to its associated button (This can get complex if the controller is mapped to work in multiple modes (Same button performing different actions depending on which mode it's in.))

Defining the same LED note multiple times with a value="" to set the colour won't work well because the mappings will conflict with each other, e.g: If you define LED_1_RED and LED_1_GREEN with the appropriate value="", then when the RED LED turns off, it will override the GREEN LED turning on and vice/versa. The above method with get constant is the best method of mapping LED's with capable of different colours.
 

geposted Tue 14 May 13 @ 5:45 am
can i get an example of a cc led device mapping line/string? i'm not getting mine to work, just wanting to make sure i'm doing this properly.

thanks in advance
 

geposted Mon 03 Jun 13 @ 12:02 pm
<led cc="0x01" name="LED_MYLED" channel="0" />

This will of course only work for a LED that actually uses a CC. In this example, the LED is CC #1 (0x01 in hex) on the MIDI channel #1 (MIDI channel numbers start from 0)
 

geposted Mon 03 Jun 13 @ 1:35 pm
Support staff wrote :
<led cc="0x01" name="LED_MYLED" channel="0" />

This will of course only work for a LED that actually uses a CC. In this example, the LED is CC #1 (0x01 in hex) on the MIDI channel #1 (MIDI channel numbers start from 0)


and "midi trace" already compensates for this channel issue, correct?

and reading the cc's input/output via midi trace then converting to hex, best way? err example (so others can learn aswell)
 

geposted Mon 03 Jun 13 @ 1:55 pm
jakovskiPRO InfinityStaffMember since 2006
For the INPUT you can use the MIDI Tracer but output is different.

Some manufacturers have informations about the MIDI messages in the manual or their Homepages. If you don't have any informations you can try the same note than the button uses for input. Many controllers use the same channel for the control of the LED on the matching button.

If you have none information at all you need to test by try and error - using the MIDI tracer you can send MIDI Note on/off commands or MIDI CC manually.

like:

80 01 7F
90 01 7F

Which sends note on/off to channel 1 (starts counting at 0 !) with the value 0x7F (127). You can try different values because some manufacturers uses 0x01 to turn the LED on and 0x00 to turn off.

B0 01 7F

Sends MIDI CC to channes 1 (0x00) to note 0x01 and value 0x7F.

Greets, Heiko
 

geposted Mon 03 Jun 13 @ 2:27 pm
thanks guys, im going to do some more mapping and see how far i can get

cheers
 

geposted Mon 03 Jun 13 @ 3:06 pm
87%