(LED) Midi mapping in TP2 help needed ...
Results 1 to 5 of 5
  1. #1
    Tech Convert
    Join Date
    Apr 2011
    Location
    Belgium
    Posts
    17

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

    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

  2. #2
    Tech Guru Yul's Avatar
    Join Date
    Sep 2009
    Location
    Aix-en-Provence, France
    Posts
    1,176

    Default

    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 think 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 think 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.
    Latest mix

    There’s also an almost hermetic community that exists in many areas of dance music, where serious hobbyists feed off each other’s expertise but barely connect to the industry – despite many of those involved actually working in it.

  3. #3
    Tech Guru zestoi's Avatar
    Join Date
    Mar 2011
    Location
    UK, Ukraine, Romania
    Posts
    2,836

    Default

    Quote Originally Posted by Kristof - Belgium View Post
    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)
    11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2
    maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
    Quote Originally Posted by derschaich
    "wohoo, i'm touched, turn on the FX"

  4. #4
    Tech Convert
    Join Date
    Apr 2011
    Location
    Belgium
    Posts
    17

    Default

    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

  5. #5
    Tech Guru zestoi's Avatar
    Join Date
    Mar 2011
    Location
    UK, Ukraine, Romania
    Posts
    2,836

    Default

    Quote Originally Posted by Kristof - Belgium View Post
    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...
    11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2
    maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
    Quote Originally Posted by derschaich
    "wohoo, i'm touched, turn on the FX"

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •