(LED) Midi mapping in TP2 help needed ...

Home :: Reviews of DJ equipment :: (LED) Midi mapping in TP2 help needed ...Reply
(LED) Midi mapping in TP2 help needed ...
Posted on: 30.01.2012 by Alvaro Loa
Hi Everybody

Someone asked me to make a midi mapping for his midi controller using Traktor Pro2 (TP2).
Everything (except for 1 button ('play music in reverse', a function witch unfortunately isn't possible in TP2) is working fine but I have some issues (questions) considering the programming of the LED's.

The controller came with Virtual DJ as standard software.
The person wants the buttons and LED's to respond the same in TP2 as in Virtual DJ.

The controller has LED's (20 separate LED's) underneath the jog wheels. When in pitch bend mode all the LED's burn (I presume every separate LED has to be mapped individually when jog is in Pitch Bend Mode ?), when in scratch mode the LED's rotate when the music is playing and stop rotating (only 1 LED burning) when platter is touched (music stops). As you move the platter to left or right (scratch), the LED's follow one by one back and forth the movement of the platter.
How do I map this in TP2 (LED's rotate, stop rotating (only 1 LED burning) when platter is touched, LED's follow one by one back and forth the movement of the platter) ?

It also has a touch-pad slider to make a needle drop in song (11 cm long touch-pad witch reacts to where you place your finger on the pad, jumping to a certain position in the song (a sort of way to scroll inside the song and jump to certain points in the song). This 'needle drop' slider also has LED's (11 separate) above. Depending on where you place your finger, a certain amount of LED's burn (for example: touch the pad at 2 cm -> 2 LED's burn, touch at 5 cm -> 5 LED's burn, touch at the end of the touch-pad -> all 11 LED's burn).
How do I map this in TP2 ?

I am also still breaking my head about how I can make some of the LED's blink (not the play button, that I got figured out). Couldn't find any accurate documentation or explanation on how this is done (easily ?) in Traktor Pro 2.

Thx in advance
Kristof
Chasidy Heckenbach
30.01.2012
Originally Posted by Kristof - Belgium
Hmz, seems all pretty complicated. So no easy (standard) way of doing this. Bummer. Thank you guys for the effort off explaining, but this is a bit 'out of my league' (especially the midimasher part zestoi mentioned ;-).
I was hoping there was a trick or something I overlooked to do this in TP2 but it seems there isn't.
I'll will just have to work around the issue.
certainly no standard way of doing the swirly led lights thing - it's only for show anyway really? i did it on my scs3d more just to see if i could than to ever actually use.

what controller are you mapping btw? i remember seeing some newish one that had both jogs and touch strips but don't remember the name of it...
Chasidy Heckenbach
30.01.2012
Originally Posted by Kristof - Belgium
The controller has LED's (20 separate LED's) underneath the jog wheels. When in pitch bend mode all the LED's burn (I presume every separate LED has to be mapped individually when jog is in Pitch Bend Mode ?), when in scratch mode the LED's rotate when the music is playing and stop rotating (only 1 LED burning) when platter is touched (music stops). As you move the platter to left or right (scratch), the LED's follow one by one back and forth the movement of the platter.
How do I map this in TP2 (LED's rotate, stop rotating (only 1 LED burning) when platter is touched, LED's follow one by one back and forth the movement of the platter) ?
as Yul said you really need some middleware software or to do that kind of thing in the controllers own firmware. i did most of that in midimasher for my scs3d leds. it spins one complete revolution every 2 beats and if you scratch the led moves round the 'platter' staying at the correct position (90% of the time)

if you didn't mind one complete revolution for every beat then it should be possible to di just in traktor natively tho i guess. heck of a lot of work tho as you'd need one OUT for every led for each mode you want to implement.

this is my midimasher code that achieves this for my scs3d. it stores the last known beatphase value and led position and due to the rather cool midi implementation in the scs3d only needs to send out one midi message to ensure the correct led in the "circle" is lit up.

Code:
	-- cdj style spinning led's, assume it's for traktor
	-- tsi ranges from 0 to 16 roughly twice a second (at 120bpm)
	-- need to make it feel more like a 33rpm record
	-- the +10/-10 code is to make a guess as to whether the beat phase has reset 
	-- or if the platter is being spun backwards

	capture("traktor", "beat_phase_monitor_"..deck, ALL, 0, function(td, e, v, p)

		if v ~= scs3d.cache[d]["beat_phase_"..deck] then

			diff = v - scs3d.cache[d]["beat_phase_"..deck]

			if diff < -10 then 
				diff = diff + 16
			elseif diff > 10 then 
				diff = diff - 16
			end

			scs3d.cache[d]["circle_pos_"..deck] = scs3d.cache[d]["circle_pos_"..deck] + diff
			scs3d.cache[d]["beat_phase_"..deck] = v

			if scs3d.cache[d]["circle_pos_"..deck] >= 64 then
				scs3d.cache[d]["circle_pos_"..deck] = scs3d.cache[d]["circle_pos_"..deck] - 64
			elseif scs3d.cache[d]["circle_pos_"..deck] < 0 then
				scs3d.cache[d]["circle_pos_"..deck] = scs3d.cache[d]["circle_pos_"..deck] + 64
			end

			if get(d, "deck") == deck_id and scs3d.cache[d]["layer"] == mode then
				send(d, "fader3", scs3d.cache[d]["circle_pos_"..deck] / 4 + 1)
			end
		end
	end)
Alvaro Loa
30.01.2012
Hi Everybody

Someone asked me to make a midi mapping for his midi controller using Traktor Pro2 (TP2).
Everything (except for 1 button ('play music in reverse', a function witch unfortunately isn't possible in TP2) is working fine but I have some issues (questions) considering the programming of the LED's.

The controller came with Virtual DJ as standard software.
The person wants the buttons and LED's to respond the same in TP2 as in Virtual DJ.

The controller has LED's (20 separate LED's) underneath the jog wheels. When in pitch bend mode all the LED's burn (I presume every separate LED has to be mapped individually when jog is in Pitch Bend Mode ?), when in scratch mode the LED's rotate when the music is playing and stop rotating (only 1 LED burning) when platter is touched (music stops). As you move the platter to left or right (scratch), the LED's follow one by one back and forth the movement of the platter.
How do I map this in TP2 (LED's rotate, stop rotating (only 1 LED burning) when platter is touched, LED's follow one by one back and forth the movement of the platter) ?

It also has a touch-pad slider to make a needle drop in song (11 cm long touch-pad witch reacts to where you place your finger on the pad, jumping to a certain position in the song (a sort of way to scroll inside the song and jump to certain points in the song). This 'needle drop' slider also has LED's (11 separate) above. Depending on where you place your finger, a certain amount of LED's burn (for example: touch the pad at 2 cm -> 2 LED's burn, touch at 5 cm -> 5 LED's burn, touch at the end of the touch-pad -> all 11 LED's burn).
How do I map this in TP2 ?

I am also still breaking my head about how I can make some of the LED's blink (not the play button, that I got figured out). Couldn't find any accurate documentation or explanation on how this is done (easily ?) in Traktor Pro 2.

Thx in advance
Kristof
Chasidy Heckenbach
30.01.2012
Originally Posted by Kristof - Belgium
Hmz, seems all pretty complicated. So no easy (standard) way of doing this. Bummer. Thank you guys for the effort off explaining, but this is a bit 'out of my league' (especially the midimasher part zestoi mentioned ;-).
I was hoping there was a trick or something I overlooked to do this in TP2 but it seems there isn't.
I'll will just have to work around the issue.
certainly no standard way of doing the swirly led lights thing - it's only for show anyway really? i did it on my scs3d more just to see if i could than to ever actually use.

what controller are you mapping btw? i remember seeing some newish one that had both jogs and touch strips but don't remember the name of it...
Alvaro Loa
30.01.2012
Hmz, seems all pretty complicated. So no easy (standard) way of doing this. Bummer. Thank you guys for the effort off explaining, but this is a bit 'out of my league' (especially the midimasher part zestoi mentioned ;-).
I was hoping there was a trick or something I overlooked to do this in TP2 but it seems there isn't.
I'll will just have to work around the issue.

Thanks again !
Kristof
Chasidy Heckenbach
30.01.2012
Originally Posted by Kristof - Belgium
The controller has LED's (20 separate LED's) underneath the jog wheels. When in pitch bend mode all the LED's burn (I presume every separate LED has to be mapped individually when jog is in Pitch Bend Mode ?), when in scratch mode the LED's rotate when the music is playing and stop rotating (only 1 LED burning) when platter is touched (music stops). As you move the platter to left or right (scratch), the LED's follow one by one back and forth the movement of the platter.
How do I map this in TP2 (LED's rotate, stop rotating (only 1 LED burning) when platter is touched, LED's follow one by one back and forth the movement of the platter) ?
as Yul said you really need some middleware software or to do that kind of thing in the controllers own firmware. i did most of that in midimasher for my scs3d leds. it spins one complete revolution every 2 beats and if you scratch the led moves round the 'platter' staying at the correct position (90% of the time)

if you didn't mind one complete revolution for every beat then it should be possible to di just in traktor natively tho i guess. heck of a lot of work tho as you'd need one OUT for every led for each mode you want to implement.

this is my midimasher code that achieves this for my scs3d. it stores the last known beatphase value and led position and due to the rather cool midi implementation in the scs3d only needs to send out one midi message to ensure the correct led in the "circle" is lit up.

Code:
	-- cdj style spinning led's, assume it's for traktor
	-- tsi ranges from 0 to 16 roughly twice a second (at 120bpm)
	-- need to make it feel more like a 33rpm record
	-- the +10/-10 code is to make a guess as to whether the beat phase has reset 
	-- or if the platter is being spun backwards

	capture("traktor", "beat_phase_monitor_"..deck, ALL, 0, function(td, e, v, p)

		if v ~= scs3d.cache[d]["beat_phase_"..deck] then

			diff = v - scs3d.cache[d]["beat_phase_"..deck]

			if diff < -10 then 
				diff = diff + 16
			elseif diff > 10 then 
				diff = diff - 16
			end

			scs3d.cache[d]["circle_pos_"..deck] = scs3d.cache[d]["circle_pos_"..deck] + diff
			scs3d.cache[d]["beat_phase_"..deck] = v

			if scs3d.cache[d]["circle_pos_"..deck] >= 64 then
				scs3d.cache[d]["circle_pos_"..deck] = scs3d.cache[d]["circle_pos_"..deck] - 64
			elseif scs3d.cache[d]["circle_pos_"..deck] < 0 then
				scs3d.cache[d]["circle_pos_"..deck] = scs3d.cache[d]["circle_pos_"..deck] + 64
			end

			if get(d, "deck") == deck_id and scs3d.cache[d]["layer"] == mode then
				send(d, "fader3", scs3d.cache[d]["circle_pos_"..deck] / 4 + 1)
			end
		end
	end)
Kecia Wnukowski
29.01.2012
The name of the controller would help.


The controller has LED's (20 separate LED's) underneath the jog wheels. When in pitch bend mode all the LED's burn (I presume every separate LED has to be mapped individually when jog is in Pitch Bend Mode ?)
Yes, using a modifier reflecting the pitch bend mode

when in scratch mode the LED's rotate when the music is playing
The only workaround I can believe would be to use an additional program so Traktor reads its own signal reading the beat phase monitor, create a bunch of modifier so it increments those modifiers based on the beat phase. That's the same idea when you want to create auto loop roll in Traktor.
Usually this kind of behavior is directly linked to the firmware, there's no easy way to do that mapping wise.

As you move the platter to left or right (scratch), the LED's follow one by one back and forth the movement of the platter.
How do I map this in TP2 (LED's rotate, stop rotating (only 1 LED burning) when platter is touched, LED's follow one by one back and forth the movement of the platter) ?
Once again it's probably linked to the firmware and once again there's no easy way mapping wise, the only thing I can believe of is to create a bunch of modifiers so you covers 20 values, each modifier (the control being the platter set as relative so the movement of the platter increases the modifier(s)'s value) increasing itself then when it reaches the higher state of the modifier changing itself to next lowest value of the following modifier, etc, to the 20th states so it goes back to the 1st one. It would mean to map each led for each modifier, for all states. But it won't be the exact led lighting under the position of the 'physical touch' itself.
Only one led lit when platter is touched is easy to map but once gain it can be the led under a specific position of the 'physical touch'.

A lot of work, using quite a few modifiers, for a small aesthetic result. As I said workaround only, probably not even quite close to the wanted original result (once again, trying to duplicate something written directly in the firmware is quite difficult, if feasible at all).

I am also still breaking my head about how I can make some of the LED's blink (not the play button, that I got figured out). Couldn't find any accurate documentation or explanation on how this is done (easily ?) in Traktor Pro 2.
There's no independent "blink" led output function in traktor that you can map, only things feasible are either output commands either related to the phase and/or volume itself. Meaning those have their limits: no sound or no track beat-gridded playing, no blinking led.*

I understand the above doesn't really help you but to give you a correct and definitive answer would mean to work (hard) on it and/or write several paragraphs of text. At least it gives you a bit of direction.

Beat phase monitor is easy to understand an map, try to search for that on the internet, you shouldn't have to much difficulty to find a tutorial. As for volume related stuff you just use the higher range of the audio output to create the 'blink'. Like if the volume is at the 0, the range is 0, if it's full, it's at 127, so you create the output led to lit on say, the range 80-127. Get it roughly?



I don't know if that would be relevant to you, check one of my video on youtube (search for Yul303), there's one called 'fx tricks in midi mode', it's not a tutorial of any kind, it's not even that good, but I use the beat phase monitor output commands on some buttons' leds and I divided the midi range across those buttons so each led lit one after the other if that can give you a small easy example to set up.

<< Back to Reviews of DJ equipment Reply

Copyright 2012-2023
DJRANKINGS.ORG n.g.o.
Chuo-ku, Osaka, Japan

Created by Ajaxel CMS

Terms & Privacy