Yipee! The little bit of routing code might be just w what I need for page 4/mlrv control. Is there a way to make the entire 8x8 grid pass data for just one page?
Yipee! The little bit of routing code might be just w what I need for page 4/mlrv control. Is there a way to make the entire 8x8 grid pass data for just one page?
yep, pretty much. it will also pass thru any controls outside the grid that don't have any mappings on, tho u could add null capture() entries to prevent that. u can also have it pass all midi thru whether or not it has any controls on.
this example code will pass thru any button presses from page3 of the lp thru to a device called ableton, and pass any incoming midi from ableton back to page3 of the launchpad. the midi cache still gets updated when you're not on page3 so when u switch to it they should all be up to date:
Code:open_midi_device("ableton", "generic", "Ableton to MM", "MM to Ableton"); open_midi_device("lp", "launchpad", "Launchpad", "Launchpad", 4); set_device_route("lp", "ableton") set_device_route_page_status("lp", 3, true); set_device_route("ableton", "lp", 3) set_device_route_status("ableton", true);
11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
Originally Posted by derschaich
another tweak.... midimasher-20111122.zip
when u go into slicer mode it won't loop round by default. press the slicer button again and it will go red which indicates it's now in "slicer loop" mode. press again and it's back to yellow
i *think* this is how it behaves on the twitch. i know from the manual that it has 2 modes, not sure if it also jumps back to where it would have been had u not pressed a slice pad and whether that's a useful feature to have. with the extra delays we need to add in to make traktor behave tho it's probably best to minimise the amount of jumping needed.
if u already downleaded 20111122 and the slicer button doesn't toggle between yellow and red then u got my last upload, so please grab again.
11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
Originally Posted by derschaich
Hi Zestoi,
I've toyed around with the Twitch yesterday, and have to say it works flawlessly with Itch.
But, as u prolly, know, Traktor has its advantages over Itch, tho it's missing some function like the Slicer-mode.
U came up with this neat little work-around, which will prolly do the same.
That rox
But, I have another function, I'd love to see working in Traktor.
I noticed how cool it actually is, to use the so-called ''Loop Roll'' in the mix.
I'm not sure it's something u can create thru your midimasher work-around, but I hope u'll take the effort to look into it, coz it's just as an awesome function, as the Slicer-mode
what does the loop roll do exactly? like traktors looping but lets the track play on underneath and so then jumps back to where u would have been had u not pressed a loop roll button? if so then how close can the beat slicer in traktor come to that? if not it should be possible to activate looping traktor, count beats using the phase monitor and then issue a beatjump afterwards. someone on the forum a while back thought that some beat slicer settings could do the same as loop roll and more tho.
11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
Originally Posted by derschaich
The loop-roll does exactly that.
So for example, u push the 1st pad, and it'll loop 1/2, 2nd pad 1/1, 3rd pad 2 beats, 4th pad 4 pads and so on.
Then when u let go of the pad/button, it'll play just where it should be normally, when u didn't loop it.
This way, u don't fuck up the timing, bar-counts etc. when playing with it when mixing.
It's not the same as the beat-slicer mode tho, imho.
sure - not quite the same - tho the beat slicer does other different stuff i guess. tho i haven't really played about with the beat slicer much.
if it doesn't can't do the same thing as loop roll then should be quite easy to use part of my slicer code to count the number of beats playing etc, and then issue a beatjump when the loop button is released.
in the twitch, does the slicer also jump back to the point u would have been at after u release a button in the same way? or does it playout from the point u leave it. i saw it has 2 different modes.
atm my own slicer code just plays on from where u leave it. it jumps to a beat if u press any pad and loops round that beat if u hold it. it also has 2 modes, one where it slicers continuously thru the track and one where it loops round those 8 beats. tho deosnt seem to cleanly loop round the beat if u keep a button held down atm, i think i'm not quite processing the beatphase properly, as the loop sounds a bit "behind the beat"
11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
Originally Posted by derschaich
Loop Roll is Beat Masher. I'll work up a new version of the tsi/config to have the BM there instead of beat jump.
@Bascurtiz there is a 4banks midifighter on page 1 that you can load the IG mapping into and have 4 values of beat roll. (1/4 note 1/8 note 1/16 note 1/32 note)
11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
Originally Posted by derschaich
it does sound like the beatmasher should do the loop roll stuff, like it is setup in the instant grat tsi and this launchpad config has a 4banks emulated midi fighter on page one for that anyway
i have some more code to roll out, but will do it tomorrow once i've looked some more at why holding down a pad in my slicer seems to be a behind the beat a bit:
* fix for flashing led's becoming non-flashing leds once u change a page in the twitch area (the launchpad led handling is quite cunning but also a bit of a pain. whenever u switch led pages to set a whole bunch in one hot you also *must* clear and reset any flashing ones too, even if they don't change)
* fix for slicer leds getting munged in other pages. happens if u enable the slicer and switch to something like the page4 mixer - you'd see leds getting mixed up - a schoolboy error on my part with the led midi cache handing
* halved the frequency of flashing leds on the launchpad - still in sync with traktor tho
* whole new functionality that allows u to embed a much bigger grid within a page (like a 64x64 grid within one page of a 16x16 launchpad) and then optionally route all of that to another device (like for ableton). you can then scroll the grid around. will let me more easily map to my old version of ableton5 but should also be useful for any other apps that u want to use for triggering samples etc as u then have a much bigger grid controller u can use and just use the apps "learn" feature since each pad in the virtual grid sends+recvs different midi. only catch is that u only know where it's scrolled to by looking at the actual leds on the launchpad - tho since from lua u can access the current row,col offset you could set that somehow on some other pad if u had something useful for that
out of interest this is my current test code for the scrollable grid stuff, just piping the big grid with my lpd8 so i can see data go both ways, but you'd normally use two virtual midi ports to connect to something like ableton
most of this config code is just to assign 4 buttons to do the scrolling:
Code:open_midi_device("lpd8", "lpd8", "LPD8", "LPD8", 2); open_midi_device("lp", "launchpad", "Launchpad", "Launchpad", 4) attach_midi_subdevice("lp", grid("0,0", "7,7"), 1, "grid", 1, "grid_64x16") set_device_route("grid", "lpd8") set_device_route_status("grid", true) set_device_route("lpd8", "grid") set_device_route_status("lpd8", true) launchpad.init("lp", false) -- 4 buttons to scroll the grid pipe_modifier("lp", "down", 1, lp_hi_yellow, lp_lo_yellow, nil, function(d,e,v,p) if v > 0 then launchpad.inc_offset("grid", 1, 0, "lp") end end) pipe_modifier("lp", "up", 1, lp_hi_yellow, lp_lo_yellow, nil, function(d,e,v,p) if v > 0 then launchpad.inc_offset("grid", -1, 0, "lp") end end) pipe_modifier("lp", "right", 1, lp_hi_yellow, lp_lo_yellow, nil, function(d,e,v,p) if v > 0 then launchpad.inc_offset("grid", 0, 1, "lp") end end) pipe_modifier("lp", "left", 1, lp_hi_yellow, lp_lo_yellow, nil, function(d,e,v,p) if v > 0 then launchpad.inc_offset("grid", 0, -1, "lp") end end)
11mba / 13mbp / tsp2 / live9 / audio10 / 2x reloop rp7000gold / 2x xdj1000 / 2x d2maschine mk2 / x1 mk2 / z1 / f1 / midifighter / lpd8 / 2x launchpad / launchkontrol xl
Originally Posted by derschaich
|
Bookmarks