very nice combination - plenty of possibilities with those two… midimasher has full support for the launchpad and all it’s various led features etc.
yep. traktor is awesome software but the built in mappings have their limits and/or to get the most out of them requires jumping thru several hoops and too much frustration for me.
the basics in midimasher don’t really require coding per se, just call the predefined functions. like this bit of code which connects to traktor and a lp, creates a ‘hold’ mode shift button on the “arm” on the launchpad, creates a toggle to play deck a, a normal button for cue, a toggle for sync and either sends tempo bend up or down on the last button depending on whether you’re holding down the shift or not
open_midi_device("traktor", "traktor", "Traktor to MM", "MM to Traktor");
open_midi_device("lp", "launchpad", "Launchpad", "Launchpad");
hold_modifier("lp", "arm", 0, lp_hi_yellow, lp_lo_red, "lp_shift")
toggle("lp", "0,0", 0, lp_flash_hi_yellow, lp_hi_red, "traktor", "play_a")
button("lp", "0,1", 0, lp_hi_yellow, lp_hi_red, "traktor", "cue_a")
toggle("lp", "0,2", 0, lp_hi_green, lp_mi_green, "traktor", "beat_sync_a")
button_shift("lp", "0,3", 0, lp_hi_yellow, lp_lo_red, "traktor", "tempo_bend_up_a", "tempo_bend_down_a", "lp_shift")
those functions are all most people will need to do most stuff. i also have functions like traktor.hotcue() which makes adding a hotcue on any button with led feedback+a shift button to delete them plus different colors depending on the cue types all in one line of code - has to be simpler than adding a bunch of lines into traktors controller manager.
but also as u can see from that launchpad config u can also do a lot more - but there’s no need to start with. that config already has code in to handle page switching so u get that for free, but even that code is quite simple:
toggle_group("lp", { "session", "user1", "user2", "mixer" }, 0, lp_hi_yellow, lp_lo_red, "lp_page", function()
launchpad.set_page("lp", get("lp_page"))
end)
what is really missing is any documentation
if more people start using it and asking me questions about stuff then i’m sure that’ll persuade me to write some.
indeed
and i have been thinking of some extra config file format that maybe people might find simpler to edit that then in turn calls the lua. i’m just not sure it could be all that much easier to use than adding a line to a function call - as i’d need the same fields for the function - tho i could do error checking and add useful messages