"Intermediary midi mapping" software *discussion thread* (Traktor mapping is a pain)

Home :: Post and find Controller Mappings :: "Intermediary midi mapping" software *discussion thread* (Traktor mapping is a pain)Reply
"Intermediary midi mapping" software *discussion thread* (Traktor mapping is a pain)
Posted on: 16.06.2011 by Arcelia Siebeneck
Introduction

Just wanted to start a discussion thread regarding the shortcomings of mapping midi controllers using Traktors default mapping options. And by that, I don't just mean the annoying non-resizeable window, lack of serious copy/paste/clipboard functions and the recent inablity to directly edit the xml mapping files with a text editor. What I'm really talking about is the limitations of the default Traktor midi mapping window to achieve more powerful, dynamic and complex mappings... mappings that go well beyond what Traktor is normally capable of.

So what do I mean by this? Well if we look at the djtt firmwares for the vci-100 and midifighter as an example you can see that Traktor is capable of some amazing things. Superfaders, fx triggers, etc are made possible by combining various midi commands into one control which are then executed in a certain way. The only realistic way to achieve this is by re-writing the firmware on a midi controller at a hardware level. Yes, it's true that some of these effects can be done via a plain old Traktor mapping - but it gets very complicated and isn't as full featured.

The obvious disadvantage with using modified firmwares is that only a few people have the skill and know how to write them. Also, the firmware will only work on specific midi hardware. What I propose is some sort of intermediary midi software that sits between Traktor and your hardware. A utility that allows full access to every midi command available in Traktor with the aim of achieving the kind of custom mappings only normally available via custom firmwares.

The solution

This isn't an easy undertaking so I'm hoping that the clever people on DJTT can get involved in the discussion and hopeful development of such a tool. In the absence of any sort of Traktor public SDK, here's how it could be achieved:

Traktor - A mapping is created that maps literally every control to a different midi CC. All these controls are set to receive midi from a virtual midi device such as LoopBe. The midi commands are then routed via LoopBe from the mapping utility which could be created via one of the following programs:

Synthmaker/SynthEdit - Both Windows programs which allow the creation of midi plugins/vst's. Usually the plugins are effects/synths for DAW's such as Cubase, Ableton Live, etc however they can also export standalone Windows executables with midi in/out functionality.

Reaktor - Same as Synthmaker/Synthedit but probably more powerful and there may be more people on here that know how to use Reaktor properly. Trouble is, I don't believe there's a plugin export function so you'd need to run Reaktor in the background.. not ideal.

Emulator - the new version of Emulator allows you to design your own touchscreen interface GUI and map midi commands to each button/control.

GlovePie - probably quite a good option as their is decent scripting and midi support. Disadvantage is that it's a bit unstable in my experience.

Autohotkey - my area of expertise (lol) but not really designed for such a job... I might use it to knock up a prototype though.

VisualStudio - probably the most viable and professional option... a decent programming language that is stable, fast and powerful.


So what would the custom midi mapping software look like? and what kind of things could it do?

This is obviously up for discussion, but the first and most important function should be a wholesale replacement of the standard Traktor mapping window. The tool should allow easy duplicating, adding, deleting, etc of all the various Traktor controls and the ability to setup modifiers etc.

Once this is implemented, we can look at ways to achieve complex midi mappings based on rules, scripts, etc. This might enable functions such as superfaders and other midifighter features but also:

- complex ADSR/LFO based controls
- sequenced/pre-scripted midi control
- Serato-style continuous play in the background after beatjuggling has ended
- GUI editor for custom diy controllers (edit the midi controls in a more visual manner)
- simpler midi LED mappings
- stuff I haven't even thought of...!

How you can help

Feel free to contribute to this thread... let me know if this is something that you would find useful and what you would do differently. The suggestions I've listed above are just ideas and I'm keen to get something developed that will be useful for everyone so get posting
Chasidy Heckenbach
23.11.2011
Originally Posted by muffintop
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)
cool - then we should put that in the same place it is on the real twitch, page 4 of the bottom sub twitch pages

i might have to add a couple of commands for effects loading etc - been meaning to check that.
Nana Mohs
23.11.2011
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)
Chasidy Heckenbach
23.11.2011
Originally Posted by bascurtiz
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 believe i'm not quite processing the beatphase properly, as the loop sounds a bit "behind the beat"
Neoma Picklesimer
23.11.2011
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.
Chasidy Heckenbach
23.11.2011
Originally Posted by bascurtiz
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 community a while back thought that some beat slicer settings could do the same as loop roll and more tho.
Neoma Picklesimer
23.11.2011
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
Chasidy Heckenbach
21.11.2011
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 *believe* 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.
Chasidy Heckenbach
21.11.2011
Originally Posted by muffintop
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);
Nana Mohs
21.11.2011
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?
Chasidy Heckenbach
21.11.2011
this latest version also include some new functions will might be useful for passing data through the controller unchanged "bomes" style:

Code:
set_device_route(DEVNAME, OUT_DEVNAME, PAGE, true|false)
specify routing, true to pass thru all events, false to swallow midi messages u process yourself. use 0 for page to pass thru all pages

Code:
set_device_route_status(DEVNAME, true|false)
activate or deactivate routing:

Code:
set_device_route_page_status(DEVNAME, PAGE, true|false)
activate or deactivate routing just from one page

not very tested this code but seems to do what it should
Chasidy Heckenbach
21.11.2011
ok chaps, here's some slicer-ness for you...

quick recap of other pages:

page 2 (user1): 2 normal mode midi fighters, not sure if i'll keep them there

page 3 (user2): empty

page 4 (mixer): mixer... press the "vol" button to turn level faders into vumeters

all the new good stuff is on page 1 (session)

bottom right hand corner ("arm" and "solo") are both the same shift, but one is toggled and one hold, so use which ever u need

the green button above them "trkon" is a new "slicer shift" (explained below)

the bottom 3 rows are divided into 2 areas ala twitch, each with 4 pages of controls.

page 1: hotcues

* off color is black by default
* different colors for diff cue types, i've set a loop cue to be red and the rest yellow, edit the variable "lp_hotcue_colors" in config/launchpad.lua to change
* as you'd expect, press any pad to store/jump and press shift and a stored hotcue to delete it
* hold "slicer shift" and press a stored hotcue and you jump to that hotcue and also enable the slicer

page 2: slicer

* pads lo red by default
* first slice is when u enable it
* pads animate as the track loops round the slices
* press any pad to jump to that slice
* hold a pad down to loop round that slice

page 3: loops

* pads lo green by default
* loop sizes range from 1/8 to 16
* if u want to change edit the variable called "loop_sizes"
* loop is active while u hold a button down by default
* use the normal "shift"s and then press a loop button to keep it looped
* full feedback so if u change a loopsize in traktor and have a loop active you'll see the correct pad light up (so long as the loop range is one you have on one of the 8 pads)

page 4: beatjumps

* wasn't sure what to put here but i always like using beatjumps, so the top row gives you -4, -8, -16 and -32 and + values if you first hold down a shift
* nothing on the second row, any ideas?

win64bit: there's some issues with the novation usb driver that can cause lockups so i am using the beta version from http://beta.novationmusic.com/releas...ion_usb_audio/ mostly no issues but i have had to plugin and plug back in my lp a couple of times - better than a lockup tho - and once it's working it's fine

download

midimasher download link: http://midimasher.djism.com/, grab the latest midimasher-20111121.zip

if you've used midimasher before make sure you import the latest tsi from settings/traktor.tsi else the slicer won't work

edit: also on page 1 (session) the top grid row is transport (play, cue, sync, pitch bend + and - (with shift)), a 4 banks mode emulated midifighter below them on the left. the right hand empty 4x4 grid i will be mapping sample deck stuff to, the empty up/down/left/right buttons will eventually have some track navigation mapped to them

edit2: just reuploaded the zip - same name - with the delay's between sending out multiple messages to traktor for the slicer reduced. still seems reliable. shame we need any delay's in there really. read that "string theory" blog entry if u want to know why we need any at all...
Chasidy Heckenbach
21.11.2011
Originally Posted by bascurtiz
Any progress Zestoi, or do we have to wait till next weekend? :eek:
it's all done, well slicer+hotcues+loops anyway plus some other stuff.

just tidying up the config a bit (hope i don't break it in the process ) and will then write some waffle about how to use it and upload. gf wants to watch some tv with me so will do that afterwards, should be less than 2 hours anyway.

edit: i'm pleased with the slicer... it works like on a twitch where if u hold down a pad it loops on that beat and the pads are animated too

also u can either enable the slicer where from where u are or activate it from any stored hot cue - thanks go to muffintop for that idea
Neoma Picklesimer
21.11.2011
Any progress Zestoi, or do we have to wait till next weekend? :eek:
Chasidy Heckenbach
16.11.2011
Originally Posted by muffintop
Looks like you got a little more distracted then you thought...

Any idea when the slicer is going to be ready for me?
No rush of course
more distracted by work tbh rather than the other midimasher stuff. been a really busy work week and started earlier than i had hoped looking like i won't have any time until this weekend to finish the slicer stuff now.

i *will* do it this weekend tho - while that blog post and slicer'ish'ness are still fresh in people's minds...
Nana Mohs
15.11.2011
Originally Posted by zestoi
working on the twitch style slicer code atm and will be putting out an update with that either toevening or tomorrow but got side tracked believeing of how to easily use my launchpad with ableton as well as traktor....
Looks like you got a little more distracted then you thought...

Any idea when the slicer is going to be ready for me?
No rush of course
Chasidy Heckenbach
13.11.2011
working on the twitch style slicer code atm and will be putting out an update with that either toevening or tomorrow but got side tracked believeing of how to easily use my launchpad with ableton as well as traktor.

i figured some kind of "default routing" of midi data ala bomes would be kind of neat, so came up with some new code in the core. this config snippet here connects midi ports for traktor+ableton+launchpad and sets any input from the launchpad when it's on page 3 to be sent untouched to ableton and any data from ableton to be sent to page 3 on the launchpad:

Code:
open_midi_device("traktor", "traktor", "Traktor to MM", "MM to Traktor");
open_midi_device("ableton", "generic", "Ableton to MM", "MM to Ableton");
open_midi_device("launchpad", "launchpad", "Launchpad", "Launchpad", 4)

-- route any launchpad page 3 button presses to ableton

set_device_route("launchpad", "ableton")
set_device_route_page_status("launchpad", 3, true);

-- route any input from ableton to page 3 on the launchpad

set_device_route("ableton", "launchpad", 3)
set_device_route_status("ableton", true);
events on page 3 can still be used in the normal midimasher way and they can either be swallowed or also sent onto the route device ala bomes.

i'm also working on "scrollable sub-devices" that basically lets an area of one controller become a viewport on another. this will let me create a massive 16 cols by 32 row grid controller (using midi notes or cc's over several midi channels) which can then be embeded within the launchpad's own 8x8 grid and scrolled around. probably not useful for recent ableton versions but i believe it might make it easier for me to map to my old ableton5.

any other ideas for future versions are welcomed
Amada Erazo
12.11.2011
Look i dont have enough money to by a DJ table controller or whatever its called because i already spent 150 buck on this axiom 25. I was wondering if there is anyway to use thiss axiom with serato itch 2.0 or Dj Intro by serato, i mean any way, using the pitch bend, mod wheel, pads(for cueing) etc. I came across your thread and i was wondering if you could recommend any midi mapping software to do this and/or some tips on how i could do it using CC's and all that. But most of all is it possible? Also, is there a way to utilize Reason 4 like you would Serato itch? in other words, can you Cue up tracks, play loops at 2x or 12x using this Axiom 25(with the pads that is)? I know its alot of questions but help on any of them would be down right kickass.
Chasidy Heckenbach
11.11.2011
Originally Posted by decon
Sure thing. I might just get to that this sunday. What do you suggest? I'm not really an midi expect, but I do know how to solder.

Could it be broken? It just seems weird that it would stop working, since it's just been lying the exact nanocase that you talk about.
does seem odd if it worked ok before and has been stored in the nanocase. still possible that there's some dust or other stuff got under the pads?

i guess take it apart and check for debris etc, this link on a different community has plenty of info and good photos

i keep half believeing about getting a nanopad for the XY pad - don't really need any more pads now - but all the reports of them going wrong has always put me off.
Khadijah Wojtach
11.11.2011
Originally Posted by zestoi
ah..... ok. so good news for me and possible bugs but bad news for your nanopad. have u tried taking it apart and seeing if you can mod it somehow?

guess i made the right choice going for an lpd8 instead of a nanopad, tho would have been nice to have the set of 3 nano's in the nanocase that i have.

has to be worth taking it apart and seeing if something simple might help?
Sure thing. I might just get to that this sunday. What do you suggest? I'm not really an midi expect, but I do know how to solder.

Could it be broken? It just seems weird that it would stop working, since it's just been lying the exact nanocase that you talk about.
Chasidy Heckenbach
11.11.2011
Originally Posted by decon
It's the same with midi-ox. Currently I don't use the controller for anything, that's why I wanted to try your hack out in the first place

I just tried to launch ableton Live and the yellow icon only lights up on the upper row. Same with traktor, and still very inconsistent.
ah..... ok. so good news for me and possible bugs but bad news for your nanopad. have u tried taking it apart and seeing if you can mod it somehow?

guess i made the right choice going for an lpd8 instead of a nanopad, tho would have been nice to have the set of 3 nano's in the nanocase that i have.

has to be worth taking it apart and seeing if something simple might help?
Khadijah Wojtach
11.11.2011
Originally Posted by zestoi
cheers for that info. well the decode does match the raw midi data, mostly cc's on midi channel 2 - so no issues there. the "button 4 in the top right corner I get CC5" sounds like a typical nanopad issue, pressing the pad is actually triggering the one next to it.

there is a noteon for your pad8 in that dump, but oddly no note off. u have no reliability issues when using your nanopad with other software? ofc i hope it's not your nanopad but i can't see why RtMidi would be totally losing that data. it has no issues when streaming all the beatphase etc from traktor. i've tested it with up to about 500 events a second without any losses, so don't believe it's that.

no issues using those bottom pads just with traktor etc? or even better midi-ox ofc - tho it can be a bit confusing the first time u run it.

must admit i've never had any issues with my nanokontrol, tho i guess i don't *hit* those pads as they're tiny and not velocity sensitive. my nanokey hasn't ever given me any issues either.
It's the same with midi-ox. Currently I don't use the controller for anything, that's why I wanted to try your hack out in the first place

I just tried to launch ableton Live and the yellow icon only lights up on the upper row. Same with traktor, and still very inconsistent.
Chasidy Heckenbach
11.11.2011
Originally Posted by decon
Sure thing. The current setup:


I start dump.exe, press on button 1 and 2 works, but not 3. When I press button 4 in the top right corner I get CC5 as output :S Button 5 just doesn't work and button 6 gives me a correct out. As for 7-12 I don't get any output at all.
cheers for that info. well the decode does match the raw midi data, mostly cc's on midi channel 2 - so no issues there. the "button 4 in the top right corner I get CC5" sounds like a typical nanopad issue, pressing the pad is actually triggering the one next to it.

there is a noteon for your pad8 in that dump, but oddly no note off. u have no reliability issues when using your nanopad with other software? ofc i hope it's not your nanopad but i can't see why RtMidi would be totally losing that data. it has no issues when streaming all the beatphase etc from traktor. i've tested it with up to about 500 events a second without any losses, so don't believe it's that.

no issues using those bottom pads just with traktor etc? or even better midi-ox ofc - tho it can be a bit confusing the first time u run it.

must admit i've never had any issues with my nanokontrol, tho i guess i don't *hit* those pads as they're tiny and not velocity sensitive. my nanokey hasn't ever given me any issues either.
Khadijah Wojtach
11.11.2011
Sure thing. The current setup:


I start dump.exe, press on button 1 and 2 works, but not 3. When I press button 4 in the top right corner I get CC5 as output :S Button 5 just doesn't work and button 6 gives me a correct out. As for 7-12 I don't get any output at all.

Code:
CC         0 127     0xb1 0x00 0x7f  chan=2 
CC         0 0       0xb1 0x00 0x00  chan=2 
CC         0 127     0xb1 0x00 0x7f  chan=2 
CC         0 0       0xb1 0x00 0x00  chan=2 
CC         0 127     0xb1 0x00 0x7f  chan=2 
CC         1 127     0xb1 0x01 0x7f  chan=2 
CC         1 0       0xb1 0x01 0x00  chan=2 
CC         1 127     0xb1 0x01 0x7f  chan=2 
CC         1 0       0xb1 0x01 0x00  chan=2 
CC         4 127     0xb1 0x04 0x7f  chan=2 
CC         4 0       0xb1 0x04 0x00  chan=2 
CC         4 127     0xb1 0x04 0x7f  chan=2 
CC         4 0       0xb1 0x04 0x00  chan=2 
CC         4 127     0xb1 0x04 0x7f  chan=2 
CC         4 0       0xb1 0x04 0x00  chan=2 
CC         4 127     0xb1 0x04 0x7f  chan=2 
CC         4 0       0xb1 0x04 0x00  chan=2 
CC         4 127     0xb1 0x04 0x7f  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         4 0       0xb1 0x04 0x00  chan=2 
CC         4 127     0xb1 0x04 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         4 0       0xb1 0x04 0x00  chan=2 
CC         4 127     0xb1 0x04 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         4 0       0xb1 0x04 0x00  chan=2 
CC         4 127     0xb1 0x04 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         4 0       0xb1 0x04 0x00  chan=2 
CC         4 127     0xb1 0x04 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         4 0       0xb1 0x04 0x00  chan=2 
CC         4 127     0xb1 0x04 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         4 0       0xb1 0x04 0x00  chan=2 
CC         4 127     0xb1 0x04 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         5 0       0xb1 0x05 0x00  chan=2 
CC         5 127     0xb1 0x05 0x7f  chan=2 
CC         4 0       0xb1 0x04 0x00  chan=2 
CC         6 127     0xb1 0x06 0x7f  chan=2 
CC         6 0       0xb1 0x06 0x00  chan=2 
CC         6 127     0xb1 0x06 0x7f  chan=2 
CC         6 0       0xb1 0x06 0x00  chan=2 
CC         6 127     0xb1 0x06 0x7f  chan=2 
CC         6 0       0xb1 0x06 0x00  chan=2 
CC         6 127     0xb1 0x06 0x7f  chan=2 
CC         6 0       0xb1 0x06 0x00  chan=2 
CC         6 127     0xb1 0x06 0x7f  chan=2 
CC         6 0       0xb1 0x06 0x00  chan=2 
NoteOn    D1 24      0x91 0x26 0x18  chan=2 
CC         4 127     0xb1 0x04 0x7f  chan=2
Chasidy Heckenbach
11.11.2011
Originally Posted by decon
The output that dump.exe shows isn't the same as the setup in Korg Kontrol Editor.
i've never had issues with the editor when editting my nanokontrol but i know people have reported some flakyness. there is a slim chance that the RtMidi lib isn't passing me the right bytes - but i'm sure i'd have seen issues with other configs by now if that was the case.

midi-ox is always the app i fallback on to really verify the raw midi data. if midi-ox disagrees with your korg editor then it's the korg editor that is wrong or just not being able to update your nano.

edit: tho ofc an easy way would be to click *learn*in traktor and hit the pad - see what it says. it should be one octave (i believe) out from what midimasher decodes it as.
Chasidy Heckenbach
11.11.2011
Originally Posted by decon
Sorry for the late reply, but I've been moving to a new apartment.

What I mean by "working bad" is that it doesn't register all the button presses. It seems really random. The output that dump.exe shows isn't the same as the setup in Korg Kontrol Editor. So if I press a note D#2 (shown in the korg software) it shows up as a G1. It's really inconsistent too. I can hammer away on a button 10-20 times and it only shows half the inputs.
that's not good - also pretty odd. the only midimasher code in dump.exe is the part that decodes the first two bytes of the midi message - to work out if it's a note, cc or pc. the rest of that code is basically just an example included in the RtMidi lib - so it's unlikely (not impossible ofc) to be losing data if the nanopad actually sent it. you're sure it's missing data and just not that the hits aren't registered by the nanopad? people often say that u can't hammer it too fast else it won't respond to all the hits - also that the mk2 is worse than the mk1 for that. i've never seen missed data when using my lpd8 - the pads are pretty responsive on that.

could u paste the debug line from a pad where u believe it's decoding the wrong thing? i'd understand if it was an octave out due to different interpretations of where midi note 0 starts from, but to be actually the wrong note or cc is bad.
Khadijah Wojtach
11.11.2011
Sorry for the late reply, but I've been moving to a new apartment.

What I mean by "working bad" is that it doesn't register all the button presses. It seems really random. The output that dump.exe shows isn't the same as the setup in Korg Kontrol Editor. So if I press a note D#2 (shown in the korg software) it shows up as a G1. It's really inconsistent too. I can hammer away on a button 10-20 times and it only shows half the inputs.
Arcelia Siebeneck
08.11.2011
Originally Posted by ToS
Ow those things were called stribe before, could it be the same guy or someone ripping off his idea?
same company - this new version is more of a mainstream product compared to the stribe which was more for the diy/arduino market.
DJ MENSAH
05.11.2011
Ow those things were called stribe before, could it be the same guy or someone ripping off his idea?
Arcelia Siebeneck
04.11.2011
yeah, expensive if you wanted to buy 2 or more... its also a shame that there isn't an easy way to mount them in a custom diy midi case (the case is glued shut apparently).
Chasidy Heckenbach
01.11.2011
Originally Posted by MiL0
Have you thought about using a vmeter to give you Novation Twitch style control?

pretty expensive but would look really cool in a custom midi controller running midimasher:

http://vmeter.net/
damn that is cool! and cheap too... the name "Curious Inventor" does ring a bell, believe i must have seen some video before or something but didn't realise it was a finished product.

cheap at 60$... tho not if i bought 8 or so of them i just use one or two of my scs.3d's for touch strip goodness but doesn't have anything like the amount of leds ofc that looks like a 1:1 mapping from absolute midi position to led?

i'm planning on using i the scs.3d's relative messages more than absolute ones but displaying the led's in absolute mode. it's a bloody flexible device. half wished i had the scs.3m too - but they never seem to sell cheaply on ebay.

edit: just read u said "pretty expensive"... i believe for one they're cheap. but the price will add up very quickly
Arcelia Siebeneck
02.11.2011
Have you thought about using a vmeter to give you Novation Twitch style control?

pretty expensive but would look really cool in a custom midi controller running midimasher:

http://vmeter.net/

http://www.youtube.com/watch?v=rgOspkbwJsQ
Chasidy Heckenbach
28.10.2011
Originally Posted by muffintop
having a little trouble moving it from the lpd8 to the LP, but I can wait.

Still having too much fun with my new config as it is
cool sure - now you've reminded me of that code i'll make sure to look at it. the lpd8 is quite a different beast with mapping compared to the launchapd - needs a few hacks that the launchpad doesn't - and doesn't need default 'off' colors etc.
Nana Mohs
28.10.2011
having a little trouble moving it from the lpd8 to the LP, but I can wait.

Still having too much fun with my new config as it is
Chasidy Heckenbach
28.10.2011
Originally Posted by muffintop
That's exactly what I meant... I'll try the lpd8 one now.

I will use the final version in the long run though. Thanks!
i believe i mostly like the slicer for the way that it iterates round the 8 pads, lighting them up each in turn
Nana Mohs
28.10.2011
That's exactly what I meant... I'll try the lpd8 one now.

I will use the final version in the long run though. Thanks!
Chasidy Heckenbach
28.10.2011
Originally Posted by muffintop
Is the slicer function available yet? If so how do I make it work? Don't need the full twitch loops, and beatroll... just the slicer.

Is that doable?
do u mean my implementation of itch's slicer or the beat slicer in traktor?

if u mean mine then have a look in config/lpd8.lua - i haven't tried it for a while and it was getting *some* jumps wrong last time i tried it. it will just need some debug to work out what part of the beatphase we are in at the time the user hits a button to make sure we are quantizing the hit the same way that traktor is. else it can jump to one beat too far or not enough.

i will be fixing that soon (maybe this weekend) for my own launchpad mapping - so u might want to wait for that and copy my config code. you can map it anywhere u want - no need to use the twitch style areas like i want to use.

i've also read the twitch manual since coding that and so have more of an idea of how it's supposed to work in itch.

the plan is certainly to work on my launchpad mapping this weekend anyway - and will def try to look at that slicer code.

edit: in theory the whole config/lpd8.lua should work on a launchpad if u just change the open_midi_device() line - keep the same name - but change the device type and midi port names. i haven't tried it tho.
Nana Mohs
28.10.2011
Is the slicer function available yet? If so how do I make it work? Don't need the full twitch loops, and beatroll... just the slicer.

Is that doable?
Chasidy Heckenbach
28.10.2011
Originally Posted by decon
These are NOT the factory settings, I changed it around a bit, but it works just as bad with the factory settings it seems
nice... that all looks pretty sane now. just noteon/off's when u press pads, and not a stream of them like before, and the CC's are from when u are using the X/Y pad i presume.

you'll need to run learn.exe to create a new devices file and then all should be good to go.

you should be able to use learn.exe to map the x/y pad CC's too - if not then these two lines in your new devices/nanopad2.lua file should do the trick (i believe):

Code:
add_control("x", 1, "cc", 0)
add_control("y", 1, "cc", 1)
they'd be cool to map to stuff for sure...

so why do u say "working bad" now? it looks like it should all work fine.
Khadijah Wojtach
28.10.2011
Yeah it's really weird. I have no idea of what midi-ox is. I'll be trying to configure the pad in the korg software (you probably know of it already). Sorry for the short answer, I'll be getting back asap

Okay so there's a factory settings file with the software:
nanoPAD Scene Set.nanopad_set
Tried loading it, here's the new data (much better, still not there though):
Code:
NoteOn   A#0 24      0x90 0x22 0x18  chan=1 
NoteOff  A#0 64      0x80 0x22 0x40  chan=1 
NoteOn   A#1 86      0x90 0x2e 0x56  chan=1 
NoteOff  A#1 64      0x80 0x2e 0x40  chan=1 
NoteOn   G#1 86      0x90 0x2c 0x56  chan=1 
NoteOff  G#1 64      0x80 0x2c 0x40  chan=1 
NoteOn   C#2 100     0x90 0x31 0x64  chan=1 
NoteOff  C#2 64      0x80 0x31 0x40  chan=1 
NoteOn   A#1 24      0x90 0x2e 0x18  chan=1 
NoteOff  A#1 64      0x80 0x2e 0x40  chan=1 
NoteOn   A#1 27      0x90 0x2e 0x1b  chan=1 
NoteOff  A#1 64      0x80 0x2e 0x40  chan=1 
NoteOn   A#1 27      0x90 0x2e 0x1b  chan=1 
NoteOff  A#1 64      0x80 0x2e 0x40  chan=1 
NoteOn   A#1 31      0x90 0x2e 0x1f  chan=1 
CC         0 66      0xb0 0x00 0x42  chan=1 
CC         1 13      0xb0 0x01 0x0d  chan=1 
CC         0 49      0xb0 0x00 0x31  chan=1 
CC         1 1       0xb0 0x01 0x01  chan=1 
CC         0 124     0xb0 0x00 0x7c  chan=1 
CC         1 73      0xb0 0x01 0x49  chan=1 
CC         0 125     0xb0 0x00 0x7d  chan=1 
CC         1 74      0xb0 0x01 0x4a  chan=1 
CC         0 126     0xb0 0x00 0x7e  chan=1 
CC         1 75      0xb0 0x01 0x4b  chan=1 
CC         0 127     0xb0 0x00 0x7f  chan=1 
CC         1 76      0xb0 0x01 0x4c  chan=1 
CC         1 77      0xb0 0x01 0x4d  chan=1 
CC         1 78      0xb0 0x01 0x4e  chan=1 
CC         1 79      0xb0 0x01 0x4f  chan=1 
CC         1 87      0xb0 0x01 0x57  chan=1 
CC         1 89      0xb0 0x01 0x59  chan=1 
CC         1 94      0xb0 0x01 0x5e  chan=1 
CC         1 95      0xb0 0x01 0x5f  chan=1 
CC         1 96      0xb0 0x01 0x60  chan=1 
CC         1 97      0xb0 0x01 0x61  chan=1 
CC         1 96      0xb0 0x01 0x60  chan=1 
CC         0 126     0xb0 0x00 0x7e  chan=1 
CC         1 95      0xb0 0x01 0x5f  chan=1 
CC         0 125     0xb0 0x00 0x7d  chan=1 
CC         0 52      0xb0 0x00 0x34  chan=1 
CC         1 0       0xb0 0x01 0x00  chan=1 
CC         0 64      0xb0 0x00 0x40  chan=1 
CC         1 0       0xb0 0x01 0x00  chan=1 
CC         0 65      0xb0 0x00 0x41  chan=1 
CC         0 74      0xb0 0x00 0x4a  chan=1 
CC         0 75      0xb0 0x00 0x4b  chan=1 
CC         0 76      0xb0 0x00 0x4c  chan=1 
CC         0 77      0xb0 0x00 0x4d  chan=1 
CC         0 76      0xb0 0x00 0x4c  chan=1 
CC         0 74      0xb0 0x00 0x4a  chan=1 
CC         0 64      0xb0 0x00 0x40  chan=1 
CC         1 0       0xb0 0x01 0x00  chan=1 
CC         0 63      0xb0 0x00 0x3f  chan=1 
CC         0 64      0xb0 0x00 0x40  chan=1 
CC         0 65      0xb0 0x00 0x41  chan=1 
CC         0 75      0xb0 0x00 0x4b  chan=1 
CC         0 77      0xb0 0x00 0x4d  chan=1 
CC         0 88      0xb0 0x00 0x58  chan=1 
CC         0 89      0xb0 0x00 0x59  chan=1


These are NOT the factory settings, I changed it around a bit, but it works just as bad with the factory settings it seems
Chasidy Heckenbach
27.10.2011
Originally Posted by decon
http://dl.dropbox.com/u/70608/nanopad.txt

Theres the dump file. I've tried to just press the buttons in sequence, and some of the buttons doesn't give any output.
seems quite odd... looking at the first block:

Code:
CC         1 127     0xb2 0x01 0x7f  chan=3 
CC         1 127     0xb2 0x01 0x7f  chan=3 
CC         1 127     0xb2 0x01 0x7f  chan=3 
CC         1 127     0xb2 0x01 0x7f  chan=3 
CC         1 127     0xb2 0x01 0x7f  chan=3 
CC         1 127     0xb2 0x01 0x7f  chan=3 
CC         1 127     0xb2 0x01 0x7f  chan=3 
CC         1 127     0xb2 0x01 0x7f  chan=3 
CC         1 0       0xb2 0x01 0x00  chan=3 
CC         1 0       0xb2 0x01 0x00  chan=3 
CC         1 0       0xb2 0x01 0x00  chan=3 
CC         1 0       0xb2 0x01 0x00  chan=3 
CC         1 0       0xb2 0x01 0x00  chan=3 
CC         1 0       0xb2 0x01 0x00  chan=3 
CC         1 0       0xb2 0x01 0x00  chan=3 
CC         1 0       0xb2 0x01 0x00  chan=3
there's a bunch of CC1's repeated with a value of 127 and then a bunch repeated with a value of 0. i presume u only pressed and released once for that. the hex numbers u see there are direct from the RtMidi library - the only decode i'm doing is in the first 3 cols, where it will show CC, NoteOn, NoteOff or PC if it's any of those types - and also decode the note "name" instead of raw value in the 2nd column for a note.

also very odd that some buttons wouldn't output anything at all. do you have midi-ox? and if so any chance of a dump from pressing button 1 once and releasing and then button 2 once and releasing - so i can compare to this RtMidi dump. also then if u pressed the buttons that don't seem to be showing anything here and see if midi-ox shows anything? do those buttons work when u use in traktor and click 'learn' etc?

i'm pretty confused as to why it would be sending out multiple cc's for one press. the nanopad doesn't have after touch afaik. just connected my nanokontrol and it works fine - pressing and releasing 4 buttons here - tho it's not velocity sensitive ofc:

Code:
CC        33 127     0xb0 0x21 0x7f  chan=1 
CC        33 0       0xb0 0x21 0x00  chan=1 
CC        23 127     0xb0 0x17 0x7f  chan=1 
CC        23 0       0xb0 0x17 0x00  chan=1 
CC        34 127     0xb0 0x22 0x7f  chan=1 
CC        34 0       0xb0 0x22 0x00  chan=1 
CC        24 127     0xb0 0x18 0x7f  chan=1 
CC        24 0       0xb0 0x18 0x00  chan=1
i wouldn't mind picking up a nanopad for the x/y pad if i could find one cheap, but don't really need the extra pads now.

<< Back to Post and find Controller MappingsReply

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

Created by Ajaxel CMS

Terms & Privacy