"Intermediary midi mapping" software *discussion thread* (Traktor mapping is a pain) - Page 10
Page 10 of 44 FirstFirst ... 6789101112131420 ... LastLast
Results 91 to 100 of 433
  1. #91
    Tech Guru zestoi's Avatar
    Join Date
    Mar 2011
    Location
    UK, Ukraine, Romania
    Posts
    2,836

    Default

    Quote Originally Posted by chikosneff View Post
    EDIT:
    Just read that supercombos aren't supported yet.
    supercombo's will/should work if using one of the original midifighter class tsi's. the newer midifighter pro ones rely on extra notes being sent out when the super combo's are pressed - but the mf classic doesn't send out those.

    also just noticed a mistake of mine:

    Code:
    toggle("lpd8", "4,0", 0, ON, OFF, "traktor", "play_a")
    button("lpd8", "4,1", 0, ON, OFF, "traktor", "cue_a")
    the button() one won't work for the PC mode pads on the lpd8, as they only send out data when u press them not release them. so they're a bit limitted. so pretty sure that would start deck A cue'ing but it'd never stop, even when u release it toggles work ok as they dont need any data when u release a pad.

    i got lazy and so just mapped them to beatjumps in the other lpd8 config like this:

    Code:
    pipe("lpd8", "4,0", 0, "traktor", "beatjump_-16_a")
    pipe("lpd8", "4,1", 0, "traktor", "beatjump_-8_a")
    pipe("lpd8", "4,2", 0, "traktor", "beatjump_+8_a")
    pipe("lpd8", "4,3", 0, "traktor", "beatjump_+16_a")
    also don't remember if in PC mode the led feedback works properly - probably not...
    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"

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

    Default experimental (i.e: not finished :p) launchpad mapping

    http://djism.com/mm/midimasher-20111011.zip

    it doesn't do much yet. what it gives you is...

    * 4 pages to map with led recall via buttons session, user1, user2, mixer
    * a shift button at bottom right for all pages
    * play/cue/sync/pitchbend for decks a+b on the top row of page 1
    * a virtual midifighter in 4 banks mode under that one page 1
    * bugger all on pages 2+3
    * page 4: levels+eq virtual faders and kill toggles

    for the bottom 3 rows on page 1 i have *almost* got working some code that gives you two areas that work identically to on the twitch, i.e: 4 page change buttons and 8 buttons per page, that i'll be mapping to similar effects in traktor and eventually my slicer code once i make that work like itch.

    i actually tested the build version this time, so 99% sure no files are missing

    you should see something like this, after selecting option 2 for launchpad.lua:

    Code:
    midimasher: build 20111011
    
    #1: default.lua
    #2: launchpad.lua
    #3: lpd8.lua
    #4: lpd8_midifighter_4banks.lua
    #5: mpd18_midifighter_4banks.lua
    
    select a config > 2
    
    midi: scan devices...
    midi.in.0: From SCS.3 DaRouter
    midi.in.1: MIDI Sync
    midi.in.2: MM to Traktor
    midi.in.3: Traktor to MM
    midi.in.4: MidiFighter1 Input
    midi.in.5: MidiFighter1 Output
    midi.in.6: 6- Launchpad
    midi.out.0: Microsoft GS Wavetable Synth
    midi.out.1: 2- To SCS.3 DaRouter
    midi.out.2: MIDI Sync
    midi.out.3: MM to Traktor
    midi.out.4: Traktor to MM
    midi.out.5: MidiFighter1 Input
    midi.out.6: MidiFighter1 Output
    midi.out.7: 6- Launchpad
    lua: register functions...
    lua: run embedded lua...
    loading: lib/startup.lua
    loading: config/launchpad.lua
    traktor: open midi.in.3: Traktor to MM
    traktor: open midi.out.3: MM to Traktor
    loading: devices/traktor.lua
    midifighter1: open midi.in.4: MidiFighter1 Input
    midifighter1: open midi.out.6: MidiFighter1 Output
    lp: open midi.in.6: Launchpad
    lp: open midi.out.7: Launchpad
    loading: devices/launchpad.lua
    running... <ctrl>-<c> to quit.
    only really releasing now for the insane and curious or possibly curiously insane...

    edit: so to edit/mess with this edit the file config/launchpad.lua

    edit2: led refresh when changing pages will be faster once i implement the launchpads specific way of doing it, instead of sending out individual midi messages for each pad that needs to be changed
    Last edited by zestoi; 10-10-2011 at 10:11 PM.
    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"

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

    Default

    for the curious who aren't quite curious enough to download the zip...

    this is all the code needed to turn the top right hand launchpad buttons into page selects and create those 4 pages with led recall:

    Code:
    toggle_group("lp", { "session", "user1", "user2", "mixer" }, 0, lp_hi_yellow, lp_lo_red, "lp_page", function()
        set_page("lp", get("lp_page"))
    end)
    this creates the basic transport buttons on page one and adds a virtual midifighter:

    Code:
    toggle("lp", "0,0", 1, lp_hi_yellow, lp_hi_red, "traktor", "play_a")
    button("lp", "0,1", 1, lp_hi_yellow, lp_hi_red, "traktor", "cue_a")
    toggle("lp", "0,2", 1, lp_hi_green, lp_lo_yellow, "traktor", "beat_sync_a")
    button_shift("lp", "0,3", 1, lp_hi_yellow, lp_lo_green, "traktor", "tempo_bend_up_a", "tempo_bend_down_a", "lp_shift")
    
    toggle("lp", "0,4", 1, lp_hi_yellow, lp_hi_red, "traktor", "play_b")
    button("lp", "0,5", 1, lp_hi_yellow, lp_hi_red, "traktor", "cue_b")
    toggle("lp", "0,6", 1, lp_hi_green, lp_lo_yellow, "traktor", "beat_sync_b")
    button_shift("lp", "0,7", 1, lp_hi_yellow, lp_lo_green, "traktor", "tempo_bend_up_b", "tempo_bend_down_b", "lp_shift")
    
    virtual_midifighter_4banks("lp", 1, "midifighter1", 1, 0)
    and this adds the kills and virtual faders (ableton style) on page 4:

    Code:
    toggle("lp", "0,0", 4, lp_hi_red, lp_lo_red, "traktor", "eq_low_kill_a")
    toggle("lp", "0,1", 4, lp_hi_red, lp_lo_red, "traktor", "eq_mid_kill_a")
    toggle("lp", "0,2", 4, lp_hi_red, lp_lo_red, "traktor", "eq_high_kill_a")
    
    toggle("lp", "0,5", 4, lp_hi_red, lp_lo_red, "traktor", "eq_low_kill_b")
    toggle("lp", "0,6", 4, lp_hi_red, lp_lo_red, "traktor", "eq_mid_kill_b")
    toggle("lp", "0,7", 4, lp_hi_red, lp_lo_red, "traktor", "eq_high_kill_b")
    
    virtual_yfader("lp", 7, 0, 4, "traktor", "eq_low_a", 7, lp_hi_orange, lp_lo_green, 0, 127)
    virtual_yfader("lp", 7, 1, 4, "traktor", "eq_mid_a", 7, lp_hi_orange, lp_lo_green, 0, 127)
    virtual_yfader("lp", 7, 2, 4, "traktor", "eq_high_a", 7, lp_hi_orange, lp_lo_green, 0, 127)
    
    virtual_yfader("lp", 7, 3, 4, "traktor", "volume_fader_a", 8, lp_hi_yellow, lp_lo_red, 0, 127)
    virtual_yfader("lp", 7, 4, 4, "traktor", "volume_fader_b", 8, lp_hi_yellow, lp_lo_red, 0, 127)
    
    virtual_yfader("lp", 7, 5, 4, "traktor", "eq_low_b", 7, lp_hi_orange, lp_lo_green, 0, 127)
    virtual_yfader("lp", 7, 6, 4, "traktor", "eq_mid_b", 7, lp_hi_orange, lp_lo_green, 0, 127)
    virtual_yfader("lp", 7, 7, 4, "traktor", "eq_high_b", 7, lp_hi_orange, lp_lo_green, 0, 127)
    so all in all not too much code - esp as you don't need to mess with traktors control editor if u want to change them...
    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. #94
    Tech Mentor
    Join Date
    Nov 2010
    Location
    Fanta Se, NM
    Posts
    311

    Default

    Quote Originally Posted by zestoi View Post
    stuff
    Edit; Thanks a ton! This is fun. Played with it for a few minutes and I really dig it.

    I personally would use the midifighter space more if it was not 4 banks mode, but I will mess around with some mapping to make it work for me
    Last edited by muffintop; 10-11-2011 at 01:59 AM.

  5. #95
    Tech Guru MiL0's Avatar
    Join Date
    May 2009
    Location
    Brighton / Bangkok
    Posts
    1,386

    Default

    Quote Originally Posted by zestoi View Post
    for the curious who aren't quite curious enough to download the zip...

    this is all the code needed to turn the top right hand launchpad buttons into page selects and create those 4 pages with led recall:

    so all in all not too much code - esp as you don't need to mess with traktors control editor if u want to change them...
    that's sweet... amazing that you can do so much with so little code... and code that is reasonably easy to understand too

    I wonder how hard it'd be to create a GUI that can spit out the LUA files? I realise it wouldn't allow as much customisation, but it'd be a lot better than using Traktors' mapping window.

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

    Default

    Quote Originally Posted by MiL0 View Post
    that's sweet... amazing that you can do so much with so little code... and code that is reasonably easy to understand too

    I wonder how hard it'd be to create a GUI that can spit out the LUA files? I realise it wouldn't allow as much customisation, but it'd be a lot better than using Traktors' mapping window.
    cheers tho Onimode just found a buggette with the pitch bend buttons, which use a function i just added the other day and obviously didn't fully test... pitchbend was being triggered but not disabled on button release.

    updated file here that needs to be copied to the 'lib' directory to overwrite the old one:

    http://djism.com/lua/base.lua

    a gui shouldn't be too hard - for a developer that's into coding gui's. most of my work these days is command line stuff for servers or is web based, i haven't coded a real gui in a long long time.

    most things can be done using a smallish set of functions, and others could be added for other stuff a gui wanted to do. definately an interesting idea.

    of course even a web based gui could spit out a lua file that could then be saved into the right place for midi masher - not ideal - but might be a half way house.

    btw... awesome to see your 1000th post on this thread
    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"

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

    Default

    Quote Originally Posted by muffintop View Post
    Edit; Thanks a ton! This is fun. Played with it for a few minutes and I really dig it.

    I personally would use the midifighter space more if it was not 4 banks mode, but I will mess around with some mapping to make it work for me
    cool cheers

    if you mean you would rather it emulated a midifighter in normal mode instead of 4banks mode then i have a function for that too but i haven't checked it since reworking a bunch of the stuff the other week.

    in theory it's as simple as changing the call to virtual_midifighter_4banks() to virtual_midifighter() but i'll bet any money that there's bugs in it... i'll have a try later tho.
    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"

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

    Default

    for the geek minded... this is the function that caused me to post a link to a new base.lua file but is a good example of creating a function that can be reused using only the base capture() and send() functions.

    i needed a function that sent out different events depending on whether a shift button was held down or not and the events would always be sent to the same target, i.e: pitch bend up+down for traktor in the launchpad config but can be used for anything:

    Code:
    function button_shift(d1, e1, p1, on_color, off_color, d2, e2, e2s, shift, p2)
    
    	if p2 == nil then p2 = 0 end
    
    	capture(d1, e1, ALL, p1, function(d, e, v, p)
    		if get(shift) > 0 then
    			send(d2, e2s, v, p2)
    		else
    			send(d2, e2, v, p2)
    		end
    		if v > 0 then
    			send(d1, e1, on_color, p1)
    		else
    			send(d1, e1, off_color, p1)
    		end
    	end)
    
    	send(d1, e1, off_color, p1)
    end
    it just sends different events onto the target device depending on the state of the shift button and sends an approriate message back to the sending device to set the led. the last send() is outside of the capture() so is just run once on startup.
    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"

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

    Default

    Quote Originally Posted by muffintop View Post
    Edit; Thanks a ton! This is fun. Played with it for a few minutes and I really dig it.

    I personally would use the midifighter space more if it was not 4 banks mode, but I will mess around with some mapping to make it work for me
    probably a bit silly, but you can have as many normal or 4banks mode virtual mf's as u want, for example this would put two side by side:

    Code:
    virtual_midifighter_4banks("lp", 1, "midifighter1", 1, 0)
    virtual_midifighter_4banks("lp", 1, "midifighter1", 1, 4)
    ...and probably break the instant grat tsi as they're sharing the same modifiers in traktor ofc but would be more useful if u wanted two normal mode mf's next to each other for different decks. you'd need to create two more virtual midi ports for the second one in that case tho.
    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"

  10. #100
    Tech Guru Onimode's Avatar
    Join Date
    Mar 2011
    Location
    Citrus Heights, CA
    Posts
    579

    Default

    Configuring your Midimasher makes me want to go back to pawn coding. :U
    apc40 | ableton | ath-sj33
    deviantART | SoundCloud | facebook
    SKRILLEX IS THE BEST TECHNO DJ EVER!!! (╯°□°)╯︵ ┻━┻

Page 10 of 44 FirstFirst ... 6789101112131420 ... LastLast

Posting Permissions

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